summaryrefslogtreecommitdiffstats
path: root/unityplugin
diff options
context:
space:
mode:
authorEgor Yusov <egor.yusov@gmail.com>2017-11-13 04:14:15 +0000
committerEgor Yusov <egor.yusov@gmail.com>2017-11-13 04:14:15 +0000
commit1b2530749ea3dc4937cdd7aa37e5a144e6d10183 (patch)
treede2a77d6c8ce8a33c2b3070c66549f429e43a017 /unityplugin
parentUpdated submodules (diff)
downloadDiligentEngine-1b2530749ea3dc4937cdd7aa37e5a144e6d10183.tar.gz
DiligentEngine-1b2530749ea3dc4937cdd7aa37e5a144e6d10183.zip
Updated to version 2.1
Diffstat (limited to 'unityplugin')
-rw-r--r--unityplugin/GhostCubePlugin/PluginSource/build/UWP/EngineRoot.props29
-rw-r--r--unityplugin/GhostCubePlugin/PluginSource/build/UWP/GhostCubePlugin.vcxproj282
-rw-r--r--unityplugin/GhostCubePlugin/PluginSource/build/UWP/GhostCubePlugin.vcxproj.filters6
-rw-r--r--unityplugin/GhostCubePlugin/PluginSource/build/Win32/EngineRoot.props29
-rw-r--r--unityplugin/GhostCubePlugin/PluginSource/build/Win32/GhostCubePlugin-Debug.vgdbsettings76
-rw-r--r--unityplugin/GhostCubePlugin/PluginSource/build/Win32/GhostCubePlugin-Release.vgdbsettings76
-rw-r--r--unityplugin/GhostCubePlugin/PluginSource/build/Win32/GhostCubePlugin.vcxproj255
-rw-r--r--unityplugin/GhostCubePlugin/PluginSource/build/Win32/GhostCubePlugin.vcxproj.filters37
-rw-r--r--unityplugin/GhostCubePlugin/PluginSource/build/Win32/jni/Android.mk80
-rw-r--r--unityplugin/GhostCubePlugin/PluginSource/build/Win32/jni/Application.mk7
-rw-r--r--unityplugin/GhostCubePlugin/PluginSource/build/Windows.Shared/GhostCubePlugin.Shared.vcxitems38
-rw-r--r--unityplugin/GhostCubePlugin/PluginSource/build/Windows.Shared/GhostCubePlugin.Shared.vcxitems.filters39
-rw-r--r--unityplugin/GhostCubePlugin/PluginSource/build/Windows.Shared/GhostCubePlugin.props16
-rw-r--r--unityplugin/GhostCubePlugin/PluginSource/src/PlatformBase.h58
-rw-r--r--unityplugin/GhostCubePlugin/PluginSource/src/RenderAPI.cpp29
-rw-r--r--unityplugin/GhostCubePlugin/PluginSource/src/RenderAPI.h51
-rw-r--r--unityplugin/GhostCubePlugin/PluginSource/src/RenderAPI_D3D11.cpp93
-rw-r--r--unityplugin/GhostCubePlugin/PluginSource/src/RenderAPI_D3D12.cpp195
-rw-r--r--unityplugin/GhostCubePlugin/PluginSource/src/RenderAPI_OpenGLCoreES.cpp118
-rw-r--r--unityplugin/GhostCubePlugin/PluginSource/src/RenderingPlugin.cpp210
-rw-r--r--unityplugin/GhostCubePlugin/PluginSource/src/RenderingPlugin.def11
-rw-r--r--unityplugin/GhostCubePlugin/PluginSource/src/SamplePlugin.cpp174
-rw-r--r--unityplugin/GhostCubePlugin/PluginSource/src/SamplePlugin.h20
-rw-r--r--unityplugin/GhostCubePlugin/PluginSource/src/Unity/IUnityGraphics.h49
-rw-r--r--unityplugin/GhostCubePlugin/PluginSource/src/Unity/IUnityGraphicsD3D11.h9
-rw-r--r--unityplugin/GhostCubePlugin/PluginSource/src/Unity/IUnityGraphicsD3D12.h48
-rw-r--r--unityplugin/GhostCubePlugin/PluginSource/src/Unity/IUnityGraphicsD3D9.h10
-rw-r--r--unityplugin/GhostCubePlugin/PluginSource/src/Unity/IUnityGraphicsMetal.h47
-rw-r--r--unityplugin/GhostCubePlugin/PluginSource/src/Unity/IUnityInterface.h149
-rw-r--r--unityplugin/GhostCubePlugin/Screenshot.pngbin0 -> 107478 bytes
-rw-r--r--unityplugin/GhostCubePlugin/UnityProject/.gitignore3
-rw-r--r--unityplugin/GhostCubePlugin/UnityProject/Assets/Editor.meta5
-rw-r--r--unityplugin/GhostCubePlugin/UnityProject/Assets/Editor/MyBuildPostprocessor.cs52
-rw-r--r--unityplugin/GhostCubePlugin/UnityProject/Assets/Editor/MyBuildPostprocessor.cs.meta8
-rw-r--r--unityplugin/GhostCubePlugin/UnityProject/Assets/MirrorQuad.shader66
-rw-r--r--unityplugin/GhostCubePlugin/UnityProject/Assets/MirrorQuad.shader.meta9
-rw-r--r--unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins.meta2
-rw-r--r--unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/Android.meta9
-rw-r--r--unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/Android/ARMv7.meta34
-rw-r--r--unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/Android/ARMv7/libGhostCubePlugin.sobin0 -> 3429924 bytes
-rw-r--r--unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/Android/ARMv7/libGhostCubePlugin.so.meta34
-rw-r--r--unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/Android/x86.meta34
-rw-r--r--unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/Metro.meta5
-rw-r--r--unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/Metro/UWP.meta9
-rw-r--r--unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/Metro/UWP/ARM.meta9
-rw-r--r--unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/Metro/UWP/x64.meta9
-rw-r--r--unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/Metro/UWP/x64/GhostCubePlugin.dll.meta35
-rw-r--r--unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/Metro/UWP/x64/GhostCubePlugin.pdb.meta8
-rw-r--r--unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/Metro/UWP/x86.meta9
-rw-r--r--unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/Metro/UWP/x86/GhostCubePlugin.dll.meta35
-rw-r--r--unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/Metro/UWP/x86/GhostCubePlugin.pdb.meta8
-rw-r--r--unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/x86.meta5
-rw-r--r--unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/x86/GhostCubePlugin.dll.meta134
-rw-r--r--unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/x86/GhostCubePlugin.pdb.meta8
-rw-r--r--unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/x86_64.meta5
-rw-r--r--unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/x86_64/GhostCubePlugin.dll.meta134
-rw-r--r--unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/x86_64/GhostCubePlugin.pdb.meta8
-rw-r--r--unityplugin/GhostCubePlugin/UnityProject/Assets/Reflection Texture.renderTexture29
-rw-r--r--unityplugin/GhostCubePlugin/UnityProject/Assets/Reflection Texture.renderTexture.meta9
-rw-r--r--unityplugin/GhostCubePlugin/UnityProject/Assets/ReflectionCamera.cs198
-rw-r--r--unityplugin/GhostCubePlugin/UnityProject/Assets/ReflectionCamera.cs.meta12
-rw-r--r--unityplugin/GhostCubePlugin/UnityProject/Assets/ReflectionMaterial.mat84
-rw-r--r--unityplugin/GhostCubePlugin/UnityProject/Assets/ReflectionMaterial.mat.meta9
-rw-r--r--unityplugin/GhostCubePlugin/UnityProject/Assets/UseRenderingPlugin.cs92
-rw-r--r--unityplugin/GhostCubePlugin/UnityProject/Assets/UseRenderingPlugin.cs.meta7
-rw-r--r--unityplugin/GhostCubePlugin/UnityProject/Assets/WSATestCertificate.pfxbin0 -> 2488 bytes
-rw-r--r--unityplugin/GhostCubePlugin/UnityProject/Assets/WSATestCertificate.pfx.meta8
-rw-r--r--unityplugin/GhostCubePlugin/UnityProject/Assets/scene.unity1094
-rw-r--r--unityplugin/GhostCubePlugin/UnityProject/Assets/scene.unity.meta2
-rw-r--r--unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/AudioManager.asset11
-rw-r--r--unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/ClusterInputManager.asset6
-rw-r--r--unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/DynamicsManager.asset15
-rw-r--r--unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/EditorBuildSettings.asset7
-rw-r--r--unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/EditorSettings.asset15
-rw-r--r--unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/GraphicsSettings.asset63
-rw-r--r--unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/InputManager.asset278
-rw-r--r--unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/NavMeshAreas.asset133
-rw-r--r--unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/NavMeshLayers.asset133
-rw-r--r--unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/NetworkManager.asset8
-rw-r--r--unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/Physics2DSettings.asset32
-rw-r--r--unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/ProjectSettings.asset717
-rw-r--r--unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/ProjectVersion.txt1
-rw-r--r--unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/QualitySettings.asset44
-rw-r--r--unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/TagManager.asset43
-rw-r--r--unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/TimeManager.asset8
-rw-r--r--unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/UnityConnectSettings.asset34
-rw-r--r--unityplugin/GhostCubePlugin/UnityProject/UWP/project.json16
-rw-r--r--unityplugin/GhostCubePlugin/UnityProject/UWP/project.lock.json15493
-rw-r--r--unityplugin/GhostCubePlugin/UnityProject/UnityProject.CSharp.Editor.csproj140
-rw-r--r--unityplugin/GhostCubePlugin/UnityProject/UnityProject.CSharp.csproj90
-rw-r--r--unityplugin/GhostCubePlugin/UnityProject/UnityProject.sln26
-rw-r--r--unityplugin/GhostCubeScene/build/GhostCubeScene.Assets.vcxitems29
-rw-r--r--unityplugin/GhostCubeScene/build/GhostCubeScene.Assets.vcxitems.filters16
-rw-r--r--unityplugin/GhostCubeScene/build/UWP/Assets/LockScreenLogo.scale-200.pngbin0 -> 1430 bytes
-rw-r--r--unityplugin/GhostCubeScene/build/UWP/Assets/SplashScreen.scale-200.pngbin0 -> 7700 bytes
-rw-r--r--unityplugin/GhostCubeScene/build/UWP/Assets/Square150x150Logo.scale-200.pngbin0 -> 2937 bytes
-rw-r--r--unityplugin/GhostCubeScene/build/UWP/Assets/Square44x44Logo.scale-200.pngbin0 -> 1647 bytes
-rw-r--r--unityplugin/GhostCubeScene/build/UWP/Assets/Square44x44Logo.targetsize-24_altform-unplated.pngbin0 -> 1255 bytes
-rw-r--r--unityplugin/GhostCubeScene/build/UWP/Assets/StoreLogo.pngbin0 -> 1451 bytes
-rw-r--r--unityplugin/GhostCubeScene/build/UWP/Assets/Wide310x150Logo.scale-200.pngbin0 -> 3204 bytes
-rw-r--r--unityplugin/GhostCubeScene/build/UWP/GhostCubeScene.vcxproj360
-rw-r--r--unityplugin/GhostCubeScene/build/UWP/GhostCubeScene.vcxproj.filters76
-rw-r--r--unityplugin/GhostCubeScene/build/UWP/GhostCubeScene_TemporaryKey.pfxbin0 -> 2448 bytes
-rw-r--r--unityplugin/GhostCubeScene/build/UWP/Package.appxmanifest28
-rw-r--r--unityplugin/GhostCubeScene/build/Win32/!README!.txt7
-rw-r--r--unityplugin/GhostCubeScene/build/Win32/AndroidManifest.xml20
-rw-r--r--unityplugin/GhostCubeScene/build/Win32/GhostCubeScene-Debug.vgdbsettings90
-rw-r--r--unityplugin/GhostCubeScene/build/Win32/GhostCubeScene-Release.vgdbsettings81
-rw-r--r--unityplugin/GhostCubeScene/build/Win32/GhostCubeScene.vcxproj264
-rw-r--r--unityplugin/GhostCubeScene/build/Win32/GhostCubeScene.vcxproj.filters69
-rw-r--r--unityplugin/GhostCubeScene/build/Win32/android_build.txt16
-rw-r--r--unityplugin/GhostCubeScene/build/Win32/build.xml96
-rw-r--r--unityplugin/GhostCubeScene/build/Win32/jni/Android.mk117
-rw-r--r--unityplugin/GhostCubeScene/build/Win32/jni/Application.mk7
-rw-r--r--unityplugin/GhostCubeScene/build/Win32/res/drawable-hdpi/ic_launcher.pngbin0 -> 8203 bytes
-rw-r--r--unityplugin/GhostCubeScene/build/Win32/res/drawable-ldpi/ic_launcher.pngbin0 -> 2556 bytes
-rw-r--r--unityplugin/GhostCubeScene/build/Win32/res/drawable-mdpi/ic_launcher.pngbin0 -> 4064 bytes
-rw-r--r--unityplugin/GhostCubeScene/build/Win32/res/drawable-xhdpi/ic_launcher.pngbin0 -> 13541 bytes
-rw-r--r--unityplugin/GhostCubeScene/build/Win32/res/layout/widgets.xml17
-rw-r--r--unityplugin/GhostCubeScene/build/Win32/res/values-v11/styles.xml11
-rw-r--r--unityplugin/GhostCubeScene/build/Win32/res/values-v14/styles.xml12
-rw-r--r--unityplugin/GhostCubeScene/build/Win32/res/values/strings.xml6
-rw-r--r--unityplugin/GhostCubeScene/build/Win32/res/values/styles.xml20
-rw-r--r--unityplugin/GhostCubeScene/build/Win32/run.bat15
-rw-r--r--unityplugin/GhostCubeScene/build/Win32/run_d3d11_32d.bat1
-rw-r--r--unityplugin/GhostCubeScene/build/Win32/run_d3d11_32r.bat1
-rw-r--r--unityplugin/GhostCubeScene/build/Win32/run_d3d11_64d.bat1
-rw-r--r--unityplugin/GhostCubeScene/build/Win32/run_d3d11_64r.bat1
-rw-r--r--unityplugin/GhostCubeScene/build/Win32/run_d3d12_32r.bat1
-rw-r--r--unityplugin/GhostCubeScene/build/Win32/run_d3d12_64d.bat1
-rw-r--r--unityplugin/GhostCubeScene/build/Win32/run_d3d12_64r.bat1
-rw-r--r--unityplugin/GhostCubeScene/build/Win32/run_gl_32d.bat1
-rw-r--r--unityplugin/GhostCubeScene/build/Win32/run_gl_32r.bat1
-rw-r--r--unityplugin/GhostCubeScene/build/Win32/run_gl_64d.bat1
-rw-r--r--unityplugin/GhostCubeScene/build/Win32/run_gl_64r.bat1
-rw-r--r--unityplugin/GhostCubeScene/build/Windows.Shared/GhostCubeScene.Shared.vcxitems27
-rw-r--r--unityplugin/GhostCubeScene/build/Windows.Shared/GhostCubeScene.Shared.vcxitems.filters27
-rw-r--r--unityplugin/GhostCubeScene/build/Windows.Shared/GhostCubeScene.props37
-rw-r--r--unityplugin/GhostCubeScene/build/assets/shaders/Mirror.psh14
-rw-r--r--unityplugin/GhostCubeScene/build/assets/shaders/Mirror.vsh33
-rw-r--r--unityplugin/GhostCubeScene/src/Android/AndroidMain.cpp58
-rw-r--r--unityplugin/GhostCubeScene/src/GhostCubeScene.cpp215
-rw-r--r--unityplugin/GhostCubeScene/src/GhostCubeScene.h58
-rw-r--r--unityplugin/GhostCubeScene/src/GhostCubeSceneResTrsnHelper.cpp62
-rw-r--r--unityplugin/GhostCubeScene/src/GhostCubeSceneResTrsnHelper.h38
-rw-r--r--unityplugin/UnityEmulator/build/UWP.Shared/UnityEmulatorUWP.Shared.vcxitems32
-rw-r--r--unityplugin/UnityEmulator/build/UWP.Shared/UnityEmulatorUWP.Shared.vcxitems.filters16
-rw-r--r--unityplugin/UnityEmulator/build/UWP/UnityEmulator.vcxproj200
-rw-r--r--unityplugin/UnityEmulator/build/UWP/UnityEmulator.vcxproj.filters2
-rw-r--r--unityplugin/UnityEmulator/build/Win32/UnityEmulator-Debug.vgdbsettings76
-rw-r--r--unityplugin/UnityEmulator/build/Win32/UnityEmulator-Release.vgdbsettings76
-rw-r--r--unityplugin/UnityEmulator/build/Win32/UnityEmulator.vcxproj265
-rw-r--r--unityplugin/UnityEmulator/build/Win32/UnityEmulator.vcxproj.filters65
-rw-r--r--unityplugin/UnityEmulator/build/Win32/jni/Android.mk46
-rw-r--r--unityplugin/UnityEmulator/build/Win32/jni/Application.mk7
-rw-r--r--unityplugin/UnityEmulator/build/Windows.Shared/UnityEmulator.Shared.vcxitems45
-rw-r--r--unityplugin/UnityEmulator/build/Windows.Shared/UnityEmulator.Shared.vcxitems.filters81
-rw-r--r--unityplugin/UnityEmulator/build/Windows.Shared/UnityEmulator.props40
-rw-r--r--unityplugin/UnityEmulator/include/DiligentGraphicsAdapter.h50
-rw-r--r--unityplugin/UnityEmulator/include/DiligentGraphicsAdapterD3D11.h41
-rw-r--r--unityplugin/UnityEmulator/include/DiligentGraphicsAdapterD3D12.h44
-rw-r--r--unityplugin/UnityEmulator/include/DiligentGraphicsAdapterGL.h46
-rw-r--r--unityplugin/UnityEmulator/include/ResourceStateTransitionHandler.h31
-rw-r--r--unityplugin/UnityEmulator/include/UnityGraphicsD3D11Emulator.h29
-rw-r--r--unityplugin/UnityEmulator/include/UnityGraphicsD3D12Emulator.h32
-rw-r--r--unityplugin/UnityEmulator/include/UnityGraphicsEmulator.h41
-rw-r--r--unityplugin/UnityEmulator/include/UnityGraphicsGLCoreES_Emulator.h42
-rw-r--r--unityplugin/UnityEmulator/include/UnitySceneBase.h74
-rw-r--r--unityplugin/UnityEmulator/src/Android/AndroidMainImpl.cpp565
-rw-r--r--unityplugin/UnityEmulator/src/Android/Java/UnityEmulator/UnityEmulatorApplication.java47
-rw-r--r--unityplugin/UnityEmulator/src/Android/Java/UnityEmulator/UnityEmulatorNativeActivity.java164
-rw-r--r--unityplugin/UnityEmulator/src/Android/Java/helper/NDKHelper.java203
-rw-r--r--unityplugin/UnityEmulator/src/Android/UnityGraphicsGLESAndroid_Impl.cpp326
-rw-r--r--unityplugin/UnityEmulator/src/Android/UnityGraphicsGLESAndroid_Impl.h91
-rw-r--r--unityplugin/UnityEmulator/src/DiligentGraphicsAdapterD3D11.cpp127
-rw-r--r--unityplugin/UnityEmulator/src/DiligentGraphicsAdapterD3D12.cpp254
-rw-r--r--unityplugin/UnityEmulator/src/DiligentGraphicsAdapterGL.cpp103
-rw-r--r--unityplugin/UnityEmulator/src/UWP/App.cpp252
-rw-r--r--unityplugin/UnityEmulator/src/UWP/App.h75
-rw-r--r--unityplugin/UnityEmulator/src/UWP/DeviceResources.cpp459
-rw-r--r--unityplugin/UnityEmulator/src/UWP/DeviceResources.h71
-rw-r--r--unityplugin/UnityEmulator/src/UWP/DirectXHelper.h58
-rw-r--r--unityplugin/UnityEmulator/src/UWP/StepTimer.h183
-rw-r--r--unityplugin/UnityEmulator/src/UWP/UnityEmulatorAppMain.cpp209
-rw-r--r--unityplugin/UnityEmulator/src/UWP/UnityEmulatorAppMain.h70
-rw-r--r--unityplugin/UnityEmulator/src/UWP/pch2.h20
-rw-r--r--unityplugin/UnityEmulator/src/UnityGraphicsD3D11Emulator.cpp370
-rw-r--r--unityplugin/UnityEmulator/src/UnityGraphicsD3D11Impl.h39
-rw-r--r--unityplugin/UnityEmulator/src/UnityGraphicsD3D12Emulator.cpp558
-rw-r--r--unityplugin/UnityEmulator/src/UnityGraphicsD3D12Impl.h84
-rw-r--r--unityplugin/UnityEmulator/src/UnityGraphicsEmulator.cpp90
-rw-r--r--unityplugin/UnityEmulator/src/UnityGraphicsGLCoreES_Emulator.cpp87
-rw-r--r--unityplugin/UnityEmulator/src/UnityGraphicsGLCore_Impl.cpp189
-rw-r--r--unityplugin/UnityEmulator/src/UnityGraphicsGLCore_Impl.h37
-rw-r--r--unityplugin/UnityEmulator/src/UnityGraphicsGL_Impl.h11
-rw-r--r--unityplugin/UnityEmulator/src/Windows/WinMain.cpp344
-rw-r--r--unityplugin/build/UWP/UnityPlugin.sln264
-rw-r--r--unityplugin/build/Win32/UnityPlugin.sln300
198 files changed, 30743 insertions, 0 deletions
diff --git a/unityplugin/GhostCubePlugin/PluginSource/build/UWP/EngineRoot.props b/unityplugin/GhostCubePlugin/PluginSource/build/UWP/EngineRoot.props
new file mode 100644
index 0000000..95f31c5
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/PluginSource/build/UWP/EngineRoot.props
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ImportGroup Label="PropertySheets" />
+ <PropertyGroup Label="UserMacros">
+ <ProjectRoot>..\..</ProjectRoot>
+ <EngineRoot>$(ProjectRoot)\..\..\..</EngineRoot>
+ <CoreRoot>$(EngineRoot)\diligentcore</CoreRoot>
+ <ToolsRoot>$(EngineRoot)\diligenttools</ToolsRoot>
+ </PropertyGroup>
+ <PropertyGroup />
+ <ItemDefinitionGroup />
+ <ItemGroup>
+ <BuildMacro Include="ProjectRoot">
+ <Value>$(ProjectRoot)</Value>
+ </BuildMacro>
+ <BuildMacro Include="TerrainRoot">
+ <Value>$(TerrainRoot)</Value>
+ </BuildMacro>
+ <BuildMacro Include="EngineRoot">
+ <Value>$(EngineRoot)</Value>
+ </BuildMacro>
+ <BuildMacro Include="CoreRoot">
+ <Value>$(CoreRoot)</Value>
+ </BuildMacro>
+ <BuildMacro Include="ToolsRoot">
+ <Value>$(ToolsRoot)</Value>
+ </BuildMacro>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/unityplugin/GhostCubePlugin/PluginSource/build/UWP/GhostCubePlugin.vcxproj b/unityplugin/GhostCubePlugin/PluginSource/build/UWP/GhostCubePlugin.vcxproj
new file mode 100644
index 0000000..c374b65
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/PluginSource/build/UWP/GhostCubePlugin.vcxproj
@@ -0,0 +1,282 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|ARM">
+ <Configuration>Debug</Configuration>
+ <Platform>ARM</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|ARM">
+ <Configuration>Release</Configuration>
+ <Platform>ARM</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{0ba2f2ac-6c53-4ce5-aa37-9c6ded067096}</ProjectGuid>
+ <Keyword>DirectXApp</Keyword>
+ <RootNamespace>GhostCubePlugin</RootNamespace>
+ <DefaultLanguage>en-US</DefaultLanguage>
+ <MinimumVisualStudioVersion>14.0</MinimumVisualStudioVersion>
+ <AppContainerApplication>true</AppContainerApplication>
+ <ApplicationType>Windows Store</ApplicationType>
+ <WindowsTargetPlatformVersion>10.0.10586.0</WindowsTargetPlatformVersion>
+ <WindowsTargetPlatformMinVersion>10.0.10240.0</WindowsTargetPlatformMinVersion>
+ <ApplicationTypeRevision>10.0</ApplicationTypeRevision>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v140</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v140</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v140</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <PlatformToolset>v140</PlatformToolset>
+ <UseDotNetNativeToolchain>true</UseDotNetNativeToolchain>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <PlatformToolset>v140</PlatformToolset>
+ <UseDotNetNativeToolchain>true</UseDotNetNativeToolchain>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <PlatformToolset>v140</PlatformToolset>
+ <UseDotNetNativeToolchain>true</UseDotNetNativeToolchain>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ <Import Project="$(VSINSTALLDIR)\Common7\IDE\Extensions\Microsoft\VsGraphics\ImageContentTask.props" />
+ <Import Project="$(VSINSTALLDIR)\Common7\IDE\Extensions\Microsoft\VsGraphics\MeshContentTask.props" />
+ <Import Project="$(VSINSTALLDIR)\Common7\IDE\Extensions\Microsoft\VsGraphics\ShaderGraphContentTask.props" />
+ </ImportGroup>
+ <ImportGroup Label="Shared">
+ <Import Project="..\Windows.Shared\GhostCubePlugin.Shared.vcxitems" Label="Shared" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="..\..\..\..\..\diligentcore\Shared\build\UWP\UWP_Win32Dbg.props" />
+ <Import Project="EngineRoot.props" />
+ <Import Project="..\Windows.Shared\GhostCubePlugin.props" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="..\..\..\..\..\diligentcore\Shared\build\UWP\UWP_Win32Rel.props" />
+ <Import Project="EngineRoot.props" />
+ <Import Project="..\Windows.Shared\GhostCubePlugin.props" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="..\..\..\..\..\diligentcore\Shared\build\UWP\UWP_ArmDbg.props" />
+ <Import Project="EngineRoot.props" />
+ <Import Project="..\Windows.Shared\GhostCubePlugin.props" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="..\..\..\..\..\diligentcore\Shared\build\UWP\UWP_ArmRel.props" />
+ <Import Project="EngineRoot.props" />
+ <Import Project="..\Windows.Shared\GhostCubePlugin.props" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="..\..\..\..\..\diligentcore\Shared\build\UWP\UWP_X64Dbg.props" />
+ <Import Project="EngineRoot.props" />
+ <Import Project="..\Windows.Shared\GhostCubePlugin.props" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="..\..\..\..\..\diligentcore\Shared\build\UWP\UWP_X64Rel.props" />
+ <Import Project="EngineRoot.props" />
+ <Import Project="..\Windows.Shared\GhostCubePlugin.props" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <PackageCertificateKeyFile>GhostCubePlugin_TemporaryKey.pfx</PackageCertificateKeyFile>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
+ <Link>
+ <AdditionalDependencies>d3d12.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store\arm; $(VCInstallDir)\lib\arm</AdditionalLibraryDirectories>
+ <ModuleDefinitionFile>..\..\src\RenderingPlugin.def</ModuleDefinitionFile>
+ </Link>
+ <ClCompile>
+ <PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
+ <PrecompiledHeaderOutputFile>$(IntDir)pch.pch</PrecompiledHeaderOutputFile>
+ <AdditionalIncludeDirectories>$(ProjectDir);$(IntermediateOutputPath);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
+ <PreprocessorDefinitions>WINDOWS_UWP;UNITY_METRO;_WINDLL;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ <PostBuildEvent>
+ <Command>copy $(OutDir)$(TargetName).dll $(ProjectRoot)\..\UnityProject\Assets\Plugins\Metro\UWP\ARM\$(ProjectName).dll
+copy $(OutDir)$(TargetName).pdb $(ProjectRoot)\..\UnityProject\Assets\Plugins\Metro\UWP\ARM\$(ProjectName).pdb</Command>
+ <Message>copying $(TargetName).dll and $(TargetName).pdb to $(ProjectRoot)\..\UnityProject\Assets\Plugins\Metro\UWP\ARM</Message>
+ </PostBuildEvent>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
+ <Link>
+ <AdditionalDependencies>d3d12.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store\arm; $(VCInstallDir)\lib\arm</AdditionalLibraryDirectories>
+ <ModuleDefinitionFile>..\..\src\RenderingPlugin.def</ModuleDefinitionFile>
+ </Link>
+ <ClCompile>
+ <PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
+ <PrecompiledHeaderOutputFile>$(IntDir)pch.pch</PrecompiledHeaderOutputFile>
+ <AdditionalIncludeDirectories>$(ProjectDir);$(IntermediateOutputPath);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
+ <PreprocessorDefinitions>WINDOWS_UWP;UNITY_METRO;_WINDLL;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ <PostBuildEvent>
+ <Command>copy $(OutDir)$(TargetName).dll $(ProjectRoot)\..\UnityProject\Assets\Plugins\Metro\UWP\ARM\$(ProjectName).dll
+copy $(OutDir)$(TargetName).pdb $(ProjectRoot)\..\UnityProject\Assets\Plugins\Metro\UWP\ARM\$(ProjectName).pdb</Command>
+ <Message>copying $(TargetName).dll and $(TargetName).pdb to $(ProjectRoot)\..\UnityProject\Assets\Plugins\Metro\UWP\ARM</Message>
+ </PostBuildEvent>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <Link>
+ <AdditionalDependencies>d3d12.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store; $(VCInstallDir)\lib</AdditionalLibraryDirectories>
+ <ModuleDefinitionFile>..\..\src\RenderingPlugin.def</ModuleDefinitionFile>
+ </Link>
+ <ClCompile>
+ <PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
+ <PrecompiledHeaderOutputFile>$(IntDir)pch.pch</PrecompiledHeaderOutputFile>
+ <AdditionalIncludeDirectories>$(ProjectDir);$(IntermediateOutputPath);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
+ <PreprocessorDefinitions>WINDOWS_UWP;UNITY_METRO;_WINDLL;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ <PostBuildEvent>
+ <Command>copy $(OutDir)$(TargetName).dll $(ProjectRoot)\..\UnityProject\Assets\Plugins\Metro\UWP\x86\$(ProjectName).dll
+copy $(OutDir)$(TargetName).pdb $(ProjectRoot)\..\UnityProject\Assets\Plugins\Metro\UWP\x86\$(ProjectName).pdb</Command>
+ <Message>copying $(TargetName).dll and $(TargetName).pdb to $(ProjectRoot)\..\UnityProject\Assets\Plugins\Metro\UWP\x86</Message>
+ </PostBuildEvent>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <Link>
+ <AdditionalDependencies>d3d12.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store; $(VCInstallDir)\lib</AdditionalLibraryDirectories>
+ <ModuleDefinitionFile>..\..\src\RenderingPlugin.def</ModuleDefinitionFile>
+ </Link>
+ <ClCompile>
+ <PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
+ <PrecompiledHeaderOutputFile>$(IntDir)pch.pch</PrecompiledHeaderOutputFile>
+ <AdditionalIncludeDirectories>$(ProjectDir);$(IntermediateOutputPath);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
+ <PreprocessorDefinitions>WINDOWS_UWP;UNITY_METRO;_WINDLL;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ <PostBuildEvent>
+ <Command>copy $(OutDir)$(TargetName).dll $(ProjectRoot)\..\UnityProject\Assets\Plugins\Metro\UWP\x86\$(ProjectName).dll
+copy $(OutDir)$(TargetName).pdb $(ProjectRoot)\..\UnityProject\Assets\Plugins\Metro\UWP\x86\$(ProjectName).pdb</Command>
+ <Message>copying $(TargetName).dll and $(TargetName).pdb to $(ProjectRoot)\..\UnityProject\Assets\Plugins\Metro\UWP\x86</Message>
+ </PostBuildEvent>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <Link>
+ <AdditionalDependencies>d3d12.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store\amd64; $(VCInstallDir)\lib\amd64</AdditionalLibraryDirectories>
+ <ModuleDefinitionFile>..\..\src\RenderingPlugin.def</ModuleDefinitionFile>
+ </Link>
+ <ClCompile>
+ <PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
+ <PrecompiledHeaderOutputFile>$(IntDir)pch.pch</PrecompiledHeaderOutputFile>
+ <AdditionalIncludeDirectories>$(ProjectDir);$(IntermediateOutputPath);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
+ <PreprocessorDefinitions>WINDOWS_UWP;UNITY_METRO;_WINDLL;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ <PostBuildEvent>
+ <Command>copy $(OutDir)$(TargetName).dll $(ProjectRoot)\..\UnityProject\Assets\Plugins\Metro\UWP\x64\$(ProjectName).dll
+copy $(OutDir)$(TargetName).pdb $(ProjectRoot)\..\UnityProject\Assets\Plugins\Metro\UWP\x64\$(ProjectName).pdb</Command>
+ <Message>copying $(TargetName).dll and $(TargetName).pdb to $(ProjectRoot)\..\UnityProject\Assets\Plugins\Metro\UWP\x64</Message>
+ </PostBuildEvent>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <Link>
+ <AdditionalDependencies>d3d12.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store\amd64; $(VCInstallDir)\lib\amd64</AdditionalLibraryDirectories>
+ <ModuleDefinitionFile>..\..\src\RenderingPlugin.def</ModuleDefinitionFile>
+ </Link>
+ <ClCompile>
+ <PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
+ <PrecompiledHeaderOutputFile>$(IntDir)pch.pch</PrecompiledHeaderOutputFile>
+ <AdditionalIncludeDirectories>$(ProjectDir);$(IntermediateOutputPath);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
+ <PreprocessorDefinitions>WINDOWS_UWP;UNITY_METRO;_WINDLL;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ <PostBuildEvent>
+ <Command>copy $(OutDir)$(TargetName).dll $(ProjectRoot)\..\UnityProject\Assets\Plugins\Metro\UWP\x64\$(ProjectName).dll
+copy $(OutDir)$(TargetName).pdb $(ProjectRoot)\..\UnityProject\Assets\Plugins\Metro\UWP\x64\$(ProjectName).pdb</Command>
+ <Message>copying $(TargetName).dll and $(TargetName).pdb to $(ProjectRoot)\..\UnityProject\Assets\Plugins\Metro\UWP\x64</Message>
+ </PostBuildEvent>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\..\..\..\diligentcore\Common\build\UWP\Common.vcxproj">
+ <Project>{6de3eb2b-8a56-4d27-8a39-587f7a70584c}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\..\..\..\..\diligentcore\Graphics\GraphicsEngineD3D11\build\UWP\GraphicsEngineD3D11.vcxproj">
+ <Project>{29acd2a7-4c49-4973-9673-8f57ef37070f}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\..\..\..\..\diligentcore\Graphics\GraphicsEngineD3D12\build\UWP\GraphicsEngineD3D12.vcxproj">
+ <Project>{1a5a1c1d-c717-4680-a929-40e6324fe048}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\..\..\..\..\diligentcore\Graphics\GraphicsEngineD3DBase\build\UWP\GraphicsEngineD3DBase.vcxproj">
+ <Project>{acd6f956-ff3b-4fe9-8be3-c0eecfdbbf93}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\..\..\..\..\diligentcore\Graphics\GraphicsEngine\build\UWP\GraphicsEngine.vcxproj">
+ <Project>{dfe6435d-cc9d-4ca1-bf4e-5640c522d815}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\..\..\..\..\diligentcore\Graphics\GraphicsTools\build\UWP\GraphicsTools.vcxproj">
+ <Project>{7a1a6e2c-3952-4a57-ad30-abd92aa39c69}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\..\..\..\..\diligentcore\Platforms\Basic\build\UWP\BasicPlatform.vcxproj">
+ <Project>{ff7d4949-dc3e-488b-8f78-1d32f1ca3b4c}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\..\..\..\..\diligentcore\Platforms\UWP\build\UWP\UniversalWindowsPlatform.vcxproj">
+ <Project>{91adc1dd-aa8e-492a-ac19-3e0dab9ad665}</Project>
+ </ProjectReference>
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="..\..\src\RenderingPlugin.def" />
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ <Import Project="$(VSINSTALLDIR)\Common7\IDE\Extensions\Microsoft\VsGraphics\ImageContentTask.targets" />
+ <Import Project="$(VSINSTALLDIR)\Common7\IDE\Extensions\Microsoft\VsGraphics\MeshContentTask.targets" />
+ <Import Project="$(VSINSTALLDIR)\Common7\IDE\Extensions\Microsoft\VsGraphics\ShaderGraphContentTask.targets" />
+ </ImportGroup>
+</Project> \ No newline at end of file
diff --git a/unityplugin/GhostCubePlugin/PluginSource/build/UWP/GhostCubePlugin.vcxproj.filters b/unityplugin/GhostCubePlugin/PluginSource/build/UWP/GhostCubePlugin.vcxproj.filters
new file mode 100644
index 0000000..26ca0eb
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/PluginSource/build/UWP/GhostCubePlugin.vcxproj.filters
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <None Include="..\..\src\RenderingPlugin.def" />
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/unityplugin/GhostCubePlugin/PluginSource/build/Win32/EngineRoot.props b/unityplugin/GhostCubePlugin/PluginSource/build/Win32/EngineRoot.props
new file mode 100644
index 0000000..95f31c5
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/PluginSource/build/Win32/EngineRoot.props
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ImportGroup Label="PropertySheets" />
+ <PropertyGroup Label="UserMacros">
+ <ProjectRoot>..\..</ProjectRoot>
+ <EngineRoot>$(ProjectRoot)\..\..\..</EngineRoot>
+ <CoreRoot>$(EngineRoot)\diligentcore</CoreRoot>
+ <ToolsRoot>$(EngineRoot)\diligenttools</ToolsRoot>
+ </PropertyGroup>
+ <PropertyGroup />
+ <ItemDefinitionGroup />
+ <ItemGroup>
+ <BuildMacro Include="ProjectRoot">
+ <Value>$(ProjectRoot)</Value>
+ </BuildMacro>
+ <BuildMacro Include="TerrainRoot">
+ <Value>$(TerrainRoot)</Value>
+ </BuildMacro>
+ <BuildMacro Include="EngineRoot">
+ <Value>$(EngineRoot)</Value>
+ </BuildMacro>
+ <BuildMacro Include="CoreRoot">
+ <Value>$(CoreRoot)</Value>
+ </BuildMacro>
+ <BuildMacro Include="ToolsRoot">
+ <Value>$(ToolsRoot)</Value>
+ </BuildMacro>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/unityplugin/GhostCubePlugin/PluginSource/build/Win32/GhostCubePlugin-Debug.vgdbsettings b/unityplugin/GhostCubePlugin/PluginSource/build/Win32/GhostCubePlugin-Debug.vgdbsettings
new file mode 100644
index 0000000..3f5b24b
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/PluginSource/build/Win32/GhostCubePlugin-Debug.vgdbsettings
@@ -0,0 +1,76 @@
+<?xml version="1.0"?>
+<VisualGDBProjectSettings2 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <ConfigurationName>Debug</ConfigurationName>
+ <Project xsi:type="com.visualgdb.project.android">
+ <CustomSourceDirectories>
+ <Directories />
+ <PathStyle>MinGWWindowsSlash</PathStyle>
+ </CustomSourceDirectories>
+ <AndroidProjectPath>$(ProjectDir)</AndroidProjectPath>
+ </Project>
+ <Build xsi:type="com.visualgdb.build.android">
+ <AndroidPlatform>android-19</AndroidPlatform>
+ <IsDebugConfiguration>true</IsDebugConfiguration>
+ <JNIOnlyBuild>true</JNIOnlyBuild>
+ <AdditionalDirectoriesToDeleteOnClean>bin;obj</AdditionalDirectoriesToDeleteOnClean>
+ <DeleteANTFilesOnClean>false</DeleteANTFilesOnClean>
+ <DoNotEditAndroidManifest>false</DoNotEditAndroidManifest>
+ <CustomActions />
+ </Build>
+ <Debug xsi:type="com.visualgdb.debug.android">
+ <AdditionalStartupCommands />
+ <AdditionalGDBSettings>
+ <FilterSpuriousStoppedNotifications>false</FilterSpuriousStoppedNotifications>
+ <ForceSingleThreadedMode>false</ForceSingleThreadedMode>
+ <PendingBreakpointsSupported>true</PendingBreakpointsSupported>
+ <DisableChildRanges>false</DisableChildRanges>
+ <UseAppleExtensions>false</UseAppleExtensions>
+ <CanAcceptCommandsWhileRunning>false</CanAcceptCommandsWhileRunning>
+ <MakeLogFile>false</MakeLogFile>
+ <IgnoreModuleEventsWhileStepping>true</IgnoreModuleEventsWhileStepping>
+ <UseRelativePathsOnly>false</UseRelativePathsOnly>
+ <ExitAction>KillApp</ExitAction>
+ <Features>
+ <DisableAutoDetection>false</DisableAutoDetection>
+ <UseFrameParameter>false</UseFrameParameter>
+ <SimpleValuesFlagSupported>false</SimpleValuesFlagSupported>
+ <ListLocalsSupported>false</ListLocalsSupported>
+ <ByteLevelMemoryCommandsAvailable>false</ByteLevelMemoryCommandsAvailable>
+ <ThreadInfoSupported>false</ThreadInfoSupported>
+ <PendingBreakpointsSupported>false</PendingBreakpointsSupported>
+ <SupportTargetCommand>false</SupportTargetCommand>
+ </Features>
+ <DisableDisassembly>false</DisableDisassembly>
+ <ExamineMemoryWithXCommand>false</ExamineMemoryWithXCommand>
+ <StepIntoNewInstanceEntry>main</StepIntoNewInstanceEntry>
+ <ExamineRegistersInRawFormat>true</ExamineRegistersInRawFormat>
+ </AdditionalGDBSettings>
+ <LaunchGDBSettings xsi:type="GDBLaunchParametersAndroid" />
+ <GenerateCtrlBreakInsteadOfCtrlC>false</GenerateCtrlBreakInsteadOfCtrlC>
+ <UseDefaultInstallDir>false</UseDefaultInstallDir>
+ <RemotePort>5039</RemotePort>
+ <LocalPort>5039</LocalPort>
+ <GDBServerStartupTimeout>10000</GDBServerStartupTimeout>
+ <AdditionalGDBServerStartupDelay>0</AdditionalGDBServerStartupDelay>
+ <DoubleSlashWorkaround>false</DoubleSlashWorkaround>
+ <AlreadyRunningDecision>Ask</AlreadyRunningDecision>
+ <ShowLogCat>true</ShowLogCat>
+ <EnableThreadNameWatcher>true</EnableThreadNameWatcher>
+ </Debug>
+ <CustomBuild>
+ <PreBuildActions />
+ <PostBuildActions />
+ <PreCleanActions />
+ <PostCleanActions />
+ </CustomBuild>
+ <CustomDebug>
+ <PreDebugActions />
+ <PostDebugActions />
+ <BreakMode>Default</BreakMode>
+ </CustomDebug>
+ <CustomShortcuts>
+ <Shortcuts />
+ <ShowMessageAfterExecuting>true</ShowMessageAfterExecuting>
+ </CustomShortcuts>
+ <UserDefinedVariables />
+</VisualGDBProjectSettings2> \ No newline at end of file
diff --git a/unityplugin/GhostCubePlugin/PluginSource/build/Win32/GhostCubePlugin-Release.vgdbsettings b/unityplugin/GhostCubePlugin/PluginSource/build/Win32/GhostCubePlugin-Release.vgdbsettings
new file mode 100644
index 0000000..669691f
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/PluginSource/build/Win32/GhostCubePlugin-Release.vgdbsettings
@@ -0,0 +1,76 @@
+<?xml version="1.0"?>
+<VisualGDBProjectSettings2 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <ConfigurationName>Release</ConfigurationName>
+ <Project xsi:type="com.visualgdb.project.android">
+ <CustomSourceDirectories>
+ <Directories />
+ <PathStyle>MinGWWindowsSlash</PathStyle>
+ </CustomSourceDirectories>
+ <AndroidProjectPath>$(ProjectDir)</AndroidProjectPath>
+ </Project>
+ <Build xsi:type="com.visualgdb.build.android">
+ <AndroidPlatform>android-19</AndroidPlatform>
+ <IsDebugConfiguration>false</IsDebugConfiguration>
+ <JNIOnlyBuild>true</JNIOnlyBuild>
+ <AdditionalDirectoriesToDeleteOnClean>bin;obj</AdditionalDirectoriesToDeleteOnClean>
+ <DeleteANTFilesOnClean>false</DeleteANTFilesOnClean>
+ <DoNotEditAndroidManifest>false</DoNotEditAndroidManifest>
+ <CustomActions />
+ </Build>
+ <Debug xsi:type="com.visualgdb.debug.android">
+ <AdditionalStartupCommands />
+ <AdditionalGDBSettings>
+ <FilterSpuriousStoppedNotifications>false</FilterSpuriousStoppedNotifications>
+ <ForceSingleThreadedMode>false</ForceSingleThreadedMode>
+ <PendingBreakpointsSupported>true</PendingBreakpointsSupported>
+ <DisableChildRanges>false</DisableChildRanges>
+ <UseAppleExtensions>false</UseAppleExtensions>
+ <CanAcceptCommandsWhileRunning>false</CanAcceptCommandsWhileRunning>
+ <MakeLogFile>false</MakeLogFile>
+ <IgnoreModuleEventsWhileStepping>true</IgnoreModuleEventsWhileStepping>
+ <UseRelativePathsOnly>false</UseRelativePathsOnly>
+ <ExitAction>KillApp</ExitAction>
+ <Features>
+ <DisableAutoDetection>false</DisableAutoDetection>
+ <UseFrameParameter>false</UseFrameParameter>
+ <SimpleValuesFlagSupported>false</SimpleValuesFlagSupported>
+ <ListLocalsSupported>false</ListLocalsSupported>
+ <ByteLevelMemoryCommandsAvailable>false</ByteLevelMemoryCommandsAvailable>
+ <ThreadInfoSupported>false</ThreadInfoSupported>
+ <PendingBreakpointsSupported>false</PendingBreakpointsSupported>
+ <SupportTargetCommand>false</SupportTargetCommand>
+ </Features>
+ <DisableDisassembly>false</DisableDisassembly>
+ <ExamineMemoryWithXCommand>false</ExamineMemoryWithXCommand>
+ <StepIntoNewInstanceEntry>main</StepIntoNewInstanceEntry>
+ <ExamineRegistersInRawFormat>true</ExamineRegistersInRawFormat>
+ </AdditionalGDBSettings>
+ <LaunchGDBSettings xsi:type="GDBLaunchParametersAndroid" />
+ <GenerateCtrlBreakInsteadOfCtrlC>false</GenerateCtrlBreakInsteadOfCtrlC>
+ <UseDefaultInstallDir>false</UseDefaultInstallDir>
+ <RemotePort>5039</RemotePort>
+ <LocalPort>5039</LocalPort>
+ <GDBServerStartupTimeout>10000</GDBServerStartupTimeout>
+ <AdditionalGDBServerStartupDelay>0</AdditionalGDBServerStartupDelay>
+ <DoubleSlashWorkaround>false</DoubleSlashWorkaround>
+ <AlreadyRunningDecision>Ask</AlreadyRunningDecision>
+ <ShowLogCat>true</ShowLogCat>
+ <EnableThreadNameWatcher>true</EnableThreadNameWatcher>
+ </Debug>
+ <CustomBuild>
+ <PreBuildActions />
+ <PostBuildActions />
+ <PreCleanActions />
+ <PostCleanActions />
+ </CustomBuild>
+ <CustomDebug>
+ <PreDebugActions />
+ <PostDebugActions />
+ <BreakMode>Default</BreakMode>
+ </CustomDebug>
+ <CustomShortcuts>
+ <Shortcuts />
+ <ShowMessageAfterExecuting>true</ShowMessageAfterExecuting>
+ </CustomShortcuts>
+ <UserDefinedVariables />
+</VisualGDBProjectSettings2> \ No newline at end of file
diff --git a/unityplugin/GhostCubePlugin/PluginSource/build/Win32/GhostCubePlugin.vcxproj b/unityplugin/GhostCubePlugin/PluginSource/build/Win32/GhostCubePlugin.vcxproj
new file mode 100644
index 0000000..4166510
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/PluginSource/build/Win32/GhostCubePlugin.vcxproj
@@ -0,0 +1,255 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|ARM">
+ <Configuration>Debug</Configuration>
+ <Platform>ARM</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|ARM">
+ <Configuration>Release</Configuration>
+ <Platform>ARM</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\..\..\..\diligentcore\Common\build\Win32\Common.vcxproj">
+ <Project>{7380f7e6-315f-4b4e-92eb-e6aeee865298}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\..\..\..\..\diligentcore\Graphics\GraphicsEngineD3D11\build\Win32\GraphicsEngineD3D11.vcxproj">
+ <Project>{fe289cc7-15d6-4a76-b9cb-f61cab3192c9}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\..\..\..\..\diligentcore\Graphics\GraphicsEngineD3D12\build\Win32\GraphicsEngineD3D12.vcxproj">
+ <Project>{fff8071a-db82-485b-adc3-f0b675296869}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\..\..\..\..\diligentcore\Graphics\GraphicsEngineD3DBase\build\Win32\GraphicsEngineD3DBase.vcxproj">
+ <Project>{40fd58ed-aabc-4cbd-bee4-33116995a626}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\..\..\..\..\diligentcore\Graphics\GraphicsEngineOpenGL\build\Win32\GraphicsEngineOpenGL.vcxproj">
+ <Project>{15e346d3-fde6-4b29-88b7-fca14dada501}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\..\..\..\..\diligentcore\Graphics\GraphicsEngine\build\Win32\GraphicsEngine.vcxproj">
+ <Project>{052dd700-477c-4512-a7f4-b05ebef5c80e}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\..\..\..\..\diligentcore\Graphics\GraphicsTools\build\Win32\GraphicsTools.vcxproj">
+ <Project>{c6014499-0cf2-43ec-a773-a4e354fb2d74}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\..\..\..\..\diligentcore\Graphics\HLSL2GLSLConverterLib\build\Win32\HLSL2GLSLConverterLib.vcxproj">
+ <Project>{1a782154-a5bd-4a05-b837-efc77f126c84}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\..\..\..\..\diligentcore\Platforms\Android\build\Windows\AndroidPlatform.vcxproj">
+ <Project>{e333476e-15e3-4d43-a4cf-8748058b3be9}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\..\..\..\..\diligentcore\Platforms\Basic\build\Win32\BasicPlatform.vcxproj">
+ <Project>{8ada5f93-7a38-4ad8-b8f5-1ffd4d4f630c}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\..\..\..\..\diligentcore\Platforms\Win32\build\Win32\WindowsPlatform.vcxproj">
+ <Project>{58f32677-436b-412a-bbf8-2b1310d82cd8}</Project>
+ </ProjectReference>
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="..\..\src\RenderingPlugin.def" />
+ <None Include="jni\Android.mk" />
+ <None Include="jni\Application.mk" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\src\RenderAPI.cpp">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+ </ClCompile>
+ <ClCompile Include="..\..\src\RenderAPI_OpenGLCoreES.cpp">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+ </ClCompile>
+ <ClCompile Include="..\..\src\RenderingPlugin.cpp">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+ </ClCompile>
+ <ClCompile Include="..\..\src\SamplePlugin.cpp">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+ </ClCompile>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{EDA960FC-AA6C-44B3-8ABB-90765DA4D516}</ProjectGuid>
+ <Keyword>Win32Proj</Keyword>
+ <RootNamespace>GhostCubePlugin</RootNamespace>
+ <WindowsTargetPlatformVersion>10.0.10586.0</WindowsTargetPlatformVersion>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v140</PlatformToolset>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v140</PlatformToolset>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v140</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v140</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
+ <PlatformToolset>v120</PlatformToolset>
+ <ConfigurationType>Makefile</ConfigurationType>
+ </PropertyGroup>
+ <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
+ <PlatformToolset>v120</PlatformToolset>
+ <ConfigurationType>Makefile</ConfigurationType>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ <Import Project="..\Windows.Shared\GhostCubePlugin.Shared.vcxitems" Label="Shared" Condition="Exists('..\Windows.Shared\GhostCubePlugin.Shared.vcxitems')" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="..\..\..\..\..\diligentcore\Shared\build\Windows\Win32d.props" />
+ <Import Project="EngineRoot.props" />
+ <Import Project="..\Windows.Shared\GhostCubePlugin.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="..\..\..\..\..\diligentcore\Shared\build\Windows\Win64d.props" />
+ <Import Project="EngineRoot.props" />
+ <Import Project="..\Windows.Shared\GhostCubePlugin.props" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="..\..\..\..\..\diligentcore\Shared\build\Windows\Win32r.props" />
+ <Import Project="EngineRoot.props" />
+ <Import Project="..\Windows.Shared\GhostCubePlugin.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="..\..\..\..\..\diligentcore\Shared\build\Windows\Win64r.props" />
+ <Import Project="EngineRoot.props" />
+ <Import Project="..\Windows.Shared\GhostCubePlugin.props" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
+ <Import Project="..\..\..\..\..\diligentcore\Shared\build\Windows\Android32d.props" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
+ <Import Project="..\..\..\..\..\diligentcore\Shared\build\Windows\Android32r.props" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup />
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <ModuleDefinitionFile>..\..\src\RenderingPlugin.def</ModuleDefinitionFile>
+ <AdditionalDependencies>dxgi.lib;d3d12.lib;d3d11.lib;d3dcompiler.lib;opengl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ <PostBuildEvent>
+ <Command>copy $(OutDir)$(TargetName).dll $(ProjectRoot)\..\UnityProject\Assets\Plugins\x86\$(ProjectName).dll
+copy $(OutDir)$(TargetName).pdb $(ProjectRoot)\..\UnityProject\Assets\Plugins\x86\$(ProjectName).pdb</Command>
+ <Message>copying $(TargetName).dll and $(TargetName).pdb to $(ProjectRoot)\..\UnityProject\Assets\Plugins\x86</Message>
+ </PostBuildEvent>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <ModuleDefinitionFile>..\..\src\RenderingPlugin.def</ModuleDefinitionFile>
+ <AdditionalDependencies>dxgi.lib;d3d12.lib;d3d11.lib;d3dcompiler.lib;opengl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ <PostBuildEvent>
+ <Command>copy $(OutDir)$(TargetName).dll $(ProjectRoot)\..\UnityProject\Assets\Plugins\x86_64\$(ProjectName).dll
+copy $(OutDir)$(TargetName).pdb $(ProjectRoot)\..\UnityProject\Assets\Plugins\x86_64\$(ProjectName).pdb</Command>
+ <Message>copying $(TargetName).dll and $(TargetName).pdb to $(ProjectRoot)\..\UnityProject\Assets\Plugins\x86_64</Message>
+ </PostBuildEvent>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>MaxSpeed</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <ModuleDefinitionFile>..\..\src\RenderingPlugin.def</ModuleDefinitionFile>
+ <AdditionalDependencies>dxgi.lib;d3d12.lib;d3d11.lib;d3dcompiler.lib;opengl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ <PostBuildEvent>
+ <Command>copy $(OutDir)$(TargetName).dll $(ProjectRoot)\..\UnityProject\Assets\Plugins\x86\$(ProjectName).dll
+copy $(OutDir)$(TargetName).pdb $(ProjectRoot)\..\UnityProject\Assets\Plugins\x86\$(ProjectName).pdb</Command>
+ <Message>copying $(TargetName).dll and $(TargetName).pdb to $(ProjectRoot)\..\UnityProject\Assets\Plugins\x86</Message>
+ </PostBuildEvent>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>MaxSpeed</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <ModuleDefinitionFile>..\..\src\RenderingPlugin.def</ModuleDefinitionFile>
+ <AdditionalDependencies>dxgi.lib;d3d12.lib;d3d11.lib;d3dcompiler.lib;opengl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ <PostBuildEvent>
+ <Command>copy $(OutDir)$(TargetName).dll $(ProjectRoot)\..\UnityProject\Assets\Plugins\x86_64\$(ProjectName).dll
+copy $(OutDir)$(TargetName).pdb $(ProjectRoot)\..\UnityProject\Assets\Plugins\x86_64\$(ProjectName).pdb</Command>
+ <Message>copying $(TargetName).dll and $(TargetName).pdb to $(ProjectRoot)\..\UnityProject\Assets\Plugins\x86_64</Message>
+ </PostBuildEvent>
+ </ItemDefinitionGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project> \ No newline at end of file
diff --git a/unityplugin/GhostCubePlugin/PluginSource/build/Win32/GhostCubePlugin.vcxproj.filters b/unityplugin/GhostCubePlugin/PluginSource/build/Win32/GhostCubePlugin.vcxproj.filters
new file mode 100644
index 0000000..d6b075f
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/PluginSource/build/Win32/GhostCubePlugin.vcxproj.filters
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <None Include="..\..\src\RenderingPlugin.def" />
+ <None Include="jni\Android.mk">
+ <Filter>Android\jni</Filter>
+ </None>
+ <None Include="jni\Application.mk">
+ <Filter>Android\jni</Filter>
+ </None>
+ </ItemGroup>
+ <ItemGroup>
+ <Filter Include="Android">
+ <UniqueIdentifier>{11b4220e-29bf-4572-bee2-1fd8d75f0c48}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="Android\src">
+ <UniqueIdentifier>{f09afa4f-3ec1-407b-acef-eeded2cb895d}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="Android\jni">
+ <UniqueIdentifier>{c3a3aa9e-0f29-4329-92ef-929a34b932fb}</UniqueIdentifier>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\src\RenderAPI.cpp">
+ <Filter>Android\src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\src\RenderAPI_OpenGLCoreES.cpp">
+ <Filter>Android\src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\src\RenderingPlugin.cpp">
+ <Filter>Android\src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\src\SamplePlugin.cpp">
+ <Filter>Android\src</Filter>
+ </ClCompile>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/unityplugin/GhostCubePlugin/PluginSource/build/Win32/jni/Android.mk b/unityplugin/GhostCubePlugin/PluginSource/build/Win32/jni/Android.mk
new file mode 100644
index 0000000..37ea10d
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/PluginSource/build/Win32/jni/Android.mk
@@ -0,0 +1,80 @@
+# Android NDK project makefile autogenerated by Premake
+
+# Preamble
+DEPENDENCY_PATH := $(call my-dir)
+LOCAL_PATH := $(abspath $(DEPENDENCY_PATH))
+include $(CLEAR_VARS)
+
+
+# Project configuration
+LOCAL_MODULE := GhostCubePlugin
+LOCAL_CFLAGS := -std=c++11 -DUSE_GL3_STUB=0 -DUNITY_ANDROID -fvisibility=hidden
+LOCAL_CPP_FEATURES := exceptions rtti
+LOCAL_STATIC_LIBRARIES += GraphicsEngineOpenGL_static-prebuilt GraphicsEngine-prebuilt HLSL2GLSLConverterLib-prebuilt AndroidPlatform-prebuilt BasicPlatform-prebuilt GraphicsTools-prebuilt Common-prebuilt
+LOCAL_LDLIBS := -lGLESv3 -lEGL -llog -landroid
+
+# Include paths
+PROJECT_ROOT := $(LOCAL_PATH)/../../..
+ENGINE_ROOT := $(PROJECT_ROOT)/../../..
+CORE_ROOT := $(ENGINE_ROOT)/diligentcore
+LOCAL_C_INCLUDES := $(PROJECT_ROOT)/include $(PROJECT_ROOT)/interface
+
+# Source files
+#VisualGDBAndroid: AutoUpdateSourcesInNextLine
+LOCAL_SRC_FILES := ../../../src/RenderAPI.cpp ../../../src/RenderAPI_OpenGLCoreES.cpp ../../../src/RenderingPlugin.cpp ../../../src/SamplePlugin.cpp
+
+#VisualGDBAndroid: VSExcludeListLocation
+VISUALGDB_VS_EXCLUDED_FILES_Release := ../../../src/DLLMain.cpp ../../../src/GLContextWindows.cpp
+VISUALGDB_VS_EXCLUDED_FILES_Debug :=
+LOCAL_SRC_FILES := $(filter-out $(VISUALGDB_VS_EXCLUDED_FILES_$(VGDB_VSCONFIG)),$(LOCAL_SRC_FILES))
+
+include $(BUILD_SHARED_LIBRARY)
+
+include $(CLEAR_VARS)
+# Declare pre-built Common library
+LOCAL_MODULE := Common-prebuilt
+LOCAL_EXPORT_C_INCLUDES := $(CORE_ROOT)/Common/include $(CORE_ROOT)/Common/interface
+LOCAL_SRC_FILES := $(CORE_ROOT)/Common/build/Win32/obj/local/$(TARGET_ARCH_ABI)/libCommon.a
+include $(PREBUILT_STATIC_LIBRARY)
+
+
+include $(CLEAR_VARS)
+# Declare pre-built AndroidPlatform library
+LOCAL_MODULE := AndroidPlatform-prebuilt
+LOCAL_SRC_FILES := $(CORE_ROOT)/Platforms/Android/build/Windows/obj/local/$(TARGET_ARCH_ABI)/libAndroidPlatform.a
+LOCAL_EXPORT_C_INCLUDES := $(CORE_ROOT)/Platforms/interface
+include $(PREBUILT_STATIC_LIBRARY)
+
+include $(CLEAR_VARS)
+# Declare pre-built BasicPlatform library
+LOCAL_MODULE := BasicPlatform-prebuilt
+LOCAL_SRC_FILES := $(CORE_ROOT)/Platforms/Basic/build/Win32/obj/local/$(TARGET_ARCH_ABI)/libBasicPlatform.a
+include $(PREBUILT_STATIC_LIBRARY)
+
+include $(CLEAR_VARS)
+# Declare pre-built GraphicsEngine library
+LOCAL_MODULE := GraphicsEngine-prebuilt
+LOCAL_SRC_FILES := $(CORE_ROOT)/Graphics/GraphicsEngine/build/Win32/obj/local/$(TARGET_ARCH_ABI)/libGraphicsEngine.a
+LOCAL_EXPORT_C_INCLUDES := $(CORE_ROOT)/Graphics/GraphicsEngine/include $(CORE_ROOT)/Graphics/GraphicsEngine/interface
+include $(PREBUILT_STATIC_LIBRARY)
+
+include $(CLEAR_VARS)
+# Declare pre-built Graphics Tools library
+LOCAL_MODULE := GraphicsTools-prebuilt
+LOCAL_SRC_FILES := $(CORE_ROOT)/Graphics/GraphicsTools/build/Win32/obj/local/$(TARGET_ARCH_ABI)/libGraphicsTools.a
+LOCAL_EXPORT_C_INCLUDES := $(CORE_ROOT)/Graphics/GraphicsTools/include
+include $(PREBUILT_STATIC_LIBRARY)
+
+include $(CLEAR_VARS)
+# Declare pre-built HLSL2GLSLConverterLib library
+LOCAL_MODULE := HLSL2GLSLConverterLib-prebuilt
+LOCAL_SRC_FILES := $(CORE_ROOT)/Graphics/HLSL2GLSLConverterLib/build/Win32/obj/local/$(TARGET_ARCH_ABI)/libHLSL2GLSLConverterLib.a
+LOCAL_EXPORT_C_INCLUDES := $(CORE_ROOT)/Graphics/HLSL2GLSLConverterLib/include $(CORE_ROOT)/Graphics/HLSL2GLSLConverterLib/interface
+include $(PREBUILT_STATIC_LIBRARY)
+
+include $(CLEAR_VARS)
+# Declare pre-built GraphicsEngineOpenGL library
+LOCAL_MODULE := GraphicsEngineOpenGL_static-prebuilt
+LOCAL_SRC_FILES := $(CORE_ROOT)/Graphics/GraphicsEngineOpenGL/build/Win32/obj/local/$(TARGET_ARCH_ABI)/libGraphicsEngineOpenGL.a
+LOCAL_EXPORT_C_INCLUDES := $(CORE_ROOT)/Graphics/GraphicsEngineOpenGL/interface
+include $(PREBUILT_STATIC_LIBRARY)
diff --git a/unityplugin/GhostCubePlugin/PluginSource/build/Win32/jni/Application.mk b/unityplugin/GhostCubePlugin/PluginSource/build/Win32/jni/Application.mk
new file mode 100644
index 0000000..2a28528
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/PluginSource/build/Win32/jni/Application.mk
@@ -0,0 +1,7 @@
+# Generated by VisualGDB
+
+DEPENDENCY_PATH := $(call my-dir)
+LOCAL_PATH := $(abspath $(DEPENDENCY_PATH))
+include $(LOCAL_PATH)/../../../../../../diligentcore/Common/make/AppCommon.mk
+
+APP_MODULES := GhostCubePlugin \ No newline at end of file
diff --git a/unityplugin/GhostCubePlugin/PluginSource/build/Windows.Shared/GhostCubePlugin.Shared.vcxitems b/unityplugin/GhostCubePlugin/PluginSource/build/Windows.Shared/GhostCubePlugin.Shared.vcxitems
new file mode 100644
index 0000000..6cda2ea
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/PluginSource/build/Windows.Shared/GhostCubePlugin.Shared.vcxitems
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup Label="Globals">
+ <MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
+ <HasSharedItems>true</HasSharedItems>
+ <ItemsProjectGuid>{27b0c157-0a7a-46b0-aed3-919e7af5ef4b}</ItemsProjectGuid>
+ <ItemsRootNamespace>TerrainCore</ItemsRootNamespace>
+ <ItemsProjectName>GhostCubePlugin.Shared</ItemsProjectName>
+ <CodeSharingProject>248F659F-DAC5-46E8-AC09-60EC9FC95053</CodeSharingProject>
+ </PropertyGroup>
+ <ItemDefinitionGroup>
+ <ClCompile>
+ <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);$(MSBuildThisFileDirectory)</AdditionalIncludeDirectories>
+ </ClCompile>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ProjectCapability Include="SourceItemsFromImports" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="$(MSBuildThisFileDirectory)..\..\src\PlatformBase.h" />
+ <ClInclude Include="$(MSBuildThisFileDirectory)..\..\src\RenderAPI.h" />
+ <ClInclude Include="$(MSBuildThisFileDirectory)..\..\src\SamplePlugin.h" />
+ <ClInclude Include="$(MSBuildThisFileDirectory)..\..\src\Unity\IUnityGraphics.h" />
+ <ClInclude Include="$(MSBuildThisFileDirectory)..\..\src\Unity\IUnityGraphicsD3D11.h" />
+ <ClInclude Include="$(MSBuildThisFileDirectory)..\..\src\Unity\IUnityGraphicsD3D12.h" />
+ <ClInclude Include="$(MSBuildThisFileDirectory)..\..\src\Unity\IUnityGraphicsD3D9.h" />
+ <ClInclude Include="$(MSBuildThisFileDirectory)..\..\src\Unity\IUnityGraphicsMetal.h" />
+ <ClInclude Include="$(MSBuildThisFileDirectory)..\..\src\Unity\IUnityInterface.h" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="$(MSBuildThisFileDirectory)..\..\src\RenderAPI.cpp" />
+ <ClCompile Include="$(MSBuildThisFileDirectory)..\..\src\RenderAPI_D3D11.cpp" />
+ <ClCompile Include="$(MSBuildThisFileDirectory)..\..\src\RenderAPI_D3D12.cpp" />
+ <ClCompile Include="$(MSBuildThisFileDirectory)..\..\src\RenderAPI_OpenGLCoreES.cpp" />
+ <ClCompile Include="$(MSBuildThisFileDirectory)..\..\src\RenderingPlugin.cpp" />
+ <ClCompile Include="$(MSBuildThisFileDirectory)..\..\src\SamplePlugin.cpp" />
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/unityplugin/GhostCubePlugin/PluginSource/build/Windows.Shared/GhostCubePlugin.Shared.vcxitems.filters b/unityplugin/GhostCubePlugin/PluginSource/build/Windows.Shared/GhostCubePlugin.Shared.vcxitems.filters
new file mode 100644
index 0000000..faac556
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/PluginSource/build/Windows.Shared/GhostCubePlugin.Shared.vcxitems.filters
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Unity">
+ <UniqueIdentifier>{1cabdf31-0e7d-4669-8f9a-fe963ebfd442}</UniqueIdentifier>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="$(MSBuildThisFileDirectory)..\..\src\Unity\IUnityGraphicsD3D12.h">
+ <Filter>Unity</Filter>
+ </ClInclude>
+ <ClInclude Include="$(MSBuildThisFileDirectory)..\..\src\Unity\IUnityGraphicsMetal.h">
+ <Filter>Unity</Filter>
+ </ClInclude>
+ <ClInclude Include="$(MSBuildThisFileDirectory)..\..\src\Unity\IUnityInterface.h">
+ <Filter>Unity</Filter>
+ </ClInclude>
+ <ClInclude Include="$(MSBuildThisFileDirectory)..\..\src\Unity\IUnityGraphics.h">
+ <Filter>Unity</Filter>
+ </ClInclude>
+ <ClInclude Include="$(MSBuildThisFileDirectory)..\..\src\Unity\IUnityGraphicsD3D9.h">
+ <Filter>Unity</Filter>
+ </ClInclude>
+ <ClInclude Include="$(MSBuildThisFileDirectory)..\..\src\Unity\IUnityGraphicsD3D11.h">
+ <Filter>Unity</Filter>
+ </ClInclude>
+ <ClInclude Include="$(MSBuildThisFileDirectory)..\..\src\PlatformBase.h" />
+ <ClInclude Include="$(MSBuildThisFileDirectory)..\..\src\RenderAPI.h" />
+ <ClInclude Include="$(MSBuildThisFileDirectory)..\..\src\SamplePlugin.h" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="$(MSBuildThisFileDirectory)..\..\src\RenderingPlugin.cpp" />
+ <ClCompile Include="$(MSBuildThisFileDirectory)..\..\src\RenderAPI_D3D12.cpp" />
+ <ClCompile Include="$(MSBuildThisFileDirectory)..\..\src\RenderAPI_OpenGLCoreES.cpp" />
+ <ClCompile Include="$(MSBuildThisFileDirectory)..\..\src\RenderAPI.cpp" />
+ <ClCompile Include="$(MSBuildThisFileDirectory)..\..\src\RenderAPI_D3D11.cpp" />
+ <ClCompile Include="$(MSBuildThisFileDirectory)..\..\src\SamplePlugin.cpp" />
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/unityplugin/GhostCubePlugin/PluginSource/build/Windows.Shared/GhostCubePlugin.props b/unityplugin/GhostCubePlugin/PluginSource/build/Windows.Shared/GhostCubePlugin.props
new file mode 100644
index 0000000..343679b
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/PluginSource/build/Windows.Shared/GhostCubePlugin.props
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ImportGroup Label="PropertySheets" />
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <IncludePath>$(CoreRoot)\Graphics\GraphicsEngine\interface;$(CoreRoot)\Graphics\GraphicsEngineD3D11\interface;$(CoreRoot)\Graphics\GraphicsEngineD3D12\interface;$(CoreRoot)\Graphics\GraphicsEngineOpenGL\interface;$(CoreRoot)\Graphics\HLSL2GLSLConverterLib\interface;$(CoreRoot)\Common\include;$(CoreRoot)\Common\interface;$(CoreRoot)\Platforms\interface;$(CoreRoot)\Graphics\GraphicsTools\include;$(IncludePath)</IncludePath>
+ <OutDir>$(SolutionDir)\bin\DLLs\$(PlatformShortName)\</OutDir>
+ <TargetName>$(ProjectName)_$(ConfigSuffix)</TargetName>
+ </PropertyGroup>
+ <ItemDefinitionGroup>
+ <ClCompile>
+ <PrecompiledHeader>NotUsing</PrecompiledHeader>
+ </ClCompile>
+ </ItemDefinitionGroup>
+ <ItemGroup />
+</Project> \ No newline at end of file
diff --git a/unityplugin/GhostCubePlugin/PluginSource/src/PlatformBase.h b/unityplugin/GhostCubePlugin/PluginSource/src/PlatformBase.h
new file mode 100644
index 0000000..b691136
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/PluginSource/src/PlatformBase.h
@@ -0,0 +1,58 @@
+#pragma once
+
+// Standard base includes, defines that indicate our current platform, etc.
+
+#include <stddef.h>
+
+
+// Which platform we are on?
+// UNITY_WIN - Windows (regular win32)
+// UNITY_OSX - Mac OS X
+// UNITY_LINUX - Linux
+// UNITY_IPHONE - iOS
+// UNITY_ANDROID - Android
+// UNITY_METRO - WSA or UWP
+// UNITY_WEBGL - WebGL
+#if _MSC_VER
+ #define UNITY_WIN 1
+#elif defined(__APPLE__)
+ #if defined(__arm__) || defined(__arm64__)
+ #define UNITY_IPHONE 1
+ #else
+ #define UNITY_OSX 1
+ #endif
+#elif defined(UNITY_METRO) || defined(UNITY_ANDROID) || defined(UNITY_LINUX) || defined(UNITY_WEBGL)
+ // these are defined externally
+#elif defined(__EMSCRIPTEN__)
+ // this is already defined in Unity 5.6
+ #define UNITY_WEBGL 1
+#else
+ #error "Unknown platform!"
+#endif
+
+
+
+// Which graphics device APIs we possibly support?
+#if UNITY_METRO
+ #define SUPPORT_D3D11 1
+ #if WINDOWS_UWP
+ #define SUPPORT_D3D12 1
+ #endif
+#elif UNITY_WIN
+ #define SUPPORT_D3D11 1
+ #define SUPPORT_D3D12 1
+ #define SUPPORT_OPENGL_UNIFIED 1
+ #define SUPPORT_OPENGL_CORE 1
+#elif UNITY_IPHONE || UNITY_ANDROID || UNITY_WEBGL
+ #define SUPPORT_OPENGL_UNIFIED 1
+ #define SUPPORT_OPENGL_ES 1
+#elif UNITY_OSX || UNITY_LINUX
+ #define SUPPORT_OPENGL_LEGACY 1
+ #define SUPPORT_OPENGL_UNIFIED 1
+ #define SUPPORT_OPENGL_CORE 1
+#endif
+
+#if UNITY_IPHONE || UNITY_OSX
+ #define SUPPORT_METAL 1
+#endif
+
diff --git a/unityplugin/GhostCubePlugin/PluginSource/src/RenderAPI.cpp b/unityplugin/GhostCubePlugin/PluginSource/src/RenderAPI.cpp
new file mode 100644
index 0000000..18278e7
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/PluginSource/src/RenderAPI.cpp
@@ -0,0 +1,29 @@
+#include "RenderAPI.h"
+#include "PlatformBase.h"
+#include "Unity/IUnityGraphics.h"
+#include "GraphicsUtilities.h"
+
+using namespace Diligent;
+
+void RenderAPI::CreateTextureViews(Diligent::ITexture *pRenderTarget, Diligent::ITexture *pDepthBuffer)
+{
+ m_RTV.Release();
+ m_DSV.Release();
+ {
+ const auto &RTDesc = pRenderTarget->GetDesc();
+ TextureViewDesc RTVDesc;
+ RTVDesc.ViewType = TEXTURE_VIEW_RENDER_TARGET;
+ m_RenderTargetFormat = GetDefaultTextureViewFormat(RTDesc, TEXTURE_VIEW_RENDER_TARGET);
+ RTVDesc.Format = m_RenderTargetFormat;
+ pRenderTarget->CreateView(RTVDesc, &m_RTV);
+ }
+
+ {
+ const auto &TexDesc = pDepthBuffer->GetDesc();
+ TextureViewDesc DSVDesc;
+ DSVDesc.ViewType = TEXTURE_VIEW_DEPTH_STENCIL;
+ m_DepthBufferFormat = GetDefaultTextureViewFormat(TexDesc, TEXTURE_VIEW_DEPTH_STENCIL);
+ DSVDesc.Format = m_DepthBufferFormat;
+ pDepthBuffer->CreateView(DSVDesc, &m_DSV);
+ }
+}
diff --git a/unityplugin/GhostCubePlugin/PluginSource/src/RenderAPI.h b/unityplugin/GhostCubePlugin/PluginSource/src/RenderAPI.h
new file mode 100644
index 0000000..8d80f6e
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/PluginSource/src/RenderAPI.h
@@ -0,0 +1,51 @@
+#pragma once
+
+#include "Unity/IUnityGraphics.h"
+#include "RenderDevice.h"
+#include "DeviceContext.h"
+#include "RefCntAutoPtr.h"
+
+struct IUnityInterfaces;
+
+class RenderAPI
+{
+public:
+ virtual ~RenderAPI() { }
+
+ // Process general event like initialization, shutdown, device loss/reset etc.
+ virtual void ProcessDeviceEvent(UnityGfxDeviceEventType type, IUnityInterfaces* interfaces) = 0;
+
+ virtual void AttachToNativeRenderTexture(void *nativeRenderTargetHandle, void *nativeDepthTextureHandle) = 0;
+
+ // Is the API using "reversed" (1.0 at near plane, 0.0 at far plane) depth buffer?
+ // Reversed Z is used on modern platforms, and improves depth buffer precision.
+ virtual bool GetUsesReverseZ() = 0;
+
+ virtual void BeginRendering() {}
+
+ virtual void EndRendering()
+ {
+ if (m_Context)
+ m_Context->InvalidateState();
+ }
+
+ virtual bool IsDX() = 0;
+
+ Diligent::IRenderDevice *GetDevice() { return m_Device; }
+ Diligent::IDeviceContext *GetDeviceContext() { return m_Context; }
+
+ Diligent::TEXTURE_FORMAT GetRenderTargetFormat()const { return m_RenderTargetFormat; };
+ Diligent::TEXTURE_FORMAT GetDepthBufferFormat()const { return m_DepthBufferFormat; };
+
+ void CreateTextureViews(Diligent::ITexture *pRenderTarget, Diligent::ITexture *pDepthBuffer);
+
+protected:
+ Diligent::RefCntAutoPtr<Diligent::IRenderDevice> m_Device;
+ Diligent::RefCntAutoPtr<Diligent::IDeviceContext> m_Context;
+
+ Diligent::RefCntAutoPtr<Diligent::ITextureView> m_RTV;
+ Diligent::RefCntAutoPtr<Diligent::ITextureView> m_DSV;
+
+ Diligent::TEXTURE_FORMAT m_RenderTargetFormat = Diligent::TEX_FORMAT_UNKNOWN;
+ Diligent::TEXTURE_FORMAT m_DepthBufferFormat = Diligent::TEX_FORMAT_UNKNOWN;
+};
diff --git a/unityplugin/GhostCubePlugin/PluginSource/src/RenderAPI_D3D11.cpp b/unityplugin/GhostCubePlugin/PluginSource/src/RenderAPI_D3D11.cpp
new file mode 100644
index 0000000..85c81ba
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/PluginSource/src/RenderAPI_D3D11.cpp
@@ -0,0 +1,93 @@
+#include "PlatformBase.h"
+
+// Direct3D 11 implementation of RenderAPI.
+
+#if SUPPORT_D3D11
+
+#include <d3d11.h>
+#include <atlbase.h>
+
+#include "RenderAPI.h"
+#include "Unity/IUnityGraphicsD3D11.h"
+#include "RenderDeviceFactoryD3D11.h"
+#include "RenderDeviceD3D11.h"
+
+using namespace Diligent;
+
+
+class RenderAPI_D3D11 : public RenderAPI
+{
+public:
+ virtual void ProcessDeviceEvent(UnityGfxDeviceEventType type, IUnityInterfaces* interfaces)override final;
+
+ virtual bool GetUsesReverseZ()override final { return (int)m_d3d11Device->GetFeatureLevel() >= (int)D3D_FEATURE_LEVEL_10_0; }
+
+ virtual bool IsDX()override final { return true; }
+
+ virtual void BeginRendering()override final;
+
+ virtual void AttachToNativeRenderTexture(void *nativeRenderTargetHandle, void *nativeDepthTextureHandle)override final;
+
+
+private:
+ ID3D11Device* m_d3d11Device = nullptr;
+};
+
+
+RenderAPI* CreateRenderAPI_D3D11()
+{
+ return new RenderAPI_D3D11();
+}
+
+void RenderAPI_D3D11::ProcessDeviceEvent(UnityGfxDeviceEventType type, IUnityInterfaces* interfaces)
+{
+ switch (type)
+ {
+ case kUnityGfxDeviceEventInitialize:
+ {
+ IUnityGraphicsD3D11* d3d = interfaces->Get<IUnityGraphicsD3D11>();
+ m_d3d11Device = d3d->GetDevice();
+ CComPtr<ID3D11DeviceContext> d3d11ImmediateContext;
+ m_d3d11Device->GetImmediateContext(&d3d11ImmediateContext);
+ auto *pFactoryD3d11 = GetEngineFactoryD3D11();
+ EngineD3D11Attribs Attribs;
+ pFactoryD3d11->AttachToD3D11Device(m_d3d11Device, d3d11ImmediateContext, Attribs, &m_Device, &m_Context, 0);
+ break;
+ }
+
+ case kUnityGfxDeviceEventShutdown:
+ m_Context.Release();
+ m_Device.Release();
+ break;
+ }
+}
+
+
+void RenderAPI_D3D11::BeginRendering()
+{
+ ITextureView *RTVs[] = { m_RTV };
+ m_Context->SetRenderTargets(1, RTVs, m_DSV);
+}
+
+void RenderAPI_D3D11::AttachToNativeRenderTexture(void *nativeRenderTargetHandle, void *nativeDepthTextureHandle)
+{
+ m_RTV.Release();
+ m_DSV.Release();
+
+ if (nativeRenderTargetHandle != nullptr && nativeDepthTextureHandle != nullptr)
+ {
+ RefCntAutoPtr<IRenderDeviceD3D11> pDeviceD3D11(m_Device, IID_RenderDeviceD3D11);
+
+ auto *pd3d11RenderTarget = reinterpret_cast<ID3D11Texture2D *>(nativeRenderTargetHandle);
+ RefCntAutoPtr<ITexture> pRenderTarget;
+ pDeviceD3D11->CreateTextureFromD3DResource(pd3d11RenderTarget, &pRenderTarget);
+
+ auto *pd3d11DepthBuffer = reinterpret_cast<ID3D11Texture2D *>(nativeDepthTextureHandle);
+ RefCntAutoPtr<ITexture> pDepthBuffer;
+ pDeviceD3D11->CreateTextureFromD3DResource(pd3d11DepthBuffer, &pDepthBuffer);
+
+ CreateTextureViews(pRenderTarget, pDepthBuffer);
+ }
+}
+
+#endif // #if SUPPORT_D3D11
diff --git a/unityplugin/GhostCubePlugin/PluginSource/src/RenderAPI_D3D12.cpp b/unityplugin/GhostCubePlugin/PluginSource/src/RenderAPI_D3D12.cpp
new file mode 100644
index 0000000..a29c492
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/PluginSource/src/RenderAPI_D3D12.cpp
@@ -0,0 +1,195 @@
+#include "PlatformBase.h"
+
+// Direct3D 12 implementation of RenderAPI.
+
+#if SUPPORT_D3D12
+
+#include <algorithm>
+
+#define NOMINMAX
+#include <d3d12.h>
+
+#include "RenderAPI.h"
+#include "Unity/IUnityGraphicsD3D12.h"
+#include "RenderDeviceFactoryD3D12.h"
+#include "RenderDeviceD3D12.h"
+#include "CommandQueueD3D12.h"
+#include "TextureD3D12.h"
+#include "ObjectBase.h"
+#include "DefaultRawMemoryAllocator.h"
+
+using namespace Diligent;
+
+class UnityCommandQueueImpl : public ObjectBase<ICommandQueueD3D12>
+{
+public:
+ using TBase = ObjectBase<ICommandQueueD3D12>;
+ UnityCommandQueueImpl(IReferenceCounters *pRefCounters, IUnityGraphicsD3D12v2* pUnityGraphicsD3D12) :
+ TBase(pRefCounters),
+ m_pUnityGraphicsD3D12(pUnityGraphicsD3D12),
+ m_WaitForGPUEventHandle( CreateEvent(nullptr, false, false, nullptr) )
+ {
+ VERIFY_EXPR(m_WaitForGPUEventHandle != INVALID_HANDLE_VALUE);
+ }
+
+ ~UnityCommandQueueImpl()
+ {
+ CloseHandle(m_WaitForGPUEventHandle);
+ }
+
+ IMPLEMENT_QUERY_INTERFACE_IN_PLACE( IID_CommandQueueD3D12, TBase )
+
+ // Returns the fence value that will be signaled next time
+ virtual UINT64 GetNextFenceValue()override final
+ {
+ return m_pUnityGraphicsD3D12->GetNextFrameFenceValue();
+ }
+
+ // Executes a given command list
+ virtual UINT64 ExecuteCommandList(ID3D12GraphicsCommandList* commandList)override final
+ {
+ auto NextFenceValue = m_pUnityGraphicsD3D12->GetNextFrameFenceValue();
+ m_CurrentFenceValue = m_pUnityGraphicsD3D12->ExecuteCommandList(commandList, static_cast<int>(m_ResourcesToTransition.size()), m_ResourcesToTransition.empty() ? nullptr : m_ResourcesToTransition.data());
+ VERIFY(m_CurrentFenceValue >= NextFenceValue, "Current fence value returned by ExecuteCommandList() is less than the next fence value previously queried through GetNextFrameFenceValue()")
+ m_ResourcesToTransition.clear();
+ return std::max(m_CurrentFenceValue, NextFenceValue);
+ }
+
+ // Returns D3D12 command queue. May return null if queue is anavailable
+ virtual ID3D12CommandQueue* GetD3D12CommandQueue()
+ {
+ return nullptr;
+ }
+
+ // Returns value of the last completed fence
+ virtual Uint64 GetCompletedFenceValue()
+ {
+ return m_pUnityGraphicsD3D12->GetFrameFence()->GetCompletedValue();
+ }
+
+ // Blocks execution until all pending GPU commands are complete
+ virtual void IdleGPU()
+ {
+ if (m_CurrentFenceValue < GetCompletedFenceValue())
+ {
+ auto d3d12Fence = m_pUnityGraphicsD3D12->GetFrameFence();
+ d3d12Fence->SetEventOnCompletion(m_CurrentFenceValue, m_WaitForGPUEventHandle);
+ WaitForSingleObject(m_WaitForGPUEventHandle, INFINITE);
+ VERIFY(GetCompletedFenceValue() >= m_CurrentFenceValue, "Unexpected signaled fence value");
+ }
+ }
+
+ void TransitionResource(const UnityGraphicsD3D12ResourceState &ResourceState)
+ {
+ m_ResourcesToTransition.push_back(ResourceState);
+ }
+
+private:
+ IUnityGraphicsD3D12v2* const m_pUnityGraphicsD3D12;
+ HANDLE m_WaitForGPUEventHandle = {};
+ UINT64 m_CurrentFenceValue = 0;
+ std::vector<UnityGraphicsD3D12ResourceState> m_ResourcesToTransition;
+};
+
+
+class RenderAPI_D3D12 : public RenderAPI
+{
+public:
+ virtual void ProcessDeviceEvent(UnityGfxDeviceEventType type, IUnityInterfaces* interfaces)override final;
+
+ virtual bool GetUsesReverseZ()override final { return true; }
+
+ virtual void BeginRendering()override final;
+
+ virtual void EndRendering()override final;
+
+ virtual bool IsDX()override final { return true; }
+
+ virtual void AttachToNativeRenderTexture(void *nativeRenderTargetHandle, void *nativeDepthTextureHandle)override final;
+
+private:
+ IUnityGraphicsD3D12v2* m_UnityGraphicsD3D12 = nullptr;
+ RefCntAutoPtr<IRenderDeviceD3D12> m_RenderDeviceD3D12;
+ RefCntAutoPtr<UnityCommandQueueImpl> m_CmdQueue;
+
+ RefCntAutoPtr<ITextureD3D12> m_RenderTarget;
+ RefCntAutoPtr<ITextureD3D12> m_DepthBuffer;
+};
+
+
+RenderAPI* CreateRenderAPI_D3D12()
+{
+ return new RenderAPI_D3D12();
+}
+
+const UINT kNodeMask = 0;
+
+void RenderAPI_D3D12::ProcessDeviceEvent(UnityGfxDeviceEventType type, IUnityInterfaces* interfaces)
+{
+ switch (type)
+ {
+ case kUnityGfxDeviceEventInitialize:
+ {
+ m_UnityGraphicsD3D12 = interfaces->Get<IUnityGraphicsD3D12v2>();
+ auto d3d12Device = m_UnityGraphicsD3D12->GetDevice();
+ auto &DefaultAllocator = DefaultRawMemoryAllocator::GetAllocator();
+ m_CmdQueue = NEW_RC_OBJ(DefaultAllocator, "UnityCommandQueueImpl instance", UnityCommandQueueImpl)(m_UnityGraphicsD3D12);
+ auto *pFactoryD3D12 = GetEngineFactoryD3D12();
+ EngineD3D12Attribs Attribs;
+ pFactoryD3D12->AttachToD3D12Device(d3d12Device, m_CmdQueue, Attribs, &m_Device, &m_Context, 0);
+ m_Device->QueryInterface(IID_RenderDeviceD3D12, reinterpret_cast<IObject**>(static_cast<IRenderDeviceD3D12**>(&m_RenderDeviceD3D12)));
+ }
+ break;
+
+ case kUnityGfxDeviceEventShutdown:
+ m_Context.Release();
+ m_Device.Release();
+ m_RenderDeviceD3D12.Release();
+ break;
+ }
+}
+
+void RenderAPI_D3D12::BeginRendering()
+{
+ m_CmdQueue->TransitionResource({ m_RenderTarget->GetD3D12Texture(), D3D12_RESOURCE_STATE_RENDER_TARGET, D3D12_RESOURCE_STATE_RENDER_TARGET });
+ m_CmdQueue->TransitionResource({ m_DepthBuffer->GetD3D12Texture(), D3D12_RESOURCE_STATE_DEPTH_WRITE, D3D12_RESOURCE_STATE_DEPTH_WRITE });
+ m_RenderTarget->SetD3D12ResourceState(D3D12_RESOURCE_STATE_RENDER_TARGET);
+ m_DepthBuffer->SetD3D12ResourceState(D3D12_RESOURCE_STATE_DEPTH_WRITE);
+ ITextureView *RTVs[] = { m_RTV };
+ m_Context->SetRenderTargets(1, RTVs, m_DSV);
+}
+
+void RenderAPI_D3D12::EndRendering()
+{
+ m_Context->Flush();
+ m_Context->InvalidateState();
+ m_RenderDeviceD3D12->FinishFrame();
+}
+
+void RenderAPI_D3D12::AttachToNativeRenderTexture(void *nativeRenderTargetHandle, void *nativeDepthTextureHandle)
+{
+ if (nativeRenderTargetHandle != nullptr && nativeDepthTextureHandle != nullptr)
+ {
+ m_RenderTarget.Release();
+ m_DepthBuffer.Release();
+
+ RefCntAutoPtr<IRenderDeviceD3D12> pDeviceD3D12(m_Device, IID_RenderDeviceD3D12);
+
+ {
+ auto *pd3d12RenderTarget = reinterpret_cast<ID3D12Resource*>(nativeRenderTargetHandle);
+ RefCntAutoPtr<ITexture> pRenderTarget;
+ pDeviceD3D12->CreateTextureFromD3DResource(pd3d12RenderTarget, &pRenderTarget);
+ pRenderTarget->QueryInterface(IID_TextureD3D12, reinterpret_cast<IObject**>(static_cast<ITextureD3D12**>(&m_RenderTarget)));
+ }
+
+ {
+ auto *pd3d12DepthBuffer = reinterpret_cast<ID3D12Resource *>(nativeDepthTextureHandle);
+ RefCntAutoPtr<ITexture> pDepthBuffer;
+ pDeviceD3D12->CreateTextureFromD3DResource(pd3d12DepthBuffer, &pDepthBuffer);
+ pDepthBuffer->QueryInterface(IID_TextureD3D12, reinterpret_cast<IObject**>(static_cast<ITextureD3D12**>(&m_DepthBuffer)));
+ }
+ CreateTextureViews(m_RenderTarget, m_DepthBuffer);
+ }
+}
+
+#endif // #if SUPPORT_D3D12
diff --git a/unityplugin/GhostCubePlugin/PluginSource/src/RenderAPI_OpenGLCoreES.cpp b/unityplugin/GhostCubePlugin/PluginSource/src/RenderAPI_OpenGLCoreES.cpp
new file mode 100644
index 0000000..0b100d1
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/PluginSource/src/RenderAPI_OpenGLCoreES.cpp
@@ -0,0 +1,118 @@
+#include "PlatformBase.h"
+
+// OpenGL Core profile (desktop) or OpenGL ES (mobile) implementation of RenderAPI.
+// Supports several flavors: Core, ES3
+
+#if SUPPORT_OPENGL_UNIFIED
+
+#include "RenderAPI.h"
+#include "RenderDeviceFactoryOpenGL.h"
+#include "DeviceContextGL.h"
+#include "RenderDeviceGL.h"
+
+using namespace Diligent;
+
+
+class RenderAPI_OpenGLCoreES : public RenderAPI
+{
+public:
+ RenderAPI_OpenGLCoreES(UnityGfxRenderer apiType) : m_APIType(apiType) {}
+
+ virtual void ProcessDeviceEvent(UnityGfxDeviceEventType type, IUnityInterfaces* interfaces)override final;
+
+ virtual bool GetUsesReverseZ()override final { return false; }
+
+ virtual void BeginRendering()override final;
+
+ virtual bool IsDX()override final { return false; }
+
+ virtual void AttachToNativeRenderTexture(void *nativeRenderTargetHandle, void *nativeDepthTextureHandle)override final;
+
+ void CreateRenderTargetAndDepthBuffer();
+
+private:
+ UnityGfxRenderer m_APIType;
+ RefCntAutoPtr<IDeviceContextGL> m_DeviceCtxGL;
+ Uint32 m_GLRenderTargetHandle = 0;
+ Uint32 m_GLDepthTextureHandle = 0;
+ bool m_bGLTexturesUpToDate = false;
+};
+
+
+RenderAPI* CreateRenderAPI_OpenGLCoreES(UnityGfxRenderer apiType)
+{
+ return new RenderAPI_OpenGLCoreES(apiType);
+}
+
+void RenderAPI_OpenGLCoreES::ProcessDeviceEvent(UnityGfxDeviceEventType type, IUnityInterfaces* interfaces)
+{
+ if (type == kUnityGfxDeviceEventInitialize)
+ {
+ auto *pFactoryGL = GetEngineFactoryOpenGL();
+ EngineCreationAttribs Attribs;
+ pFactoryGL->AttachToActiveGLContext(Attribs, &m_Device, &m_Context);
+ if (m_Context)
+ {
+ m_Context->QueryInterface(IID_DeviceContextGL, reinterpret_cast<IObject**>(static_cast<IDeviceContextGL**>(&m_DeviceCtxGL)));
+ }
+ }
+ else if (type == kUnityGfxDeviceEventShutdown)
+ {
+ m_Context.Release();
+ m_Device.Release();
+ }
+}
+
+void RenderAPI_OpenGLCoreES::CreateRenderTargetAndDepthBuffer()
+{
+ RefCntAutoPtr<IRenderDeviceGL> pDeviceGL(m_Device, IID_RenderDeviceGL);
+
+ m_RTV.Release();
+ m_DSV.Release();
+
+ RefCntAutoPtr<ITexture> pRenderTarget;
+ TextureDesc RenderTargetDesc;
+ RenderTargetDesc.Type = RESOURCE_DIM_TEX_2D;
+ RenderTargetDesc.BindFlags = BIND_RENDER_TARGET;
+ RenderTargetDesc.Usage = USAGE_DEFAULT;
+ RenderTargetDesc.Name = "Unity render target";
+ pDeviceGL->CreateTextureFromGLHandle(m_GLRenderTargetHandle, RenderTargetDesc, &pRenderTarget);
+
+ RefCntAutoPtr<ITexture> pDepthBuffer;
+ TextureDesc DepthBufferDesc;
+ DepthBufferDesc.Type = RESOURCE_DIM_TEX_2D;
+ DepthBufferDesc.BindFlags = BIND_DEPTH_STENCIL;
+ DepthBufferDesc.Usage = USAGE_DEFAULT;
+ DepthBufferDesc.Name = "Unity depth buffer";
+ pDeviceGL->CreateTextureFromGLHandle(m_GLDepthTextureHandle, DepthBufferDesc, &pDepthBuffer);
+
+ CreateTextureViews(pRenderTarget, pDepthBuffer);
+}
+
+void RenderAPI_OpenGLCoreES::BeginRendering()
+{
+ if(!m_DeviceCtxGL->UpdateCurrentGLContext())
+ return;
+
+ RenderAPI::BeginRendering();
+
+ if (!m_bGLTexturesUpToDate)
+ {
+ CreateRenderTargetAndDepthBuffer();
+ m_bGLTexturesUpToDate = true;
+ }
+
+ ITextureView *RTVs[] = { m_RTV };
+ m_Context->SetRenderTargets(1, RTVs, m_DSV);
+}
+
+void RenderAPI_OpenGLCoreES::AttachToNativeRenderTexture(void *nativeRenderTargetHandle, void *nativeDepthTextureHandle)
+{
+ m_GLRenderTargetHandle = static_cast<Uint32>(reinterpret_cast<size_t>(nativeRenderTargetHandle));
+ m_GLDepthTextureHandle = static_cast<Uint32>(reinterpret_cast<size_t>(nativeDepthTextureHandle));
+ m_bGLTexturesUpToDate = false;
+ // There is no active OpenGL context when this function is called for the first time,
+ // so we cannot create RTV and DSV here
+}
+
+#endif // #if SUPPORT_OPENGL_UNIFIED
diff --git a/unityplugin/GhostCubePlugin/PluginSource/src/RenderingPlugin.cpp b/unityplugin/GhostCubePlugin/PluginSource/src/RenderingPlugin.cpp
new file mode 100644
index 0000000..169404f
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/PluginSource/src/RenderingPlugin.cpp
@@ -0,0 +1,210 @@
+// Example low level rendering Unity plugin
+
+#include "PlatformBase.h"
+#include "Unity/IUnityGraphics.h"
+#include "RenderAPI.h"
+#include "SamplePlugin.h"
+
+#include <vector>
+
+using namespace Diligent;
+
+static IUnityInterfaces* s_UnityInterfaces = nullptr;
+static IUnityGraphics* s_Graphics = nullptr;
+
+static std::unique_ptr<RenderAPI> s_CurrentAPI;
+static UnityGfxRenderer s_DeviceType = kUnityGfxRendererNull;
+static std::unique_ptr<SamplePlugin> g_SamplePlugin;
+
+
+static float4x4 g_Matrix;
+extern "C" void UNITY_INTERFACE_EXPORT UNITY_INTERFACE_API SetMatrixFromUnity
+ (float m00, float m01, float m02, float m03,
+ float m10, float m11, float m12, float m13,
+ float m20, float m21, float m22, float m23,
+ float m30, float m31, float m32, float m33)
+{
+ g_Matrix = float4x4(
+ m00, m01, m02, m03,
+ m10, m11, m12, m13,
+ m20, m21, m22, m23,
+ m30, m31, m32, m33);
+}
+
+static void* g_RenderTargetHandle = nullptr;
+static void* g_DepthBufferHandle = nullptr;
+extern "C" void UNITY_INTERFACE_EXPORT UNITY_INTERFACE_API SetTexturesFromUnity(void* renderTargetHandle, void *depthBufferHandle)
+{
+ if (s_CurrentAPI)
+ {
+ if (g_RenderTargetHandle != renderTargetHandle ||
+ g_DepthBufferHandle != depthBufferHandle)
+ {
+ g_RenderTargetHandle = renderTargetHandle;
+ g_DepthBufferHandle = depthBufferHandle;
+ g_SamplePlugin.reset();
+ s_CurrentAPI->AttachToNativeRenderTexture(g_RenderTargetHandle, g_DepthBufferHandle);
+ }
+ }
+}
+
+
+// --------------------------------------------------------------------------
+// UnitySetInterfaces
+
+static void UNITY_INTERFACE_API OnGraphicsDeviceEvent(UnityGfxDeviceEventType eventType);
+
+
+extern "C" void UNITY_INTERFACE_EXPORT UNITY_INTERFACE_API UnityPluginLoad(IUnityInterfaces* unityInterfaces)
+{
+#if (defined(PLATFORM_WIN32) || defined(PLATFORM_UNIVERSAL_WINDOWS)) && (defined(_DEBUG) || defined(DEBUG))
+ _CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF );
+#endif
+
+ s_UnityInterfaces = unityInterfaces;
+ s_Graphics = s_UnityInterfaces->Get<IUnityGraphics>();
+ s_Graphics->RegisterDeviceEventCallback(OnGraphicsDeviceEvent);
+
+ // Run OnGraphicsDeviceEvent(initialize) manually on plugin load
+ OnGraphicsDeviceEvent(kUnityGfxDeviceEventInitialize);
+}
+
+extern "C" void UNITY_INTERFACE_EXPORT UNITY_INTERFACE_API UnityPluginUnload()
+{
+ s_Graphics->UnregisterDeviceEventCallback(OnGraphicsDeviceEvent);
+}
+
+#if UNITY_WEBGL
+typedef void (UNITY_INTERFACE_API * PluginLoadFunc)(IUnityInterfaces* unityInterfaces);
+typedef void (UNITY_INTERFACE_API * PluginUnloadFunc)();
+
+extern "C" void UnityRegisterRenderingPlugin(PluginLoadFunc loadPlugin, PluginUnloadFunc unloadPlugin);
+
+extern "C" void UNITY_INTERFACE_EXPORT UNITY_INTERFACE_API RegisterPlugin()
+{
+ UnityRegisterRenderingPlugin(UnityPluginLoad, UnityPluginUnload);
+}
+#endif
+
+// --------------------------------------------------------------------------
+// GraphicsDeviceEvent
+
+
+void CreateRenderAPI(UnityGfxRenderer apiType)
+{
+# if SUPPORT_D3D11
+ if (apiType == kUnityGfxRendererD3D11)
+ {
+ extern RenderAPI* CreateRenderAPI_D3D11();
+ s_CurrentAPI.reset( CreateRenderAPI_D3D11() );
+ }
+ # endif // if SUPPORT_D3D11
+
+# if SUPPORT_D3D9
+ if (apiType == kUnityGfxRendererD3D9)
+ {
+ UNSUPPORTED("D3D9 not supported")
+ }
+# endif // if SUPPORT_D3D9
+
+# if SUPPORT_D3D12
+ if (apiType == kUnityGfxRendererD3D12)
+ {
+ extern RenderAPI* CreateRenderAPI_D3D12();
+ s_CurrentAPI.reset( CreateRenderAPI_D3D12() );
+ }
+# endif // if SUPPORT_D3D9
+
+
+# if SUPPORT_OPENGL_UNIFIED
+ if (apiType == kUnityGfxRendererOpenGLCore || apiType == kUnityGfxRendererOpenGLES30)
+ {
+ extern RenderAPI* CreateRenderAPI_OpenGLCoreES(UnityGfxRenderer apiType);
+ s_CurrentAPI.reset( CreateRenderAPI_OpenGLCoreES(apiType) );
+ }
+# endif // if SUPPORT_OPENGL_UNIFIED
+
+# if SUPPORT_OPENGL_LEGACY
+ if (apiType == kUnityGfxRendererOpenGL)
+ {
+ UNSUPPORTED("Legacy Opengl not supported")
+ }
+# endif // if SUPPORT_OPENGL_LEGACY
+
+# if SUPPORT_METAL
+ if (apiType == kUnityGfxRendererMetal)
+ {
+ UNSUPPORTED("Metal not supported")
+ }
+# endif // if SUPPORT_METAL
+}
+
+
+static void UNITY_INTERFACE_API OnGraphicsDeviceEvent(UnityGfxDeviceEventType eventType)
+{
+ // Create graphics API implementation upon initialization
+ if (eventType == kUnityGfxDeviceEventInitialize)
+ {
+ VERIFY_EXPR(!s_CurrentAPI);
+ s_DeviceType = s_Graphics->GetRenderer();
+ CreateRenderAPI(s_DeviceType);
+ if (s_CurrentAPI)
+ {
+ s_CurrentAPI->ProcessDeviceEvent(eventType, s_UnityInterfaces);
+ }
+ }
+ else if (eventType == kUnityGfxDeviceEventShutdown)
+ {
+ // Cleanup graphics API implementation upon shutdown
+ // We must destroy all resources before releasing the API
+ g_SamplePlugin.reset();
+ if (s_CurrentAPI)
+ {
+ s_CurrentAPI->ProcessDeviceEvent(eventType, s_UnityInterfaces);
+ s_CurrentAPI.reset();
+ }
+ s_DeviceType = kUnityGfxRendererNull;
+ }
+ else if (s_CurrentAPI)
+ {
+ // Let the implementation process the device related events
+ s_CurrentAPI->ProcessDeviceEvent(eventType, s_UnityInterfaces);
+ }
+}
+
+
+
+// --------------------------------------------------------------------------
+// OnRenderEvent
+// This will be called for GL.IssuePluginEvent script calls; eventID will
+// be the integer passed to IssuePluginEvent. In this example, we just ignore
+// that value.
+
+static void UNITY_INTERFACE_API OnRenderEvent(int eventID)
+{
+ // Unknown / unsupported graphics device type? Do nothing
+ if (s_CurrentAPI == nullptr || g_RenderTargetHandle == nullptr || g_DepthBufferHandle == nullptr)
+ return;
+
+ s_CurrentAPI->BeginRendering();
+
+ if (!g_SamplePlugin)
+ {
+ auto RTFormat = s_CurrentAPI->GetRenderTargetFormat();
+ auto DepthFormat = s_CurrentAPI->GetDepthBufferFormat();
+ g_SamplePlugin.reset(new SamplePlugin(s_CurrentAPI->GetDevice(), s_CurrentAPI->GetUsesReverseZ(), RTFormat, DepthFormat));
+ }
+ g_SamplePlugin->Render(s_CurrentAPI->GetDeviceContext(), g_Matrix );
+
+ s_CurrentAPI->EndRendering();
+}
+
+
+// --------------------------------------------------------------------------
+// GetRenderEventFunc, an example function we export which is used to get a rendering event callback function.
+
+extern "C" UnityRenderingEvent UNITY_INTERFACE_EXPORT UNITY_INTERFACE_API GetRenderEventFunc()
+{
+ return OnRenderEvent;
+}
+
diff --git a/unityplugin/GhostCubePlugin/PluginSource/src/RenderingPlugin.def b/unityplugin/GhostCubePlugin/PluginSource/src/RenderingPlugin.def
new file mode 100644
index 0000000..99b4ea5
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/PluginSource/src/RenderingPlugin.def
@@ -0,0 +1,11 @@
+; file used by Visual Studio plugin builds, mostly for 32-bit
+; to stop mangling our exported function names
+
+LIBRARY
+
+EXPORTS
+ UnityPluginLoad
+ UnityPluginUnload
+ GetRenderEventFunc
+ SetMatrixFromUnity
+ SetTexturesFromUnity \ No newline at end of file
diff --git a/unityplugin/GhostCubePlugin/PluginSource/src/SamplePlugin.cpp b/unityplugin/GhostCubePlugin/PluginSource/src/SamplePlugin.cpp
new file mode 100644
index 0000000..39a771b
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/PluginSource/src/SamplePlugin.cpp
@@ -0,0 +1,174 @@
+
+#include "SamplePlugin.h"
+#include "GraphicsUtilities.h"
+#include "MapHelper.h"
+
+using namespace Diligent;
+
+static const Char* VSSource = R"(
+cbuffer Constants
+{
+ float4x4 g_WorldViewProj;
+};
+
+struct PSInput
+{
+ float4 Pos : SV_POSITION;
+ float4 Color : COLOR0;
+};
+
+PSInput main(float3 pos : ATTRIB0, float4 color : ATTRIB1)
+{
+ PSInput ps;
+ ps.Pos = mul( float4(pos,1.0), g_WorldViewProj);
+ ps.Color = color;
+ return ps;
+}
+)";
+
+static const Char* PSSource = R"(
+struct PSInput
+{
+ float4 Pos : SV_POSITION;
+ float4 Color : COLOR0;
+};
+
+float4 main(PSInput ps_in) : SV_TARGET
+{
+ return ps_in.Color;
+}
+)";
+
+SamplePlugin::SamplePlugin(Diligent::IRenderDevice *pDevice, bool UseReverseZ, TEXTURE_FORMAT RTVFormat, TEXTURE_FORMAT DSVFormat)
+{
+ auto deviceType = pDevice->GetDeviceCaps().DevType;
+ {
+ PipelineStateDesc PSODesc;
+ PSODesc.IsComputePipeline = false;
+ PSODesc.Name = "Render sample cube PSO";
+ PSODesc.GraphicsPipeline.NumRenderTargets = 1;
+ PSODesc.GraphicsPipeline.RTVFormats[0] = RTVFormat;
+ PSODesc.GraphicsPipeline.DSVFormat = DSVFormat;
+ PSODesc.GraphicsPipeline.PrimitiveTopologyType = PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE;
+ PSODesc.GraphicsPipeline.RasterizerDesc.CullMode = CULL_MODE_BACK;
+ PSODesc.GraphicsPipeline.RasterizerDesc.FrontCounterClockwise = deviceType == DeviceType::D3D11 || deviceType == DeviceType::D3D12 ? true : false;
+ PSODesc.GraphicsPipeline.DepthStencilDesc.DepthFunc = UseReverseZ ? COMPARISON_FUNC_GREATER_EQUAL : COMPARISON_FUNC_LESS_EQUAL;
+
+ PSODesc.GraphicsPipeline.BlendDesc.RenderTargets[0].BlendEnable = True;
+ PSODesc.GraphicsPipeline.BlendDesc.RenderTargets[0].SrcBlend = BLEND_FACTOR_SRC_ALPHA;
+ PSODesc.GraphicsPipeline.BlendDesc.RenderTargets[0].DestBlend = BLEND_FACTOR_INV_SRC_ALPHA;
+ PSODesc.GraphicsPipeline.BlendDesc.RenderTargets[0].SrcBlendAlpha = BLEND_FACTOR_ZERO;
+ PSODesc.GraphicsPipeline.BlendDesc.RenderTargets[0].DestBlendAlpha = BLEND_FACTOR_ONE;
+
+ ShaderCreationAttribs CreationAttribs;
+ CreationAttribs.SourceLanguage = SHADER_SOURCE_LANGUAGE_HLSL;
+ CreationAttribs.Desc.DefaultVariableType = SHADER_VARIABLE_TYPE_STATIC;
+
+ CreateUniformBuffer(pDevice, sizeof(float4x4), "SamplePlugin: VS constants CB", &m_VSConstants);
+
+ RefCntAutoPtr<IShader> pVS;
+ {
+ CreationAttribs.Desc.ShaderType = SHADER_TYPE_VERTEX;
+ CreationAttribs.EntryPoint = "main";
+ CreationAttribs.Desc.Name = "Sample cube VS";
+ CreationAttribs.Source = VSSource;
+ pDevice->CreateShader(CreationAttribs, &pVS);
+ pVS->GetShaderVariable("Constants")->Set(m_VSConstants);
+ }
+
+ RefCntAutoPtr<IShader> pPS;
+ {
+ CreationAttribs.Desc.ShaderType = SHADER_TYPE_PIXEL;
+ CreationAttribs.EntryPoint = "main";
+ CreationAttribs.Desc.Name = "Sample cube PS";
+ CreationAttribs.Source = PSSource;
+ pDevice->CreateShader(CreationAttribs, &pPS);
+ }
+
+ LayoutElement LayoutElems[] =
+ {
+ LayoutElement(0, 0, 3, VT_FLOAT32, False),
+ LayoutElement(1, 0, 4, VT_FLOAT32, False)
+ };
+
+ PSODesc.GraphicsPipeline.pVS = pVS;
+ PSODesc.GraphicsPipeline.pPS = pPS;
+ PSODesc.GraphicsPipeline.InputLayout.LayoutElements = LayoutElems;
+ PSODesc.GraphicsPipeline.InputLayout.NumElements = _countof(LayoutElems);
+ pDevice->CreatePipelineState(PSODesc, &m_PSO);
+ }
+
+ {
+ struct Vertex
+ {
+ float3 pos;
+ float4 color;
+ };
+ Vertex CubeVerts[8] =
+ {
+ {float3(-1,-1,-1), float4(1,0,0,0.5)},
+ {float3(-1,+1,-1), float4(0,1,0,0.5)},
+ {float3(+1,+1,-1), float4(0,0,1,0.5)},
+ {float3(+1,-1,-1), float4(1,1,1,0.5)},
+
+ {float3(-1,-1,+1), float4(1,1,0,0.5)},
+ {float3(-1,+1,+1), float4(0,1,1,0.5)},
+ {float3(+1,+1,+1), float4(1,0,1,0.5)},
+ {float3(+1,-1,+1), float4(0.2f,0.2f,0.2f,0.5)},
+ };
+ BufferDesc VertBuffDesc;
+ VertBuffDesc.Name = "SamplePlugin: cube vertex buffer";
+ VertBuffDesc.Usage = USAGE_DEFAULT;
+ VertBuffDesc.BindFlags = BIND_VERTEX_BUFFER;
+ VertBuffDesc.uiSizeInBytes = sizeof(CubeVerts);
+ BufferData VBData;
+ VBData.pData = CubeVerts;
+ VBData.DataSize = sizeof(CubeVerts);
+ pDevice->CreateBuffer(VertBuffDesc, VBData, &m_CubeVertexBuffer);
+ }
+
+ {
+ Uint32 Indices[] =
+ {
+ 2,0,1, 2,3,0,
+ 4,6,5, 4,7,6,
+ 0,7,4, 0,3,7,
+ 1,0,4, 1,4,5,
+ 1,5,2, 5,6,2,
+ 3,6,7, 3,2,6
+ };
+ BufferDesc IndBuffDesc;
+ IndBuffDesc.Name = "SamplePlugin: cube index buffer";
+ IndBuffDesc.Usage = USAGE_DEFAULT;
+ IndBuffDesc.BindFlags = BIND_INDEX_BUFFER;
+ IndBuffDesc.uiSizeInBytes = sizeof(Indices);
+ BufferData IBData;
+ IBData.pData = Indices;
+ IBData.DataSize = sizeof(Indices);
+ pDevice->CreateBuffer(IndBuffDesc, IBData, &m_CubeIndexBuffer);
+ }
+}
+
+void SamplePlugin::Render(Diligent::IDeviceContext *pContext, const float4x4 &ViewProjMatrix)
+{
+ {
+ MapHelper<float4x4> CBConstants(pContext, m_VSConstants, MAP_WRITE, MAP_FLAG_DISCARD);
+ *CBConstants = transposeMatrix(ViewProjMatrix);
+ }
+
+ Uint32 stride = sizeof(float) * 7;
+ Uint32 offset = 0;
+ IBuffer *pBuffs[] = {m_CubeVertexBuffer};
+ pContext->SetVertexBuffers(0, 1, pBuffs, &stride, &offset, SET_VERTEX_BUFFERS_FLAG_RESET);
+ pContext->SetIndexBuffer(m_CubeIndexBuffer, 0);
+
+ pContext->SetPipelineState(m_PSO);
+ pContext->CommitShaderResources(nullptr, COMMIT_SHADER_RESOURCES_FLAG_TRANSITION_RESOURCES);
+
+ DrawAttribs DrawAttrs;
+ DrawAttrs.IsIndexed = true;
+ DrawAttrs.IndexType = VT_UINT32;
+ DrawAttrs.NumIndices = 36;
+ DrawAttrs.Topology = PRIMITIVE_TOPOLOGY_TRIANGLE_LIST;
+ pContext->Draw(DrawAttrs);
+}
diff --git a/unityplugin/GhostCubePlugin/PluginSource/src/SamplePlugin.h b/unityplugin/GhostCubePlugin/PluginSource/src/SamplePlugin.h
new file mode 100644
index 0000000..56b4a33
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/PluginSource/src/SamplePlugin.h
@@ -0,0 +1,20 @@
+#pragma once
+
+#include "RenderDevice.h"
+#include "DeviceContext.h"
+#include "RefCntAutoPtr.h"
+#include "RenderAPI.h"
+#include "BasicMath.h"
+
+class SamplePlugin
+{
+public:
+ SamplePlugin(Diligent::IRenderDevice *pDevice, bool UseReverseZ, Diligent::TEXTURE_FORMAT RTVFormat, Diligent::TEXTURE_FORMAT DSVFormat);
+ void Render(Diligent::IDeviceContext *pContext, const float4x4 &ViewProjMatrix);
+
+private:
+ Diligent::RefCntAutoPtr<Diligent::IBuffer> m_CubeVertexBuffer;
+ Diligent::RefCntAutoPtr<Diligent::IBuffer> m_CubeIndexBuffer;
+ Diligent::RefCntAutoPtr<Diligent::IBuffer> m_VSConstants;
+ Diligent::RefCntAutoPtr<Diligent::IPipelineState> m_PSO;
+};
diff --git a/unityplugin/GhostCubePlugin/PluginSource/src/Unity/IUnityGraphics.h b/unityplugin/GhostCubePlugin/PluginSource/src/Unity/IUnityGraphics.h
new file mode 100644
index 0000000..f8c8e07
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/PluginSource/src/Unity/IUnityGraphics.h
@@ -0,0 +1,49 @@
+#pragma once
+#include "IUnityInterface.h"
+
+typedef enum UnityGfxRenderer
+{
+ kUnityGfxRendererOpenGL = 0, // Legacy OpenGL
+ kUnityGfxRendererD3D9 = 1, // Direct3D 9
+ kUnityGfxRendererD3D11 = 2, // Direct3D 11
+ kUnityGfxRendererGCM = 3, // PlayStation 3
+ kUnityGfxRendererNull = 4, // "null" device (used in batch mode)
+ kUnityGfxRendererXenon = 6, // Xbox 360
+ kUnityGfxRendererOpenGLES20 = 8, // OpenGL ES 2.0
+ kUnityGfxRendererOpenGLES30 = 11, // OpenGL ES 3.x
+ kUnityGfxRendererGXM = 12, // PlayStation Vita
+ kUnityGfxRendererPS4 = 13, // PlayStation 4
+ kUnityGfxRendererXboxOne = 14, // Xbox One
+ kUnityGfxRendererMetal = 16, // iOS Metal
+ kUnityGfxRendererOpenGLCore = 17, // OpenGL core
+ kUnityGfxRendererD3D12 = 18, // Direct3D 12
+} UnityGfxRenderer;
+
+typedef enum UnityGfxDeviceEventType
+{
+ kUnityGfxDeviceEventInitialize = 0,
+ kUnityGfxDeviceEventShutdown = 1,
+ kUnityGfxDeviceEventBeforeReset = 2,
+ kUnityGfxDeviceEventAfterReset = 3,
+} UnityGfxDeviceEventType;
+
+typedef void (UNITY_INTERFACE_API * IUnityGraphicsDeviceEventCallback)(UnityGfxDeviceEventType eventType);
+
+// Should only be used on the rendering thread unless noted otherwise.
+UNITY_DECLARE_INTERFACE(IUnityGraphics)
+{
+ UnityGfxRenderer (UNITY_INTERFACE_API * GetRenderer)(); // Thread safe
+
+ // This callback will be called when graphics device is created, destroyed, reset, etc.
+ // It is possible to miss the kUnityGfxDeviceEventInitialize event in case plugin is loaded at a later time,
+ // when the graphics device is already created.
+ void (UNITY_INTERFACE_API * RegisterDeviceEventCallback)(IUnityGraphicsDeviceEventCallback callback);
+ void (UNITY_INTERFACE_API * UnregisterDeviceEventCallback)(IUnityGraphicsDeviceEventCallback callback);
+};
+UNITY_REGISTER_INTERFACE_GUID(0x7CBA0A9CA4DDB544ULL,0x8C5AD4926EB17B11ULL,IUnityGraphics)
+
+
+
+// Certain Unity APIs (GL.IssuePluginEvent, CommandBuffer.IssuePluginEvent) can callback into native plugins.
+// Provide them with an address to a function of this signature.
+typedef void (UNITY_INTERFACE_API * UnityRenderingEvent)(int eventId);
diff --git a/unityplugin/GhostCubePlugin/PluginSource/src/Unity/IUnityGraphicsD3D11.h b/unityplugin/GhostCubePlugin/PluginSource/src/Unity/IUnityGraphicsD3D11.h
new file mode 100644
index 0000000..a3f4c8b
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/PluginSource/src/Unity/IUnityGraphicsD3D11.h
@@ -0,0 +1,9 @@
+#pragma once
+#include "IUnityInterface.h"
+
+// Should only be used on the rendering thread unless noted otherwise.
+UNITY_DECLARE_INTERFACE(IUnityGraphicsD3D11)
+{
+ ID3D11Device* (UNITY_INTERFACE_API * GetDevice)();
+};
+UNITY_REGISTER_INTERFACE_GUID(0xAAB37EF87A87D748ULL,0xBF76967F07EFB177ULL,IUnityGraphicsD3D11)
diff --git a/unityplugin/GhostCubePlugin/PluginSource/src/Unity/IUnityGraphicsD3D12.h b/unityplugin/GhostCubePlugin/PluginSource/src/Unity/IUnityGraphicsD3D12.h
new file mode 100644
index 0000000..11893f7
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/PluginSource/src/Unity/IUnityGraphicsD3D12.h
@@ -0,0 +1,48 @@
+#pragma once
+#include "IUnityInterface.h"
+#ifndef __cplusplus
+ #include <stdbool.h>
+#endif
+
+typedef struct UnityGraphicsD3D12ResourceState UnityGraphicsD3D12ResourceState;
+struct UnityGraphicsD3D12ResourceState
+{
+ ID3D12Resource* resource; // Resource to barrier.
+ D3D12_RESOURCE_STATES expected; // Expected resource state before this command list is executed.
+ D3D12_RESOURCE_STATES current; // State this resource will be in after this command list is executed.
+};
+
+// Should only be used on the main thread.
+UNITY_DECLARE_INTERFACE(IUnityGraphicsD3D12v2)
+{
+ ID3D12Device* (UNITY_INTERFACE_API * GetDevice)();
+
+ ID3D12Fence* (UNITY_INTERFACE_API * GetFrameFence)();
+ // Returns the value set on the frame fence once the current frame completes or the GPU is flushed
+ UINT64 (UNITY_INTERFACE_API * GetNextFrameFenceValue)();
+
+ // Executes a given command list on a worker thread.
+ // [Optional] Declares expected and post-execution resource states.
+ // Returns the fence value.
+ UINT64 (UNITY_INTERFACE_API * ExecuteCommandList)(ID3D12GraphicsCommandList* commandList, int stateCount, UnityGraphicsD3D12ResourceState* states);
+};
+UNITY_REGISTER_INTERFACE_GUID(0xEC39D2F18446C745ULL,0xB1A2626641D6B11FULL,IUnityGraphicsD3D12v2)
+
+
+
+// Obsolete
+UNITY_DECLARE_INTERFACE(IUnityGraphicsD3D12)
+{
+ ID3D12Device* (UNITY_INTERFACE_API * GetDevice)();
+ ID3D12CommandQueue* (UNITY_INTERFACE_API * GetCommandQueue)();
+
+ ID3D12Fence* (UNITY_INTERFACE_API * GetFrameFence)();
+ // Returns the value set on the frame fence once the current frame completes or the GPU is flushed
+ UINT64 (UNITY_INTERFACE_API * GetNextFrameFenceValue)();
+
+ // Returns the state a resource will be in after the last command list is executed
+ bool (UNITY_INTERFACE_API * GetResourceState)(ID3D12Resource* resource, D3D12_RESOURCE_STATES* outState);
+ // Specifies the state a resource will be in after a plugin command list with resource barriers is executed
+ void (UNITY_INTERFACE_API * SetResourceState)(ID3D12Resource* resource, D3D12_RESOURCE_STATES state);
+};
+UNITY_REGISTER_INTERFACE_GUID(0xEF4CEC88A45F4C4CULL,0xBD295B6F2A38D9DEULL,IUnityGraphicsD3D12)
diff --git a/unityplugin/GhostCubePlugin/PluginSource/src/Unity/IUnityGraphicsD3D9.h b/unityplugin/GhostCubePlugin/PluginSource/src/Unity/IUnityGraphicsD3D9.h
new file mode 100644
index 0000000..202b8b2
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/PluginSource/src/Unity/IUnityGraphicsD3D9.h
@@ -0,0 +1,10 @@
+#pragma once
+#include "IUnityInterface.h"
+
+// Should only be used on the rendering thread unless noted otherwise.
+UNITY_DECLARE_INTERFACE(IUnityGraphicsD3D9)
+{
+ IDirect3D9* (UNITY_INTERFACE_API * GetD3D)();
+ IDirect3DDevice9* (UNITY_INTERFACE_API * GetDevice)();
+};
+UNITY_REGISTER_INTERFACE_GUID(0xE90746A523D53C4CULL,0xAC825B19B6F82AC3ULL,IUnityGraphicsD3D9)
diff --git a/unityplugin/GhostCubePlugin/PluginSource/src/Unity/IUnityGraphicsMetal.h b/unityplugin/GhostCubePlugin/PluginSource/src/Unity/IUnityGraphicsMetal.h
new file mode 100644
index 0000000..c31518f
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/PluginSource/src/Unity/IUnityGraphicsMetal.h
@@ -0,0 +1,47 @@
+#pragma once
+#include "IUnityInterface.h"
+
+#ifndef __OBJC__
+ #error metal plugin is objc code.
+#endif
+#ifndef __clang__
+ #error only clang compiler is supported.
+#endif
+#if !__has_feature(objc_arc)
+ #error metal demands ARC enabled.
+#endif
+
+@class NSBundle;
+@protocol MTLDevice;
+@protocol MTLCommandBuffer;
+@protocol MTLCommandEncoder;
+@protocol MTLTexture;
+
+struct RenderSurfaceBase;
+typedef struct RenderSurfaceBase* UnityRenderBuffer;
+
+// Should only be used on the rendering thread unless noted otherwise.
+UNITY_DECLARE_INTERFACE(IUnityGraphicsMetal)
+{
+ NSBundle* (UNITY_INTERFACE_API * MetalBundle)();
+ id<MTLDevice> (UNITY_INTERFACE_API * MetalDevice)();
+
+ id<MTLCommandBuffer> (UNITY_INTERFACE_API * CurrentCommandBuffer)();
+
+ // for custom rendering support there are two scenarios:
+ // you want to use current in-flight MTLCommandEncoder (NB: it might be nil)
+ id<MTLCommandEncoder> (UNITY_INTERFACE_API * CurrentCommandEncoder)();
+ // or you might want to create your own encoder.
+ // In that case you should end unity's encoder before creating your own and end yours before returning control to unity
+ void (UNITY_INTERFACE_API * EndCurrentCommandEncoder)();
+
+ // access to RenderBuffer's texure
+ // NB: you pass here *native* RenderBuffer, acquired by calling (C#) RenderBuffer.GetNativeRenderBufferPtr
+ // AAResolvedTextureFromRenderBuffer will return nil in case of non-AA RenderBuffer or if called for depth RenderBuffer
+ // StencilTextureFromRenderBuffer will return nil in case of no-stencil RenderBuffer or if called for color RenderBuffer
+ id<MTLTexture> (UNITY_INTERFACE_API * TextureFromRenderBuffer)(UnityRenderBuffer buffer);
+ id<MTLTexture> (UNITY_INTERFACE_API * AAResolvedTextureFromRenderBuffer)(UnityRenderBuffer buffer);
+ id<MTLTexture> (UNITY_INTERFACE_API * StencilTextureFromRenderBuffer)(UnityRenderBuffer buffer);
+
+};
+UNITY_REGISTER_INTERFACE_GUID(0x992C8EAEA95811E5ULL,0x9A62C4B5B9876117ULL,IUnityGraphicsMetal)
diff --git a/unityplugin/GhostCubePlugin/PluginSource/src/Unity/IUnityInterface.h b/unityplugin/GhostCubePlugin/PluginSource/src/Unity/IUnityInterface.h
new file mode 100644
index 0000000..b080f1a
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/PluginSource/src/Unity/IUnityInterface.h
@@ -0,0 +1,149 @@
+#pragma once
+
+// Unity native plugin API
+// Compatible with C99
+
+#if defined(__CYGWIN32__)
+ #define UNITY_INTERFACE_API __stdcall
+ #define UNITY_INTERFACE_EXPORT __declspec(dllexport)
+#elif defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(_WIN64) || defined(WINAPI_FAMILY)
+ #define UNITY_INTERFACE_API __stdcall
+ #define UNITY_INTERFACE_EXPORT// __declspec(dllexport) - this is not needed since all exported functions are listed in .def file,
+ // while this header can also be used by
+#elif defined(__MACH__) || defined(__ANDROID__) || defined(__linux__) || defined(__QNX__)
+ #define UNITY_INTERFACE_API
+ #define UNITY_INTERFACE_EXPORT __attribute__((visibility("default")))
+#else
+ #define UNITY_INTERFACE_API
+ #define UNITY_INTERFACE_EXPORT
+#endif
+
+
+
+// Unity Interface GUID
+// Ensures cross plugin uniqueness.
+//
+// Template specialization is used to produce a means of looking up a GUID from it's payload type at compile time.
+// The net result should compile down to passing around the GUID.
+//
+// UNITY_REGISTER_INTERFACE_GUID should be placed in the header file of any payload definition outside of all namespaces.
+// The payload structure and the registration GUID are all that is required to expose the interface to other systems.
+struct UnityInterfaceGUID
+{
+#ifdef __cplusplus
+ UnityInterfaceGUID(unsigned long long high, unsigned long long low)
+ : m_GUIDHigh(high)
+ , m_GUIDLow(low)
+ {
+ }
+
+ UnityInterfaceGUID(const UnityInterfaceGUID& other)
+ {
+ m_GUIDHigh = other.m_GUIDHigh;
+ m_GUIDLow = other.m_GUIDLow;
+ }
+
+ UnityInterfaceGUID& operator=(const UnityInterfaceGUID& other)
+ {
+ m_GUIDHigh = other.m_GUIDHigh;
+ m_GUIDLow = other.m_GUIDLow;
+ return *this;
+ }
+
+ bool Equals(const UnityInterfaceGUID& other) const { return m_GUIDHigh == other.m_GUIDHigh && m_GUIDLow == other.m_GUIDLow; }
+ bool LessThan(const UnityInterfaceGUID& other) const { return m_GUIDHigh < other.m_GUIDHigh || (m_GUIDHigh == other.m_GUIDHigh && m_GUIDLow < other.m_GUIDLow); }
+#endif
+ unsigned long long m_GUIDHigh;
+ unsigned long long m_GUIDLow;
+};
+#ifdef __cplusplus
+inline bool operator==(const UnityInterfaceGUID& left, const UnityInterfaceGUID& right) { return left.Equals(right); }
+inline bool operator!=(const UnityInterfaceGUID& left, const UnityInterfaceGUID& right) { return !left.Equals(right); }
+inline bool operator< (const UnityInterfaceGUID& left, const UnityInterfaceGUID& right) { return left.LessThan(right); }
+inline bool operator> (const UnityInterfaceGUID& left, const UnityInterfaceGUID& right) { return right.LessThan(left); }
+inline bool operator>=(const UnityInterfaceGUID& left, const UnityInterfaceGUID& right) { return !operator< (left,right); }
+inline bool operator<=(const UnityInterfaceGUID& left, const UnityInterfaceGUID& right) { return !operator> (left,right); }
+#else
+typedef struct UnityInterfaceGUID UnityInterfaceGUID;
+#endif
+
+
+
+#define UNITY_GET_INTERFACE_GUID(TYPE) TYPE##_GUID
+#define UNITY_GET_INTERFACE(INTERFACES, TYPE) (TYPE*)INTERFACES->GetInterface(UNITY_GET_INTERFACE_GUID(TYPE));
+
+#ifdef __cplusplus
+ #define UNITY_DECLARE_INTERFACE(NAME) \
+ struct NAME : IUnityInterface
+
+ template<typename TYPE> \
+ inline const UnityInterfaceGUID GetUnityInterfaceGUID(); \
+
+ #define UNITY_REGISTER_INTERFACE_GUID(HASHH, HASHL, TYPE) \
+ const UnityInterfaceGUID TYPE##_GUID(HASHH, HASHL); \
+ template<> \
+ inline const UnityInterfaceGUID GetUnityInterfaceGUID<TYPE>() \
+ { \
+ return UNITY_GET_INTERFACE_GUID(TYPE); \
+ }
+#else
+ #define UNITY_DECLARE_INTERFACE(NAME) \
+ typedef struct NAME NAME; \
+ struct NAME
+
+ #define UNITY_REGISTER_INTERFACE_GUID(HASHH, HASHL, TYPE) \
+ const UnityInterfaceGUID TYPE##_GUID = {HASHH, HASHL};
+#endif
+
+
+
+#ifdef __cplusplus
+struct IUnityInterface
+{
+};
+#else
+typedef void IUnityInterface;
+#endif
+
+
+
+typedef struct IUnityInterfaces
+{
+ // Returns an interface matching the guid.
+ // Returns nullptr if the given interface is unavailable in the active Unity runtime.
+ IUnityInterface* (UNITY_INTERFACE_API * GetInterface)(UnityInterfaceGUID guid);
+
+ // Registers a new interface.
+ void (UNITY_INTERFACE_API * RegisterInterface)(UnityInterfaceGUID guid, IUnityInterface* ptr);
+
+#ifdef __cplusplus
+ // Helper for GetInterface.
+ template <typename INTERFACE>
+ INTERFACE* Get()
+ {
+ return static_cast<INTERFACE*>(GetInterface(GetUnityInterfaceGUID<INTERFACE>()));
+ }
+
+ // Helper for RegisterInterface.
+ template <typename INTERFACE>
+ void Register(IUnityInterface* ptr)
+ {
+ RegisterInterface(GetUnityInterfaceGUID<INTERFACE>(), ptr);
+ }
+#endif
+} IUnityInterfaces;
+
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+// If exported by a plugin, this function will be called when the plugin is loaded.
+//void UNITY_INTERFACE_EXPORT UNITY_INTERFACE_API UnityPluginLoad(IUnityInterfaces* unityInterfaces);
+// If exported by a plugin, this function will be called when the plugin is about to be unloaded.
+//void UNITY_INTERFACE_EXPORT UNITY_INTERFACE_API UnityPluginUnload();
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/unityplugin/GhostCubePlugin/Screenshot.png b/unityplugin/GhostCubePlugin/Screenshot.png
new file mode 100644
index 0000000..c632a2d
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/Screenshot.png
Binary files differ
diff --git a/unityplugin/GhostCubePlugin/UnityProject/.gitignore b/unityplugin/GhostCubePlugin/UnityProject/.gitignore
new file mode 100644
index 0000000..cde579c
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/UnityProject/.gitignore
@@ -0,0 +1,3 @@
+Library
+Temp
+build \ No newline at end of file
diff --git a/unityplugin/GhostCubePlugin/UnityProject/Assets/Editor.meta b/unityplugin/GhostCubePlugin/UnityProject/Assets/Editor.meta
new file mode 100644
index 0000000..b4efc4e
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/UnityProject/Assets/Editor.meta
@@ -0,0 +1,5 @@
+fileFormatVersion: 2
+guid: 085eeda524261654b88f97ea61b33090
+folderAsset: yes
+DefaultImporter:
+ userData:
diff --git a/unityplugin/GhostCubePlugin/UnityProject/Assets/Editor/MyBuildPostprocessor.cs b/unityplugin/GhostCubePlugin/UnityProject/Assets/Editor/MyBuildPostprocessor.cs
new file mode 100644
index 0000000..1becb1b
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/UnityProject/Assets/Editor/MyBuildPostprocessor.cs
@@ -0,0 +1,52 @@
+using UnityEngine;
+using UnityEditor;
+using UnityEditor.Callbacks;
+using System.IO;
+
+public class MyBuildPostprocessor
+{
+ // Build postprocessor. Currently only needed on:
+ // - iOS: no dynamic libraries, so plugin source files have to be copied into Xcode project
+ [PostProcessBuild]
+ public static void OnPostprocessBuild(BuildTarget target, string pathToBuiltProject)
+ {
+ if (target == BuildTarget.iOS)
+ OnPostprocessBuildIOS(pathToBuiltProject);
+ }
+
+ private static void OnPostprocessBuildIOS(string pathToBuiltProject)
+ {
+ // We use UnityEditor.iOS.Xcode API which only exists in iOS editor module
+ #if UNITY_IOS
+
+ string projPath = pathToBuiltProject + "/Unity-iPhone.xcodeproj/project.pbxproj";
+
+ UnityEditor.iOS.Xcode.PBXProject proj = new UnityEditor.iOS.Xcode.PBXProject();
+ proj.ReadFromString(File.ReadAllText(projPath));
+ string target = proj.TargetGuidByName("Unity-iPhone");
+
+ Directory.CreateDirectory(Path.Combine(pathToBuiltProject, "Libraries/Unity"));
+
+ string[] filesToCopy = new string[]
+ {
+ "PlatformBase.h",
+ "RenderAPI_Metal.mm",
+ "RenderAPI_OpenGLCoreES.cpp",
+ "RenderAPI.cpp",
+ "RenderAPI.h",
+ "RenderingPlugin.cpp",
+ };
+
+ for(int i = 0 ; i < filesToCopy.Length ; ++i)
+ {
+ var srcPath = Path.Combine("../PluginSource/source", filesToCopy[i]);
+ var dstLocalPath = "Libraries/" + filesToCopy[i];
+ var dstPath = Path.Combine(pathToBuiltProject, dstLocalPath);
+ File.Copy(srcPath, dstPath, true);
+ proj.AddFileToBuild(target, proj.AddFile(dstLocalPath, dstLocalPath));
+ }
+
+ File.WriteAllText(projPath, proj.WriteToString());
+ #endif // #if UNITY_IOS
+ }
+}
diff --git a/unityplugin/GhostCubePlugin/UnityProject/Assets/Editor/MyBuildPostprocessor.cs.meta b/unityplugin/GhostCubePlugin/UnityProject/Assets/Editor/MyBuildPostprocessor.cs.meta
new file mode 100644
index 0000000..697d8f3
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/UnityProject/Assets/Editor/MyBuildPostprocessor.cs.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: eaa42aef09abb2341a3d3a5f0fadd805
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
diff --git a/unityplugin/GhostCubePlugin/UnityProject/Assets/MirrorQuad.shader b/unityplugin/GhostCubePlugin/UnityProject/Assets/MirrorQuad.shader
new file mode 100644
index 0000000..1781ab1
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/UnityProject/Assets/MirrorQuad.shader
@@ -0,0 +1,66 @@
+// Unity built-in shader source. Copyright (c) 2016 Unity Technologies. MIT license (see license.txt)
+
+// Unlit shader. Simplest possible textured shader.
+// - no lighting
+// - no lightmap support
+// - no per-material color
+
+Shader "Unlit/Mirror" {
+Properties {
+ _MainTex ("Base (RGB)", 2D) = "white" {}
+}
+
+SubShader {
+ Tags { "RenderType"="Opaque" }
+ LOD 100
+
+ Pass {
+ CGPROGRAM
+ #pragma vertex vert
+ #pragma fragment frag
+ #pragma target 2.0
+ #pragma multi_compile_fog
+
+ #include "UnityCG.cginc"
+
+ struct appdata_t {
+ float4 vertex : POSITION;
+ float2 texcoord : TEXCOORD0;
+ UNITY_VERTEX_INPUT_INSTANCE_ID
+ };
+
+ struct v2f {
+ float4 vertex : SV_POSITION;
+ float2 texcoord : TEXCOORD0;
+ UNITY_FOG_COORDS(1)
+ UNITY_VERTEX_OUTPUT_STEREO
+ };
+
+ sampler2D _MainTex;
+ float4 _MainTex_ST;
+
+ v2f vert (appdata_t v)
+ {
+ v2f o;
+ UNITY_SETUP_INSTANCE_ID(v);
+ UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
+ o.vertex = UnityObjectToClipPos(v.vertex);
+ o.texcoord = TRANSFORM_TEX(v.texcoord, _MainTex);
+ // Inverse v texture coordinate
+ o.texcoord.y = 1.0 - o.texcoord.y;
+ UNITY_TRANSFER_FOG(o,o.vertex);
+ return o;
+ }
+
+ fixed4 frag (v2f i) : SV_Target
+ {
+ fixed4 col = tex2D(_MainTex, i.texcoord);
+ UNITY_APPLY_FOG(i.fogCoord, col);
+ UNITY_OPAQUE_ALPHA(col.a);
+ return col;
+ }
+ ENDCG
+ }
+}
+
+}
diff --git a/unityplugin/GhostCubePlugin/UnityProject/Assets/MirrorQuad.shader.meta b/unityplugin/GhostCubePlugin/UnityProject/Assets/MirrorQuad.shader.meta
new file mode 100644
index 0000000..98f6211
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/UnityProject/Assets/MirrorQuad.shader.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 0b8c50957d275b14590f1ed79b1b7b4c
+timeCreated: 1508709253
+licenseType: Free
+ShaderImporter:
+ defaultTextures: []
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins.meta b/unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins.meta
new file mode 100644
index 0000000..a919bb3
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 05a89afb32ff4cd48a0278f931aa903b
diff --git a/unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/Android.meta b/unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/Android.meta
new file mode 100644
index 0000000..5d41fc5
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/Android.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 3ff161f266fea6648b504da5a8c19c0f
+folderAsset: yes
+timeCreated: 1509931666
+licenseType: Free
+DefaultImporter:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/Android/ARMv7.meta b/unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/Android/ARMv7.meta
new file mode 100644
index 0000000..bcbb15b
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/Android/ARMv7.meta
@@ -0,0 +1,34 @@
+fileFormatVersion: 2
+guid: 7c726f2a90aad2d49a5f546c06291089
+folderAsset: yes
+timeCreated: 1509931749
+licenseType: Free
+PluginImporter:
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ isPreloaded: 0
+ isOverridable: 0
+ platformData:
+ data:
+ first:
+ Android: Android
+ second:
+ enabled: 1
+ settings: {}
+ data:
+ first:
+ Any:
+ second:
+ enabled: 0
+ settings: {}
+ data:
+ first:
+ Editor: Editor
+ second:
+ enabled: 0
+ settings:
+ DefaultValueInitialized: true
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/Android/ARMv7/libGhostCubePlugin.so b/unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/Android/ARMv7/libGhostCubePlugin.so
new file mode 100644
index 0000000..1206ad0
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/Android/ARMv7/libGhostCubePlugin.so
Binary files differ
diff --git a/unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/Android/ARMv7/libGhostCubePlugin.so.meta b/unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/Android/ARMv7/libGhostCubePlugin.so.meta
new file mode 100644
index 0000000..3942156
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/Android/ARMv7/libGhostCubePlugin.so.meta
@@ -0,0 +1,34 @@
+fileFormatVersion: 2
+guid: 784d35be4bc47b840891e00fe12dfc55
+timeCreated: 1509931727
+licenseType: Free
+PluginImporter:
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ isPreloaded: 0
+ isOverridable: 0
+ platformData:
+ data:
+ first:
+ Android: Android
+ second:
+ enabled: 1
+ settings:
+ CPU: ARMv7
+ data:
+ first:
+ Any:
+ second:
+ enabled: 0
+ settings: {}
+ data:
+ first:
+ Editor: Editor
+ second:
+ enabled: 0
+ settings:
+ DefaultValueInitialized: true
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/Android/x86.meta b/unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/Android/x86.meta
new file mode 100644
index 0000000..2fea52e
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/Android/x86.meta
@@ -0,0 +1,34 @@
+fileFormatVersion: 2
+guid: 9438dc919e6dcff48b7c42b299374985
+folderAsset: yes
+timeCreated: 1509931760
+licenseType: Free
+PluginImporter:
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ isPreloaded: 0
+ isOverridable: 0
+ platformData:
+ data:
+ first:
+ Android: Android
+ second:
+ enabled: 1
+ settings: {}
+ data:
+ first:
+ Any:
+ second:
+ enabled: 0
+ settings: {}
+ data:
+ first:
+ Editor: Editor
+ second:
+ enabled: 0
+ settings:
+ DefaultValueInitialized: true
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/Metro.meta b/unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/Metro.meta
new file mode 100644
index 0000000..3d697aa
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/Metro.meta
@@ -0,0 +1,5 @@
+fileFormatVersion: 2
+guid: 92e6a5294af0b2e4f80eeaa03f1ae581
+folderAsset: yes
+DefaultImporter:
+ userData:
diff --git a/unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/Metro/UWP.meta b/unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/Metro/UWP.meta
new file mode 100644
index 0000000..0df27c4
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/Metro/UWP.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: bc430ae2e2f5b2e4095495a2d12c0047
+folderAsset: yes
+timeCreated: 1464333125
+licenseType: Pro
+DefaultImporter:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/Metro/UWP/ARM.meta b/unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/Metro/UWP/ARM.meta
new file mode 100644
index 0000000..4a86830
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/Metro/UWP/ARM.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: eb838d465407800418f602790c37c724
+folderAsset: yes
+timeCreated: 1464333125
+licenseType: Pro
+DefaultImporter:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/Metro/UWP/x64.meta b/unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/Metro/UWP/x64.meta
new file mode 100644
index 0000000..6ca280e
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/Metro/UWP/x64.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 4afbc9c13bc7cee48995d976a32ead3b
+folderAsset: yes
+timeCreated: 1464333125
+licenseType: Pro
+DefaultImporter:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/Metro/UWP/x64/GhostCubePlugin.dll.meta b/unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/Metro/UWP/x64/GhostCubePlugin.dll.meta
new file mode 100644
index 0000000..69be1a8
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/Metro/UWP/x64/GhostCubePlugin.dll.meta
@@ -0,0 +1,35 @@
+fileFormatVersion: 2
+guid: 8659fc64f0c355d48aebd5de07b12b76
+timeCreated: 1509514780
+licenseType: Free
+PluginImporter:
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ isPreloaded: 0
+ isOverridable: 0
+ platformData:
+ data:
+ first:
+ Any:
+ second:
+ enabled: 0
+ settings: {}
+ data:
+ first:
+ Editor: Editor
+ second:
+ enabled: 0
+ settings:
+ DefaultValueInitialized: true
+ data:
+ first:
+ Windows Store Apps: WindowsStoreApps
+ second:
+ enabled: 1
+ settings:
+ CPU: x64
+ SDK: UWP
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/Metro/UWP/x64/GhostCubePlugin.pdb.meta b/unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/Metro/UWP/x64/GhostCubePlugin.pdb.meta
new file mode 100644
index 0000000..cbcb7ee
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/Metro/UWP/x64/GhostCubePlugin.pdb.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 1784200b366b6aa40b22dbdc1b383b19
+timeCreated: 1509514780
+licenseType: Free
+DefaultImporter:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/Metro/UWP/x86.meta b/unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/Metro/UWP/x86.meta
new file mode 100644
index 0000000..dd92b86
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/Metro/UWP/x86.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: cda04d929bb7e6447bc03a112314c755
+folderAsset: yes
+timeCreated: 1464333125
+licenseType: Pro
+DefaultImporter:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/Metro/UWP/x86/GhostCubePlugin.dll.meta b/unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/Metro/UWP/x86/GhostCubePlugin.dll.meta
new file mode 100644
index 0000000..04cbbc3
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/Metro/UWP/x86/GhostCubePlugin.dll.meta
@@ -0,0 +1,35 @@
+fileFormatVersion: 2
+guid: ecd73e7b5a8206b42829ca207297f13c
+timeCreated: 1509514952
+licenseType: Free
+PluginImporter:
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ isPreloaded: 0
+ isOverridable: 0
+ platformData:
+ data:
+ first:
+ Any:
+ second:
+ enabled: 0
+ settings: {}
+ data:
+ first:
+ Editor: Editor
+ second:
+ enabled: 0
+ settings:
+ DefaultValueInitialized: true
+ data:
+ first:
+ Windows Store Apps: WindowsStoreApps
+ second:
+ enabled: 1
+ settings:
+ CPU: x86
+ SDK: UWP
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/Metro/UWP/x86/GhostCubePlugin.pdb.meta b/unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/Metro/UWP/x86/GhostCubePlugin.pdb.meta
new file mode 100644
index 0000000..7f5cb0d
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/Metro/UWP/x86/GhostCubePlugin.pdb.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 44869dc908a1d1a469d47dee77ea20a0
+timeCreated: 1509514952
+licenseType: Free
+DefaultImporter:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/x86.meta b/unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/x86.meta
new file mode 100644
index 0000000..4bdb5a1
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/x86.meta
@@ -0,0 +1,5 @@
+fileFormatVersion: 2
+guid: facb0b329858041e59a1e97742695de8
+folderAsset: yes
+DefaultImporter:
+ userData:
diff --git a/unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/x86/GhostCubePlugin.dll.meta b/unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/x86/GhostCubePlugin.dll.meta
new file mode 100644
index 0000000..245a9df
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/x86/GhostCubePlugin.dll.meta
@@ -0,0 +1,134 @@
+fileFormatVersion: 2
+guid: d9c80c25c9af01944bbd1bdefb578d65
+timeCreated: 1509514780
+licenseType: Free
+PluginImporter:
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ isPreloaded: 0
+ isOverridable: 0
+ platformData:
+ data:
+ first:
+ '': Any
+ second:
+ enabled: 0
+ settings:
+ Exclude Android: 1
+ Exclude Editor: 0
+ Exclude Linux: 0
+ Exclude Linux64: 0
+ Exclude LinuxUniversal: 0
+ Exclude OSXIntel: 0
+ Exclude OSXIntel64: 0
+ Exclude OSXUniversal: 0
+ Exclude Win: 0
+ Exclude Win64: 0
+ Exclude WindowsStoreApps: 1
+ data:
+ first:
+ Android: Android
+ second:
+ enabled: 0
+ settings:
+ CPU: ARMv7
+ data:
+ first:
+ Any:
+ second:
+ enabled: 0
+ settings: {}
+ data:
+ first:
+ Editor: Editor
+ second:
+ enabled: 1
+ settings:
+ CPU: x86
+ DefaultValueInitialized: true
+ OS: Windows
+ data:
+ first:
+ Facebook: Win
+ second:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ data:
+ first:
+ Facebook: Win64
+ second:
+ enabled: 0
+ settings:
+ CPU: None
+ data:
+ first:
+ Standalone: Linux
+ second:
+ enabled: 1
+ settings:
+ CPU: x86
+ data:
+ first:
+ Standalone: Linux64
+ second:
+ enabled: 1
+ settings:
+ CPU: None
+ data:
+ first:
+ Standalone: LinuxUniversal
+ second:
+ enabled: 1
+ settings:
+ CPU: x86
+ data:
+ first:
+ Standalone: OSXIntel
+ second:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ data:
+ first:
+ Standalone: OSXIntel64
+ second:
+ enabled: 1
+ settings:
+ CPU: None
+ data:
+ first:
+ Standalone: OSXUniversal
+ second:
+ enabled: 1
+ settings:
+ CPU: x86
+ data:
+ first:
+ Standalone: Win
+ second:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ data:
+ first:
+ Standalone: Win64
+ second:
+ enabled: 1
+ settings:
+ CPU: None
+ data:
+ first:
+ Windows Store Apps: WindowsStoreApps
+ second:
+ enabled: 0
+ settings:
+ CPU: X86
+ DontProcess: False
+ PlaceholderPath:
+ SDK: AnySDK
+ ScriptingBackend: AnyScriptingBackend
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/x86/GhostCubePlugin.pdb.meta b/unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/x86/GhostCubePlugin.pdb.meta
new file mode 100644
index 0000000..257a554
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/x86/GhostCubePlugin.pdb.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: eed975b2c900637459e4aacec2e4782e
+timeCreated: 1509514780
+licenseType: Free
+DefaultImporter:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/x86_64.meta b/unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/x86_64.meta
new file mode 100644
index 0000000..15c5594
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/x86_64.meta
@@ -0,0 +1,5 @@
+fileFormatVersion: 2
+guid: f7a9474ad6c3e47f5a83c677268a10a3
+folderAsset: yes
+DefaultImporter:
+ userData:
diff --git a/unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/x86_64/GhostCubePlugin.dll.meta b/unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/x86_64/GhostCubePlugin.dll.meta
new file mode 100644
index 0000000..644632c
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/x86_64/GhostCubePlugin.dll.meta
@@ -0,0 +1,134 @@
+fileFormatVersion: 2
+guid: 710b5a346e9784d45a360cdc01a052c6
+timeCreated: 1509073968
+licenseType: Free
+PluginImporter:
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ isPreloaded: 0
+ isOverridable: 0
+ platformData:
+ data:
+ first:
+ '': Any
+ second:
+ enabled: 0
+ settings:
+ Exclude Android: 1
+ Exclude Editor: 0
+ Exclude Linux: 0
+ Exclude Linux64: 0
+ Exclude LinuxUniversal: 0
+ Exclude OSXIntel: 0
+ Exclude OSXIntel64: 0
+ Exclude OSXUniversal: 0
+ Exclude Win: 0
+ Exclude Win64: 0
+ Exclude WindowsStoreApps: 1
+ data:
+ first:
+ Android: Android
+ second:
+ enabled: 0
+ settings:
+ CPU: ARMv7
+ data:
+ first:
+ Any:
+ second:
+ enabled: 0
+ settings: {}
+ data:
+ first:
+ Editor: Editor
+ second:
+ enabled: 1
+ settings:
+ CPU: x86_64
+ DefaultValueInitialized: true
+ OS: Windows
+ data:
+ first:
+ Facebook: Win
+ second:
+ enabled: 0
+ settings:
+ CPU: None
+ data:
+ first:
+ Facebook: Win64
+ second:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ data:
+ first:
+ Standalone: Linux
+ second:
+ enabled: 1
+ settings:
+ CPU: None
+ data:
+ first:
+ Standalone: Linux64
+ second:
+ enabled: 1
+ settings:
+ CPU: x86_64
+ data:
+ first:
+ Standalone: LinuxUniversal
+ second:
+ enabled: 1
+ settings:
+ CPU: x86_64
+ data:
+ first:
+ Standalone: OSXIntel
+ second:
+ enabled: 1
+ settings:
+ CPU: None
+ data:
+ first:
+ Standalone: OSXIntel64
+ second:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ data:
+ first:
+ Standalone: OSXUniversal
+ second:
+ enabled: 1
+ settings:
+ CPU: x86_64
+ data:
+ first:
+ Standalone: Win
+ second:
+ enabled: 1
+ settings:
+ CPU: None
+ data:
+ first:
+ Standalone: Win64
+ second:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ data:
+ first:
+ Windows Store Apps: WindowsStoreApps
+ second:
+ enabled: 0
+ settings:
+ CPU: X86
+ DontProcess: False
+ PlaceholderPath:
+ SDK: AnySDK
+ ScriptingBackend: AnyScriptingBackend
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/x86_64/GhostCubePlugin.pdb.meta b/unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/x86_64/GhostCubePlugin.pdb.meta
new file mode 100644
index 0000000..57c753c
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/UnityProject/Assets/Plugins/x86_64/GhostCubePlugin.pdb.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 135b47c7e96180c438f425a5afd2ee6d
+timeCreated: 1509073968
+licenseType: Free
+DefaultImporter:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/unityplugin/GhostCubePlugin/UnityProject/Assets/Reflection Texture.renderTexture b/unityplugin/GhostCubePlugin/UnityProject/Assets/Reflection Texture.renderTexture
new file mode 100644
index 0000000..fee88ef
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/UnityProject/Assets/Reflection Texture.renderTexture
@@ -0,0 +1,29 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!84 &8400000
+RenderTexture:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_Name: Reflection Texture
+ m_ImageContentsHash:
+ serializedVersion: 2
+ Hash: 00000000000000000000000000000000
+ m_Width: 1024
+ m_Height: 1024
+ m_AntiAliasing: 1
+ m_DepthFormat: 2
+ m_ColorFormat: 0
+ m_MipMap: 0
+ m_GenerateMips: 1
+ m_SRGB: 1
+ m_TextureSettings:
+ serializedVersion: 2
+ m_FilterMode: 1
+ m_Aniso: 0
+ m_MipBias: 0
+ m_WrapU: 1
+ m_WrapV: 1
+ m_WrapW: 1
+ m_Dimension: 2
+ m_VolumeDepth: 1
diff --git a/unityplugin/GhostCubePlugin/UnityProject/Assets/Reflection Texture.renderTexture.meta b/unityplugin/GhostCubePlugin/UnityProject/Assets/Reflection Texture.renderTexture.meta
new file mode 100644
index 0000000..7072394
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/UnityProject/Assets/Reflection Texture.renderTexture.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 6ae187a8550fc0e49994068306de4c6c
+timeCreated: 1508292721
+licenseType: Free
+NativeFormatImporter:
+ mainObjectFileID: 8400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/unityplugin/GhostCubePlugin/UnityProject/Assets/ReflectionCamera.cs b/unityplugin/GhostCubePlugin/UnityProject/Assets/ReflectionCamera.cs
new file mode 100644
index 0000000..6a6cec8
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/UnityProject/Assets/ReflectionCamera.cs
@@ -0,0 +1,198 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+[ExecuteInEditMode]
+public class ReflectionCamera : MonoBehaviour {
+
+ public GameObject Mirror;
+
+ // Use this for initialization
+ void Start () {
+
+ }
+
+ // Update is called once per frame
+ void Update () {
+
+ }
+
+ static Matrix4x4 PerspectiveOffCenter(float left, float right, float bottom, float top, float near, float far)
+ {
+ float x = 2.0F * near / (right - left);
+ float y = 2.0F * near / (top - bottom);
+ float a = (right + left) / (right - left);
+ float b = (top + bottom) / (top - bottom);
+ float c = -(far + near) / (far - near);
+ float d = -(2.0F * far * near) / (far - near);
+ float e = -1.0F;
+ Matrix4x4 m = new Matrix4x4();
+ m[0, 0] = x;
+ m[0, 1] = 0;
+ m[0, 2] = a;
+ m[0, 3] = 0;
+
+ m[1, 0] = 0;
+ m[1, 1] = y;
+ m[1, 2] = b;
+ m[1, 3] = 0;
+
+ m[2, 0] = 0;
+ m[2, 1] = 0;
+ m[2, 2] = c;
+ m[2, 3] = d;
+
+ m[3, 0] = 0;
+ m[3, 1] = 0;
+ m[3, 2] = e;
+ m[3, 3] = 0;
+ return m;
+ }
+
+ void LateUpdate() {
+ Camera mainCamera = Camera.main;
+ Camera camera = GetComponent<Camera>();
+ Transform mirrorTransform = Mirror.transform;
+ Vector3 reflectionPos = mirrorTransform.position;
+ Vector3 reflectionDir = mirrorTransform.forward;
+ Vector3 mainCameraPos = mainCamera.transform.position;
+ Vector3 reflectedCameraPos = mainCameraPos - 2 * Vector3.Dot(reflectionDir, mainCameraPos - reflectionPos) * reflectionDir;
+ transform.position = reflectedCameraPos;
+
+ // https://en.wikibooks.org/wiki/Cg_Programming/Unity/Projection_for_Virtual_Reality
+ // lower left corner in world coordinates
+ Vector3 pa = Mirror.transform.TransformPoint( new Vector3(-0.5f, -0.5f, 0.0f) );
+ // lower right corner
+ Vector3 pb = Mirror.transform.TransformPoint( new Vector3( 0.5f, -0.5f, 0.0f) );
+ // upper left corner
+ Vector3 pc = Mirror.transform.TransformPoint( new Vector3(-0.5f, 0.5f, 0.0f) );
+
+ // eye position
+ Vector3 pe = reflectedCameraPos;
+
+ // distance of near clipping plane
+ float n = camera.nearClipPlane;
+ // distance of far clipping plane
+ float f = camera.farClipPlane;
+
+ Vector3 va = pa - pe; // from pe to pa
+ Vector3 vb = pb - pe; // from pe to pb
+ Vector3 vc = pc - pe; // from pe to pc
+ Vector3 vr = pb - pa; // right axis of screen
+ Vector3 vu = pc - pa; // up axis of screen
+ Vector3 vn; // normal vector of screen
+
+ float l; // distance to left screen edge
+ float r; // distance to right screen edge
+ float b; // distance to bottom screen edge
+ float t; // distance to top screen edge
+ float d; // distance from eye to screen
+
+ // are we looking at the backface of the plane object?
+ if (Vector3.Dot(-Vector3.Cross(va, vc), vb) < 0.0)
+ {
+ // mirror points along the z axis (most users
+ // probably expect the x axis to stay fixed)
+ vu = -vu;
+ pa = pc;
+ pb = pa + vr;
+ pc = pa + vu;
+ va = pa - pe;
+ vb = pb - pe;
+ vc = pc - pe;
+ }
+
+ vr.Normalize();
+ vu.Normalize();
+ vn = -Vector3.Cross(vr, vu);
+ // we need the minus sign because Unity
+ // uses a left-handed coordinate system
+ vn.Normalize();
+
+ d = -Vector3.Dot(va, vn);
+ //if (setNearClipPlane)
+ //{
+ // n = d + nearClipDistanceOffset;
+ // cameraComponent.nearClipPlane = n;
+ //}
+ l = Vector3.Dot(vr, va) * n / d;
+ r = Vector3.Dot(vr, vb) * n / d;
+ b = Vector3.Dot(vu, va) * n / d;
+ t = Vector3.Dot(vu, vc) * n / d;
+
+ // Flip top and bottom
+ camera.projectionMatrix = PerspectiveOffCenter(l,r, b,t, n, f);
+
+ Matrix4x4 rm = new Matrix4x4(); // rotation matrix;
+ rm[0, 0] = vr.x;
+ rm[0, 1] = vr.y;
+ rm[0, 2] = vr.z;
+ rm[0, 3] = 0.0f;
+
+ rm[1, 0] = vu.x;
+ rm[1, 1] = vu.y;
+ rm[1, 2] = vu.z;
+ rm[1, 3] = 0.0f;
+
+ rm[2, 0] = vn.x;
+ rm[2, 1] = vn.y;
+ rm[2, 2] = vn.z;
+ rm[2, 3] = 0.0f;
+
+ rm[3, 0] = 0.0f;
+ rm[3, 1] = 0.0f;
+ rm[3, 2] = 0.0f;
+ rm[3, 3] = 1.0f;
+
+ Matrix4x4 tm = new Matrix4x4(); // translation matrix;
+ tm[0, 0] = 1.0f;
+ tm[0, 1] = 0.0f;
+ tm[0, 2] = 0.0f;
+ tm[0, 3] = -pe.x;
+
+ tm[1, 0] = 0.0f;
+ tm[1, 1] = 1.0f;
+ tm[1, 2] = 0.0f;
+ tm[1, 3] = -pe.y;
+
+ tm[2, 0] = 0.0f;
+ tm[2, 1] = 0.0f;
+ tm[2, 2] = 1.0f;
+ tm[2, 3] = -pe.z;
+
+ tm[3, 0] = 0.0f;
+ tm[3, 1] = 0.0f;
+ tm[3, 2] = 0.0f;
+ tm[3, 3] = 1.0f;
+
+ // set matrices
+ camera.worldToCameraMatrix = rm * tm;
+ // The original paper puts everything into the projection
+ // matrix (i.e. sets it to p * rm * tm and the other
+ // matrix to the identity), but this doesn't appear to
+ // work with Unity's shadow maps.
+
+ bool estimateViewFrustum = true;
+ if (estimateViewFrustum)
+ {
+ // rotate camera to screen for culling to work
+ Quaternion q = new Quaternion();
+ q.SetLookRotation((0.5f * (pb + pc) - pe), vu);
+ // look at center of screen
+ camera.transform.rotation = q;
+
+ // set fieldOfView to a conservative estimate
+ // to make frustum tall enough
+ if (camera.aspect >= 1.0)
+ {
+ camera.fieldOfView = Mathf.Rad2Deg * Mathf.Atan(((pb - pa).magnitude + (pc - pa).magnitude) / va.magnitude);
+ }
+ else
+ {
+ // take the camera aspect into account to
+ // make the frustum wide enough
+ camera.fieldOfView = Mathf.Rad2Deg / camera.aspect * Mathf.Atan(((pb - pa).magnitude + (pc - pa).magnitude) / va.magnitude);
+ }
+ }
+ }
+}
diff --git a/unityplugin/GhostCubePlugin/UnityProject/Assets/ReflectionCamera.cs.meta b/unityplugin/GhostCubePlugin/UnityProject/Assets/ReflectionCamera.cs.meta
new file mode 100644
index 0000000..274a568
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/UnityProject/Assets/ReflectionCamera.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 489a3335f3363a64c9d1d1f7584a211f
+timeCreated: 1508692872
+licenseType: Free
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/unityplugin/GhostCubePlugin/UnityProject/Assets/ReflectionMaterial.mat b/unityplugin/GhostCubePlugin/UnityProject/Assets/ReflectionMaterial.mat
new file mode 100644
index 0000000..7913169
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/UnityProject/Assets/ReflectionMaterial.mat
@@ -0,0 +1,84 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 6
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_Name: ReflectionMaterial
+ m_Shader: {fileID: 4800000, guid: 0b8c50957d275b14590f1ed79b1b7b4c, type: 3}
+ m_ShaderKeywords:
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap: {}
+ disabledShaderPasses: []
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _AlphaTex:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailAlbedoMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailNormalMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _EmissionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MainTex:
+ m_Texture: {fileID: 8400000, guid: 6ae187a8550fc0e49994068306de4c6c, type: 2}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MetallicGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _OcclusionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _ParallaxMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Floats:
+ - PixelSnap: 0
+ - _BumpScale: 1
+ - _Cutoff: 0.5
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _EnableExternalAlpha: 0
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _UVSec: 0
+ - _ZWrite: 1
+ m_Colors:
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _Flip: {r: 1, g: 1, b: 1, a: 1}
+ - _RendererColor: {r: 1, g: 1, b: 1, a: 1}
diff --git a/unityplugin/GhostCubePlugin/UnityProject/Assets/ReflectionMaterial.mat.meta b/unityplugin/GhostCubePlugin/UnityProject/Assets/ReflectionMaterial.mat.meta
new file mode 100644
index 0000000..75cebb2
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/UnityProject/Assets/ReflectionMaterial.mat.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 93c3a49708d23e5499fdcb52c9d5873e
+timeCreated: 1508293130
+licenseType: Free
+NativeFormatImporter:
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/unityplugin/GhostCubePlugin/UnityProject/Assets/UseRenderingPlugin.cs b/unityplugin/GhostCubePlugin/UnityProject/Assets/UseRenderingPlugin.cs
new file mode 100644
index 0000000..b26142a
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/UnityProject/Assets/UseRenderingPlugin.cs
@@ -0,0 +1,92 @@
+using UnityEngine;
+using System;
+using System.Collections;
+using System.Runtime.InteropServices;
+
+[ExecuteInEditMode]
+public class UseRenderingPlugin : MonoBehaviour
+{
+ // Native plugin rendering events are only called if a plugin is used
+ // by some script. This means we have to DllImport at least
+ // one function in some active script.
+ public RenderTexture ReflectionTexture;
+ public Camera ReflectionCamera;
+
+#if (UNITY_IPHONE || UNITY_WEBGL) && !UNITY_EDITOR
+ [DllImport ("__Internal")]
+#else
+ [DllImport("GhostCubePlugin")]
+#endif
+ private static extern void SetMatrixFromUnity(
+ float m00, float m01, float m02, float m03,
+ float m10, float m11, float m12, float m13,
+ float m20, float m21, float m22, float m23,
+ float m30, float m31, float m32, float m33);
+
+#if (UNITY_IPHONE || UNITY_WEBGL) && !UNITY_EDITOR
+ [DllImport ("__Internal")]
+#else
+ [DllImport("GhostCubePlugin")]
+#endif
+ private static extern void SetTexturesFromUnity(System.IntPtr renderTexture, System.IntPtr depthTexture);
+
+#if (UNITY_IPHONE || UNITY_WEBGL) && !UNITY_EDITOR
+ [DllImport ("__Internal")]
+#else
+ [DllImport("GhostCubePlugin")]
+#endif
+ private static extern IntPtr GetRenderEventFunc();
+
+#if UNITY_WEBGL && !UNITY_EDITOR
+ [DllImport ("__Internal")]
+ private static extern void RegisterPlugin();
+#endif
+
+ void Start()
+ {
+#if UNITY_WEBGL && !UNITY_EDITOR
+ RegisterPlugin();
+#endif
+ // Unity may create new native textures for the render texture object
+ // The new textures may get the same handles, so we need to
+ // force the plugin to recreate render and depth buffers
+ SetTexturesFromUnity(System.IntPtr.Zero, System.IntPtr.Zero);
+ if (SystemInfo.graphicsDeviceType == UnityEngine.Rendering.GraphicsDeviceType.Direct3D12)
+ Debug.Log("Disregard Unity warnings about d3d12 resource leakage. Diligent Engine keeps references to the render target and depth buffer, but releases them after Unity when plugin event is issued. This makes Unity assertions fail, but there are no leaks");
+ }
+
+ void OnRenderObject()
+ {
+ if (Camera.current.name == "ReflectionCamera")
+ {
+ Camera camera = ReflectionCamera;
+ Matrix4x4 localToWorld = transform.localToWorldMatrix;
+ Matrix4x4 view = camera.worldToCameraMatrix;
+ Matrix4x4 proj = camera.projectionMatrix;
+ proj = GL.GetGPUProjectionMatrix(proj, false);
+ Matrix4x4 wvp = localToWorld.transpose * view.transpose * proj.transpose;
+ float InverseY =
+ (SystemInfo.graphicsDeviceType == UnityEngine.Rendering.GraphicsDeviceType.Direct3D11 ||
+ SystemInfo.graphicsDeviceType == UnityEngine.Rendering.GraphicsDeviceType.Direct3D12) ? -1 : +1;
+
+ SetMatrixFromUnity(wvp.m00, InverseY * wvp.m01, wvp.m02, wvp.m03,
+ wvp.m10, InverseY * wvp.m11, wvp.m12, wvp.m13,
+ wvp.m20, InverseY * wvp.m21, wvp.m22, wvp.m23,
+ wvp.m30, InverseY * wvp.m31, wvp.m32, wvp.m33);
+
+ IntPtr nativeRTHandle = ReflectionTexture.GetNativeTexturePtr();
+ IntPtr nativeDepthHandle = ReflectionTexture.GetNativeDepthBufferPtr();
+ SetTexturesFromUnity(nativeRTHandle, nativeDepthHandle);
+ // Issue a plugin event with arbitrary integer identifier.
+ // The plugin can distinguish between different
+ // things it needs to do based on this ID.
+ // For our simple plugin, it does not matter which ID we pass here.
+ GL.IssuePluginEvent(GetRenderEventFunc(), 1);
+ }
+ }
+
+ public void Update()
+ {
+ transform.localRotation = Quaternion.AngleAxis(Time.timeSinceLevelLoad*100, new Vector3(0, 1, 0));
+ }
+}
diff --git a/unityplugin/GhostCubePlugin/UnityProject/Assets/UseRenderingPlugin.cs.meta b/unityplugin/GhostCubePlugin/UnityProject/Assets/UseRenderingPlugin.cs.meta
new file mode 100644
index 0000000..966e3ab
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/UnityProject/Assets/UseRenderingPlugin.cs.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: f1ad34d2576df73428a8586fc566c6cb
+MonoImporter:
+ importerVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
diff --git a/unityplugin/GhostCubePlugin/UnityProject/Assets/WSATestCertificate.pfx b/unityplugin/GhostCubePlugin/UnityProject/Assets/WSATestCertificate.pfx
new file mode 100644
index 0000000..29dcf4d
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/UnityProject/Assets/WSATestCertificate.pfx
Binary files differ
diff --git a/unityplugin/GhostCubePlugin/UnityProject/Assets/WSATestCertificate.pfx.meta b/unityplugin/GhostCubePlugin/UnityProject/Assets/WSATestCertificate.pfx.meta
new file mode 100644
index 0000000..27682e7
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/UnityProject/Assets/WSATestCertificate.pfx.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 54a16b12a01291b4f9257480866303d3
+timeCreated: 1509515505
+licenseType: Free
+DefaultImporter:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/unityplugin/GhostCubePlugin/UnityProject/Assets/scene.unity b/unityplugin/GhostCubePlugin/UnityProject/Assets/scene.unity
new file mode 100644
index 0000000..3d5ffa3
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/UnityProject/Assets/scene.unity
@@ -0,0 +1,1094 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_OcclusionBakeSettings:
+ smallestOccluder: 5
+ smallestHole: 0.25
+ backfaceThreshold: 100
+ m_SceneGUID: 00000000000000000000000000000000
+ m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 8
+ m_Fog: 0
+ m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+ m_FogMode: 3
+ m_FogDensity: 0.01
+ m_LinearFogStart: 0
+ m_LinearFogEnd: 300
+ m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
+ m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
+ m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
+ m_AmbientIntensity: 1
+ m_AmbientMode: 0
+ m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
+ m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
+ m_HaloStrength: 0.5
+ m_FlareStrength: 1
+ m_FlareFadeSpeed: 3
+ m_HaloTexture: {fileID: 0}
+ m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
+ m_DefaultReflectionMode: 0
+ m_DefaultReflectionResolution: 128
+ m_ReflectionBounces: 1
+ m_ReflectionIntensity: 1
+ m_CustomReflection: {fileID: 0}
+ m_Sun: {fileID: 0}
+ m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1}
+--- !u!157 &3
+LightmapSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 11
+ m_GIWorkflowMode: 0
+ m_GISettings:
+ serializedVersion: 2
+ m_BounceScale: 1
+ m_IndirectOutputScale: 1
+ m_AlbedoBoost: 1
+ m_TemporalCoherenceThreshold: 1
+ m_EnvironmentLightingMode: 0
+ m_EnableBakedLightmaps: 1
+ m_EnableRealtimeLightmaps: 1
+ m_LightmapEditorSettings:
+ serializedVersion: 9
+ m_Resolution: 2
+ m_BakeResolution: 40
+ m_TextureWidth: 1024
+ m_TextureHeight: 1024
+ m_AO: 0
+ m_AOMaxDistance: 1
+ m_CompAOExponent: 1
+ m_CompAOExponentDirect: 0
+ m_Padding: 2
+ m_LightmapParameters: {fileID: 0}
+ m_LightmapsBakeMode: 1
+ m_TextureCompression: 1
+ m_FinalGather: 0
+ m_FinalGatherFiltering: 1
+ m_FinalGatherRayCount: 256
+ m_ReflectionCompression: 2
+ m_MixedBakeMode: 2
+ m_BakeBackend: 0
+ m_PVRSampling: 1
+ m_PVRDirectSampleCount: 32
+ m_PVRSampleCount: 500
+ m_PVRBounces: 2
+ m_PVRFiltering: 0
+ m_PVRFilteringMode: 1
+ m_PVRCulling: 1
+ m_PVRFilteringGaussRadiusDirect: 1
+ m_PVRFilteringGaussRadiusIndirect: 5
+ m_PVRFilteringGaussRadiusAO: 2
+ m_PVRFilteringAtrousColorSigma: 1
+ m_PVRFilteringAtrousNormalSigma: 1
+ m_PVRFilteringAtrousPositionSigma: 1
+ m_LightingDataAsset: {fileID: 0}
+ m_UseShadowmask: 1
+--- !u!196 &4
+NavMeshSettings:
+ serializedVersion: 2
+ m_ObjectHideFlags: 0
+ m_BuildSettings:
+ serializedVersion: 2
+ agentTypeID: 0
+ agentRadius: 0.5
+ agentHeight: 2
+ agentSlope: 45
+ agentClimb: 0.4
+ ledgeDropHeight: 0
+ maxJumpAcrossDistance: 0
+ minRegionArea: 2
+ manualCellSize: 0
+ cellSize: 0.16666667
+ manualTileSize: 0
+ tileSize: 256
+ accuratePlacement: 0
+ m_NavMeshData: {fileID: 0}
+--- !u!1 &295627670
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 295627675}
+ - component: {fileID: 295627674}
+ - component: {fileID: 295627673}
+ - component: {fileID: 295627672}
+ - component: {fileID: 295627671}
+ m_Layer: 0
+ m_Name: Main Camera
+ m_TagString: MainCamera
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!81 &295627671
+AudioListener:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 295627670}
+ m_Enabled: 1
+--- !u!124 &295627672
+Behaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 295627670}
+ m_Enabled: 1
+--- !u!92 &295627673
+Behaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 295627670}
+ m_Enabled: 1
+--- !u!20 &295627674
+Camera:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 295627670}
+ m_Enabled: 1
+ serializedVersion: 2
+ m_ClearFlags: 1
+ m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
+ m_NormalizedViewPortRect:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 1
+ height: 1
+ near clip plane: 0.3
+ far clip plane: 1000
+ field of view: 60
+ orthographic: 0
+ orthographic size: 5
+ m_Depth: -1
+ m_CullingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+ m_RenderingPath: 1
+ m_TargetTexture: {fileID: 0}
+ m_TargetDisplay: 0
+ m_TargetEye: 3
+ m_HDR: 0
+ m_AllowMSAA: 0
+ m_ForceIntoRT: 0
+ m_OcclusionCulling: 0
+ m_StereoConvergence: 10
+ m_StereoSeparation: 0.022
+ m_StereoMirrorMode: 0
+--- !u!4 &295627675
+Transform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 295627670}
+ m_LocalRotation: {x: 0.13917309, y: 0, z: 0, w: 0.9902681}
+ m_LocalPosition: {x: 0, y: 0.91, z: -11.73}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 16, y: 0, z: 0}
+--- !u!1 &328462694
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 328462695}
+ - component: {fileID: 328462698}
+ - component: {fileID: 328462696}
+ m_Layer: 8
+ m_Name: RightEdge
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &328462695
+Transform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 328462694}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 2.5, y: 0, z: 0}
+ m_LocalScale: {x: 0.1, y: 0.1, z: 5}
+ m_Children: []
+ m_Father: {fileID: 1263040372}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!23 &328462696
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 328462694}
+ m_Enabled: 1
+ m_CastShadows: 0
+ m_ReceiveShadows: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 0
+ m_ReflectionProbeUsage: 1
+ m_Materials:
+ - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_PreserveUVs: 1
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+--- !u!33 &328462698
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 328462694}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!1 &421093919
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 421093921}
+ - component: {fileID: 421093920}
+ m_Layer: 0
+ m_Name: Directional Light
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!108 &421093920
+Light:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 421093919}
+ m_Enabled: 1
+ serializedVersion: 8
+ m_Type: 1
+ m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
+ m_Intensity: 1
+ m_Range: 10
+ m_SpotAngle: 30
+ m_CookieSize: 10
+ m_Shadows:
+ m_Type: 2
+ m_Resolution: -1
+ m_CustomResolution: -1
+ m_Strength: 1
+ m_Bias: 0.05
+ m_NormalBias: 0.4
+ m_NearPlane: 0.2
+ m_Cookie: {fileID: 0}
+ m_DrawHalo: 0
+ m_Flare: {fileID: 0}
+ m_RenderMode: 0
+ m_CullingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+ m_Lightmapping: 4
+ m_AreaSize: {x: 1, y: 1}
+ m_BounceIntensity: 1
+ m_ColorTemperature: 6570
+ m_UseColorTemperature: 0
+ m_ShadowRadius: 0
+ m_ShadowAngle: 0
+--- !u!4 &421093921
+Transform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 421093919}
+ m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
+ m_LocalPosition: {x: 0, y: 3, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
+--- !u!1 &468082456
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 468082460}
+ - component: {fileID: 468082459}
+ - component: {fileID: 468082457}
+ m_Layer: 8
+ m_Name: Quad
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!23 &468082457
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 468082456}
+ m_Enabled: 1
+ m_CastShadows: 0
+ m_ReceiveShadows: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_Materials:
+ - {fileID: 2100000, guid: 93c3a49708d23e5499fdcb52c9d5873e, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_PreserveUVs: 1
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+--- !u!33 &468082459
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 468082456}
+ m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!4 &468082460
+Transform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 468082456}
+ m_LocalRotation: {x: 0.7071068, y: -0, z: -0, w: 0.7071068}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 5, y: 5, z: 1}
+ m_Children: []
+ m_Father: {fileID: 1263040372}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0}
+--- !u!1 &689763905
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 689763907}
+ - component: {fileID: 689763906}
+ m_Layer: 0
+ m_Name: NativePlugin
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &689763906
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 689763905}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f1ad34d2576df73428a8586fc566c6cb, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ ReflectionTexture: {fileID: 8400000, guid: 6ae187a8550fc0e49994068306de4c6c, type: 2}
+ ReflectionCamera: {fileID: 1977747156}
+--- !u!4 &689763907
+Transform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 689763905}
+ m_LocalRotation: {x: -0, y: -0.96319735, z: -0, w: -0.26879513}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 1228965238}
+ - {fileID: 795786255}
+ - {fileID: 1413466839}
+ - {fileID: 870271017}
+ m_Father: {fileID: 0}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &795786254
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 795786255}
+ - component: {fileID: 795786258}
+ - component: {fileID: 795786257}
+ - component: {fileID: 795786256}
+ m_Layer: 0
+ m_Name: Cylinder
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &795786255
+Transform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 795786254}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: -1.5, z: -0}
+ m_LocalScale: {x: 1, y: 0.5, z: 1}
+ m_Children: []
+ m_Father: {fileID: 689763907}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!23 &795786256
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 795786254}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_Materials:
+ - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_PreserveUVs: 1
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+--- !u!65 &795786257
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 795786254}
+ m_Material: {fileID: 0}
+ m_IsTrigger: 0
+ m_Enabled: 1
+ serializedVersion: 2
+ m_Size: {x: 1, y: 1, z: 1}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!33 &795786258
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 795786254}
+ m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!1 &870271016
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 870271017}
+ - component: {fileID: 870271020}
+ - component: {fileID: 870271019}
+ - component: {fileID: 870271018}
+ m_Layer: 0
+ m_Name: Spher
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &870271017
+Transform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 870271016}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: -1.5}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 689763907}
+ m_RootOrder: 3
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!23 &870271018
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 870271016}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_Materials:
+ - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_PreserveUVs: 1
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+--- !u!65 &870271019
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 870271016}
+ m_Material: {fileID: 0}
+ m_IsTrigger: 0
+ m_Enabled: 1
+ serializedVersion: 2
+ m_Size: {x: 1, y: 1, z: 1}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!33 &870271020
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 870271016}
+ m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!1 &1228965237
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 1228965238}
+ - component: {fileID: 1228965241}
+ - component: {fileID: 1228965240}
+ - component: {fileID: 1228965239}
+ m_Layer: 0
+ m_Name: Cube
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &1228965238
+Transform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1228965237}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 1.5}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 689763907}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!23 &1228965239
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1228965237}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_Materials:
+ - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_PreserveUVs: 1
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+--- !u!65 &1228965240
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1228965237}
+ m_Material: {fileID: 0}
+ m_IsTrigger: 0
+ m_Enabled: 1
+ serializedVersion: 2
+ m_Size: {x: 1, y: 1, z: 1}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!33 &1228965241
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1228965237}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!1 &1263029174
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 1263029175}
+ - component: {fileID: 1263029178}
+ - component: {fileID: 1263029176}
+ m_Layer: 8
+ m_Name: LeftEdge
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &1263029175
+Transform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1263029174}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: -2.5, y: 0, z: 0}
+ m_LocalScale: {x: 0.1, y: 0.1, z: 5}
+ m_Children: []
+ m_Father: {fileID: 1263040372}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!23 &1263029176
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1263029174}
+ m_Enabled: 1
+ m_CastShadows: 0
+ m_ReceiveShadows: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 0
+ m_ReflectionProbeUsage: 1
+ m_Materials:
+ - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_PreserveUVs: 1
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+--- !u!33 &1263029178
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1263029174}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!1 &1263040371
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 1263040372}
+ m_Layer: 0
+ m_Name: Mirror
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &1263040372
+Transform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1263040371}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: -3, z: -5}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 468082460}
+ - {fileID: 1263029175}
+ - {fileID: 328462695}
+ - {fileID: 1573295634}
+ - {fileID: 2022771663}
+ m_Father: {fileID: 0}
+ m_RootOrder: 4
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1413466838
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 1413466839}
+ - component: {fileID: 1413466842}
+ - component: {fileID: 1413466841}
+ - component: {fileID: 1413466840}
+ m_Layer: 0
+ m_Name: Cube
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &1413466839
+Transform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1413466838}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 1.5, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 689763907}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!23 &1413466840
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1413466838}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_Materials:
+ - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_PreserveUVs: 1
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+--- !u!65 &1413466841
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1413466838}
+ m_Material: {fileID: 0}
+ m_IsTrigger: 0
+ m_Enabled: 1
+ serializedVersion: 2
+ m_Size: {x: 1, y: 1, z: 1}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!33 &1413466842
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1413466838}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!1 &1573295633
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 1573295634}
+ - component: {fileID: 1573295637}
+ - component: {fileID: 1573295635}
+ m_Layer: 8
+ m_Name: TopEdge
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &1573295634
+Transform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1573295633}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 2.5}
+ m_LocalScale: {x: 5.1, y: 0.1, z: 0.1}
+ m_Children: []
+ m_Father: {fileID: 1263040372}
+ m_RootOrder: 3
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!23 &1573295635
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1573295633}
+ m_Enabled: 1
+ m_CastShadows: 0
+ m_ReceiveShadows: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 0
+ m_ReflectionProbeUsage: 1
+ m_Materials:
+ - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_PreserveUVs: 1
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+--- !u!33 &1573295637
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1573295633}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!1 &1977747152
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 1977747157}
+ - component: {fileID: 1977747156}
+ - component: {fileID: 1977747153}
+ m_Layer: 0
+ m_Name: ReflectionCamera
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1977747153
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1977747152}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 489a3335f3363a64c9d1d1f7584a211f, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ Mirror: {fileID: 468082456}
+--- !u!20 &1977747156
+Camera:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1977747152}
+ m_Enabled: 1
+ serializedVersion: 2
+ m_ClearFlags: 1
+ m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
+ m_NormalizedViewPortRect:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 1
+ height: 1
+ near clip plane: 0.3
+ far clip plane: 1000
+ field of view: 44.06708
+ orthographic: 0
+ orthographic size: 5
+ m_Depth: 0
+ m_CullingMask:
+ serializedVersion: 2
+ m_Bits: 4294967039
+ m_RenderingPath: -1
+ m_TargetTexture: {fileID: 8400000, guid: 6ae187a8550fc0e49994068306de4c6c, type: 2}
+ m_TargetDisplay: 0
+ m_TargetEye: 3
+ m_HDR: 0
+ m_AllowMSAA: 0
+ m_ForceIntoRT: 0
+ m_OcclusionCulling: 0
+ m_StereoConvergence: 10
+ m_StereoSeparation: 0.022
+ m_StereoMirrorMode: 0
+--- !u!4 &1977747157
+Transform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1977747152}
+ m_LocalRotation: {x: -0.26013178, y: 0, z: 0, w: 0.96557313}
+ m_LocalPosition: {x: 0, y: -6.910001, z: -11.7300005}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 3
+ m_LocalEulerAnglesHint: {x: -25, y: 0, z: 0}
+--- !u!1 &2022771662
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 2022771663}
+ - component: {fileID: 2022771666}
+ - component: {fileID: 2022771664}
+ m_Layer: 8
+ m_Name: BottomEdge
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &2022771663
+Transform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 2022771662}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: -2.5}
+ m_LocalScale: {x: 5.1, y: 0.1, z: 0.1}
+ m_Children: []
+ m_Father: {fileID: 1263040372}
+ m_RootOrder: 4
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!23 &2022771664
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 2022771662}
+ m_Enabled: 1
+ m_CastShadows: 0
+ m_ReceiveShadows: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 0
+ m_ReflectionProbeUsage: 1
+ m_Materials:
+ - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_PreserveUVs: 1
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+--- !u!33 &2022771666
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 2022771662}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
diff --git a/unityplugin/GhostCubePlugin/UnityProject/Assets/scene.unity.meta b/unityplugin/GhostCubePlugin/UnityProject/Assets/scene.unity.meta
new file mode 100644
index 0000000..1830f73
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/UnityProject/Assets/scene.unity.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: c159f2591a9b5c843b0a0442451f78f8
diff --git a/unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/AudioManager.asset b/unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/AudioManager.asset
new file mode 100644
index 0000000..933246a
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/AudioManager.asset
@@ -0,0 +1,11 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!11 &1
+AudioManager:
+ m_ObjectHideFlags: 0
+ m_Volume: 1
+ Rolloff Scale: 1
+ m_SpeedOfSound: 347
+ Doppler Factor: 1
+ Default Speaker Mode: 2
+ m_DSPBufferSize: 0
diff --git a/unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/ClusterInputManager.asset b/unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/ClusterInputManager.asset
new file mode 100644
index 0000000..e7886b2
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/ClusterInputManager.asset
@@ -0,0 +1,6 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!236 &1
+ClusterInputManager:
+ m_ObjectHideFlags: 0
+ m_Inputs: []
diff --git a/unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/DynamicsManager.asset b/unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/DynamicsManager.asset
new file mode 100644
index 0000000..717b5c2
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/DynamicsManager.asset
@@ -0,0 +1,15 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!55 &1
+PhysicsManager:
+ m_ObjectHideFlags: 0
+ m_Gravity: {x: 0, y: -9.81000042, z: 0}
+ m_DefaultMaterial: {fileID: 0}
+ m_BounceThreshold: 2
+ m_SleepVelocity: .150000006
+ m_SleepAngularVelocity: .140000001
+ m_MaxAngularVelocity: 7
+ m_MinPenetrationForPenalty: .00999999978
+ m_SolverIterationCount: 6
+ m_RaycastsHitTriggers: 1
+ m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
diff --git a/unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/EditorBuildSettings.asset b/unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/EditorBuildSettings.asset
new file mode 100644
index 0000000..6dc24f7
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/EditorBuildSettings.asset
@@ -0,0 +1,7 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1045 &1
+EditorBuildSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Scenes: []
diff --git a/unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/EditorSettings.asset b/unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/EditorSettings.asset
new file mode 100644
index 0000000..529a05c
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/EditorSettings.asset
@@ -0,0 +1,15 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!159 &1
+EditorSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 3
+ m_ExternalVersionControlSupport: Visible Meta Files
+ m_SerializationMode: 2
+ m_WebSecurityEmulationEnabled: 0
+ m_WebSecurityEmulationHostUrl: http://www.mydomain.com/mygame.unity3d
+ m_DefaultBehaviorMode: 0
+ m_SpritePackerMode: 2
+ m_SpritePackerPaddingPower: 1
+ m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd
+ m_ProjectGenerationRootNamespace:
diff --git a/unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/GraphicsSettings.asset b/unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/GraphicsSettings.asset
new file mode 100644
index 0000000..a847871
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/GraphicsSettings.asset
@@ -0,0 +1,63 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!30 &1
+GraphicsSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 12
+ m_Deferred:
+ m_Mode: 1
+ m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0}
+ m_DeferredReflections:
+ m_Mode: 1
+ m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0}
+ m_ScreenSpaceShadows:
+ m_Mode: 1
+ m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0}
+ m_LegacyDeferred:
+ m_Mode: 1
+ m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0}
+ m_DepthNormals:
+ m_Mode: 1
+ m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0}
+ m_MotionVectors:
+ m_Mode: 1
+ m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0}
+ m_LightHalo:
+ m_Mode: 1
+ m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0}
+ m_LensFlare:
+ m_Mode: 1
+ m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0}
+ m_AlwaysIncludedShaders:
+ - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0}
+ - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0}
+ - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0}
+ - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0}
+ - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0}
+ - {fileID: 10782, guid: 0000000000000000f000000000000000, type: 0}
+ - {fileID: 16000, guid: 0000000000000000f000000000000000, type: 0}
+ - {fileID: 16002, guid: 0000000000000000f000000000000000, type: 0}
+ m_PreloadedShaders: []
+ m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000,
+ type: 0}
+ m_CustomRenderPipeline: {fileID: 0}
+ m_TransparencySortMode: 0
+ m_TransparencySortAxis: {x: 0, y: 0, z: 1}
+ m_DefaultRenderingPath: 1
+ m_DefaultMobileRenderingPath: 1
+ m_TierSettings: []
+ m_LightmapStripping: 0
+ m_FogStripping: 0
+ m_InstancingStripping: 0
+ m_LightmapKeepPlain: 1
+ m_LightmapKeepDirCombined: 1
+ m_LightmapKeepDynamicPlain: 1
+ m_LightmapKeepDynamicDirCombined: 1
+ m_LightmapKeepShadowMask: 1
+ m_LightmapKeepSubtractive: 1
+ m_FogKeepLinear: 1
+ m_FogKeepExp: 1
+ m_FogKeepExp2: 1
+ m_AlbedoSwatchInfos: []
+ m_LightsUseLinearIntensity: 0
+ m_LightsUseColorTemperature: 0
diff --git a/unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/InputManager.asset b/unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/InputManager.asset
new file mode 100644
index 0000000..7be9c8b
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/InputManager.asset
@@ -0,0 +1,278 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!13 &1
+InputManager:
+ m_ObjectHideFlags: 0
+ m_Axes:
+ - serializedVersion: 3
+ m_Name: Horizontal
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton: left
+ positiveButton: right
+ altNegativeButton: a
+ altPositiveButton: d
+ gravity: 3
+ dead: .00100000005
+ sensitivity: 3
+ snap: 1
+ invert: 0
+ type: 0
+ axis: 0
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Vertical
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton: down
+ positiveButton: up
+ altNegativeButton: s
+ altPositiveButton: w
+ gravity: 3
+ dead: .00100000005
+ sensitivity: 3
+ snap: 1
+ invert: 0
+ type: 0
+ axis: 0
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Fire1
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton:
+ positiveButton: left ctrl
+ altNegativeButton:
+ altPositiveButton: mouse 0
+ gravity: 1000
+ dead: .00100000005
+ sensitivity: 1000
+ snap: 0
+ invert: 0
+ type: 0
+ axis: 0
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Fire2
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton:
+ positiveButton: left alt
+ altNegativeButton:
+ altPositiveButton: mouse 1
+ gravity: 1000
+ dead: .00100000005
+ sensitivity: 1000
+ snap: 0
+ invert: 0
+ type: 0
+ axis: 0
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Fire3
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton:
+ positiveButton: left cmd
+ altNegativeButton:
+ altPositiveButton: mouse 2
+ gravity: 1000
+ dead: .00100000005
+ sensitivity: 1000
+ snap: 0
+ invert: 0
+ type: 0
+ axis: 0
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Jump
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton:
+ positiveButton: space
+ altNegativeButton:
+ altPositiveButton:
+ gravity: 1000
+ dead: .00100000005
+ sensitivity: 1000
+ snap: 0
+ invert: 0
+ type: 0
+ axis: 0
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Mouse X
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton:
+ positiveButton:
+ altNegativeButton:
+ altPositiveButton:
+ gravity: 0
+ dead: 0
+ sensitivity: .100000001
+ snap: 0
+ invert: 0
+ type: 1
+ axis: 0
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Mouse Y
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton:
+ positiveButton:
+ altNegativeButton:
+ altPositiveButton:
+ gravity: 0
+ dead: 0
+ sensitivity: .100000001
+ snap: 0
+ invert: 0
+ type: 1
+ axis: 1
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Mouse ScrollWheel
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton:
+ positiveButton:
+ altNegativeButton:
+ altPositiveButton:
+ gravity: 0
+ dead: 0
+ sensitivity: .100000001
+ snap: 0
+ invert: 0
+ type: 1
+ axis: 2
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Window Shake X
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton:
+ positiveButton:
+ altNegativeButton:
+ altPositiveButton:
+ gravity: 0
+ dead: 0
+ sensitivity: .100000001
+ snap: 0
+ invert: 0
+ type: 3
+ axis: 0
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Window Shake Y
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton:
+ positiveButton:
+ altNegativeButton:
+ altPositiveButton:
+ gravity: 0
+ dead: 0
+ sensitivity: .100000001
+ snap: 0
+ invert: 0
+ type: 3
+ axis: 1
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Horizontal
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton:
+ positiveButton:
+ altNegativeButton:
+ altPositiveButton:
+ gravity: 0
+ dead: .189999998
+ sensitivity: 1
+ snap: 0
+ invert: 0
+ type: 2
+ axis: 0
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Vertical
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton:
+ positiveButton:
+ altNegativeButton:
+ altPositiveButton:
+ gravity: 0
+ dead: .189999998
+ sensitivity: 1
+ snap: 0
+ invert: 1
+ type: 2
+ axis: 1
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Fire1
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton:
+ positiveButton: joystick button 0
+ altNegativeButton:
+ altPositiveButton:
+ gravity: 1000
+ dead: .00100000005
+ sensitivity: 1000
+ snap: 0
+ invert: 0
+ type: 0
+ axis: 0
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Fire2
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton:
+ positiveButton: joystick button 1
+ altNegativeButton:
+ altPositiveButton:
+ gravity: 1000
+ dead: .00100000005
+ sensitivity: 1000
+ snap: 0
+ invert: 0
+ type: 0
+ axis: 0
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Fire3
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton:
+ positiveButton: joystick button 2
+ altNegativeButton:
+ altPositiveButton:
+ gravity: 1000
+ dead: .00100000005
+ sensitivity: 1000
+ snap: 0
+ invert: 0
+ type: 0
+ axis: 0
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Jump
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton:
+ positiveButton: joystick button 3
+ altNegativeButton:
+ altPositiveButton:
+ gravity: 1000
+ dead: .00100000005
+ sensitivity: 1000
+ snap: 0
+ invert: 0
+ type: 0
+ axis: 0
+ joyNum: 0
diff --git a/unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/NavMeshAreas.asset b/unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/NavMeshAreas.asset
new file mode 100644
index 0000000..79cb3ae
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/NavMeshAreas.asset
@@ -0,0 +1,133 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!126 &1
+NavMeshLayers:
+ m_ObjectHideFlags: 0
+ Built-in Layer 0:
+ name: Default
+ cost: 1
+ editType: 2
+ Built-in Layer 1:
+ name: Not Walkable
+ cost: 1
+ editType: 0
+ Built-in Layer 2:
+ name: Jump
+ cost: 2
+ editType: 2
+ User Layer 0:
+ name:
+ cost: 1
+ editType: 3
+ User Layer 1:
+ name:
+ cost: 1
+ editType: 3
+ User Layer 2:
+ name:
+ cost: 1
+ editType: 3
+ User Layer 3:
+ name:
+ cost: 1
+ editType: 3
+ User Layer 4:
+ name:
+ cost: 1
+ editType: 3
+ User Layer 5:
+ name:
+ cost: 1
+ editType: 3
+ User Layer 6:
+ name:
+ cost: 1
+ editType: 3
+ User Layer 7:
+ name:
+ cost: 1
+ editType: 3
+ User Layer 8:
+ name:
+ cost: 1
+ editType: 3
+ User Layer 9:
+ name:
+ cost: 1
+ editType: 3
+ User Layer 10:
+ name:
+ cost: 1
+ editType: 3
+ User Layer 11:
+ name:
+ cost: 1
+ editType: 3
+ User Layer 12:
+ name:
+ cost: 1
+ editType: 3
+ User Layer 13:
+ name:
+ cost: 1
+ editType: 3
+ User Layer 14:
+ name:
+ cost: 1
+ editType: 3
+ User Layer 15:
+ name:
+ cost: 1
+ editType: 3
+ User Layer 16:
+ name:
+ cost: 1
+ editType: 3
+ User Layer 17:
+ name:
+ cost: 1
+ editType: 3
+ User Layer 18:
+ name:
+ cost: 1
+ editType: 3
+ User Layer 19:
+ name:
+ cost: 1
+ editType: 3
+ User Layer 20:
+ name:
+ cost: 1
+ editType: 3
+ User Layer 21:
+ name:
+ cost: 1
+ editType: 3
+ User Layer 22:
+ name:
+ cost: 1
+ editType: 3
+ User Layer 23:
+ name:
+ cost: 1
+ editType: 3
+ User Layer 24:
+ name:
+ cost: 1
+ editType: 3
+ User Layer 25:
+ name:
+ cost: 1
+ editType: 3
+ User Layer 26:
+ name:
+ cost: 1
+ editType: 3
+ User Layer 27:
+ name:
+ cost: 1
+ editType: 3
+ User Layer 28:
+ name:
+ cost: 1
+ editType: 3
diff --git a/unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/NavMeshLayers.asset b/unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/NavMeshLayers.asset
new file mode 100644
index 0000000..79cb3ae
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/NavMeshLayers.asset
@@ -0,0 +1,133 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!126 &1
+NavMeshLayers:
+ m_ObjectHideFlags: 0
+ Built-in Layer 0:
+ name: Default
+ cost: 1
+ editType: 2
+ Built-in Layer 1:
+ name: Not Walkable
+ cost: 1
+ editType: 0
+ Built-in Layer 2:
+ name: Jump
+ cost: 2
+ editType: 2
+ User Layer 0:
+ name:
+ cost: 1
+ editType: 3
+ User Layer 1:
+ name:
+ cost: 1
+ editType: 3
+ User Layer 2:
+ name:
+ cost: 1
+ editType: 3
+ User Layer 3:
+ name:
+ cost: 1
+ editType: 3
+ User Layer 4:
+ name:
+ cost: 1
+ editType: 3
+ User Layer 5:
+ name:
+ cost: 1
+ editType: 3
+ User Layer 6:
+ name:
+ cost: 1
+ editType: 3
+ User Layer 7:
+ name:
+ cost: 1
+ editType: 3
+ User Layer 8:
+ name:
+ cost: 1
+ editType: 3
+ User Layer 9:
+ name:
+ cost: 1
+ editType: 3
+ User Layer 10:
+ name:
+ cost: 1
+ editType: 3
+ User Layer 11:
+ name:
+ cost: 1
+ editType: 3
+ User Layer 12:
+ name:
+ cost: 1
+ editType: 3
+ User Layer 13:
+ name:
+ cost: 1
+ editType: 3
+ User Layer 14:
+ name:
+ cost: 1
+ editType: 3
+ User Layer 15:
+ name:
+ cost: 1
+ editType: 3
+ User Layer 16:
+ name:
+ cost: 1
+ editType: 3
+ User Layer 17:
+ name:
+ cost: 1
+ editType: 3
+ User Layer 18:
+ name:
+ cost: 1
+ editType: 3
+ User Layer 19:
+ name:
+ cost: 1
+ editType: 3
+ User Layer 20:
+ name:
+ cost: 1
+ editType: 3
+ User Layer 21:
+ name:
+ cost: 1
+ editType: 3
+ User Layer 22:
+ name:
+ cost: 1
+ editType: 3
+ User Layer 23:
+ name:
+ cost: 1
+ editType: 3
+ User Layer 24:
+ name:
+ cost: 1
+ editType: 3
+ User Layer 25:
+ name:
+ cost: 1
+ editType: 3
+ User Layer 26:
+ name:
+ cost: 1
+ editType: 3
+ User Layer 27:
+ name:
+ cost: 1
+ editType: 3
+ User Layer 28:
+ name:
+ cost: 1
+ editType: 3
diff --git a/unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/NetworkManager.asset b/unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/NetworkManager.asset
new file mode 100644
index 0000000..5dc6a83
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/NetworkManager.asset
@@ -0,0 +1,8 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!149 &1
+NetworkManager:
+ m_ObjectHideFlags: 0
+ m_DebugLevel: 0
+ m_Sendrate: 15
+ m_AssetToPrefab: {}
diff --git a/unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/Physics2DSettings.asset b/unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/Physics2DSettings.asset
new file mode 100644
index 0000000..5f1dbcc
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/Physics2DSettings.asset
@@ -0,0 +1,32 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!19 &1
+Physics2DSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Gravity: {x: 0, y: -9.81}
+ m_DefaultMaterial: {fileID: 0}
+ m_VelocityIterations: 8
+ m_PositionIterations: 3
+ m_VelocityThreshold: 1
+ m_MaxLinearCorrection: 0.2
+ m_MaxAngularCorrection: 8
+ m_MaxTranslationSpeed: 100
+ m_MaxRotationSpeed: 360
+ m_MinPenetrationForPenalty: 0.01
+ m_BaumgarteScale: 0.2
+ m_BaumgarteTimeOfImpactScale: 0.75
+ m_TimeToSleep: 0.5
+ m_LinearSleepTolerance: 0.01
+ m_AngularSleepTolerance: 2
+ m_QueriesHitTriggers: 1
+ m_QueriesStartInColliders: 1
+ m_ChangeStopsCallbacks: 0
+ m_AlwaysShowColliders: 0
+ m_ShowColliderSleep: 1
+ m_ShowColliderContacts: 0
+ m_ContactArrowScale: 0.2
+ m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412}
+ m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432}
+ m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745}
+ m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
diff --git a/unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/ProjectSettings.asset b/unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/ProjectSettings.asset
new file mode 100644
index 0000000..3e20c02
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/ProjectSettings.asset
@@ -0,0 +1,717 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!129 &1
+PlayerSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 12
+ productGUID: 6f1c150c1d09e34438d8b828344ac6d5
+ AndroidProfiler: 0
+ defaultScreenOrientation: 0
+ targetDevice: 2
+ useOnDemandResources: 0
+ accelerometerFrequency: 60
+ companyName: Diligent Graphics
+ productName: Ghost Cube Native Plugin Demo
+ defaultCursor: {fileID: 0}
+ cursorHotspot: {x: 0, y: 0}
+ m_SplashScreenBackgroundColor: {r: 0.13725491, g: 0.12156863, b: 0.1254902, a: 1}
+ m_ShowUnitySplashScreen: 1
+ m_ShowUnitySplashLogo: 1
+ m_SplashScreenOverlayOpacity: 1
+ m_SplashScreenAnimation: 1
+ m_SplashScreenLogoStyle: 1
+ m_SplashScreenDrawMode: 0
+ m_SplashScreenBackgroundAnimationZoom: 1
+ m_SplashScreenLogoAnimationZoom: 1
+ m_SplashScreenBackgroundLandscapeAspect: 1
+ m_SplashScreenBackgroundPortraitAspect: 1
+ m_SplashScreenBackgroundLandscapeUvs:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 1
+ height: 1
+ m_SplashScreenBackgroundPortraitUvs:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 1
+ height: 1
+ m_SplashScreenLogos: []
+ m_SplashScreenBackgroundLandscape: {fileID: 0}
+ m_SplashScreenBackgroundPortrait: {fileID: 0}
+ m_VirtualRealitySplashScreen: {fileID: 0}
+ m_HolographicTrackingLossScreen: {fileID: 0}
+ defaultScreenWidth: 1024
+ defaultScreenHeight: 768
+ defaultScreenWidthWeb: 600
+ defaultScreenHeightWeb: 450
+ m_StereoRenderingPath: 0
+ m_ActiveColorSpace: 0
+ m_MTRendering: 1
+ m_MobileMTRendering: 0
+ m_StackTraceTypes: 010000000100000001000000010000000100000001000000
+ iosShowActivityIndicatorOnLoading: -1
+ androidShowActivityIndicatorOnLoading: -1
+ tizenShowActivityIndicatorOnLoading: -1
+ iosAppInBackgroundBehavior: 0
+ displayResolutionDialog: 0
+ iosAllowHTTPDownload: 1
+ allowedAutorotateToPortrait: 1
+ allowedAutorotateToPortraitUpsideDown: 1
+ allowedAutorotateToLandscapeRight: 1
+ allowedAutorotateToLandscapeLeft: 1
+ useOSAutorotation: 1
+ use32BitDisplayBuffer: 0
+ disableDepthAndStencilBuffers: 0
+ defaultIsFullScreen: 0
+ defaultIsNativeResolution: 1
+ runInBackground: 1
+ captureSingleScreen: 0
+ muteOtherAudioSources: 0
+ Prepare IOS For Recording: 0
+ Force IOS Speakers When Recording: 0
+ submitAnalytics: 1
+ usePlayerLog: 1
+ bakeCollisionMeshes: 0
+ forceSingleInstance: 0
+ resizableWindow: 0
+ useMacAppStoreValidation: 0
+ macAppStoreCategory: public.app-category.games
+ gpuSkinning: 0
+ graphicsJobs: 0
+ xboxPIXTextureCapture: 0
+ xboxEnableAvatar: 0
+ xboxEnableKinect: 0
+ xboxEnableKinectAutoTracking: 0
+ xboxEnableFitness: 0
+ visibleInBackground: 0
+ allowFullscreenSwitch: 1
+ graphicsJobMode: 0
+ macFullscreenMode: 2
+ d3d9FullscreenMode: 1
+ d3d11FullscreenMode: 1
+ xboxSpeechDB: 0
+ xboxEnableHeadOrientation: 0
+ xboxEnableGuest: 0
+ xboxEnablePIXSampling: 0
+ n3dsDisableStereoscopicView: 0
+ n3dsEnableSharedListOpt: 1
+ n3dsEnableVSync: 0
+ ignoreAlphaClear: 0
+ xboxOneResolution: 0
+ xboxOneMonoLoggingLevel: 0
+ xboxOneLoggingLevel: 1
+ xboxOneDisableEsram: 0
+ videoMemoryForVertexBuffers: 0
+ psp2PowerMode: 0
+ psp2AcquireBGM: 1
+ wiiUTVResolution: 0
+ wiiUGamePadMSAA: 1
+ wiiUSupportsNunchuk: 0
+ wiiUSupportsClassicController: 0
+ wiiUSupportsBalanceBoard: 0
+ wiiUSupportsMotionPlus: 0
+ wiiUSupportsProController: 0
+ wiiUAllowScreenCapture: 1
+ wiiUControllerCount: 0
+ m_SupportedAspectRatios:
+ 4:3: 1
+ 5:4: 1
+ 16:10: 1
+ 16:9: 1
+ Others: 1
+ bundleVersion: 1.0
+ preloadedAssets: []
+ metroInputSource: 0
+ m_HolographicPauseOnTrackingLoss: 1
+ xboxOneDisableKinectGpuReservation: 0
+ xboxOneEnable7thCore: 0
+ vrSettings:
+ cardboard:
+ depthFormat: 0
+ enableTransitionView: 0
+ daydream:
+ depthFormat: 0
+ useSustainedPerformanceMode: 0
+ hololens:
+ depthFormat: 1
+ protectGraphicsMemory: 0
+ useHDRDisplay: 0
+ targetPixelDensity: 0
+ resolutionScalingMode: 0
+ applicationIdentifier:
+ Android: com.DiligentGraphics.GhostCubeUnityDemo
+ Standalone: unity.Unity Technologies.Native Rendering Plugin Example
+ Tizen: com.Company.ProductName
+ iOS: com.Company.ProductName
+ tvOS: com.Company.ProductName
+ buildNumber:
+ iOS: 0
+ AndroidBundleVersionCode: 1
+ AndroidMinSdkVersion: 19
+ AndroidTargetSdkVersion: 0
+ AndroidPreferredInstallLocation: 1
+ aotOptions:
+ stripEngineCode: 1
+ iPhoneStrippingLevel: 0
+ iPhoneScriptCallOptimization: 0
+ ForceInternetPermission: 0
+ ForceSDCardPermission: 0
+ CreateWallpaper: 0
+ APKExpansionFiles: 0
+ keepLoadedShadersAlive: 0
+ StripUnusedMeshComponents: 0
+ VertexChannelCompressionMask:
+ serializedVersion: 2
+ m_Bits: 238
+ iPhoneSdkVersion: 988
+ iOSTargetOSVersionString: 6.0
+ tvOSSdkVersion: 0
+ tvOSRequireExtendedGameController: 0
+ tvOSTargetOSVersionString: 9.0
+ uIPrerenderedIcon: 0
+ uIRequiresPersistentWiFi: 0
+ uIRequiresFullScreen: 1
+ uIStatusBarHidden: 1
+ uIExitOnSuspend: 0
+ uIStatusBarStyle: 0
+ iPhoneSplashScreen: {fileID: 0}
+ iPhoneHighResSplashScreen: {fileID: 0}
+ iPhoneTallHighResSplashScreen: {fileID: 0}
+ iPhone47inSplashScreen: {fileID: 0}
+ iPhone55inPortraitSplashScreen: {fileID: 0}
+ iPhone55inLandscapeSplashScreen: {fileID: 0}
+ iPadPortraitSplashScreen: {fileID: 0}
+ iPadHighResPortraitSplashScreen: {fileID: 0}
+ iPadLandscapeSplashScreen: {fileID: 0}
+ iPadHighResLandscapeSplashScreen: {fileID: 0}
+ appleTVSplashScreen: {fileID: 0}
+ tvOSSmallIconLayers: []
+ tvOSLargeIconLayers: []
+ tvOSTopShelfImageLayers: []
+ tvOSTopShelfImageWideLayers: []
+ iOSLaunchScreenType: 0
+ iOSLaunchScreenPortrait: {fileID: 0}
+ iOSLaunchScreenLandscape: {fileID: 0}
+ iOSLaunchScreenBackgroundColor:
+ serializedVersion: 2
+ rgba: 3452816845
+ iOSLaunchScreenFillPct: 100
+ iOSLaunchScreenSize: 100
+ iOSLaunchScreenCustomXibPath:
+ iOSLaunchScreeniPadType: 0
+ iOSLaunchScreeniPadImage: {fileID: 0}
+ iOSLaunchScreeniPadBackgroundColor:
+ serializedVersion: 2
+ rgba: 0
+ iOSLaunchScreeniPadFillPct: 100
+ iOSLaunchScreeniPadSize: 100
+ iOSLaunchScreeniPadCustomXibPath:
+ iOSDeviceRequirements: []
+ iOSURLSchemes: []
+ iOSBackgroundModes: 0
+ iOSMetalForceHardShadows: 0
+ metalEditorSupport: 1
+ metalAPIValidation: 1
+ iOSRenderExtraFrameOnPause: 1
+ appleDeveloperTeamID:
+ iOSManualSigningProvisioningProfileID:
+ tvOSManualSigningProvisioningProfileID:
+ appleEnableAutomaticSigning: 0
+ AndroidTargetDevice: 0
+ AndroidSplashScreenScale: 0
+ androidSplashScreen: {fileID: 0}
+ AndroidKeystoreName:
+ AndroidKeyaliasName:
+ AndroidTVCompatibility: 1
+ AndroidIsGame: 1
+ androidEnableBanner: 1
+ m_AndroidBanners:
+ - width: 320
+ height: 180
+ banner: {fileID: 0}
+ androidGamepadSupportLevel: 0
+ resolutionDialogBanner: {fileID: 0}
+ m_BuildTargetIcons:
+ - m_BuildTarget:
+ m_Icons:
+ - serializedVersion: 2
+ m_Icon: {fileID: 0}
+ m_Width: 128
+ m_Height: 128
+ m_BuildTargetBatching: []
+ m_BuildTargetGraphicsAPIs:
+ - m_BuildTarget: AndroidPlayer
+ m_APIs: 0b000000
+ m_Automatic: 0
+ - m_BuildTarget: WindowsStandaloneSupport
+ m_APIs: 02000000010000001200000011000000
+ m_Automatic: 0
+ - m_BuildTarget: MacStandaloneSupport
+ m_APIs: 1100000010000000
+ m_Automatic: 0
+ - m_BuildTarget: LinuxStandaloneSupport
+ m_APIs: 11000000
+ m_Automatic: 1
+ - m_BuildTarget: MetroSupport
+ m_APIs: 02000000
+ m_Automatic: 1
+ m_BuildTargetVRSettings:
+ - m_BuildTarget: Android
+ m_Enabled: 0
+ m_Devices:
+ - Oculus
+ - m_BuildTarget: Metro
+ m_Enabled: 0
+ m_Devices: []
+ - m_BuildTarget: N3DS
+ m_Enabled: 0
+ m_Devices: []
+ - m_BuildTarget: PS3
+ m_Enabled: 0
+ m_Devices: []
+ - m_BuildTarget: PS4
+ m_Enabled: 0
+ m_Devices:
+ - PlayStationVR
+ - m_BuildTarget: PSM
+ m_Enabled: 0
+ m_Devices: []
+ - m_BuildTarget: PSP2
+ m_Enabled: 0
+ m_Devices: []
+ - m_BuildTarget: SamsungTV
+ m_Enabled: 0
+ m_Devices: []
+ - m_BuildTarget: Standalone
+ m_Enabled: 0
+ m_Devices:
+ - Oculus
+ - m_BuildTarget: Tizen
+ m_Enabled: 0
+ m_Devices: []
+ - m_BuildTarget: WebGL
+ m_Enabled: 0
+ m_Devices: []
+ - m_BuildTarget: WebPlayer
+ m_Enabled: 0
+ m_Devices: []
+ - m_BuildTarget: WiiU
+ m_Enabled: 0
+ m_Devices: []
+ - m_BuildTarget: Xbox360
+ m_Enabled: 0
+ m_Devices: []
+ - m_BuildTarget: XboxOne
+ m_Enabled: 0
+ m_Devices: []
+ - m_BuildTarget: iOS
+ m_Enabled: 0
+ m_Devices: []
+ - m_BuildTarget: tvOS
+ m_Enabled: 0
+ m_Devices: []
+ openGLRequireES31: 0
+ openGLRequireES31AEP: 0
+ webPlayerTemplate: APPLICATION:Default
+ m_TemplateCustomTags: {}
+ wiiUTitleID: 0005000011000000
+ wiiUGroupID: 00010000
+ wiiUCommonSaveSize: 4096
+ wiiUAccountSaveSize: 2048
+ wiiUOlvAccessKey: 0
+ wiiUTinCode: 0
+ wiiUJoinGameId: 0
+ wiiUJoinGameModeMask: 0000000000000000
+ wiiUCommonBossSize: 0
+ wiiUAccountBossSize: 0
+ wiiUAddOnUniqueIDs: []
+ wiiUMainThreadStackSize: 3072
+ wiiULoaderThreadStackSize: 1024
+ wiiUSystemHeapSize: 128
+ wiiUTVStartupScreen: {fileID: 0}
+ wiiUGamePadStartupScreen: {fileID: 0}
+ wiiUDrcBufferDisabled: 0
+ wiiUProfilerLibPath:
+ playModeTestRunnerEnabled: 0
+ actionOnDotNetUnhandledException: 1
+ enableInternalProfiler: 0
+ logObjCUncaughtExceptions: 1
+ enableCrashReportAPI: 0
+ cameraUsageDescription:
+ locationUsageDescription:
+ microphoneUsageDescription:
+ switchNetLibKey:
+ switchSocketMemoryPoolSize: 6144
+ switchSocketAllocatorPoolSize: 128
+ switchSocketConcurrencyLimit: 14
+ switchScreenResolutionBehavior: 2
+ switchUseCPUProfiler: 0
+ switchApplicationID: 0x01004b9000490000
+ switchNSODependencies:
+ switchTitleNames_0:
+ switchTitleNames_1:
+ switchTitleNames_2:
+ switchTitleNames_3:
+ switchTitleNames_4:
+ switchTitleNames_5:
+ switchTitleNames_6:
+ switchTitleNames_7:
+ switchTitleNames_8:
+ switchTitleNames_9:
+ switchTitleNames_10:
+ switchTitleNames_11:
+ switchPublisherNames_0:
+ switchPublisherNames_1:
+ switchPublisherNames_2:
+ switchPublisherNames_3:
+ switchPublisherNames_4:
+ switchPublisherNames_5:
+ switchPublisherNames_6:
+ switchPublisherNames_7:
+ switchPublisherNames_8:
+ switchPublisherNames_9:
+ switchPublisherNames_10:
+ switchPublisherNames_11:
+ switchIcons_0: {fileID: 0}
+ switchIcons_1: {fileID: 0}
+ switchIcons_2: {fileID: 0}
+ switchIcons_3: {fileID: 0}
+ switchIcons_4: {fileID: 0}
+ switchIcons_5: {fileID: 0}
+ switchIcons_6: {fileID: 0}
+ switchIcons_7: {fileID: 0}
+ switchIcons_8: {fileID: 0}
+ switchIcons_9: {fileID: 0}
+ switchIcons_10: {fileID: 0}
+ switchIcons_11: {fileID: 0}
+ switchSmallIcons_0: {fileID: 0}
+ switchSmallIcons_1: {fileID: 0}
+ switchSmallIcons_2: {fileID: 0}
+ switchSmallIcons_3: {fileID: 0}
+ switchSmallIcons_4: {fileID: 0}
+ switchSmallIcons_5: {fileID: 0}
+ switchSmallIcons_6: {fileID: 0}
+ switchSmallIcons_7: {fileID: 0}
+ switchSmallIcons_8: {fileID: 0}
+ switchSmallIcons_9: {fileID: 0}
+ switchSmallIcons_10: {fileID: 0}
+ switchSmallIcons_11: {fileID: 0}
+ switchManualHTML:
+ switchAccessibleURLs:
+ switchLegalInformation:
+ switchMainThreadStackSize: 1048576
+ switchPresenceGroupId:
+ switchLogoHandling: 0
+ switchReleaseVersion: 0
+ switchDisplayVersion: 1.0.0
+ switchStartupUserAccount: 0
+ switchTouchScreenUsage: 0
+ switchSupportedLanguagesMask: 0
+ switchLogoType: 0
+ switchApplicationErrorCodeCategory:
+ switchUserAccountSaveDataSize: 0
+ switchUserAccountSaveDataJournalSize: 0
+ switchApplicationAttribute: 0
+ switchCardSpecSize: -1
+ switchCardSpecClock: -1
+ switchRatingsMask: 0
+ switchRatingsInt_0: 0
+ switchRatingsInt_1: 0
+ switchRatingsInt_2: 0
+ switchRatingsInt_3: 0
+ switchRatingsInt_4: 0
+ switchRatingsInt_5: 0
+ switchRatingsInt_6: 0
+ switchRatingsInt_7: 0
+ switchRatingsInt_8: 0
+ switchRatingsInt_9: 0
+ switchRatingsInt_10: 0
+ switchRatingsInt_11: 0
+ switchLocalCommunicationIds_0:
+ switchLocalCommunicationIds_1:
+ switchLocalCommunicationIds_2:
+ switchLocalCommunicationIds_3:
+ switchLocalCommunicationIds_4:
+ switchLocalCommunicationIds_5:
+ switchLocalCommunicationIds_6:
+ switchLocalCommunicationIds_7:
+ switchParentalControl: 0
+ switchAllowsScreenshot: 1
+ switchDataLossConfirmation: 0
+ switchSupportedNpadStyles: 3
+ switchSocketConfigEnabled: 0
+ switchTcpInitialSendBufferSize: 32
+ switchTcpInitialReceiveBufferSize: 64
+ switchTcpAutoSendBufferSizeMax: 256
+ switchTcpAutoReceiveBufferSizeMax: 256
+ switchUdpSendBufferSize: 9
+ switchUdpReceiveBufferSize: 42
+ switchSocketBufferEfficiency: 4
+ switchSocketInitializeEnabled: 1
+ switchNetworkInterfaceManagerInitializeEnabled: 1
+ switchPlayerConnectionEnabled: 1
+ ps4NPAgeRating: 12
+ ps4NPTitleSecret:
+ ps4NPTrophyPackPath:
+ ps4ParentalLevel: 1
+ ps4ContentID: ED1633-NPXX51362_00-0000000000000000
+ ps4Category: 0
+ ps4MasterVersion: 01.00
+ ps4AppVersion: 01.00
+ ps4AppType: 0
+ ps4ParamSfxPath:
+ ps4VideoOutPixelFormat: 0
+ ps4VideoOutInitialWidth: 1920
+ ps4VideoOutBaseModeInitialWidth: 1920
+ ps4VideoOutReprojectionRate: 120
+ ps4PronunciationXMLPath:
+ ps4PronunciationSIGPath:
+ ps4BackgroundImagePath:
+ ps4StartupImagePath:
+ ps4SaveDataImagePath:
+ ps4SdkOverride:
+ ps4BGMPath:
+ ps4ShareFilePath:
+ ps4ShareOverlayImagePath:
+ ps4PrivacyGuardImagePath:
+ ps4NPtitleDatPath:
+ ps4RemotePlayKeyAssignment: -1
+ ps4RemotePlayKeyMappingDir:
+ ps4PlayTogetherPlayerCount: 0
+ ps4EnterButtonAssignment: 1
+ ps4ApplicationParam1: 0
+ ps4ApplicationParam2: 0
+ ps4ApplicationParam3: 0
+ ps4ApplicationParam4: 0
+ ps4DownloadDataSize: 0
+ ps4GarlicHeapSize: 2048
+ ps4ProGarlicHeapSize: 2560
+ ps4Passcode: eaoEiIgxIX4a2dREbbSqWy6yhKIDCdJO
+ ps4pnSessions: 1
+ ps4pnPresence: 1
+ ps4pnFriends: 1
+ ps4pnGameCustomData: 1
+ playerPrefsSupport: 0
+ restrictedAudioUsageRights: 0
+ ps4UseResolutionFallback: 0
+ ps4ReprojectionSupport: 0
+ ps4UseAudio3dBackend: 0
+ ps4SocialScreenEnabled: 0
+ ps4ScriptOptimizationLevel: 0
+ ps4Audio3dVirtualSpeakerCount: 14
+ ps4attribCpuUsage: 0
+ ps4PatchPkgPath:
+ ps4PatchLatestPkgPath:
+ ps4PatchChangeinfoPath:
+ ps4PatchDayOne: 0
+ ps4attribUserManagement: 0
+ ps4attribMoveSupport: 0
+ ps4attrib3DSupport: 0
+ ps4attribShareSupport: 0
+ ps4attribExclusiveVR: 0
+ ps4disableAutoHideSplash: 0
+ ps4videoRecordingFeaturesUsed: 0
+ ps4contentSearchFeaturesUsed: 0
+ ps4attribEyeToEyeDistanceSettingVR: 0
+ ps4IncludedModules: []
+ monoEnv:
+ psp2Splashimage: {fileID: 0}
+ psp2NPTrophyPackPath:
+ psp2NPSupportGBMorGJP: 0
+ psp2NPAgeRating: 12
+ psp2NPTitleDatPath:
+ psp2NPCommsID:
+ psp2NPCommunicationsID:
+ psp2NPCommsPassphrase:
+ psp2NPCommsSig:
+ psp2ParamSfxPath:
+ psp2ManualPath:
+ psp2LiveAreaGatePath:
+ psp2LiveAreaBackroundPath:
+ psp2LiveAreaPath:
+ psp2LiveAreaTrialPath:
+ psp2PatchChangeInfoPath:
+ psp2PatchOriginalPackage:
+ psp2PackagePassword: yapnxrpMCARCr4zdGc81tBDKsMlaZTXC
+ psp2KeystoneFile:
+ psp2MemoryExpansionMode: 0
+ psp2DRMType: 0
+ psp2StorageType: 0
+ psp2MediaCapacity: 0
+ psp2DLCConfigPath:
+ psp2ThumbnailPath:
+ psp2BackgroundPath:
+ psp2SoundPath:
+ psp2TrophyCommId:
+ psp2TrophyPackagePath:
+ psp2PackagedResourcesPath:
+ psp2SaveDataQuota: 10240
+ psp2ParentalLevel: 1
+ psp2ShortTitle: Not Set
+ psp2ContentID: IV0000-ABCD12345_00-0123456789ABCDEF
+ psp2Category: 0
+ psp2MasterVersion: 01.00
+ psp2AppVersion: 01.00
+ psp2TVBootMode: 0
+ psp2EnterButtonAssignment: 2
+ psp2TVDisableEmu: 0
+ psp2AllowTwitterDialog: 1
+ psp2Upgradable: 0
+ psp2HealthWarning: 0
+ psp2UseLibLocation: 0
+ psp2InfoBarOnStartup: 0
+ psp2InfoBarColor: 0
+ psp2ScriptOptimizationLevel: 0
+ psmSplashimage: {fileID: 0}
+ splashScreenBackgroundSourceLandscape: {fileID: 0}
+ splashScreenBackgroundSourcePortrait: {fileID: 0}
+ spritePackerPolicy:
+ webGLMemorySize: 256
+ webGLExceptionSupport: 1
+ webGLNameFilesAsHashes: 0
+ webGLDataCaching: 0
+ webGLDebugSymbols: 0
+ webGLEmscriptenArgs:
+ webGLModulesDirectory:
+ webGLTemplate: APPLICATION:Default
+ webGLAnalyzeBuildSize: 0
+ webGLUseEmbeddedResources: 0
+ webGLUseWasm: 0
+ webGLCompressionFormat: 1
+ scriptingDefineSymbols: {}
+ platformArchitecture:
+ iOS: 2
+ scriptingBackend:
+ Android: 0
+ Metro: 2
+ Standalone: 0
+ WP8: 2
+ WebGL: 1
+ iOS: 1
+ incrementalIl2cppBuild: {}
+ additionalIl2CppArgs:
+ scriptingRuntimeVersion: 0
+ apiCompatibilityLevelPerPlatform: {}
+ m_RenderingPath: 1
+ m_MobileRenderingPath: 1
+ metroPackageName: UnityProject
+ metroPackageVersion: 1.0.0.0
+ metroCertificatePath: Assets\WSATestCertificate.pfx
+ metroCertificatePassword:
+ metroCertificateSubject: Unity Technologies
+ metroCertificateIssuer: Unity Technologies
+ metroCertificateNotAfter: 805e3543d971d401
+ metroApplicationDescription: UnityProject
+ wsaImages: {}
+ metroTileShortName: Native Rendering Plugin Example
+ metroCommandLineArgsFile:
+ metroTileShowName: 0
+ metroMediumTileShowName: 0
+ metroLargeTileShowName: 0
+ metroWideTileShowName: 0
+ metroDefaultTileSize: 1
+ metroTileForegroundText: 1
+ metroTileBackgroundColor: {r: 0, g: 0, b: 0, a: 1}
+ metroSplashScreenBackgroundColor: {r: 0, g: 0, b: 0, a: 1}
+ metroSplashScreenUseBackgroundColor: 0
+ platformCapabilities:
+ WindowsStoreApps:
+ AllJoyn: False
+ BlockedChatMessages: False
+ Bluetooth: False
+ Chat: False
+ CodeGeneration: False
+ EnterpriseAuthentication: False
+ HumanInterfaceDevice: False
+ InternetClient: False
+ InternetClientServer: False
+ Location: False
+ Microphone: False
+ MusicLibrary: False
+ Objects3D: False
+ PhoneCall: False
+ PicturesLibrary: False
+ PrivateNetworkClientServer: False
+ Proximity: False
+ RemovableStorage: False
+ SharedUserCertificates: False
+ UserAccountInformation: False
+ VideosLibrary: False
+ VoipCall: False
+ WebCam: False
+ metroFTAName:
+ metroFTAFileTypes: []
+ metroProtocolName:
+ metroCompilationOverrides: 1
+ tizenProductDescription:
+ tizenProductURL:
+ tizenSigningProfileName:
+ tizenGPSPermissions: 0
+ tizenMicrophonePermissions: 0
+ tizenDeploymentTarget:
+ tizenDeploymentTargetType: -1
+ tizenMinOSVersion: 1
+ n3dsUseExtSaveData: 0
+ n3dsCompressStaticMem: 1
+ n3dsExtSaveDataNumber: 0x12345
+ n3dsStackSize: 131072
+ n3dsTargetPlatform: 2
+ n3dsRegion: 7
+ n3dsMediaSize: 0
+ n3dsLogoStyle: 3
+ n3dsTitle: GameName
+ n3dsProductCode:
+ n3dsApplicationId: 0xFF3FF
+ stvDeviceAddress:
+ stvProductDescription:
+ stvProductAuthor:
+ stvProductAuthorEmail:
+ stvProductLink:
+ stvProductCategory: 0
+ XboxOneProductId:
+ XboxOneUpdateKey:
+ XboxOneSandboxId:
+ XboxOneContentId:
+ XboxOneTitleId:
+ XboxOneSCId:
+ XboxOneGameOsOverridePath:
+ XboxOnePackagingOverridePath:
+ XboxOneAppManifestOverridePath:
+ XboxOnePackageEncryption: 0
+ XboxOnePackageUpdateGranularity: 2
+ XboxOneDescription:
+ XboxOneLanguage:
+ - enus
+ XboxOneCapability: []
+ XboxOneGameRating: {}
+ XboxOneIsContentPackage: 0
+ XboxOneEnableGPUVariability: 0
+ XboxOneSockets: {}
+ XboxOneSplashScreen: {fileID: 0}
+ XboxOneAllowedProductIds: []
+ XboxOnePersistentLocalStorageSize: 0
+ xboxOneScriptCompiler: 0
+ vrEditorSettings:
+ daydream:
+ daydreamIconForeground: {fileID: 0}
+ daydreamIconBackground: {fileID: 0}
+ cloudServicesEnabled:
+ Analytics: 0
+ Build: 0
+ Collab: 0
+ ErrorHub: 0
+ Game_Performance: 0
+ Hub: 0
+ Purchasing: 0
+ UNet: 0
+ Unity_Ads: 0
+ facebookSdkVersion: 7.9.4
+ apiCompatibilityLevel: 2
+ cloudProjectId:
+ projectName:
+ organizationId:
+ cloudEnabled: 0
+ enableNativePlatformBackendsForNewInputSystem: 0
+ disableOldInputManagerSupport: 0
diff --git a/unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/ProjectVersion.txt b/unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/ProjectVersion.txt
new file mode 100644
index 0000000..a211ccd
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/ProjectVersion.txt
@@ -0,0 +1 @@
+m_EditorVersion: 2017.1.1f1
diff --git a/unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/QualitySettings.asset b/unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/QualitySettings.asset
new file mode 100644
index 0000000..df927cd
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/QualitySettings.asset
@@ -0,0 +1,44 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!47 &1
+QualitySettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 5
+ m_CurrentQuality: 0
+ m_QualitySettings:
+ - serializedVersion: 2
+ name: Good
+ pixelLightCount: 2
+ shadows: 2
+ shadowResolution: 1
+ shadowProjection: 1
+ shadowCascades: 2
+ shadowDistance: 20
+ shadowNearPlaneOffset: 2
+ shadowCascade2Split: 0.33333334
+ shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
+ blendWeights: 2
+ textureQuality: 0
+ anisotropicTextures: 1
+ antiAliasing: 0
+ softParticles: 0
+ softVegetation: 1
+ realtimeReflectionProbes: 1
+ billboardsFaceCameraPosition: 1
+ vSyncCount: 1
+ lodBias: 1
+ maximumLODLevel: 0
+ particleRaycastBudget: 256
+ asyncUploadTimeSlice: 2
+ asyncUploadBufferSize: 4
+ excludedTargetPlatforms: []
+ m_PerPlatformDefaultQuality:
+ Android: 0
+ FlashPlayer: 0
+ GLES Emulation: 0
+ PS3: 0
+ Standalone: 0
+ Web: 0
+ Wii: 0
+ XBOX360: 0
+ iPhone: 0
diff --git a/unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/TagManager.asset b/unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/TagManager.asset
new file mode 100644
index 0000000..9fb83f8
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/TagManager.asset
@@ -0,0 +1,43 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!78 &1
+TagManager:
+ serializedVersion: 2
+ tags: []
+ layers:
+ - Default
+ - TransparentFX
+ - Ignore Raycast
+ -
+ - Water
+ - UI
+ -
+ -
+ - Mirror
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ m_SortingLayers:
+ - name: Default
+ uniqueID: 0
+ locked: 0
diff --git a/unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/TimeManager.asset b/unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/TimeManager.asset
new file mode 100644
index 0000000..f0e494b
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/TimeManager.asset
@@ -0,0 +1,8 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!5 &1
+TimeManager:
+ m_ObjectHideFlags: 0
+ Fixed Timestep: .0199999996
+ Maximum Allowed Timestep: .333333343
+ m_TimeScale: 1
diff --git a/unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/UnityConnectSettings.asset b/unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/UnityConnectSettings.asset
new file mode 100644
index 0000000..1cc5485
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/UnityProject/ProjectSettings/UnityConnectSettings.asset
@@ -0,0 +1,34 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!310 &1
+UnityConnectSettings:
+ m_ObjectHideFlags: 0
+ m_Enabled: 0
+ m_TestMode: 0
+ m_TestEventUrl:
+ m_TestConfigUrl:
+ m_TestInitMode: 0
+ CrashReportingSettings:
+ m_EventUrl: https://perf-events.cloud.unity3d.com/api/events/crashes
+ m_Enabled: 0
+ m_CaptureEditorExceptions: 1
+ UnityPurchasingSettings:
+ m_Enabled: 0
+ m_TestMode: 0
+ UnityAnalyticsSettings:
+ m_Enabled: 0
+ m_InitializeOnStartup: 1
+ m_TestMode: 0
+ m_TestEventUrl:
+ m_TestConfigUrl:
+ UnityAdsSettings:
+ m_Enabled: 0
+ m_InitializeOnStartup: 1
+ m_TestMode: 0
+ m_EnabledPlatforms: 4294967295
+ m_IosGameId:
+ m_AndroidGameId:
+ m_GameIds: {}
+ m_GameId:
+ PerformanceReportingSettings:
+ m_Enabled: 0
diff --git a/unityplugin/GhostCubePlugin/UnityProject/UWP/project.json b/unityplugin/GhostCubePlugin/UnityProject/UWP/project.json
new file mode 100644
index 0000000..c594939
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/UnityProject/UWP/project.json
@@ -0,0 +1,16 @@
+{
+ "dependencies": {
+ "Microsoft.NETCore.UniversalWindowsPlatform": "5.0.0"
+ },
+ "frameworks": {
+ "uap10.0": {}
+ },
+ "runtimes": {
+ "win10-arm": {},
+ "win10-arm-aot": {},
+ "win10-x86": {},
+ "win10-x86-aot": {},
+ "win10-x64": {},
+ "win10-x64-aot": {}
+ }
+} \ No newline at end of file
diff --git a/unityplugin/GhostCubePlugin/UnityProject/UWP/project.lock.json b/unityplugin/GhostCubePlugin/UnityProject/UWP/project.lock.json
new file mode 100644
index 0000000..02dacce
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/UnityProject/UWP/project.lock.json
@@ -0,0 +1,15493 @@
+{
+ "version": 2,
+ "targets": {
+ "UAP,Version=v10.0": {
+ "Microsoft.CSharp/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Dynamic.Runtime": "4.0.0",
+ "System.Globalization": "4.0.10",
+ "System.Linq": "4.0.0",
+ "System.Linq.Expressions": "4.0.0",
+ "System.ObjectModel": "4.0.10",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/Microsoft.CSharp.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/Microsoft.CSharp.dll": {}
+ }
+ },
+ "Microsoft.NETCore/5.0.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.CSharp": "4.0.0",
+ "Microsoft.NETCore.Targets": "1.0.0",
+ "Microsoft.VisualBasic": "10.0.0",
+ "System.AppContext": "4.0.0",
+ "System.Collections": "4.0.10",
+ "System.Collections.Concurrent": "4.0.10",
+ "System.Collections.Immutable": "1.1.37",
+ "System.ComponentModel": "4.0.0",
+ "System.ComponentModel.Annotations": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Diagnostics.Tools": "4.0.0",
+ "System.Diagnostics.Tracing": "4.0.20",
+ "System.Dynamic.Runtime": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.Globalization.Calendars": "4.0.0",
+ "System.Globalization.Extensions": "4.0.0",
+ "System.IO": "4.0.10",
+ "System.IO.Compression": "4.0.0",
+ "System.IO.Compression.ZipFile": "4.0.0",
+ "System.IO.FileSystem": "4.0.0",
+ "System.IO.FileSystem.Primitives": "4.0.0",
+ "System.IO.UnmanagedMemoryStream": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.Linq.Expressions": "4.0.10",
+ "System.Linq.Parallel": "4.0.0",
+ "System.Linq.Queryable": "4.0.0",
+ "System.Net.Http": "4.0.0",
+ "System.Net.NetworkInformation": "4.0.0",
+ "System.Net.Primitives": "4.0.10",
+ "System.Numerics.Vectors": "4.1.0",
+ "System.ObjectModel": "4.0.10",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.DispatchProxy": "4.0.0",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Metadata": "1.0.22",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.Handles": "4.0.0",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Runtime.Numerics": "4.0.0",
+ "System.Security.Claims": "4.0.0",
+ "System.Security.Principal": "4.0.0",
+ "System.Text.Encoding": "4.0.10",
+ "System.Text.Encoding.Extensions": "4.0.10",
+ "System.Text.RegularExpressions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10",
+ "System.Threading.Tasks.Dataflow": "4.5.25",
+ "System.Threading.Tasks.Parallel": "4.0.0",
+ "System.Threading.Timer": "4.0.0",
+ "System.Xml.ReaderWriter": "4.0.10",
+ "System.Xml.XDocument": "4.0.10"
+ }
+ },
+ "Microsoft.NETCore.Platforms/1.0.0": {
+ "type": "package"
+ },
+ "Microsoft.NETCore.Portable.Compatibility/1.0.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.NETCore.Runtime": "1.0.0"
+ },
+ "compile": {
+ "ref/netcore50/System.ComponentModel.DataAnnotations.dll": {},
+ "ref/netcore50/System.Core.dll": {},
+ "ref/netcore50/System.Net.dll": {},
+ "ref/netcore50/System.Numerics.dll": {},
+ "ref/netcore50/System.Runtime.Serialization.dll": {},
+ "ref/netcore50/System.ServiceModel.Web.dll": {},
+ "ref/netcore50/System.ServiceModel.dll": {},
+ "ref/netcore50/System.Windows.dll": {},
+ "ref/netcore50/System.Xml.Linq.dll": {},
+ "ref/netcore50/System.Xml.Serialization.dll": {},
+ "ref/netcore50/System.Xml.dll": {},
+ "ref/netcore50/System.dll": {},
+ "ref/netcore50/mscorlib.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.ComponentModel.DataAnnotations.dll": {},
+ "lib/netcore50/System.Core.dll": {},
+ "lib/netcore50/System.Net.dll": {},
+ "lib/netcore50/System.Numerics.dll": {},
+ "lib/netcore50/System.Runtime.Serialization.dll": {},
+ "lib/netcore50/System.ServiceModel.Web.dll": {},
+ "lib/netcore50/System.ServiceModel.dll": {},
+ "lib/netcore50/System.Windows.dll": {},
+ "lib/netcore50/System.Xml.Linq.dll": {},
+ "lib/netcore50/System.Xml.Serialization.dll": {},
+ "lib/netcore50/System.Xml.dll": {},
+ "lib/netcore50/System.dll": {}
+ },
+ "runtimeTargets": {
+ "runtimes/aot/lib/netcore50/System.ComponentModel.DataAnnotations.dll": {
+ "assetType": "runtime",
+ "rid": "aot"
+ },
+ "runtimes/aot/lib/netcore50/System.Core.dll": {
+ "assetType": "runtime",
+ "rid": "aot"
+ },
+ "runtimes/aot/lib/netcore50/System.Net.dll": {
+ "assetType": "runtime",
+ "rid": "aot"
+ },
+ "runtimes/aot/lib/netcore50/System.Numerics.dll": {
+ "assetType": "runtime",
+ "rid": "aot"
+ },
+ "runtimes/aot/lib/netcore50/System.Runtime.Serialization.dll": {
+ "assetType": "runtime",
+ "rid": "aot"
+ },
+ "runtimes/aot/lib/netcore50/System.ServiceModel.Web.dll": {
+ "assetType": "runtime",
+ "rid": "aot"
+ },
+ "runtimes/aot/lib/netcore50/System.ServiceModel.dll": {
+ "assetType": "runtime",
+ "rid": "aot"
+ },
+ "runtimes/aot/lib/netcore50/System.Windows.dll": {
+ "assetType": "runtime",
+ "rid": "aot"
+ },
+ "runtimes/aot/lib/netcore50/System.Xml.Linq.dll": {
+ "assetType": "runtime",
+ "rid": "aot"
+ },
+ "runtimes/aot/lib/netcore50/System.Xml.Serialization.dll": {
+ "assetType": "runtime",
+ "rid": "aot"
+ },
+ "runtimes/aot/lib/netcore50/System.Xml.dll": {
+ "assetType": "runtime",
+ "rid": "aot"
+ },
+ "runtimes/aot/lib/netcore50/System.dll": {
+ "assetType": "runtime",
+ "rid": "aot"
+ },
+ "runtimes/aot/lib/netcore50/mscorlib.dll": {
+ "assetType": "runtime",
+ "rid": "aot"
+ }
+ }
+ },
+ "Microsoft.NETCore.Runtime/1.0.0": {
+ "type": "package"
+ },
+ "Microsoft.NETCore.Targets/1.0.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.NETCore.Platforms": "1.0.0",
+ "Microsoft.NETCore.Targets.UniversalWindowsPlatform": "5.0.0"
+ }
+ },
+ "Microsoft.NETCore.Targets.UniversalWindowsPlatform/5.0.0": {
+ "type": "package"
+ },
+ "Microsoft.NETCore.UniversalWindowsPlatform/5.0.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.NETCore": "5.0.0",
+ "Microsoft.NETCore.Portable.Compatibility": "1.0.0",
+ "Microsoft.NETCore.Runtime": "1.0.0",
+ "Microsoft.Win32.Primitives": "4.0.0",
+ "System.ComponentModel.EventBasedAsync": "4.0.10",
+ "System.Data.Common": "4.0.0",
+ "System.Diagnostics.Contracts": "4.0.0",
+ "System.Diagnostics.StackTrace": "4.0.0",
+ "System.IO.IsolatedStorage": "4.0.0",
+ "System.Net.Http.Rtc": "4.0.0",
+ "System.Net.Requests": "4.0.10",
+ "System.Net.Sockets": "4.0.0",
+ "System.Net.WebHeaderCollection": "4.0.0",
+ "System.Numerics.Vectors.WindowsRuntime": "4.0.0",
+ "System.Reflection.Context": "4.0.0",
+ "System.Runtime.InteropServices.WindowsRuntime": "4.0.0",
+ "System.Runtime.Serialization.Json": "4.0.0",
+ "System.Runtime.Serialization.Primitives": "4.0.10",
+ "System.Runtime.Serialization.Xml": "4.0.10",
+ "System.Runtime.WindowsRuntime": "4.0.10",
+ "System.Runtime.WindowsRuntime.UI.Xaml": "4.0.0",
+ "System.ServiceModel.Duplex": "4.0.0",
+ "System.ServiceModel.Http": "4.0.10",
+ "System.ServiceModel.NetTcp": "4.0.0",
+ "System.ServiceModel.Primitives": "4.0.0",
+ "System.ServiceModel.Security": "4.0.0",
+ "System.Text.Encoding.CodePages": "4.0.0",
+ "System.Xml.XmlSerializer": "4.0.10"
+ }
+ },
+ "Microsoft.VisualBasic/10.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Dynamic.Runtime": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.Linq": "4.0.0",
+ "System.Linq.Expressions": "4.0.10",
+ "System.ObjectModel": "4.0.10",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/Microsoft.VisualBasic.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/Microsoft.VisualBasic.dll": {}
+ }
+ },
+ "Microsoft.Win32.Primitives/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.20",
+ "System.Runtime.InteropServices": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/Microsoft.Win32.Primitives.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/Microsoft.Win32.Primitives.dll": {}
+ }
+ },
+ "System.AppContext/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Threading": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.AppContext.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.AppContext.dll": {}
+ }
+ },
+ "System.Collections/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Diagnostics.Debug": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Threading": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Collections.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Collections.dll": {}
+ },
+ "runtimeTargets": {
+ "runtimes/win8-aot/lib/netcore50/System.Collections.dll": {
+ "assetType": "runtime",
+ "rid": "win8-aot"
+ }
+ }
+ },
+ "System.Collections.Concurrent/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Diagnostics.Tracing": "4.0.20",
+ "System.Globalization": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Collections.Concurrent.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Collections.Concurrent.dll": {}
+ }
+ },
+ "System.Collections.Immutable/1.1.37": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.0",
+ "System.Globalization": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.0",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Threading": "4.0.0"
+ },
+ "compile": {
+ "lib/dotnet/System.Collections.Immutable.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Collections.Immutable.dll": {}
+ }
+ },
+ "System.Collections.NonGeneric/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Collections.NonGeneric.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Collections.NonGeneric.dll": {}
+ }
+ },
+ "System.Collections.Specialized/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections.NonGeneric": "4.0.0",
+ "System.Globalization": "4.0.10",
+ "System.Globalization.Extensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Collections.Specialized.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Collections.Specialized.dll": {}
+ }
+ },
+ "System.ComponentModel/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/netcore50/System.ComponentModel.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.ComponentModel.dll": {}
+ }
+ },
+ "System.ComponentModel.Annotations/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.ComponentModel": "4.0.0",
+ "System.Globalization": "4.0.10",
+ "System.Linq": "4.0.0",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Text.RegularExpressions": "4.0.10",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.ComponentModel.Annotations.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.ComponentModel.Annotations.dll": {}
+ }
+ },
+ "System.ComponentModel.EventBasedAsync/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.ComponentModel.EventBasedAsync.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.ComponentModel.EventBasedAsync.dll": {}
+ }
+ },
+ "System.Data.Common/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Collections.NonGeneric": "4.0.0",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Text.RegularExpressions": "4.0.0",
+ "System.Threading.Tasks": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Data.Common.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Data.Common.dll": {}
+ }
+ },
+ "System.Diagnostics.Contracts/4.0.0": {
+ "type": "package",
+ "compile": {
+ "ref/netcore50/System.Diagnostics.Contracts.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Diagnostics.Contracts.dll": {}
+ },
+ "runtimeTargets": {
+ "runtimes/win8-aot/lib/netcore50/System.Diagnostics.Contracts.dll": {
+ "assetType": "runtime",
+ "rid": "win8-aot"
+ }
+ }
+ },
+ "System.Diagnostics.Debug/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Diagnostics.Debug.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Diagnostics.Debug.dll": {}
+ },
+ "runtimeTargets": {
+ "runtimes/win8-aot/lib/netcore50/System.Diagnostics.Debug.dll": {
+ "assetType": "runtime",
+ "rid": "win8-aot"
+ }
+ }
+ },
+ "System.Diagnostics.StackTrace/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Diagnostics.StackTrace.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Diagnostics.StackTrace.dll": {}
+ },
+ "runtimeTargets": {
+ "runtimes/win8-aot/lib/netcore50/System.Diagnostics.StackTrace.dll": {
+ "assetType": "runtime",
+ "rid": "win8-aot"
+ }
+ }
+ },
+ "System.Diagnostics.Tools/4.0.0": {
+ "type": "package",
+ "compile": {
+ "ref/netcore50/System.Diagnostics.Tools.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Diagnostics.Tools.dll": {}
+ },
+ "runtimeTargets": {
+ "runtimes/win8-aot/lib/netcore50/System.Diagnostics.Tools.dll": {
+ "assetType": "runtime",
+ "rid": "win8-aot"
+ }
+ }
+ },
+ "System.Diagnostics.Tracing/4.0.20": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Globalization": "4.0.0",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.InteropServices": "4.0.0",
+ "System.Text.Encoding": "4.0.0",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Diagnostics.Tracing.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Diagnostics.Tracing.dll": {}
+ },
+ "runtimeTargets": {
+ "runtimes/win8-aot/lib/netcore50/System.Diagnostics.Tracing.dll": {
+ "assetType": "runtime",
+ "rid": "win8-aot"
+ }
+ }
+ },
+ "System.Dynamic.Runtime/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.0",
+ "System.Globalization": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.Linq.Expressions": "4.0.10",
+ "System.ObjectModel": "4.0.0",
+ "System.Reflection": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Threading": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Dynamic.Runtime.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Dynamic.Runtime.dll": {}
+ },
+ "runtimeTargets": {
+ "runtimes/win8-aot/lib/netcore50/System.Dynamic.Runtime.dll": {
+ "assetType": "runtime",
+ "rid": "win8-aot"
+ }
+ }
+ },
+ "System.Globalization/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Globalization.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Globalization.dll": {}
+ },
+ "runtimeTargets": {
+ "runtimes/win8-aot/lib/netcore50/System.Globalization.dll": {
+ "assetType": "runtime",
+ "rid": "win8-aot"
+ }
+ }
+ },
+ "System.Globalization.Calendars/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Globalization": "4.0.0",
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Globalization.Calendars.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Globalization.Calendars.dll": {}
+ },
+ "runtimeTargets": {
+ "runtimes/win8-aot/lib/netcore50/System.Globalization.Calendars.dll": {
+ "assetType": "runtime",
+ "rid": "win8-aot"
+ }
+ }
+ },
+ "System.Globalization.Extensions/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Globalization": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.InteropServices": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Globalization.Extensions.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Globalization.Extensions.dll": {}
+ }
+ },
+ "System.IO/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Globalization": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Text.Encoding": "4.0.10",
+ "System.Text.Encoding.Extensions": "4.0.0",
+ "System.Threading": "4.0.0",
+ "System.Threading.Tasks": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.IO.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.IO.dll": {}
+ },
+ "runtimeTargets": {
+ "runtimes/win8-aot/lib/netcore50/System.IO.dll": {
+ "assetType": "runtime",
+ "rid": "win8-aot"
+ }
+ }
+ },
+ "System.IO.Compression/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.IO": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.0",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Runtime.InteropServices": "4.0.0",
+ "System.Text.Encoding": "4.0.0",
+ "System.Threading": "4.0.0",
+ "System.Threading.Tasks": "4.0.0"
+ },
+ "compile": {
+ "ref/netcore50/System.IO.Compression.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.IO.Compression.dll": {}
+ }
+ },
+ "System.IO.Compression.ZipFile/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.IO": "4.0.10",
+ "System.IO.Compression": "4.0.0",
+ "System.IO.FileSystem": "4.0.0",
+ "System.IO.FileSystem.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Text.Encoding": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.IO.Compression.ZipFile.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.IO.Compression.ZipFile.dll": {}
+ }
+ },
+ "System.IO.FileSystem/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.IO.FileSystem.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.Handles": "4.0.0",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Runtime.WindowsRuntime": "4.0.0",
+ "System.Text.Encoding": "4.0.10",
+ "System.Text.Encoding.Extensions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Overlapped": "4.0.0",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.IO.FileSystem.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.IO.FileSystem.dll": {}
+ }
+ },
+ "System.IO.FileSystem.Primitives/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.IO.FileSystem.Primitives.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.IO.FileSystem.Primitives.dll": {}
+ }
+ },
+ "System.IO.IsolatedStorage/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.IO": "4.0.10",
+ "System.IO.FileSystem": "4.0.0",
+ "System.IO.FileSystem.Primitives": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.IO.IsolatedStorage.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.IO.IsolatedStorage.dll": {}
+ }
+ },
+ "System.IO.UnmanagedMemoryStream/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.IO": "4.0.10",
+ "System.IO.FileSystem.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.IO.UnmanagedMemoryStream.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.IO.UnmanagedMemoryStream.dll": {}
+ }
+ },
+ "System.Linq/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/System.Linq.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Linq.dll": {}
+ }
+ },
+ "System.Linq.Expressions/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.0",
+ "System.Globalization": "4.0.0",
+ "System.IO": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.Reflection": "4.0.0",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Threading": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Linq.Expressions.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Linq.Expressions.dll": {}
+ },
+ "runtimeTargets": {
+ "runtimes/win8-aot/lib/netcore50/System.Linq.Expressions.dll": {
+ "assetType": "runtime",
+ "rid": "win8-aot"
+ }
+ }
+ },
+ "System.Linq.Parallel/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Collections.Concurrent": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Diagnostics.Tracing": "4.0.20",
+ "System.Linq": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/System.Linq.Parallel.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Linq.Parallel.dll": {}
+ }
+ },
+ "System.Linq.Queryable/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Linq": "4.0.0",
+ "System.Linq.Expressions": "4.0.10",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/netcore50/System.Linq.Queryable.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Linq.Queryable.dll": {}
+ }
+ },
+ "System.Net.Http/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.Net.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Runtime.WindowsRuntime": "4.0.10",
+ "System.Text.Encoding": "4.0.10",
+ "System.Text.Encoding.Extensions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/System.Net.Http.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Net.Http.dll": {}
+ }
+ },
+ "System.Net.Http.Rtc/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Net.Http": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/netcore50/System.Net.Http.Rtc.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Net.Http.Rtc.dll": {}
+ }
+ },
+ "System.Net.NetworkInformation/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0",
+ "System.Runtime.InteropServices.WindowsRuntime": "4.0.0",
+ "System.Threading": "4.0.0"
+ },
+ "compile": {
+ "ref/netcore50/System.Net.NetworkInformation.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Net.NetworkInformation.dll": {}
+ }
+ },
+ "System.Net.Primitives/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.Networking": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Net.Primitives.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Net.Primitives.dll": {}
+ }
+ },
+ "System.Net.Requests/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.Net.Http": "4.0.0",
+ "System.Net.Primitives": "4.0.10",
+ "System.Net.WebHeaderCollection": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Net.Requests.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Net.Requests.dll": {}
+ }
+ },
+ "System.Net.Sockets/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.Networking": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Net.Sockets.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Net.Sockets.dll": {}
+ }
+ },
+ "System.Net.WebHeaderCollection/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections.NonGeneric": "4.0.0",
+ "System.Collections.Specialized": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Net.WebHeaderCollection.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Net.WebHeaderCollection.dll": {}
+ }
+ },
+ "System.Numerics.Vectors/4.1.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Globalization": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Numerics.Vectors.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Numerics.Vectors.dll": {}
+ }
+ },
+ "System.Numerics.Vectors.WindowsRuntime/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Numerics.Vectors": "4.1.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.WindowsRuntime": "4.0.0"
+ },
+ "compile": {
+ "lib/dotnet/System.Numerics.Vectors.WindowsRuntime.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Numerics.Vectors.WindowsRuntime.dll": {}
+ }
+ },
+ "System.ObjectModel/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.ObjectModel.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.ObjectModel.dll": {}
+ }
+ },
+ "System.Private.DataContractSerialization/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.Linq": "4.0.0",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.Serialization.Primitives": "4.0.10",
+ "System.Text.Encoding": "4.0.10",
+ "System.Text.Encoding.Extensions": "4.0.10",
+ "System.Text.RegularExpressions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Xml.ReaderWriter": "4.0.10",
+ "System.Xml.XmlSerializer": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/_._": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Private.DataContractSerialization.dll": {}
+ },
+ "runtimeTargets": {
+ "runtimes/win8-aot/lib/netcore50/System.Private.DataContractSerialization.dll": {
+ "assetType": "runtime",
+ "rid": "win8-aot"
+ }
+ }
+ },
+ "System.Private.Networking/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Win32.Primitives": "4.0.0",
+ "System.Collections": "4.0.10",
+ "System.Collections.NonGeneric": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Diagnostics.Tracing": "4.0.20",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.IO.FileSystem": "4.0.0",
+ "System.IO.FileSystem.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.Handles": "4.0.0",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Threading": "4.0.10",
+ "System.Threading.Overlapped": "4.0.0",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/_._": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Private.Networking.dll": {}
+ }
+ },
+ "System.Private.ServiceModel/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Collections.Concurrent": "4.0.10",
+ "System.Collections.NonGeneric": "4.0.0",
+ "System.Collections.Specialized": "4.0.0",
+ "System.ComponentModel.EventBasedAsync": "4.0.10",
+ "System.Diagnostics.Contracts": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.IO.Compression": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.Linq.Expressions": "4.0.10",
+ "System.Linq.Queryable": "4.0.0",
+ "System.Net.Http": "4.0.0",
+ "System.Net.Primitives": "4.0.10",
+ "System.Net.WebHeaderCollection": "4.0.0",
+ "System.ObjectModel": "4.0.10",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.DispatchProxy": "4.0.0",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Runtime.Serialization.Primitives": "4.0.10",
+ "System.Runtime.Serialization.Xml": "4.0.10",
+ "System.Runtime.WindowsRuntime": "4.0.10",
+ "System.Security.Claims": "4.0.0",
+ "System.Security.Principal": "4.0.0",
+ "System.Text.Encoding": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10",
+ "System.Threading.Timer": "4.0.0",
+ "System.Xml.ReaderWriter": "4.0.10",
+ "System.Xml.XmlDocument": "4.0.0",
+ "System.Xml.XmlSerializer": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/_._": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Private.ServiceModel.dll": {}
+ }
+ },
+ "System.Private.Uri/4.0.0": {
+ "type": "package",
+ "compile": {
+ "ref/netcore50/_._": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Private.Uri.dll": {}
+ },
+ "runtimeTargets": {
+ "runtimes/win8-aot/lib/netcore50/System.Private.Uri.dll": {
+ "assetType": "runtime",
+ "rid": "win8-aot"
+ }
+ }
+ },
+ "System.Reflection/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.IO": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Reflection.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Reflection.dll": {}
+ },
+ "runtimeTargets": {
+ "runtimes/win8-aot/lib/netcore50/System.Reflection.dll": {
+ "assetType": "runtime",
+ "rid": "win8-aot"
+ }
+ }
+ },
+ "System.Reflection.Context/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Reflection": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/netcore50/System.Reflection.Context.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Reflection.Context.dll": {}
+ }
+ },
+ "System.Reflection.DispatchProxy/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Linq": "4.0.0",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Reflection.DispatchProxy.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Reflection.DispatchProxy.dll": {}
+ },
+ "runtimeTargets": {
+ "runtimes/win8-aot/lib/netcore50/System.Reflection.DispatchProxy.dll": {
+ "assetType": "runtime",
+ "rid": "win8-aot"
+ }
+ }
+ },
+ "System.Reflection.Extensions/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/System.Reflection.Extensions.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Reflection.Extensions.dll": {}
+ },
+ "runtimeTargets": {
+ "runtimes/win8-aot/lib/netcore50/System.Reflection.Extensions.dll": {
+ "assetType": "runtime",
+ "rid": "win8-aot"
+ }
+ }
+ },
+ "System.Reflection.Metadata/1.0.22": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.Collections.Immutable": "1.1.37",
+ "System.Diagnostics.Debug": "4.0.0",
+ "System.IO": "4.0.0",
+ "System.Reflection": "4.0.0",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.0",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Runtime.InteropServices": "4.0.0",
+ "System.Text.Encoding": "4.0.0",
+ "System.Text.Encoding.Extensions": "4.0.0",
+ "System.Threading": "4.0.0"
+ },
+ "compile": {
+ "lib/dotnet/System.Reflection.Metadata.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Reflection.Metadata.dll": {}
+ }
+ },
+ "System.Reflection.Primitives/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0",
+ "System.Threading": "4.0.0"
+ },
+ "compile": {
+ "ref/netcore50/System.Reflection.Primitives.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Reflection.Primitives.dll": {}
+ },
+ "runtimeTargets": {
+ "runtimes/win8-aot/lib/netcore50/System.Reflection.Primitives.dll": {
+ "assetType": "runtime",
+ "rid": "win8-aot"
+ }
+ }
+ },
+ "System.Reflection.TypeExtensions/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Diagnostics.Contracts": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Linq": "4.0.0",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Reflection.TypeExtensions.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Reflection.TypeExtensions.dll": {}
+ },
+ "runtimeTargets": {
+ "runtimes/win8-aot/lib/netcore50/System.Reflection.TypeExtensions.dll": {
+ "assetType": "runtime",
+ "rid": "win8-aot"
+ }
+ }
+ },
+ "System.Resources.ResourceManager/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Globalization": "4.0.0",
+ "System.Reflection": "4.0.10",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/netcore50/System.Resources.ResourceManager.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Resources.ResourceManager.dll": {}
+ },
+ "runtimeTargets": {
+ "runtimes/win8-aot/lib/netcore50/System.Resources.ResourceManager.dll": {
+ "assetType": "runtime",
+ "rid": "win8-aot"
+ }
+ }
+ },
+ "System.Runtime/4.0.20": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.Uri": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Runtime.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Runtime.dll": {}
+ },
+ "runtimeTargets": {
+ "runtimes/win8-aot/lib/netcore50/System.Runtime.dll": {
+ "assetType": "runtime",
+ "rid": "win8-aot"
+ }
+ }
+ },
+ "System.Runtime.Extensions/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Runtime.Extensions.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Runtime.Extensions.dll": {}
+ },
+ "runtimeTargets": {
+ "runtimes/win8-aot/lib/netcore50/System.Runtime.Extensions.dll": {
+ "assetType": "runtime",
+ "rid": "win8-aot"
+ }
+ }
+ },
+ "System.Runtime.Handles/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Runtime.Handles.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Runtime.Handles.dll": {}
+ },
+ "runtimeTargets": {
+ "runtimes/win8-aot/lib/netcore50/System.Runtime.Handles.dll": {
+ "assetType": "runtime",
+ "rid": "win8-aot"
+ }
+ }
+ },
+ "System.Runtime.InteropServices/4.0.20": {
+ "type": "package",
+ "dependencies": {
+ "System.Reflection": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Runtime": "4.0.0",
+ "System.Runtime.Handles": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Runtime.InteropServices.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Runtime.InteropServices.dll": {}
+ },
+ "runtimeTargets": {
+ "runtimes/win8-aot/lib/netcore50/System.Runtime.InteropServices.dll": {
+ "assetType": "runtime",
+ "rid": "win8-aot"
+ }
+ }
+ },
+ "System.Runtime.InteropServices.WindowsRuntime/4.0.0": {
+ "type": "package",
+ "compile": {
+ "ref/netcore50/System.Runtime.InteropServices.WindowsRuntime.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Runtime.InteropServices.WindowsRuntime.dll": {}
+ },
+ "runtimeTargets": {
+ "runtimes/win8-aot/lib/netcore50/System.Runtime.InteropServices.WindowsRuntime.dll": {
+ "assetType": "runtime",
+ "rid": "win8-aot"
+ }
+ }
+ },
+ "System.Runtime.Numerics/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Globalization": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/System.Runtime.Numerics.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Runtime.Numerics.dll": {}
+ }
+ },
+ "System.Runtime.Serialization.Json/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.DataContractSerialization": "4.0.0"
+ },
+ "compile": {
+ "ref/netcore50/System.Runtime.Serialization.Json.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Runtime.Serialization.Json.dll": {}
+ },
+ "runtimeTargets": {
+ "runtimes/win8-aot/lib/netcore50/System.Runtime.Serialization.Json.dll": {
+ "assetType": "runtime",
+ "rid": "win8-aot"
+ }
+ }
+ },
+ "System.Runtime.Serialization.Primitives/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Runtime.Serialization.Primitives.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Runtime.Serialization.Primitives.dll": {}
+ }
+ },
+ "System.Runtime.Serialization.Xml/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.DataContractSerialization": "4.0.0",
+ "System.Runtime.Serialization.Primitives": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Runtime.Serialization.Xml.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Runtime.Serialization.Xml.dll": {}
+ },
+ "runtimeTargets": {
+ "runtimes/win8-aot/lib/netcore50/System.Runtime.Serialization.Xml.dll": {
+ "assetType": "runtime",
+ "rid": "win8-aot"
+ }
+ }
+ },
+ "System.Runtime.WindowsRuntime/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.0",
+ "System.IO": "4.0.10",
+ "System.ObjectModel": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/System.Runtime.WindowsRuntime.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Runtime.WindowsRuntime.dll": {}
+ },
+ "runtimeTargets": {
+ "runtimes/win8-aot/lib/netcore50/System.Runtime.WindowsRuntime.dll": {
+ "assetType": "runtime",
+ "rid": "win8-aot"
+ }
+ }
+ },
+ "System.Runtime.WindowsRuntime.UI.Xaml/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Globalization": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Runtime.WindowsRuntime": "4.0.0"
+ },
+ "compile": {
+ "ref/netcore50/System.Runtime.WindowsRuntime.UI.Xaml.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Runtime.WindowsRuntime.UI.Xaml.dll": {}
+ }
+ },
+ "System.Security.Claims/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.0",
+ "System.Globalization": "4.0.0",
+ "System.IO": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Security.Principal": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Security.Claims.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Security.Claims.dll": {}
+ }
+ },
+ "System.Security.Principal/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/netcore50/System.Security.Principal.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Security.Principal.dll": {}
+ }
+ },
+ "System.ServiceModel.Duplex/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.ServiceModel": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/netcore50/System.ServiceModel.Duplex.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.ServiceModel.Duplex.dll": {}
+ }
+ },
+ "System.ServiceModel.Http/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.ServiceModel": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.ServiceModel.Http.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.ServiceModel.Http.dll": {}
+ }
+ },
+ "System.ServiceModel.NetTcp/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.ServiceModel": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/netcore50/System.ServiceModel.NetTcp.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.ServiceModel.NetTcp.dll": {}
+ }
+ },
+ "System.ServiceModel.Primitives/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.ServiceModel": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/netcore50/System.ServiceModel.Primitives.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.ServiceModel.Primitives.dll": {}
+ }
+ },
+ "System.ServiceModel.Security/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.ServiceModel": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/netcore50/System.ServiceModel.Security.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.ServiceModel.Security.dll": {}
+ }
+ },
+ "System.Text.Encoding/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Text.Encoding.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Text.Encoding.dll": {}
+ },
+ "runtimeTargets": {
+ "runtimes/win8-aot/lib/netcore50/System.Text.Encoding.dll": {
+ "assetType": "runtime",
+ "rid": "win8-aot"
+ }
+ }
+ },
+ "System.Text.Encoding.CodePages/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.Reflection": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.Handles": "4.0.0",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Text.Encoding": "4.0.10",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Text.Encoding.CodePages.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Text.Encoding.CodePages.dll": {}
+ }
+ },
+ "System.Text.Encoding.Extensions/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0",
+ "System.Text.Encoding": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Text.Encoding.Extensions.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Text.Encoding.Extensions.dll": {}
+ },
+ "runtimeTargets": {
+ "runtimes/win8-aot/lib/netcore50/System.Text.Encoding.Extensions.dll": {
+ "assetType": "runtime",
+ "rid": "win8-aot"
+ }
+ }
+ },
+ "System.Text.RegularExpressions/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Text.RegularExpressions.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Text.RegularExpressions.dll": {}
+ }
+ },
+ "System.Threading/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0",
+ "System.Threading.Tasks": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Threading.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Threading.dll": {}
+ },
+ "runtimeTargets": {
+ "runtimes/win8-aot/lib/netcore50/System.Threading.dll": {
+ "assetType": "runtime",
+ "rid": "win8-aot"
+ }
+ }
+ },
+ "System.Threading.Overlapped/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Runtime.Handles": "4.0.0",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Threading.Overlapped.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Threading.Overlapped.dll": {}
+ }
+ },
+ "System.Threading.Tasks/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Threading.Tasks.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Threading.Tasks.dll": {}
+ },
+ "runtimeTargets": {
+ "runtimes/win8-aot/lib/netcore50/System.Threading.Tasks.dll": {
+ "assetType": "runtime",
+ "rid": "win8-aot"
+ }
+ }
+ },
+ "System.Threading.Tasks.Dataflow/4.5.25": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.Collections.Concurrent": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.0",
+ "System.Diagnostics.Tracing": "4.0.0",
+ "System.Dynamic.Runtime": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.0",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Threading": "4.0.0",
+ "System.Threading.Tasks": "4.0.0"
+ },
+ "compile": {
+ "lib/dotnet/System.Threading.Tasks.Dataflow.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Threading.Tasks.Dataflow.dll": {}
+ }
+ },
+ "System.Threading.Tasks.Parallel/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections.Concurrent": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Diagnostics.Tracing": "4.0.20",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/System.Threading.Tasks.Parallel.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Threading.Tasks.Parallel.dll": {}
+ }
+ },
+ "System.Threading.Timer/4.0.0": {
+ "type": "package",
+ "compile": {
+ "ref/netcore50/System.Threading.Timer.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Threading.Timer.dll": {}
+ },
+ "runtimeTargets": {
+ "runtimes/win8-aot/lib/netcore50/System.Threading.Timer.dll": {
+ "assetType": "runtime",
+ "rid": "win8-aot"
+ }
+ }
+ },
+ "System.Xml.ReaderWriter/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.IO.FileSystem": "4.0.0",
+ "System.IO.FileSystem.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Text.Encoding": "4.0.10",
+ "System.Text.Encoding.Extensions": "4.0.10",
+ "System.Text.RegularExpressions": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Xml.ReaderWriter.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Xml.ReaderWriter.dll": {}
+ }
+ },
+ "System.Xml.XDocument/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.Reflection": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Text.Encoding": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Xml.ReaderWriter": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Xml.XDocument.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Xml.XDocument.dll": {}
+ }
+ },
+ "System.Xml.XmlDocument/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Text.Encoding": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Xml.ReaderWriter": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Xml.XmlDocument.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Xml.XmlDocument.dll": {}
+ }
+ },
+ "System.Xml.XmlSerializer/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.Linq": "4.0.0",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Text.RegularExpressions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Xml.ReaderWriter": "4.0.10",
+ "System.Xml.XmlDocument": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Xml.XmlSerializer.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Xml.XmlSerializer.dll": {}
+ },
+ "runtimeTargets": {
+ "runtimes/win8-aot/lib/netcore50/System.Xml.XmlSerializer.dll": {
+ "assetType": "runtime",
+ "rid": "win8-aot"
+ }
+ }
+ }
+ },
+ "UAP,Version=v10.0/win10-arm": {
+ "Microsoft.CSharp/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Dynamic.Runtime": "4.0.0",
+ "System.Globalization": "4.0.10",
+ "System.Linq": "4.0.0",
+ "System.Linq.Expressions": "4.0.0",
+ "System.ObjectModel": "4.0.10",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/Microsoft.CSharp.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/Microsoft.CSharp.dll": {}
+ }
+ },
+ "Microsoft.NETCore/5.0.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.CSharp": "4.0.0",
+ "Microsoft.NETCore.Targets": "1.0.0",
+ "Microsoft.VisualBasic": "10.0.0",
+ "System.AppContext": "4.0.0",
+ "System.Collections": "4.0.10",
+ "System.Collections.Concurrent": "4.0.10",
+ "System.Collections.Immutable": "1.1.37",
+ "System.ComponentModel": "4.0.0",
+ "System.ComponentModel.Annotations": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Diagnostics.Tools": "4.0.0",
+ "System.Diagnostics.Tracing": "4.0.20",
+ "System.Dynamic.Runtime": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.Globalization.Calendars": "4.0.0",
+ "System.Globalization.Extensions": "4.0.0",
+ "System.IO": "4.0.10",
+ "System.IO.Compression": "4.0.0",
+ "System.IO.Compression.ZipFile": "4.0.0",
+ "System.IO.FileSystem": "4.0.0",
+ "System.IO.FileSystem.Primitives": "4.0.0",
+ "System.IO.UnmanagedMemoryStream": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.Linq.Expressions": "4.0.10",
+ "System.Linq.Parallel": "4.0.0",
+ "System.Linq.Queryable": "4.0.0",
+ "System.Net.Http": "4.0.0",
+ "System.Net.NetworkInformation": "4.0.0",
+ "System.Net.Primitives": "4.0.10",
+ "System.Numerics.Vectors": "4.1.0",
+ "System.ObjectModel": "4.0.10",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.DispatchProxy": "4.0.0",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Metadata": "1.0.22",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.Handles": "4.0.0",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Runtime.Numerics": "4.0.0",
+ "System.Security.Claims": "4.0.0",
+ "System.Security.Principal": "4.0.0",
+ "System.Text.Encoding": "4.0.10",
+ "System.Text.Encoding.Extensions": "4.0.10",
+ "System.Text.RegularExpressions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10",
+ "System.Threading.Tasks.Dataflow": "4.5.25",
+ "System.Threading.Tasks.Parallel": "4.0.0",
+ "System.Threading.Timer": "4.0.0",
+ "System.Xml.ReaderWriter": "4.0.10",
+ "System.Xml.XDocument": "4.0.10"
+ }
+ },
+ "Microsoft.NETCore.Platforms/1.0.0": {
+ "type": "package"
+ },
+ "Microsoft.NETCore.Portable.Compatibility/1.0.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.NETCore.Runtime": "1.0.0"
+ },
+ "compile": {
+ "ref/netcore50/System.ComponentModel.DataAnnotations.dll": {},
+ "ref/netcore50/System.Core.dll": {},
+ "ref/netcore50/System.Net.dll": {},
+ "ref/netcore50/System.Numerics.dll": {},
+ "ref/netcore50/System.Runtime.Serialization.dll": {},
+ "ref/netcore50/System.ServiceModel.Web.dll": {},
+ "ref/netcore50/System.ServiceModel.dll": {},
+ "ref/netcore50/System.Windows.dll": {},
+ "ref/netcore50/System.Xml.Linq.dll": {},
+ "ref/netcore50/System.Xml.Serialization.dll": {},
+ "ref/netcore50/System.Xml.dll": {},
+ "ref/netcore50/System.dll": {},
+ "ref/netcore50/mscorlib.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.ComponentModel.DataAnnotations.dll": {},
+ "lib/netcore50/System.Core.dll": {},
+ "lib/netcore50/System.Net.dll": {},
+ "lib/netcore50/System.Numerics.dll": {},
+ "lib/netcore50/System.Runtime.Serialization.dll": {},
+ "lib/netcore50/System.ServiceModel.Web.dll": {},
+ "lib/netcore50/System.ServiceModel.dll": {},
+ "lib/netcore50/System.Windows.dll": {},
+ "lib/netcore50/System.Xml.Linq.dll": {},
+ "lib/netcore50/System.Xml.Serialization.dll": {},
+ "lib/netcore50/System.Xml.dll": {},
+ "lib/netcore50/System.dll": {}
+ }
+ },
+ "Microsoft.NETCore.Runtime/1.0.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.NETCore.Runtime.CoreCLR-arm": "1.0.0"
+ }
+ },
+ "Microsoft.NETCore.Runtime.CoreCLR-arm/1.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "[4.0.10]",
+ "System.Diagnostics.Contracts": "[4.0.0]",
+ "System.Diagnostics.Debug": "[4.0.10]",
+ "System.Diagnostics.StackTrace": "[4.0.0]",
+ "System.Diagnostics.Tools": "[4.0.0]",
+ "System.Diagnostics.Tracing": "[4.0.20]",
+ "System.Globalization": "[4.0.10]",
+ "System.Globalization.Calendars": "[4.0.0]",
+ "System.IO": "[4.0.10]",
+ "System.ObjectModel": "[4.0.10]",
+ "System.Private.Uri": "[4.0.0]",
+ "System.Reflection": "[4.0.10]",
+ "System.Reflection.Extensions": "[4.0.0]",
+ "System.Reflection.Primitives": "[4.0.0]",
+ "System.Resources.ResourceManager": "[4.0.0]",
+ "System.Runtime": "[4.0.20]",
+ "System.Runtime.Extensions": "[4.0.10]",
+ "System.Runtime.Handles": "[4.0.0]",
+ "System.Runtime.InteropServices": "[4.0.20]",
+ "System.Text.Encoding": "[4.0.10]",
+ "System.Text.Encoding.Extensions": "[4.0.10]",
+ "System.Threading": "[4.0.10]",
+ "System.Threading.Tasks": "[4.0.10]",
+ "System.Threading.Timer": "[4.0.0]"
+ },
+ "compile": {
+ "ref/dotnet/_._": {}
+ },
+ "runtime": {
+ "runtimes/win8-arm/lib/dotnet/mscorlib.ni.dll": {}
+ },
+ "native": {
+ "runtimes/win8-arm/native/clretwrc.dll": {},
+ "runtimes/win8-arm/native/coreclr.dll": {},
+ "runtimes/win8-arm/native/dbgshim.dll": {},
+ "runtimes/win8-arm/native/mscordaccore.dll": {},
+ "runtimes/win8-arm/native/mscordbi.dll": {},
+ "runtimes/win8-arm/native/mscorrc.debug.dll": {},
+ "runtimes/win8-arm/native/mscorrc.dll": {}
+ }
+ },
+ "Microsoft.NETCore.Targets/1.0.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.NETCore.Platforms": "1.0.0",
+ "Microsoft.NETCore.Targets.UniversalWindowsPlatform": "5.0.0"
+ }
+ },
+ "Microsoft.NETCore.Targets.UniversalWindowsPlatform/5.0.0": {
+ "type": "package"
+ },
+ "Microsoft.NETCore.UniversalWindowsPlatform/5.0.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.NETCore": "5.0.0",
+ "Microsoft.NETCore.Portable.Compatibility": "1.0.0",
+ "Microsoft.NETCore.Runtime": "1.0.0",
+ "Microsoft.Win32.Primitives": "4.0.0",
+ "System.ComponentModel.EventBasedAsync": "4.0.10",
+ "System.Data.Common": "4.0.0",
+ "System.Diagnostics.Contracts": "4.0.0",
+ "System.Diagnostics.StackTrace": "4.0.0",
+ "System.IO.IsolatedStorage": "4.0.0",
+ "System.Net.Http.Rtc": "4.0.0",
+ "System.Net.Requests": "4.0.10",
+ "System.Net.Sockets": "4.0.0",
+ "System.Net.WebHeaderCollection": "4.0.0",
+ "System.Numerics.Vectors.WindowsRuntime": "4.0.0",
+ "System.Reflection.Context": "4.0.0",
+ "System.Runtime.InteropServices.WindowsRuntime": "4.0.0",
+ "System.Runtime.Serialization.Json": "4.0.0",
+ "System.Runtime.Serialization.Primitives": "4.0.10",
+ "System.Runtime.Serialization.Xml": "4.0.10",
+ "System.Runtime.WindowsRuntime": "4.0.10",
+ "System.Runtime.WindowsRuntime.UI.Xaml": "4.0.0",
+ "System.ServiceModel.Duplex": "4.0.0",
+ "System.ServiceModel.Http": "4.0.10",
+ "System.ServiceModel.NetTcp": "4.0.0",
+ "System.ServiceModel.Primitives": "4.0.0",
+ "System.ServiceModel.Security": "4.0.0",
+ "System.Text.Encoding.CodePages": "4.0.0",
+ "System.Xml.XmlSerializer": "4.0.10"
+ }
+ },
+ "Microsoft.VisualBasic/10.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Dynamic.Runtime": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.Linq": "4.0.0",
+ "System.Linq.Expressions": "4.0.10",
+ "System.ObjectModel": "4.0.10",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/Microsoft.VisualBasic.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/Microsoft.VisualBasic.dll": {}
+ }
+ },
+ "Microsoft.Win32.Primitives/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.20",
+ "System.Runtime.InteropServices": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/Microsoft.Win32.Primitives.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/Microsoft.Win32.Primitives.dll": {}
+ }
+ },
+ "System.AppContext/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Threading": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.AppContext.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.AppContext.dll": {}
+ }
+ },
+ "System.Collections/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Diagnostics.Debug": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Threading": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Collections.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Collections.dll": {}
+ }
+ },
+ "System.Collections.Concurrent/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Diagnostics.Tracing": "4.0.20",
+ "System.Globalization": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Collections.Concurrent.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Collections.Concurrent.dll": {}
+ }
+ },
+ "System.Collections.Immutable/1.1.37": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.0",
+ "System.Globalization": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.0",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Threading": "4.0.0"
+ },
+ "compile": {
+ "lib/dotnet/System.Collections.Immutable.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Collections.Immutable.dll": {}
+ }
+ },
+ "System.Collections.NonGeneric/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Collections.NonGeneric.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Collections.NonGeneric.dll": {}
+ }
+ },
+ "System.Collections.Specialized/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections.NonGeneric": "4.0.0",
+ "System.Globalization": "4.0.10",
+ "System.Globalization.Extensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Collections.Specialized.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Collections.Specialized.dll": {}
+ }
+ },
+ "System.ComponentModel/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/netcore50/System.ComponentModel.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.ComponentModel.dll": {}
+ }
+ },
+ "System.ComponentModel.Annotations/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.ComponentModel": "4.0.0",
+ "System.Globalization": "4.0.10",
+ "System.Linq": "4.0.0",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Text.RegularExpressions": "4.0.10",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.ComponentModel.Annotations.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.ComponentModel.Annotations.dll": {}
+ }
+ },
+ "System.ComponentModel.EventBasedAsync/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.ComponentModel.EventBasedAsync.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.ComponentModel.EventBasedAsync.dll": {}
+ }
+ },
+ "System.Data.Common/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Collections.NonGeneric": "4.0.0",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Text.RegularExpressions": "4.0.0",
+ "System.Threading.Tasks": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Data.Common.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Data.Common.dll": {}
+ }
+ },
+ "System.Diagnostics.Contracts/4.0.0": {
+ "type": "package",
+ "compile": {
+ "ref/netcore50/System.Diagnostics.Contracts.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Diagnostics.Contracts.dll": {}
+ }
+ },
+ "System.Diagnostics.Debug/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Diagnostics.Debug.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Diagnostics.Debug.dll": {}
+ }
+ },
+ "System.Diagnostics.StackTrace/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Diagnostics.StackTrace.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Diagnostics.StackTrace.dll": {}
+ }
+ },
+ "System.Diagnostics.Tools/4.0.0": {
+ "type": "package",
+ "compile": {
+ "ref/netcore50/System.Diagnostics.Tools.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Diagnostics.Tools.dll": {}
+ }
+ },
+ "System.Diagnostics.Tracing/4.0.20": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Globalization": "4.0.0",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.InteropServices": "4.0.0",
+ "System.Text.Encoding": "4.0.0",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Diagnostics.Tracing.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Diagnostics.Tracing.dll": {}
+ }
+ },
+ "System.Dynamic.Runtime/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.0",
+ "System.Globalization": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.Linq.Expressions": "4.0.10",
+ "System.ObjectModel": "4.0.0",
+ "System.Reflection": "4.0.0",
+ "System.Reflection.Emit.ILGeneration": "4.0.0",
+ "System.Reflection.Emit.Lightweight": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Threading": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Dynamic.Runtime.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Dynamic.Runtime.dll": {}
+ }
+ },
+ "System.Globalization/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Globalization.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Globalization.dll": {}
+ }
+ },
+ "System.Globalization.Calendars/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Globalization": "4.0.0",
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Globalization.Calendars.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Globalization.Calendars.dll": {}
+ }
+ },
+ "System.Globalization.Extensions/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Globalization": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.InteropServices": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Globalization.Extensions.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Globalization.Extensions.dll": {}
+ }
+ },
+ "System.IO/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Globalization": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Text.Encoding": "4.0.10",
+ "System.Text.Encoding.Extensions": "4.0.0",
+ "System.Threading": "4.0.0",
+ "System.Threading.Tasks": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.IO.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.IO.dll": {}
+ }
+ },
+ "System.IO.Compression/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.IO": "4.0.0",
+ "System.IO.Compression.clrcompression-arm": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.0",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Runtime.InteropServices": "4.0.0",
+ "System.Text.Encoding": "4.0.0",
+ "System.Threading": "4.0.0",
+ "System.Threading.Tasks": "4.0.0"
+ },
+ "compile": {
+ "ref/netcore50/System.IO.Compression.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.IO.Compression.dll": {}
+ }
+ },
+ "System.IO.Compression.clrcompression-arm/4.0.0": {
+ "type": "package",
+ "native": {
+ "runtimes/win10-arm/native/ClrCompression.dll": {}
+ }
+ },
+ "System.IO.Compression.ZipFile/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.IO": "4.0.10",
+ "System.IO.Compression": "4.0.0",
+ "System.IO.FileSystem": "4.0.0",
+ "System.IO.FileSystem.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Text.Encoding": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.IO.Compression.ZipFile.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.IO.Compression.ZipFile.dll": {}
+ }
+ },
+ "System.IO.FileSystem/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.IO.FileSystem.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.Handles": "4.0.0",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Runtime.WindowsRuntime": "4.0.0",
+ "System.Text.Encoding": "4.0.10",
+ "System.Text.Encoding.Extensions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Overlapped": "4.0.0",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.IO.FileSystem.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.IO.FileSystem.dll": {}
+ }
+ },
+ "System.IO.FileSystem.Primitives/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.IO.FileSystem.Primitives.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.IO.FileSystem.Primitives.dll": {}
+ }
+ },
+ "System.IO.IsolatedStorage/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.IO": "4.0.10",
+ "System.IO.FileSystem": "4.0.0",
+ "System.IO.FileSystem.Primitives": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.IO.IsolatedStorage.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.IO.IsolatedStorage.dll": {}
+ }
+ },
+ "System.IO.UnmanagedMemoryStream/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.IO": "4.0.10",
+ "System.IO.FileSystem.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.IO.UnmanagedMemoryStream.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.IO.UnmanagedMemoryStream.dll": {}
+ }
+ },
+ "System.Linq/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/System.Linq.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Linq.dll": {}
+ }
+ },
+ "System.Linq.Expressions/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.0",
+ "System.Globalization": "4.0.0",
+ "System.IO": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.Reflection": "4.0.0",
+ "System.Reflection.Emit.ILGeneration": "4.0.0",
+ "System.Reflection.Emit.Lightweight": "4.0.0",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Threading": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Linq.Expressions.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Linq.Expressions.dll": {}
+ }
+ },
+ "System.Linq.Parallel/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Collections.Concurrent": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Diagnostics.Tracing": "4.0.20",
+ "System.Linq": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/System.Linq.Parallel.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Linq.Parallel.dll": {}
+ }
+ },
+ "System.Linq.Queryable/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Linq": "4.0.0",
+ "System.Linq.Expressions": "4.0.10",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/netcore50/System.Linq.Queryable.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Linq.Queryable.dll": {}
+ }
+ },
+ "System.Net.Http/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.Net.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Runtime.WindowsRuntime": "4.0.10",
+ "System.Text.Encoding": "4.0.10",
+ "System.Text.Encoding.Extensions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/System.Net.Http.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Net.Http.dll": {}
+ }
+ },
+ "System.Net.Http.Rtc/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Net.Http": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/netcore50/System.Net.Http.Rtc.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Net.Http.Rtc.dll": {}
+ }
+ },
+ "System.Net.NetworkInformation/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0",
+ "System.Runtime.InteropServices.WindowsRuntime": "4.0.0",
+ "System.Threading": "4.0.0"
+ },
+ "compile": {
+ "ref/netcore50/System.Net.NetworkInformation.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Net.NetworkInformation.dll": {}
+ }
+ },
+ "System.Net.Primitives/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.Networking": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Net.Primitives.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Net.Primitives.dll": {}
+ }
+ },
+ "System.Net.Requests/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.Net.Http": "4.0.0",
+ "System.Net.Primitives": "4.0.10",
+ "System.Net.WebHeaderCollection": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Net.Requests.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Net.Requests.dll": {}
+ }
+ },
+ "System.Net.Sockets/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.Networking": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Net.Sockets.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Net.Sockets.dll": {}
+ }
+ },
+ "System.Net.WebHeaderCollection/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections.NonGeneric": "4.0.0",
+ "System.Collections.Specialized": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Net.WebHeaderCollection.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Net.WebHeaderCollection.dll": {}
+ }
+ },
+ "System.Numerics.Vectors/4.1.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Globalization": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Numerics.Vectors.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Numerics.Vectors.dll": {}
+ }
+ },
+ "System.Numerics.Vectors.WindowsRuntime/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Numerics.Vectors": "4.1.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.WindowsRuntime": "4.0.0"
+ },
+ "compile": {
+ "lib/dotnet/System.Numerics.Vectors.WindowsRuntime.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Numerics.Vectors.WindowsRuntime.dll": {}
+ }
+ },
+ "System.ObjectModel/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.ObjectModel.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.ObjectModel.dll": {}
+ }
+ },
+ "System.Private.DataContractSerialization/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.Linq": "4.0.0",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Emit.ILGeneration": "4.0.0",
+ "System.Reflection.Emit.Lightweight": "4.0.0",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.Serialization.Primitives": "4.0.10",
+ "System.Text.Encoding": "4.0.10",
+ "System.Text.Encoding.Extensions": "4.0.10",
+ "System.Text.RegularExpressions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Xml.ReaderWriter": "4.0.10",
+ "System.Xml.XmlSerializer": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/_._": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Private.DataContractSerialization.dll": {}
+ }
+ },
+ "System.Private.Networking/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Win32.Primitives": "4.0.0",
+ "System.Collections": "4.0.10",
+ "System.Collections.NonGeneric": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Diagnostics.Tracing": "4.0.20",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.IO.FileSystem": "4.0.0",
+ "System.IO.FileSystem.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.Handles": "4.0.0",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Threading": "4.0.10",
+ "System.Threading.Overlapped": "4.0.0",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/_._": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Private.Networking.dll": {}
+ }
+ },
+ "System.Private.ServiceModel/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Collections.Concurrent": "4.0.10",
+ "System.Collections.NonGeneric": "4.0.0",
+ "System.Collections.Specialized": "4.0.0",
+ "System.ComponentModel.EventBasedAsync": "4.0.10",
+ "System.Diagnostics.Contracts": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.IO.Compression": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.Linq.Expressions": "4.0.10",
+ "System.Linq.Queryable": "4.0.0",
+ "System.Net.Http": "4.0.0",
+ "System.Net.Primitives": "4.0.10",
+ "System.Net.WebHeaderCollection": "4.0.0",
+ "System.ObjectModel": "4.0.10",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.DispatchProxy": "4.0.0",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Runtime.Serialization.Primitives": "4.0.10",
+ "System.Runtime.Serialization.Xml": "4.0.10",
+ "System.Runtime.WindowsRuntime": "4.0.10",
+ "System.Security.Claims": "4.0.0",
+ "System.Security.Principal": "4.0.0",
+ "System.Text.Encoding": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10",
+ "System.Threading.Timer": "4.0.0",
+ "System.Xml.ReaderWriter": "4.0.10",
+ "System.Xml.XmlDocument": "4.0.0",
+ "System.Xml.XmlSerializer": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/_._": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Private.ServiceModel.dll": {}
+ }
+ },
+ "System.Private.Uri/4.0.0": {
+ "type": "package",
+ "compile": {
+ "ref/netcore50/_._": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Private.Uri.dll": {}
+ }
+ },
+ "System.Reflection/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.IO": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Reflection.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Reflection.dll": {}
+ }
+ },
+ "System.Reflection.Context/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Reflection": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/netcore50/System.Reflection.Context.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Reflection.Context.dll": {}
+ }
+ },
+ "System.Reflection.DispatchProxy/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Linq": "4.0.0",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Emit": "4.0.0",
+ "System.Reflection.Emit.ILGeneration": "4.0.0",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Reflection.DispatchProxy.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Reflection.DispatchProxy.dll": {}
+ }
+ },
+ "System.Reflection.Emit/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.IO": "4.0.0",
+ "System.Reflection": "4.0.0",
+ "System.Reflection.Emit.ILGeneration": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Reflection.Emit.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Reflection.Emit.dll": {}
+ }
+ },
+ "System.Reflection.Emit.ILGeneration/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Reflection": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Reflection.Emit.ILGeneration.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Reflection.Emit.ILGeneration.dll": {}
+ }
+ },
+ "System.Reflection.Emit.Lightweight/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Reflection": "4.0.0",
+ "System.Reflection.Emit.ILGeneration": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Reflection.Emit.Lightweight.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Reflection.Emit.Lightweight.dll": {}
+ }
+ },
+ "System.Reflection.Extensions/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/System.Reflection.Extensions.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Reflection.Extensions.dll": {}
+ }
+ },
+ "System.Reflection.Metadata/1.0.22": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.Collections.Immutable": "1.1.37",
+ "System.Diagnostics.Debug": "4.0.0",
+ "System.IO": "4.0.0",
+ "System.Reflection": "4.0.0",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.0",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Runtime.InteropServices": "4.0.0",
+ "System.Text.Encoding": "4.0.0",
+ "System.Text.Encoding.Extensions": "4.0.0",
+ "System.Threading": "4.0.0"
+ },
+ "compile": {
+ "lib/dotnet/System.Reflection.Metadata.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Reflection.Metadata.dll": {}
+ }
+ },
+ "System.Reflection.Primitives/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0",
+ "System.Threading": "4.0.0"
+ },
+ "compile": {
+ "ref/netcore50/System.Reflection.Primitives.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Reflection.Primitives.dll": {}
+ }
+ },
+ "System.Reflection.TypeExtensions/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Diagnostics.Contracts": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Linq": "4.0.0",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Reflection.TypeExtensions.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Reflection.TypeExtensions.dll": {}
+ }
+ },
+ "System.Resources.ResourceManager/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Globalization": "4.0.0",
+ "System.Reflection": "4.0.10",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/netcore50/System.Resources.ResourceManager.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Resources.ResourceManager.dll": {}
+ }
+ },
+ "System.Runtime/4.0.20": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.Uri": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Runtime.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Runtime.dll": {}
+ }
+ },
+ "System.Runtime.Extensions/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Runtime.Extensions.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Runtime.Extensions.dll": {}
+ }
+ },
+ "System.Runtime.Handles/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Runtime.Handles.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Runtime.Handles.dll": {}
+ }
+ },
+ "System.Runtime.InteropServices/4.0.20": {
+ "type": "package",
+ "dependencies": {
+ "System.Reflection": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Runtime": "4.0.0",
+ "System.Runtime.Handles": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Runtime.InteropServices.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Runtime.InteropServices.dll": {}
+ }
+ },
+ "System.Runtime.InteropServices.WindowsRuntime/4.0.0": {
+ "type": "package",
+ "compile": {
+ "ref/netcore50/System.Runtime.InteropServices.WindowsRuntime.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Runtime.InteropServices.WindowsRuntime.dll": {}
+ }
+ },
+ "System.Runtime.Numerics/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Globalization": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/System.Runtime.Numerics.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Runtime.Numerics.dll": {}
+ }
+ },
+ "System.Runtime.Serialization.Json/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.DataContractSerialization": "4.0.0"
+ },
+ "compile": {
+ "ref/netcore50/System.Runtime.Serialization.Json.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Runtime.Serialization.Json.dll": {}
+ }
+ },
+ "System.Runtime.Serialization.Primitives/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Runtime.Serialization.Primitives.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Runtime.Serialization.Primitives.dll": {}
+ }
+ },
+ "System.Runtime.Serialization.Xml/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.DataContractSerialization": "4.0.0",
+ "System.Runtime.Serialization.Primitives": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Runtime.Serialization.Xml.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Runtime.Serialization.Xml.dll": {}
+ }
+ },
+ "System.Runtime.WindowsRuntime/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.0",
+ "System.IO": "4.0.10",
+ "System.ObjectModel": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/System.Runtime.WindowsRuntime.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Runtime.WindowsRuntime.dll": {}
+ }
+ },
+ "System.Runtime.WindowsRuntime.UI.Xaml/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Globalization": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Runtime.WindowsRuntime": "4.0.0"
+ },
+ "compile": {
+ "ref/netcore50/System.Runtime.WindowsRuntime.UI.Xaml.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Runtime.WindowsRuntime.UI.Xaml.dll": {}
+ }
+ },
+ "System.Security.Claims/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.0",
+ "System.Globalization": "4.0.0",
+ "System.IO": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Security.Principal": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Security.Claims.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Security.Claims.dll": {}
+ }
+ },
+ "System.Security.Principal/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/netcore50/System.Security.Principal.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Security.Principal.dll": {}
+ }
+ },
+ "System.ServiceModel.Duplex/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.ServiceModel": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/netcore50/System.ServiceModel.Duplex.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.ServiceModel.Duplex.dll": {}
+ }
+ },
+ "System.ServiceModel.Http/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.ServiceModel": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.ServiceModel.Http.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.ServiceModel.Http.dll": {}
+ }
+ },
+ "System.ServiceModel.NetTcp/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.ServiceModel": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/netcore50/System.ServiceModel.NetTcp.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.ServiceModel.NetTcp.dll": {}
+ }
+ },
+ "System.ServiceModel.Primitives/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.ServiceModel": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/netcore50/System.ServiceModel.Primitives.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.ServiceModel.Primitives.dll": {}
+ }
+ },
+ "System.ServiceModel.Security/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.ServiceModel": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/netcore50/System.ServiceModel.Security.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.ServiceModel.Security.dll": {}
+ }
+ },
+ "System.Text.Encoding/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Text.Encoding.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Text.Encoding.dll": {}
+ }
+ },
+ "System.Text.Encoding.CodePages/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.Reflection": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.Handles": "4.0.0",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Text.Encoding": "4.0.10",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Text.Encoding.CodePages.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Text.Encoding.CodePages.dll": {}
+ }
+ },
+ "System.Text.Encoding.Extensions/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0",
+ "System.Text.Encoding": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Text.Encoding.Extensions.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Text.Encoding.Extensions.dll": {}
+ }
+ },
+ "System.Text.RegularExpressions/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Text.RegularExpressions.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Text.RegularExpressions.dll": {}
+ }
+ },
+ "System.Threading/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0",
+ "System.Threading.Tasks": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Threading.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Threading.dll": {}
+ }
+ },
+ "System.Threading.Overlapped/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Runtime.Handles": "4.0.0",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Threading.Overlapped.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Threading.Overlapped.dll": {}
+ }
+ },
+ "System.Threading.Tasks/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Threading.Tasks.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Threading.Tasks.dll": {}
+ }
+ },
+ "System.Threading.Tasks.Dataflow/4.5.25": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.Collections.Concurrent": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.0",
+ "System.Diagnostics.Tracing": "4.0.0",
+ "System.Dynamic.Runtime": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.0",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Threading": "4.0.0",
+ "System.Threading.Tasks": "4.0.0"
+ },
+ "compile": {
+ "lib/dotnet/System.Threading.Tasks.Dataflow.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Threading.Tasks.Dataflow.dll": {}
+ }
+ },
+ "System.Threading.Tasks.Parallel/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections.Concurrent": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Diagnostics.Tracing": "4.0.20",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/System.Threading.Tasks.Parallel.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Threading.Tasks.Parallel.dll": {}
+ }
+ },
+ "System.Threading.Timer/4.0.0": {
+ "type": "package",
+ "compile": {
+ "ref/netcore50/System.Threading.Timer.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Threading.Timer.dll": {}
+ }
+ },
+ "System.Xml.ReaderWriter/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.IO.FileSystem": "4.0.0",
+ "System.IO.FileSystem.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Text.Encoding": "4.0.10",
+ "System.Text.Encoding.Extensions": "4.0.10",
+ "System.Text.RegularExpressions": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Xml.ReaderWriter.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Xml.ReaderWriter.dll": {}
+ }
+ },
+ "System.Xml.XDocument/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.Reflection": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Text.Encoding": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Xml.ReaderWriter": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Xml.XDocument.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Xml.XDocument.dll": {}
+ }
+ },
+ "System.Xml.XmlDocument/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Text.Encoding": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Xml.ReaderWriter": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Xml.XmlDocument.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Xml.XmlDocument.dll": {}
+ }
+ },
+ "System.Xml.XmlSerializer/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.Linq": "4.0.0",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Emit": "4.0.0",
+ "System.Reflection.Emit.ILGeneration": "4.0.0",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Text.RegularExpressions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Xml.ReaderWriter": "4.0.10",
+ "System.Xml.XmlDocument": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Xml.XmlSerializer.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Xml.XmlSerializer.dll": {}
+ }
+ }
+ },
+ "UAP,Version=v10.0/win10-arm-aot": {
+ "Microsoft.CSharp/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Dynamic.Runtime": "4.0.0",
+ "System.Globalization": "4.0.10",
+ "System.Linq": "4.0.0",
+ "System.Linq.Expressions": "4.0.0",
+ "System.ObjectModel": "4.0.10",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/Microsoft.CSharp.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/Microsoft.CSharp.dll": {}
+ }
+ },
+ "Microsoft.NETCore/5.0.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.CSharp": "4.0.0",
+ "Microsoft.NETCore.Targets": "1.0.0",
+ "Microsoft.VisualBasic": "10.0.0",
+ "System.AppContext": "4.0.0",
+ "System.Collections": "4.0.10",
+ "System.Collections.Concurrent": "4.0.10",
+ "System.Collections.Immutable": "1.1.37",
+ "System.ComponentModel": "4.0.0",
+ "System.ComponentModel.Annotations": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Diagnostics.Tools": "4.0.0",
+ "System.Diagnostics.Tracing": "4.0.20",
+ "System.Dynamic.Runtime": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.Globalization.Calendars": "4.0.0",
+ "System.Globalization.Extensions": "4.0.0",
+ "System.IO": "4.0.10",
+ "System.IO.Compression": "4.0.0",
+ "System.IO.Compression.ZipFile": "4.0.0",
+ "System.IO.FileSystem": "4.0.0",
+ "System.IO.FileSystem.Primitives": "4.0.0",
+ "System.IO.UnmanagedMemoryStream": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.Linq.Expressions": "4.0.10",
+ "System.Linq.Parallel": "4.0.0",
+ "System.Linq.Queryable": "4.0.0",
+ "System.Net.Http": "4.0.0",
+ "System.Net.NetworkInformation": "4.0.0",
+ "System.Net.Primitives": "4.0.10",
+ "System.Numerics.Vectors": "4.1.0",
+ "System.ObjectModel": "4.0.10",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.DispatchProxy": "4.0.0",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Metadata": "1.0.22",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.Handles": "4.0.0",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Runtime.Numerics": "4.0.0",
+ "System.Security.Claims": "4.0.0",
+ "System.Security.Principal": "4.0.0",
+ "System.Text.Encoding": "4.0.10",
+ "System.Text.Encoding.Extensions": "4.0.10",
+ "System.Text.RegularExpressions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10",
+ "System.Threading.Tasks.Dataflow": "4.5.25",
+ "System.Threading.Tasks.Parallel": "4.0.0",
+ "System.Threading.Timer": "4.0.0",
+ "System.Xml.ReaderWriter": "4.0.10",
+ "System.Xml.XDocument": "4.0.10"
+ }
+ },
+ "Microsoft.NETCore.Platforms/1.0.0": {
+ "type": "package"
+ },
+ "Microsoft.NETCore.Portable.Compatibility/1.0.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.NETCore.Runtime": "1.0.0"
+ },
+ "compile": {
+ "ref/netcore50/System.ComponentModel.DataAnnotations.dll": {},
+ "ref/netcore50/System.Core.dll": {},
+ "ref/netcore50/System.Net.dll": {},
+ "ref/netcore50/System.Numerics.dll": {},
+ "ref/netcore50/System.Runtime.Serialization.dll": {},
+ "ref/netcore50/System.ServiceModel.Web.dll": {},
+ "ref/netcore50/System.ServiceModel.dll": {},
+ "ref/netcore50/System.Windows.dll": {},
+ "ref/netcore50/System.Xml.Linq.dll": {},
+ "ref/netcore50/System.Xml.Serialization.dll": {},
+ "ref/netcore50/System.Xml.dll": {},
+ "ref/netcore50/System.dll": {},
+ "ref/netcore50/mscorlib.dll": {}
+ },
+ "runtime": {
+ "runtimes/aot/lib/netcore50/System.ComponentModel.DataAnnotations.dll": {},
+ "runtimes/aot/lib/netcore50/System.Core.dll": {},
+ "runtimes/aot/lib/netcore50/System.Net.dll": {},
+ "runtimes/aot/lib/netcore50/System.Numerics.dll": {},
+ "runtimes/aot/lib/netcore50/System.Runtime.Serialization.dll": {},
+ "runtimes/aot/lib/netcore50/System.ServiceModel.Web.dll": {},
+ "runtimes/aot/lib/netcore50/System.ServiceModel.dll": {},
+ "runtimes/aot/lib/netcore50/System.Windows.dll": {},
+ "runtimes/aot/lib/netcore50/System.Xml.Linq.dll": {},
+ "runtimes/aot/lib/netcore50/System.Xml.Serialization.dll": {},
+ "runtimes/aot/lib/netcore50/System.Xml.dll": {},
+ "runtimes/aot/lib/netcore50/System.dll": {},
+ "runtimes/aot/lib/netcore50/mscorlib.dll": {}
+ }
+ },
+ "Microsoft.NETCore.Runtime/1.0.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.NETCore.Runtime.Native": "1.0.0"
+ }
+ },
+ "Microsoft.NETCore.Runtime.Native/1.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "[4.0.10]",
+ "System.Diagnostics.Contracts": "[4.0.0]",
+ "System.Diagnostics.Debug": "[4.0.10]",
+ "System.Diagnostics.StackTrace": "[4.0.0]",
+ "System.Diagnostics.Tools": "[4.0.0]",
+ "System.Diagnostics.Tracing": "[4.0.20]",
+ "System.Globalization": "[4.0.10]",
+ "System.Globalization.Calendars": "[4.0.0]",
+ "System.IO": "[4.0.10]",
+ "System.ObjectModel": "[4.0.10]",
+ "System.Private.Uri": "[4.0.0]",
+ "System.Reflection": "[4.0.10]",
+ "System.Reflection.Extensions": "[4.0.0]",
+ "System.Reflection.Primitives": "[4.0.0]",
+ "System.Resources.ResourceManager": "[4.0.0]",
+ "System.Runtime": "[4.0.20]",
+ "System.Runtime.Extensions": "[4.0.10]",
+ "System.Runtime.Handles": "[4.0.0]",
+ "System.Runtime.InteropServices": "[4.0.20]",
+ "System.Text.Encoding": "[4.0.10]",
+ "System.Text.Encoding.Extensions": "[4.0.10]",
+ "System.Threading": "[4.0.10]",
+ "System.Threading.Tasks": "[4.0.10]",
+ "System.Threading.Timer": "[4.0.0]"
+ }
+ },
+ "Microsoft.NETCore.Targets/1.0.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.NETCore.Platforms": "1.0.0",
+ "Microsoft.NETCore.Targets.UniversalWindowsPlatform": "5.0.0"
+ }
+ },
+ "Microsoft.NETCore.Targets.UniversalWindowsPlatform/5.0.0": {
+ "type": "package"
+ },
+ "Microsoft.NETCore.UniversalWindowsPlatform/5.0.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.NETCore": "5.0.0",
+ "Microsoft.NETCore.Portable.Compatibility": "1.0.0",
+ "Microsoft.NETCore.Runtime": "1.0.0",
+ "Microsoft.Win32.Primitives": "4.0.0",
+ "System.ComponentModel.EventBasedAsync": "4.0.10",
+ "System.Data.Common": "4.0.0",
+ "System.Diagnostics.Contracts": "4.0.0",
+ "System.Diagnostics.StackTrace": "4.0.0",
+ "System.IO.IsolatedStorage": "4.0.0",
+ "System.Net.Http.Rtc": "4.0.0",
+ "System.Net.Requests": "4.0.10",
+ "System.Net.Sockets": "4.0.0",
+ "System.Net.WebHeaderCollection": "4.0.0",
+ "System.Numerics.Vectors.WindowsRuntime": "4.0.0",
+ "System.Reflection.Context": "4.0.0",
+ "System.Runtime.InteropServices.WindowsRuntime": "4.0.0",
+ "System.Runtime.Serialization.Json": "4.0.0",
+ "System.Runtime.Serialization.Primitives": "4.0.10",
+ "System.Runtime.Serialization.Xml": "4.0.10",
+ "System.Runtime.WindowsRuntime": "4.0.10",
+ "System.Runtime.WindowsRuntime.UI.Xaml": "4.0.0",
+ "System.ServiceModel.Duplex": "4.0.0",
+ "System.ServiceModel.Http": "4.0.10",
+ "System.ServiceModel.NetTcp": "4.0.0",
+ "System.ServiceModel.Primitives": "4.0.0",
+ "System.ServiceModel.Security": "4.0.0",
+ "System.Text.Encoding.CodePages": "4.0.0",
+ "System.Xml.XmlSerializer": "4.0.10"
+ }
+ },
+ "Microsoft.VisualBasic/10.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Dynamic.Runtime": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.Linq": "4.0.0",
+ "System.Linq.Expressions": "4.0.10",
+ "System.ObjectModel": "4.0.10",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/Microsoft.VisualBasic.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/Microsoft.VisualBasic.dll": {}
+ }
+ },
+ "Microsoft.Win32.Primitives/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.20",
+ "System.Runtime.InteropServices": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/Microsoft.Win32.Primitives.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/Microsoft.Win32.Primitives.dll": {}
+ }
+ },
+ "System.AppContext/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Threading": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.AppContext.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.AppContext.dll": {}
+ }
+ },
+ "System.Collections/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Diagnostics.Debug": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Threading": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Collections.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Collections.dll": {}
+ }
+ },
+ "System.Collections.Concurrent/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Diagnostics.Tracing": "4.0.20",
+ "System.Globalization": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Collections.Concurrent.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Collections.Concurrent.dll": {}
+ }
+ },
+ "System.Collections.Immutable/1.1.37": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.0",
+ "System.Globalization": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.0",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Threading": "4.0.0"
+ },
+ "compile": {
+ "lib/dotnet/System.Collections.Immutable.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Collections.Immutable.dll": {}
+ }
+ },
+ "System.Collections.NonGeneric/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Collections.NonGeneric.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Collections.NonGeneric.dll": {}
+ }
+ },
+ "System.Collections.Specialized/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections.NonGeneric": "4.0.0",
+ "System.Globalization": "4.0.10",
+ "System.Globalization.Extensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Collections.Specialized.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Collections.Specialized.dll": {}
+ }
+ },
+ "System.ComponentModel/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/netcore50/System.ComponentModel.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.ComponentModel.dll": {}
+ }
+ },
+ "System.ComponentModel.Annotations/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.ComponentModel": "4.0.0",
+ "System.Globalization": "4.0.10",
+ "System.Linq": "4.0.0",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Text.RegularExpressions": "4.0.10",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.ComponentModel.Annotations.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.ComponentModel.Annotations.dll": {}
+ }
+ },
+ "System.ComponentModel.EventBasedAsync/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.ComponentModel.EventBasedAsync.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.ComponentModel.EventBasedAsync.dll": {}
+ }
+ },
+ "System.Data.Common/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Collections.NonGeneric": "4.0.0",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Text.RegularExpressions": "4.0.0",
+ "System.Threading.Tasks": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Data.Common.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Data.Common.dll": {}
+ }
+ },
+ "System.Diagnostics.Contracts/4.0.0": {
+ "type": "package",
+ "compile": {
+ "ref/netcore50/System.Diagnostics.Contracts.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Diagnostics.Contracts.dll": {}
+ }
+ },
+ "System.Diagnostics.Debug/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Diagnostics.Debug.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Diagnostics.Debug.dll": {}
+ }
+ },
+ "System.Diagnostics.StackTrace/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Diagnostics.StackTrace.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Diagnostics.StackTrace.dll": {}
+ }
+ },
+ "System.Diagnostics.Tools/4.0.0": {
+ "type": "package",
+ "compile": {
+ "ref/netcore50/System.Diagnostics.Tools.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Diagnostics.Tools.dll": {}
+ }
+ },
+ "System.Diagnostics.Tracing/4.0.20": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Globalization": "4.0.0",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.InteropServices": "4.0.0",
+ "System.Text.Encoding": "4.0.0",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Diagnostics.Tracing.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Diagnostics.Tracing.dll": {}
+ }
+ },
+ "System.Dynamic.Runtime/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.0",
+ "System.Globalization": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.Linq.Expressions": "4.0.10",
+ "System.ObjectModel": "4.0.0",
+ "System.Reflection": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Threading": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Dynamic.Runtime.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Dynamic.Runtime.dll": {}
+ }
+ },
+ "System.Globalization/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Globalization.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Globalization.dll": {}
+ }
+ },
+ "System.Globalization.Calendars/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Globalization": "4.0.0",
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Globalization.Calendars.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Globalization.Calendars.dll": {}
+ }
+ },
+ "System.Globalization.Extensions/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Globalization": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.InteropServices": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Globalization.Extensions.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Globalization.Extensions.dll": {}
+ }
+ },
+ "System.IO/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Globalization": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Text.Encoding": "4.0.10",
+ "System.Text.Encoding.Extensions": "4.0.0",
+ "System.Threading": "4.0.0",
+ "System.Threading.Tasks": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.IO.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.IO.dll": {}
+ }
+ },
+ "System.IO.Compression/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.IO": "4.0.0",
+ "System.IO.Compression.clrcompression-arm": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.0",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Runtime.InteropServices": "4.0.0",
+ "System.Text.Encoding": "4.0.0",
+ "System.Threading": "4.0.0",
+ "System.Threading.Tasks": "4.0.0"
+ },
+ "compile": {
+ "ref/netcore50/System.IO.Compression.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.IO.Compression.dll": {}
+ }
+ },
+ "System.IO.Compression.clrcompression-arm/4.0.0": {
+ "type": "package",
+ "native": {
+ "runtimes/win10-arm/native/ClrCompression.dll": {}
+ }
+ },
+ "System.IO.Compression.ZipFile/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.IO": "4.0.10",
+ "System.IO.Compression": "4.0.0",
+ "System.IO.FileSystem": "4.0.0",
+ "System.IO.FileSystem.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Text.Encoding": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.IO.Compression.ZipFile.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.IO.Compression.ZipFile.dll": {}
+ }
+ },
+ "System.IO.FileSystem/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.IO.FileSystem.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.Handles": "4.0.0",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Runtime.WindowsRuntime": "4.0.0",
+ "System.Text.Encoding": "4.0.10",
+ "System.Text.Encoding.Extensions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Overlapped": "4.0.0",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.IO.FileSystem.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.IO.FileSystem.dll": {}
+ }
+ },
+ "System.IO.FileSystem.Primitives/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.IO.FileSystem.Primitives.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.IO.FileSystem.Primitives.dll": {}
+ }
+ },
+ "System.IO.IsolatedStorage/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.IO": "4.0.10",
+ "System.IO.FileSystem": "4.0.0",
+ "System.IO.FileSystem.Primitives": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.IO.IsolatedStorage.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.IO.IsolatedStorage.dll": {}
+ }
+ },
+ "System.IO.UnmanagedMemoryStream/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.IO": "4.0.10",
+ "System.IO.FileSystem.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.IO.UnmanagedMemoryStream.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.IO.UnmanagedMemoryStream.dll": {}
+ }
+ },
+ "System.Linq/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/System.Linq.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Linq.dll": {}
+ }
+ },
+ "System.Linq.Expressions/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.0",
+ "System.Globalization": "4.0.0",
+ "System.IO": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.Reflection": "4.0.0",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Threading": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Linq.Expressions.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Linq.Expressions.dll": {}
+ }
+ },
+ "System.Linq.Parallel/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Collections.Concurrent": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Diagnostics.Tracing": "4.0.20",
+ "System.Linq": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/System.Linq.Parallel.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Linq.Parallel.dll": {}
+ }
+ },
+ "System.Linq.Queryable/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Linq": "4.0.0",
+ "System.Linq.Expressions": "4.0.10",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/netcore50/System.Linq.Queryable.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Linq.Queryable.dll": {}
+ }
+ },
+ "System.Net.Http/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.Net.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Runtime.WindowsRuntime": "4.0.10",
+ "System.Text.Encoding": "4.0.10",
+ "System.Text.Encoding.Extensions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/System.Net.Http.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Net.Http.dll": {}
+ }
+ },
+ "System.Net.Http.Rtc/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Net.Http": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/netcore50/System.Net.Http.Rtc.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Net.Http.Rtc.dll": {}
+ }
+ },
+ "System.Net.NetworkInformation/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0",
+ "System.Runtime.InteropServices.WindowsRuntime": "4.0.0",
+ "System.Threading": "4.0.0"
+ },
+ "compile": {
+ "ref/netcore50/System.Net.NetworkInformation.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Net.NetworkInformation.dll": {}
+ }
+ },
+ "System.Net.Primitives/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.Networking": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Net.Primitives.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Net.Primitives.dll": {}
+ }
+ },
+ "System.Net.Requests/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.Net.Http": "4.0.0",
+ "System.Net.Primitives": "4.0.10",
+ "System.Net.WebHeaderCollection": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Net.Requests.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Net.Requests.dll": {}
+ }
+ },
+ "System.Net.Sockets/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.Networking": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Net.Sockets.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Net.Sockets.dll": {}
+ }
+ },
+ "System.Net.WebHeaderCollection/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections.NonGeneric": "4.0.0",
+ "System.Collections.Specialized": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Net.WebHeaderCollection.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Net.WebHeaderCollection.dll": {}
+ }
+ },
+ "System.Numerics.Vectors/4.1.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Globalization": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Numerics.Vectors.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Numerics.Vectors.dll": {}
+ }
+ },
+ "System.Numerics.Vectors.WindowsRuntime/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Numerics.Vectors": "4.1.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.WindowsRuntime": "4.0.0"
+ },
+ "compile": {
+ "lib/dotnet/System.Numerics.Vectors.WindowsRuntime.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Numerics.Vectors.WindowsRuntime.dll": {}
+ }
+ },
+ "System.ObjectModel/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.ObjectModel.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.ObjectModel.dll": {}
+ }
+ },
+ "System.Private.DataContractSerialization/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.Linq": "4.0.0",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.Serialization.Primitives": "4.0.10",
+ "System.Text.Encoding": "4.0.10",
+ "System.Text.Encoding.Extensions": "4.0.10",
+ "System.Text.RegularExpressions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Xml.ReaderWriter": "4.0.10",
+ "System.Xml.XmlSerializer": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/_._": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Private.DataContractSerialization.dll": {}
+ }
+ },
+ "System.Private.Networking/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Win32.Primitives": "4.0.0",
+ "System.Collections": "4.0.10",
+ "System.Collections.NonGeneric": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Diagnostics.Tracing": "4.0.20",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.IO.FileSystem": "4.0.0",
+ "System.IO.FileSystem.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.Handles": "4.0.0",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Threading": "4.0.10",
+ "System.Threading.Overlapped": "4.0.0",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/_._": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Private.Networking.dll": {}
+ }
+ },
+ "System.Private.ServiceModel/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Collections.Concurrent": "4.0.10",
+ "System.Collections.NonGeneric": "4.0.0",
+ "System.Collections.Specialized": "4.0.0",
+ "System.ComponentModel.EventBasedAsync": "4.0.10",
+ "System.Diagnostics.Contracts": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.IO.Compression": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.Linq.Expressions": "4.0.10",
+ "System.Linq.Queryable": "4.0.0",
+ "System.Net.Http": "4.0.0",
+ "System.Net.Primitives": "4.0.10",
+ "System.Net.WebHeaderCollection": "4.0.0",
+ "System.ObjectModel": "4.0.10",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.DispatchProxy": "4.0.0",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Runtime.Serialization.Primitives": "4.0.10",
+ "System.Runtime.Serialization.Xml": "4.0.10",
+ "System.Runtime.WindowsRuntime": "4.0.10",
+ "System.Security.Claims": "4.0.0",
+ "System.Security.Principal": "4.0.0",
+ "System.Text.Encoding": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10",
+ "System.Threading.Timer": "4.0.0",
+ "System.Xml.ReaderWriter": "4.0.10",
+ "System.Xml.XmlDocument": "4.0.0",
+ "System.Xml.XmlSerializer": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/_._": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Private.ServiceModel.dll": {}
+ }
+ },
+ "System.Private.Uri/4.0.0": {
+ "type": "package",
+ "compile": {
+ "ref/netcore50/_._": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Private.Uri.dll": {}
+ }
+ },
+ "System.Reflection/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.IO": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Reflection.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Reflection.dll": {}
+ }
+ },
+ "System.Reflection.Context/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Reflection": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/netcore50/System.Reflection.Context.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Reflection.Context.dll": {}
+ }
+ },
+ "System.Reflection.DispatchProxy/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Linq": "4.0.0",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Reflection.DispatchProxy.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Reflection.DispatchProxy.dll": {}
+ }
+ },
+ "System.Reflection.Emit/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.IO": "4.0.0",
+ "System.Reflection": "4.0.0",
+ "System.Reflection.Emit.ILGeneration": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Reflection.Emit.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Reflection.Emit.dll": {}
+ }
+ },
+ "System.Reflection.Emit.ILGeneration/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Reflection": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Reflection.Emit.ILGeneration.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Reflection.Emit.ILGeneration.dll": {}
+ }
+ },
+ "System.Reflection.Extensions/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/System.Reflection.Extensions.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Reflection.Extensions.dll": {}
+ }
+ },
+ "System.Reflection.Metadata/1.0.22": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.Collections.Immutable": "1.1.37",
+ "System.Diagnostics.Debug": "4.0.0",
+ "System.IO": "4.0.0",
+ "System.Reflection": "4.0.0",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.0",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Runtime.InteropServices": "4.0.0",
+ "System.Text.Encoding": "4.0.0",
+ "System.Text.Encoding.Extensions": "4.0.0",
+ "System.Threading": "4.0.0"
+ },
+ "compile": {
+ "lib/dotnet/System.Reflection.Metadata.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Reflection.Metadata.dll": {}
+ }
+ },
+ "System.Reflection.Primitives/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0",
+ "System.Threading": "4.0.0"
+ },
+ "compile": {
+ "ref/netcore50/System.Reflection.Primitives.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Reflection.Primitives.dll": {}
+ }
+ },
+ "System.Reflection.TypeExtensions/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Diagnostics.Contracts": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Linq": "4.0.0",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Reflection.TypeExtensions.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Reflection.TypeExtensions.dll": {}
+ }
+ },
+ "System.Resources.ResourceManager/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Globalization": "4.0.0",
+ "System.Reflection": "4.0.10",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/netcore50/System.Resources.ResourceManager.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Resources.ResourceManager.dll": {}
+ }
+ },
+ "System.Runtime/4.0.20": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.Uri": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Runtime.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Runtime.dll": {}
+ }
+ },
+ "System.Runtime.Extensions/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Runtime.Extensions.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Runtime.Extensions.dll": {}
+ }
+ },
+ "System.Runtime.Handles/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Runtime.Handles.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Runtime.Handles.dll": {}
+ }
+ },
+ "System.Runtime.InteropServices/4.0.20": {
+ "type": "package",
+ "dependencies": {
+ "System.Reflection": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Runtime": "4.0.0",
+ "System.Runtime.Handles": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Runtime.InteropServices.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Runtime.InteropServices.dll": {}
+ }
+ },
+ "System.Runtime.InteropServices.WindowsRuntime/4.0.0": {
+ "type": "package",
+ "compile": {
+ "ref/netcore50/System.Runtime.InteropServices.WindowsRuntime.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Runtime.InteropServices.WindowsRuntime.dll": {}
+ }
+ },
+ "System.Runtime.Numerics/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Globalization": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/System.Runtime.Numerics.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Runtime.Numerics.dll": {}
+ }
+ },
+ "System.Runtime.Serialization.Json/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.DataContractSerialization": "4.0.0"
+ },
+ "compile": {
+ "ref/netcore50/System.Runtime.Serialization.Json.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Runtime.Serialization.Json.dll": {}
+ }
+ },
+ "System.Runtime.Serialization.Primitives/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Runtime.Serialization.Primitives.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Runtime.Serialization.Primitives.dll": {}
+ }
+ },
+ "System.Runtime.Serialization.Xml/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.DataContractSerialization": "4.0.0",
+ "System.Runtime.Serialization.Primitives": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Runtime.Serialization.Xml.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Runtime.Serialization.Xml.dll": {}
+ }
+ },
+ "System.Runtime.WindowsRuntime/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.0",
+ "System.IO": "4.0.10",
+ "System.ObjectModel": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/System.Runtime.WindowsRuntime.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Runtime.WindowsRuntime.dll": {}
+ }
+ },
+ "System.Runtime.WindowsRuntime.UI.Xaml/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Globalization": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Runtime.WindowsRuntime": "4.0.0"
+ },
+ "compile": {
+ "ref/netcore50/System.Runtime.WindowsRuntime.UI.Xaml.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Runtime.WindowsRuntime.UI.Xaml.dll": {}
+ }
+ },
+ "System.Security.Claims/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.0",
+ "System.Globalization": "4.0.0",
+ "System.IO": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Security.Principal": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Security.Claims.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Security.Claims.dll": {}
+ }
+ },
+ "System.Security.Principal/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/netcore50/System.Security.Principal.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Security.Principal.dll": {}
+ }
+ },
+ "System.ServiceModel.Duplex/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.ServiceModel": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/netcore50/System.ServiceModel.Duplex.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.ServiceModel.Duplex.dll": {}
+ }
+ },
+ "System.ServiceModel.Http/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.ServiceModel": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.ServiceModel.Http.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.ServiceModel.Http.dll": {}
+ }
+ },
+ "System.ServiceModel.NetTcp/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.ServiceModel": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/netcore50/System.ServiceModel.NetTcp.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.ServiceModel.NetTcp.dll": {}
+ }
+ },
+ "System.ServiceModel.Primitives/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.ServiceModel": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/netcore50/System.ServiceModel.Primitives.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.ServiceModel.Primitives.dll": {}
+ }
+ },
+ "System.ServiceModel.Security/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.ServiceModel": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/netcore50/System.ServiceModel.Security.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.ServiceModel.Security.dll": {}
+ }
+ },
+ "System.Text.Encoding/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Text.Encoding.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Text.Encoding.dll": {}
+ }
+ },
+ "System.Text.Encoding.CodePages/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.Reflection": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.Handles": "4.0.0",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Text.Encoding": "4.0.10",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Text.Encoding.CodePages.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Text.Encoding.CodePages.dll": {}
+ }
+ },
+ "System.Text.Encoding.Extensions/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0",
+ "System.Text.Encoding": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Text.Encoding.Extensions.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Text.Encoding.Extensions.dll": {}
+ }
+ },
+ "System.Text.RegularExpressions/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Text.RegularExpressions.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Text.RegularExpressions.dll": {}
+ }
+ },
+ "System.Threading/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0",
+ "System.Threading.Tasks": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Threading.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Threading.dll": {}
+ }
+ },
+ "System.Threading.Overlapped/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Runtime.Handles": "4.0.0",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Threading.Overlapped.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Threading.Overlapped.dll": {}
+ }
+ },
+ "System.Threading.Tasks/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Threading.Tasks.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Threading.Tasks.dll": {}
+ }
+ },
+ "System.Threading.Tasks.Dataflow/4.5.25": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.Collections.Concurrent": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.0",
+ "System.Diagnostics.Tracing": "4.0.0",
+ "System.Dynamic.Runtime": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.0",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Threading": "4.0.0",
+ "System.Threading.Tasks": "4.0.0"
+ },
+ "compile": {
+ "lib/dotnet/System.Threading.Tasks.Dataflow.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Threading.Tasks.Dataflow.dll": {}
+ }
+ },
+ "System.Threading.Tasks.Parallel/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections.Concurrent": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Diagnostics.Tracing": "4.0.20",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/System.Threading.Tasks.Parallel.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Threading.Tasks.Parallel.dll": {}
+ }
+ },
+ "System.Threading.Timer/4.0.0": {
+ "type": "package",
+ "compile": {
+ "ref/netcore50/System.Threading.Timer.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Threading.Timer.dll": {}
+ }
+ },
+ "System.Xml.ReaderWriter/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.IO.FileSystem": "4.0.0",
+ "System.IO.FileSystem.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Text.Encoding": "4.0.10",
+ "System.Text.Encoding.Extensions": "4.0.10",
+ "System.Text.RegularExpressions": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Xml.ReaderWriter.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Xml.ReaderWriter.dll": {}
+ }
+ },
+ "System.Xml.XDocument/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.Reflection": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Text.Encoding": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Xml.ReaderWriter": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Xml.XDocument.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Xml.XDocument.dll": {}
+ }
+ },
+ "System.Xml.XmlDocument/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Text.Encoding": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Xml.ReaderWriter": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Xml.XmlDocument.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Xml.XmlDocument.dll": {}
+ }
+ },
+ "System.Xml.XmlSerializer/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.Linq": "4.0.0",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Emit": "4.0.0",
+ "System.Reflection.Emit.ILGeneration": "4.0.0",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Text.RegularExpressions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Xml.ReaderWriter": "4.0.10",
+ "System.Xml.XmlDocument": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Xml.XmlSerializer.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Xml.XmlSerializer.dll": {}
+ }
+ }
+ },
+ "UAP,Version=v10.0/win10-x64": {
+ "Microsoft.CSharp/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Dynamic.Runtime": "4.0.0",
+ "System.Globalization": "4.0.10",
+ "System.Linq": "4.0.0",
+ "System.Linq.Expressions": "4.0.0",
+ "System.ObjectModel": "4.0.10",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/Microsoft.CSharp.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/Microsoft.CSharp.dll": {}
+ }
+ },
+ "Microsoft.NETCore/5.0.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.CSharp": "4.0.0",
+ "Microsoft.NETCore.Targets": "1.0.0",
+ "Microsoft.VisualBasic": "10.0.0",
+ "System.AppContext": "4.0.0",
+ "System.Collections": "4.0.10",
+ "System.Collections.Concurrent": "4.0.10",
+ "System.Collections.Immutable": "1.1.37",
+ "System.ComponentModel": "4.0.0",
+ "System.ComponentModel.Annotations": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Diagnostics.Tools": "4.0.0",
+ "System.Diagnostics.Tracing": "4.0.20",
+ "System.Dynamic.Runtime": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.Globalization.Calendars": "4.0.0",
+ "System.Globalization.Extensions": "4.0.0",
+ "System.IO": "4.0.10",
+ "System.IO.Compression": "4.0.0",
+ "System.IO.Compression.ZipFile": "4.0.0",
+ "System.IO.FileSystem": "4.0.0",
+ "System.IO.FileSystem.Primitives": "4.0.0",
+ "System.IO.UnmanagedMemoryStream": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.Linq.Expressions": "4.0.10",
+ "System.Linq.Parallel": "4.0.0",
+ "System.Linq.Queryable": "4.0.0",
+ "System.Net.Http": "4.0.0",
+ "System.Net.NetworkInformation": "4.0.0",
+ "System.Net.Primitives": "4.0.10",
+ "System.Numerics.Vectors": "4.1.0",
+ "System.ObjectModel": "4.0.10",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.DispatchProxy": "4.0.0",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Metadata": "1.0.22",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.Handles": "4.0.0",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Runtime.Numerics": "4.0.0",
+ "System.Security.Claims": "4.0.0",
+ "System.Security.Principal": "4.0.0",
+ "System.Text.Encoding": "4.0.10",
+ "System.Text.Encoding.Extensions": "4.0.10",
+ "System.Text.RegularExpressions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10",
+ "System.Threading.Tasks.Dataflow": "4.5.25",
+ "System.Threading.Tasks.Parallel": "4.0.0",
+ "System.Threading.Timer": "4.0.0",
+ "System.Xml.ReaderWriter": "4.0.10",
+ "System.Xml.XDocument": "4.0.10"
+ }
+ },
+ "Microsoft.NETCore.Platforms/1.0.0": {
+ "type": "package"
+ },
+ "Microsoft.NETCore.Portable.Compatibility/1.0.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.NETCore.Runtime": "1.0.0"
+ },
+ "compile": {
+ "ref/netcore50/System.ComponentModel.DataAnnotations.dll": {},
+ "ref/netcore50/System.Core.dll": {},
+ "ref/netcore50/System.Net.dll": {},
+ "ref/netcore50/System.Numerics.dll": {},
+ "ref/netcore50/System.Runtime.Serialization.dll": {},
+ "ref/netcore50/System.ServiceModel.Web.dll": {},
+ "ref/netcore50/System.ServiceModel.dll": {},
+ "ref/netcore50/System.Windows.dll": {},
+ "ref/netcore50/System.Xml.Linq.dll": {},
+ "ref/netcore50/System.Xml.Serialization.dll": {},
+ "ref/netcore50/System.Xml.dll": {},
+ "ref/netcore50/System.dll": {},
+ "ref/netcore50/mscorlib.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.ComponentModel.DataAnnotations.dll": {},
+ "lib/netcore50/System.Core.dll": {},
+ "lib/netcore50/System.Net.dll": {},
+ "lib/netcore50/System.Numerics.dll": {},
+ "lib/netcore50/System.Runtime.Serialization.dll": {},
+ "lib/netcore50/System.ServiceModel.Web.dll": {},
+ "lib/netcore50/System.ServiceModel.dll": {},
+ "lib/netcore50/System.Windows.dll": {},
+ "lib/netcore50/System.Xml.Linq.dll": {},
+ "lib/netcore50/System.Xml.Serialization.dll": {},
+ "lib/netcore50/System.Xml.dll": {},
+ "lib/netcore50/System.dll": {}
+ }
+ },
+ "Microsoft.NETCore.Runtime/1.0.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.NETCore.Runtime.CoreCLR-x64": "1.0.0",
+ "Microsoft.NETCore.Windows.ApiSets-x64": "1.0.0"
+ }
+ },
+ "Microsoft.NETCore.Runtime.CoreCLR-x64/1.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "[4.0.10]",
+ "System.Diagnostics.Contracts": "[4.0.0]",
+ "System.Diagnostics.Debug": "[4.0.10]",
+ "System.Diagnostics.StackTrace": "[4.0.0]",
+ "System.Diagnostics.Tools": "[4.0.0]",
+ "System.Diagnostics.Tracing": "[4.0.20]",
+ "System.Globalization": "[4.0.10]",
+ "System.Globalization.Calendars": "[4.0.0]",
+ "System.IO": "[4.0.10]",
+ "System.ObjectModel": "[4.0.10]",
+ "System.Private.Uri": "[4.0.0]",
+ "System.Reflection": "[4.0.10]",
+ "System.Reflection.Extensions": "[4.0.0]",
+ "System.Reflection.Primitives": "[4.0.0]",
+ "System.Resources.ResourceManager": "[4.0.0]",
+ "System.Runtime": "[4.0.20]",
+ "System.Runtime.Extensions": "[4.0.10]",
+ "System.Runtime.Handles": "[4.0.0]",
+ "System.Runtime.InteropServices": "[4.0.20]",
+ "System.Text.Encoding": "[4.0.10]",
+ "System.Text.Encoding.Extensions": "[4.0.10]",
+ "System.Threading": "[4.0.10]",
+ "System.Threading.Tasks": "[4.0.10]",
+ "System.Threading.Timer": "[4.0.0]"
+ },
+ "compile": {
+ "ref/dotnet/_._": {}
+ },
+ "runtime": {
+ "runtimes/win7-x64/lib/dotnet/mscorlib.ni.dll": {}
+ },
+ "native": {
+ "runtimes/win7-x64/native/clretwrc.dll": {},
+ "runtimes/win7-x64/native/coreclr.dll": {},
+ "runtimes/win7-x64/native/dbgshim.dll": {},
+ "runtimes/win7-x64/native/mscordaccore.dll": {},
+ "runtimes/win7-x64/native/mscordbi.dll": {},
+ "runtimes/win7-x64/native/mscorrc.debug.dll": {},
+ "runtimes/win7-x64/native/mscorrc.dll": {}
+ }
+ },
+ "Microsoft.NETCore.Targets/1.0.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.NETCore.Platforms": "1.0.0",
+ "Microsoft.NETCore.Targets.UniversalWindowsPlatform": "5.0.0"
+ }
+ },
+ "Microsoft.NETCore.Targets.UniversalWindowsPlatform/5.0.0": {
+ "type": "package"
+ },
+ "Microsoft.NETCore.UniversalWindowsPlatform/5.0.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.NETCore": "5.0.0",
+ "Microsoft.NETCore.Portable.Compatibility": "1.0.0",
+ "Microsoft.NETCore.Runtime": "1.0.0",
+ "Microsoft.Win32.Primitives": "4.0.0",
+ "System.ComponentModel.EventBasedAsync": "4.0.10",
+ "System.Data.Common": "4.0.0",
+ "System.Diagnostics.Contracts": "4.0.0",
+ "System.Diagnostics.StackTrace": "4.0.0",
+ "System.IO.IsolatedStorage": "4.0.0",
+ "System.Net.Http.Rtc": "4.0.0",
+ "System.Net.Requests": "4.0.10",
+ "System.Net.Sockets": "4.0.0",
+ "System.Net.WebHeaderCollection": "4.0.0",
+ "System.Numerics.Vectors.WindowsRuntime": "4.0.0",
+ "System.Reflection.Context": "4.0.0",
+ "System.Runtime.InteropServices.WindowsRuntime": "4.0.0",
+ "System.Runtime.Serialization.Json": "4.0.0",
+ "System.Runtime.Serialization.Primitives": "4.0.10",
+ "System.Runtime.Serialization.Xml": "4.0.10",
+ "System.Runtime.WindowsRuntime": "4.0.10",
+ "System.Runtime.WindowsRuntime.UI.Xaml": "4.0.0",
+ "System.ServiceModel.Duplex": "4.0.0",
+ "System.ServiceModel.Http": "4.0.10",
+ "System.ServiceModel.NetTcp": "4.0.0",
+ "System.ServiceModel.Primitives": "4.0.0",
+ "System.ServiceModel.Security": "4.0.0",
+ "System.Text.Encoding.CodePages": "4.0.0",
+ "System.Xml.XmlSerializer": "4.0.10"
+ }
+ },
+ "Microsoft.NETCore.Windows.ApiSets-x64/1.0.0": {
+ "type": "package",
+ "native": {
+ "runtimes/win10-x64/native/_._": {}
+ }
+ },
+ "Microsoft.VisualBasic/10.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Dynamic.Runtime": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.Linq": "4.0.0",
+ "System.Linq.Expressions": "4.0.10",
+ "System.ObjectModel": "4.0.10",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/Microsoft.VisualBasic.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/Microsoft.VisualBasic.dll": {}
+ }
+ },
+ "Microsoft.Win32.Primitives/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.20",
+ "System.Runtime.InteropServices": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/Microsoft.Win32.Primitives.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/Microsoft.Win32.Primitives.dll": {}
+ }
+ },
+ "System.AppContext/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Threading": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.AppContext.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.AppContext.dll": {}
+ }
+ },
+ "System.Collections/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Diagnostics.Debug": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Threading": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Collections.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Collections.dll": {}
+ }
+ },
+ "System.Collections.Concurrent/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Diagnostics.Tracing": "4.0.20",
+ "System.Globalization": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Collections.Concurrent.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Collections.Concurrent.dll": {}
+ }
+ },
+ "System.Collections.Immutable/1.1.37": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.0",
+ "System.Globalization": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.0",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Threading": "4.0.0"
+ },
+ "compile": {
+ "lib/dotnet/System.Collections.Immutable.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Collections.Immutable.dll": {}
+ }
+ },
+ "System.Collections.NonGeneric/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Collections.NonGeneric.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Collections.NonGeneric.dll": {}
+ }
+ },
+ "System.Collections.Specialized/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections.NonGeneric": "4.0.0",
+ "System.Globalization": "4.0.10",
+ "System.Globalization.Extensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Collections.Specialized.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Collections.Specialized.dll": {}
+ }
+ },
+ "System.ComponentModel/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/netcore50/System.ComponentModel.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.ComponentModel.dll": {}
+ }
+ },
+ "System.ComponentModel.Annotations/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.ComponentModel": "4.0.0",
+ "System.Globalization": "4.0.10",
+ "System.Linq": "4.0.0",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Text.RegularExpressions": "4.0.10",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.ComponentModel.Annotations.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.ComponentModel.Annotations.dll": {}
+ }
+ },
+ "System.ComponentModel.EventBasedAsync/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.ComponentModel.EventBasedAsync.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.ComponentModel.EventBasedAsync.dll": {}
+ }
+ },
+ "System.Data.Common/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Collections.NonGeneric": "4.0.0",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Text.RegularExpressions": "4.0.0",
+ "System.Threading.Tasks": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Data.Common.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Data.Common.dll": {}
+ }
+ },
+ "System.Diagnostics.Contracts/4.0.0": {
+ "type": "package",
+ "compile": {
+ "ref/netcore50/System.Diagnostics.Contracts.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Diagnostics.Contracts.dll": {}
+ }
+ },
+ "System.Diagnostics.Debug/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Diagnostics.Debug.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Diagnostics.Debug.dll": {}
+ }
+ },
+ "System.Diagnostics.StackTrace/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Diagnostics.StackTrace.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Diagnostics.StackTrace.dll": {}
+ }
+ },
+ "System.Diagnostics.Tools/4.0.0": {
+ "type": "package",
+ "compile": {
+ "ref/netcore50/System.Diagnostics.Tools.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Diagnostics.Tools.dll": {}
+ }
+ },
+ "System.Diagnostics.Tracing/4.0.20": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Globalization": "4.0.0",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.InteropServices": "4.0.0",
+ "System.Text.Encoding": "4.0.0",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Diagnostics.Tracing.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Diagnostics.Tracing.dll": {}
+ }
+ },
+ "System.Dynamic.Runtime/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.0",
+ "System.Globalization": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.Linq.Expressions": "4.0.10",
+ "System.ObjectModel": "4.0.0",
+ "System.Reflection": "4.0.0",
+ "System.Reflection.Emit.ILGeneration": "4.0.0",
+ "System.Reflection.Emit.Lightweight": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Threading": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Dynamic.Runtime.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Dynamic.Runtime.dll": {}
+ }
+ },
+ "System.Globalization/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Globalization.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Globalization.dll": {}
+ }
+ },
+ "System.Globalization.Calendars/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Globalization": "4.0.0",
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Globalization.Calendars.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Globalization.Calendars.dll": {}
+ }
+ },
+ "System.Globalization.Extensions/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Globalization": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.InteropServices": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Globalization.Extensions.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Globalization.Extensions.dll": {}
+ }
+ },
+ "System.IO/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Globalization": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Text.Encoding": "4.0.10",
+ "System.Text.Encoding.Extensions": "4.0.0",
+ "System.Threading": "4.0.0",
+ "System.Threading.Tasks": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.IO.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.IO.dll": {}
+ }
+ },
+ "System.IO.Compression/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.IO": "4.0.0",
+ "System.IO.Compression.clrcompression-x64": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.0",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Runtime.InteropServices": "4.0.0",
+ "System.Text.Encoding": "4.0.0",
+ "System.Threading": "4.0.0",
+ "System.Threading.Tasks": "4.0.0"
+ },
+ "compile": {
+ "ref/netcore50/System.IO.Compression.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.IO.Compression.dll": {}
+ }
+ },
+ "System.IO.Compression.clrcompression-x64/4.0.0": {
+ "type": "package",
+ "native": {
+ "runtimes/win10-x64/native/ClrCompression.dll": {}
+ }
+ },
+ "System.IO.Compression.ZipFile/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.IO": "4.0.10",
+ "System.IO.Compression": "4.0.0",
+ "System.IO.FileSystem": "4.0.0",
+ "System.IO.FileSystem.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Text.Encoding": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.IO.Compression.ZipFile.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.IO.Compression.ZipFile.dll": {}
+ }
+ },
+ "System.IO.FileSystem/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.IO.FileSystem.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.Handles": "4.0.0",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Runtime.WindowsRuntime": "4.0.0",
+ "System.Text.Encoding": "4.0.10",
+ "System.Text.Encoding.Extensions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Overlapped": "4.0.0",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.IO.FileSystem.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.IO.FileSystem.dll": {}
+ }
+ },
+ "System.IO.FileSystem.Primitives/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.IO.FileSystem.Primitives.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.IO.FileSystem.Primitives.dll": {}
+ }
+ },
+ "System.IO.IsolatedStorage/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.IO": "4.0.10",
+ "System.IO.FileSystem": "4.0.0",
+ "System.IO.FileSystem.Primitives": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.IO.IsolatedStorage.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.IO.IsolatedStorage.dll": {}
+ }
+ },
+ "System.IO.UnmanagedMemoryStream/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.IO": "4.0.10",
+ "System.IO.FileSystem.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.IO.UnmanagedMemoryStream.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.IO.UnmanagedMemoryStream.dll": {}
+ }
+ },
+ "System.Linq/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/System.Linq.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Linq.dll": {}
+ }
+ },
+ "System.Linq.Expressions/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.0",
+ "System.Globalization": "4.0.0",
+ "System.IO": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.Reflection": "4.0.0",
+ "System.Reflection.Emit.ILGeneration": "4.0.0",
+ "System.Reflection.Emit.Lightweight": "4.0.0",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Threading": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Linq.Expressions.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Linq.Expressions.dll": {}
+ }
+ },
+ "System.Linq.Parallel/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Collections.Concurrent": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Diagnostics.Tracing": "4.0.20",
+ "System.Linq": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/System.Linq.Parallel.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Linq.Parallel.dll": {}
+ }
+ },
+ "System.Linq.Queryable/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Linq": "4.0.0",
+ "System.Linq.Expressions": "4.0.10",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/netcore50/System.Linq.Queryable.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Linq.Queryable.dll": {}
+ }
+ },
+ "System.Net.Http/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.Net.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Runtime.WindowsRuntime": "4.0.10",
+ "System.Text.Encoding": "4.0.10",
+ "System.Text.Encoding.Extensions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/System.Net.Http.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Net.Http.dll": {}
+ }
+ },
+ "System.Net.Http.Rtc/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Net.Http": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/netcore50/System.Net.Http.Rtc.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Net.Http.Rtc.dll": {}
+ }
+ },
+ "System.Net.NetworkInformation/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0",
+ "System.Runtime.InteropServices.WindowsRuntime": "4.0.0",
+ "System.Threading": "4.0.0"
+ },
+ "compile": {
+ "ref/netcore50/System.Net.NetworkInformation.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Net.NetworkInformation.dll": {}
+ }
+ },
+ "System.Net.Primitives/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.Networking": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Net.Primitives.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Net.Primitives.dll": {}
+ }
+ },
+ "System.Net.Requests/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.Net.Http": "4.0.0",
+ "System.Net.Primitives": "4.0.10",
+ "System.Net.WebHeaderCollection": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Net.Requests.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Net.Requests.dll": {}
+ }
+ },
+ "System.Net.Sockets/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.Networking": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Net.Sockets.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Net.Sockets.dll": {}
+ }
+ },
+ "System.Net.WebHeaderCollection/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections.NonGeneric": "4.0.0",
+ "System.Collections.Specialized": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Net.WebHeaderCollection.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Net.WebHeaderCollection.dll": {}
+ }
+ },
+ "System.Numerics.Vectors/4.1.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Globalization": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Numerics.Vectors.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Numerics.Vectors.dll": {}
+ }
+ },
+ "System.Numerics.Vectors.WindowsRuntime/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Numerics.Vectors": "4.1.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.WindowsRuntime": "4.0.0"
+ },
+ "compile": {
+ "lib/dotnet/System.Numerics.Vectors.WindowsRuntime.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Numerics.Vectors.WindowsRuntime.dll": {}
+ }
+ },
+ "System.ObjectModel/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.ObjectModel.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.ObjectModel.dll": {}
+ }
+ },
+ "System.Private.DataContractSerialization/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.Linq": "4.0.0",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Emit.ILGeneration": "4.0.0",
+ "System.Reflection.Emit.Lightweight": "4.0.0",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.Serialization.Primitives": "4.0.10",
+ "System.Text.Encoding": "4.0.10",
+ "System.Text.Encoding.Extensions": "4.0.10",
+ "System.Text.RegularExpressions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Xml.ReaderWriter": "4.0.10",
+ "System.Xml.XmlSerializer": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/_._": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Private.DataContractSerialization.dll": {}
+ }
+ },
+ "System.Private.Networking/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Win32.Primitives": "4.0.0",
+ "System.Collections": "4.0.10",
+ "System.Collections.NonGeneric": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Diagnostics.Tracing": "4.0.20",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.IO.FileSystem": "4.0.0",
+ "System.IO.FileSystem.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.Handles": "4.0.0",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Threading": "4.0.10",
+ "System.Threading.Overlapped": "4.0.0",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/_._": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Private.Networking.dll": {}
+ }
+ },
+ "System.Private.ServiceModel/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Collections.Concurrent": "4.0.10",
+ "System.Collections.NonGeneric": "4.0.0",
+ "System.Collections.Specialized": "4.0.0",
+ "System.ComponentModel.EventBasedAsync": "4.0.10",
+ "System.Diagnostics.Contracts": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.IO.Compression": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.Linq.Expressions": "4.0.10",
+ "System.Linq.Queryable": "4.0.0",
+ "System.Net.Http": "4.0.0",
+ "System.Net.Primitives": "4.0.10",
+ "System.Net.WebHeaderCollection": "4.0.0",
+ "System.ObjectModel": "4.0.10",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.DispatchProxy": "4.0.0",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Runtime.Serialization.Primitives": "4.0.10",
+ "System.Runtime.Serialization.Xml": "4.0.10",
+ "System.Runtime.WindowsRuntime": "4.0.10",
+ "System.Security.Claims": "4.0.0",
+ "System.Security.Principal": "4.0.0",
+ "System.Text.Encoding": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10",
+ "System.Threading.Timer": "4.0.0",
+ "System.Xml.ReaderWriter": "4.0.10",
+ "System.Xml.XmlDocument": "4.0.0",
+ "System.Xml.XmlSerializer": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/_._": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Private.ServiceModel.dll": {}
+ }
+ },
+ "System.Private.Uri/4.0.0": {
+ "type": "package",
+ "compile": {
+ "ref/netcore50/_._": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Private.Uri.dll": {}
+ }
+ },
+ "System.Reflection/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.IO": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Reflection.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Reflection.dll": {}
+ }
+ },
+ "System.Reflection.Context/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Reflection": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/netcore50/System.Reflection.Context.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Reflection.Context.dll": {}
+ }
+ },
+ "System.Reflection.DispatchProxy/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Linq": "4.0.0",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Emit": "4.0.0",
+ "System.Reflection.Emit.ILGeneration": "4.0.0",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Reflection.DispatchProxy.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Reflection.DispatchProxy.dll": {}
+ }
+ },
+ "System.Reflection.Emit/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.IO": "4.0.0",
+ "System.Reflection": "4.0.0",
+ "System.Reflection.Emit.ILGeneration": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Reflection.Emit.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Reflection.Emit.dll": {}
+ }
+ },
+ "System.Reflection.Emit.ILGeneration/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Reflection": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Reflection.Emit.ILGeneration.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Reflection.Emit.ILGeneration.dll": {}
+ }
+ },
+ "System.Reflection.Emit.Lightweight/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Reflection": "4.0.0",
+ "System.Reflection.Emit.ILGeneration": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Reflection.Emit.Lightweight.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Reflection.Emit.Lightweight.dll": {}
+ }
+ },
+ "System.Reflection.Extensions/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/System.Reflection.Extensions.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Reflection.Extensions.dll": {}
+ }
+ },
+ "System.Reflection.Metadata/1.0.22": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.Collections.Immutable": "1.1.37",
+ "System.Diagnostics.Debug": "4.0.0",
+ "System.IO": "4.0.0",
+ "System.Reflection": "4.0.0",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.0",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Runtime.InteropServices": "4.0.0",
+ "System.Text.Encoding": "4.0.0",
+ "System.Text.Encoding.Extensions": "4.0.0",
+ "System.Threading": "4.0.0"
+ },
+ "compile": {
+ "lib/dotnet/System.Reflection.Metadata.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Reflection.Metadata.dll": {}
+ }
+ },
+ "System.Reflection.Primitives/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0",
+ "System.Threading": "4.0.0"
+ },
+ "compile": {
+ "ref/netcore50/System.Reflection.Primitives.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Reflection.Primitives.dll": {}
+ }
+ },
+ "System.Reflection.TypeExtensions/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Diagnostics.Contracts": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Linq": "4.0.0",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Reflection.TypeExtensions.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Reflection.TypeExtensions.dll": {}
+ }
+ },
+ "System.Resources.ResourceManager/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Globalization": "4.0.0",
+ "System.Reflection": "4.0.10",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/netcore50/System.Resources.ResourceManager.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Resources.ResourceManager.dll": {}
+ }
+ },
+ "System.Runtime/4.0.20": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.Uri": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Runtime.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Runtime.dll": {}
+ }
+ },
+ "System.Runtime.Extensions/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Runtime.Extensions.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Runtime.Extensions.dll": {}
+ }
+ },
+ "System.Runtime.Handles/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Runtime.Handles.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Runtime.Handles.dll": {}
+ }
+ },
+ "System.Runtime.InteropServices/4.0.20": {
+ "type": "package",
+ "dependencies": {
+ "System.Reflection": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Runtime": "4.0.0",
+ "System.Runtime.Handles": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Runtime.InteropServices.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Runtime.InteropServices.dll": {}
+ }
+ },
+ "System.Runtime.InteropServices.WindowsRuntime/4.0.0": {
+ "type": "package",
+ "compile": {
+ "ref/netcore50/System.Runtime.InteropServices.WindowsRuntime.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Runtime.InteropServices.WindowsRuntime.dll": {}
+ }
+ },
+ "System.Runtime.Numerics/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Globalization": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/System.Runtime.Numerics.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Runtime.Numerics.dll": {}
+ }
+ },
+ "System.Runtime.Serialization.Json/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.DataContractSerialization": "4.0.0"
+ },
+ "compile": {
+ "ref/netcore50/System.Runtime.Serialization.Json.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Runtime.Serialization.Json.dll": {}
+ }
+ },
+ "System.Runtime.Serialization.Primitives/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Runtime.Serialization.Primitives.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Runtime.Serialization.Primitives.dll": {}
+ }
+ },
+ "System.Runtime.Serialization.Xml/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.DataContractSerialization": "4.0.0",
+ "System.Runtime.Serialization.Primitives": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Runtime.Serialization.Xml.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Runtime.Serialization.Xml.dll": {}
+ }
+ },
+ "System.Runtime.WindowsRuntime/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.0",
+ "System.IO": "4.0.10",
+ "System.ObjectModel": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/System.Runtime.WindowsRuntime.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Runtime.WindowsRuntime.dll": {}
+ }
+ },
+ "System.Runtime.WindowsRuntime.UI.Xaml/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Globalization": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Runtime.WindowsRuntime": "4.0.0"
+ },
+ "compile": {
+ "ref/netcore50/System.Runtime.WindowsRuntime.UI.Xaml.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Runtime.WindowsRuntime.UI.Xaml.dll": {}
+ }
+ },
+ "System.Security.Claims/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.0",
+ "System.Globalization": "4.0.0",
+ "System.IO": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Security.Principal": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Security.Claims.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Security.Claims.dll": {}
+ }
+ },
+ "System.Security.Principal/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/netcore50/System.Security.Principal.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Security.Principal.dll": {}
+ }
+ },
+ "System.ServiceModel.Duplex/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.ServiceModel": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/netcore50/System.ServiceModel.Duplex.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.ServiceModel.Duplex.dll": {}
+ }
+ },
+ "System.ServiceModel.Http/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.ServiceModel": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.ServiceModel.Http.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.ServiceModel.Http.dll": {}
+ }
+ },
+ "System.ServiceModel.NetTcp/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.ServiceModel": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/netcore50/System.ServiceModel.NetTcp.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.ServiceModel.NetTcp.dll": {}
+ }
+ },
+ "System.ServiceModel.Primitives/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.ServiceModel": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/netcore50/System.ServiceModel.Primitives.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.ServiceModel.Primitives.dll": {}
+ }
+ },
+ "System.ServiceModel.Security/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.ServiceModel": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/netcore50/System.ServiceModel.Security.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.ServiceModel.Security.dll": {}
+ }
+ },
+ "System.Text.Encoding/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Text.Encoding.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Text.Encoding.dll": {}
+ }
+ },
+ "System.Text.Encoding.CodePages/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.Reflection": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.Handles": "4.0.0",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Text.Encoding": "4.0.10",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Text.Encoding.CodePages.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Text.Encoding.CodePages.dll": {}
+ }
+ },
+ "System.Text.Encoding.Extensions/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0",
+ "System.Text.Encoding": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Text.Encoding.Extensions.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Text.Encoding.Extensions.dll": {}
+ }
+ },
+ "System.Text.RegularExpressions/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Text.RegularExpressions.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Text.RegularExpressions.dll": {}
+ }
+ },
+ "System.Threading/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0",
+ "System.Threading.Tasks": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Threading.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Threading.dll": {}
+ }
+ },
+ "System.Threading.Overlapped/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Runtime.Handles": "4.0.0",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Threading.Overlapped.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Threading.Overlapped.dll": {}
+ }
+ },
+ "System.Threading.Tasks/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Threading.Tasks.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Threading.Tasks.dll": {}
+ }
+ },
+ "System.Threading.Tasks.Dataflow/4.5.25": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.Collections.Concurrent": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.0",
+ "System.Diagnostics.Tracing": "4.0.0",
+ "System.Dynamic.Runtime": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.0",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Threading": "4.0.0",
+ "System.Threading.Tasks": "4.0.0"
+ },
+ "compile": {
+ "lib/dotnet/System.Threading.Tasks.Dataflow.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Threading.Tasks.Dataflow.dll": {}
+ }
+ },
+ "System.Threading.Tasks.Parallel/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections.Concurrent": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Diagnostics.Tracing": "4.0.20",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/System.Threading.Tasks.Parallel.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Threading.Tasks.Parallel.dll": {}
+ }
+ },
+ "System.Threading.Timer/4.0.0": {
+ "type": "package",
+ "compile": {
+ "ref/netcore50/System.Threading.Timer.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Threading.Timer.dll": {}
+ }
+ },
+ "System.Xml.ReaderWriter/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.IO.FileSystem": "4.0.0",
+ "System.IO.FileSystem.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Text.Encoding": "4.0.10",
+ "System.Text.Encoding.Extensions": "4.0.10",
+ "System.Text.RegularExpressions": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Xml.ReaderWriter.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Xml.ReaderWriter.dll": {}
+ }
+ },
+ "System.Xml.XDocument/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.Reflection": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Text.Encoding": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Xml.ReaderWriter": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Xml.XDocument.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Xml.XDocument.dll": {}
+ }
+ },
+ "System.Xml.XmlDocument/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Text.Encoding": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Xml.ReaderWriter": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Xml.XmlDocument.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Xml.XmlDocument.dll": {}
+ }
+ },
+ "System.Xml.XmlSerializer/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.Linq": "4.0.0",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Emit": "4.0.0",
+ "System.Reflection.Emit.ILGeneration": "4.0.0",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Text.RegularExpressions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Xml.ReaderWriter": "4.0.10",
+ "System.Xml.XmlDocument": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Xml.XmlSerializer.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Xml.XmlSerializer.dll": {}
+ }
+ }
+ },
+ "UAP,Version=v10.0/win10-x64-aot": {
+ "Microsoft.CSharp/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Dynamic.Runtime": "4.0.0",
+ "System.Globalization": "4.0.10",
+ "System.Linq": "4.0.0",
+ "System.Linq.Expressions": "4.0.0",
+ "System.ObjectModel": "4.0.10",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/Microsoft.CSharp.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/Microsoft.CSharp.dll": {}
+ }
+ },
+ "Microsoft.NETCore/5.0.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.CSharp": "4.0.0",
+ "Microsoft.NETCore.Targets": "1.0.0",
+ "Microsoft.VisualBasic": "10.0.0",
+ "System.AppContext": "4.0.0",
+ "System.Collections": "4.0.10",
+ "System.Collections.Concurrent": "4.0.10",
+ "System.Collections.Immutable": "1.1.37",
+ "System.ComponentModel": "4.0.0",
+ "System.ComponentModel.Annotations": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Diagnostics.Tools": "4.0.0",
+ "System.Diagnostics.Tracing": "4.0.20",
+ "System.Dynamic.Runtime": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.Globalization.Calendars": "4.0.0",
+ "System.Globalization.Extensions": "4.0.0",
+ "System.IO": "4.0.10",
+ "System.IO.Compression": "4.0.0",
+ "System.IO.Compression.ZipFile": "4.0.0",
+ "System.IO.FileSystem": "4.0.0",
+ "System.IO.FileSystem.Primitives": "4.0.0",
+ "System.IO.UnmanagedMemoryStream": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.Linq.Expressions": "4.0.10",
+ "System.Linq.Parallel": "4.0.0",
+ "System.Linq.Queryable": "4.0.0",
+ "System.Net.Http": "4.0.0",
+ "System.Net.NetworkInformation": "4.0.0",
+ "System.Net.Primitives": "4.0.10",
+ "System.Numerics.Vectors": "4.1.0",
+ "System.ObjectModel": "4.0.10",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.DispatchProxy": "4.0.0",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Metadata": "1.0.22",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.Handles": "4.0.0",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Runtime.Numerics": "4.0.0",
+ "System.Security.Claims": "4.0.0",
+ "System.Security.Principal": "4.0.0",
+ "System.Text.Encoding": "4.0.10",
+ "System.Text.Encoding.Extensions": "4.0.10",
+ "System.Text.RegularExpressions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10",
+ "System.Threading.Tasks.Dataflow": "4.5.25",
+ "System.Threading.Tasks.Parallel": "4.0.0",
+ "System.Threading.Timer": "4.0.0",
+ "System.Xml.ReaderWriter": "4.0.10",
+ "System.Xml.XDocument": "4.0.10"
+ }
+ },
+ "Microsoft.NETCore.Platforms/1.0.0": {
+ "type": "package"
+ },
+ "Microsoft.NETCore.Portable.Compatibility/1.0.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.NETCore.Runtime": "1.0.0"
+ },
+ "compile": {
+ "ref/netcore50/System.ComponentModel.DataAnnotations.dll": {},
+ "ref/netcore50/System.Core.dll": {},
+ "ref/netcore50/System.Net.dll": {},
+ "ref/netcore50/System.Numerics.dll": {},
+ "ref/netcore50/System.Runtime.Serialization.dll": {},
+ "ref/netcore50/System.ServiceModel.Web.dll": {},
+ "ref/netcore50/System.ServiceModel.dll": {},
+ "ref/netcore50/System.Windows.dll": {},
+ "ref/netcore50/System.Xml.Linq.dll": {},
+ "ref/netcore50/System.Xml.Serialization.dll": {},
+ "ref/netcore50/System.Xml.dll": {},
+ "ref/netcore50/System.dll": {},
+ "ref/netcore50/mscorlib.dll": {}
+ },
+ "runtime": {
+ "runtimes/aot/lib/netcore50/System.ComponentModel.DataAnnotations.dll": {},
+ "runtimes/aot/lib/netcore50/System.Core.dll": {},
+ "runtimes/aot/lib/netcore50/System.Net.dll": {},
+ "runtimes/aot/lib/netcore50/System.Numerics.dll": {},
+ "runtimes/aot/lib/netcore50/System.Runtime.Serialization.dll": {},
+ "runtimes/aot/lib/netcore50/System.ServiceModel.Web.dll": {},
+ "runtimes/aot/lib/netcore50/System.ServiceModel.dll": {},
+ "runtimes/aot/lib/netcore50/System.Windows.dll": {},
+ "runtimes/aot/lib/netcore50/System.Xml.Linq.dll": {},
+ "runtimes/aot/lib/netcore50/System.Xml.Serialization.dll": {},
+ "runtimes/aot/lib/netcore50/System.Xml.dll": {},
+ "runtimes/aot/lib/netcore50/System.dll": {},
+ "runtimes/aot/lib/netcore50/mscorlib.dll": {}
+ }
+ },
+ "Microsoft.NETCore.Runtime/1.0.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.NETCore.Runtime.Native": "1.0.0"
+ }
+ },
+ "Microsoft.NETCore.Runtime.Native/1.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "[4.0.10]",
+ "System.Diagnostics.Contracts": "[4.0.0]",
+ "System.Diagnostics.Debug": "[4.0.10]",
+ "System.Diagnostics.StackTrace": "[4.0.0]",
+ "System.Diagnostics.Tools": "[4.0.0]",
+ "System.Diagnostics.Tracing": "[4.0.20]",
+ "System.Globalization": "[4.0.10]",
+ "System.Globalization.Calendars": "[4.0.0]",
+ "System.IO": "[4.0.10]",
+ "System.ObjectModel": "[4.0.10]",
+ "System.Private.Uri": "[4.0.0]",
+ "System.Reflection": "[4.0.10]",
+ "System.Reflection.Extensions": "[4.0.0]",
+ "System.Reflection.Primitives": "[4.0.0]",
+ "System.Resources.ResourceManager": "[4.0.0]",
+ "System.Runtime": "[4.0.20]",
+ "System.Runtime.Extensions": "[4.0.10]",
+ "System.Runtime.Handles": "[4.0.0]",
+ "System.Runtime.InteropServices": "[4.0.20]",
+ "System.Text.Encoding": "[4.0.10]",
+ "System.Text.Encoding.Extensions": "[4.0.10]",
+ "System.Threading": "[4.0.10]",
+ "System.Threading.Tasks": "[4.0.10]",
+ "System.Threading.Timer": "[4.0.0]"
+ }
+ },
+ "Microsoft.NETCore.Targets/1.0.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.NETCore.Platforms": "1.0.0",
+ "Microsoft.NETCore.Targets.UniversalWindowsPlatform": "5.0.0"
+ }
+ },
+ "Microsoft.NETCore.Targets.UniversalWindowsPlatform/5.0.0": {
+ "type": "package"
+ },
+ "Microsoft.NETCore.UniversalWindowsPlatform/5.0.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.NETCore": "5.0.0",
+ "Microsoft.NETCore.Portable.Compatibility": "1.0.0",
+ "Microsoft.NETCore.Runtime": "1.0.0",
+ "Microsoft.Win32.Primitives": "4.0.0",
+ "System.ComponentModel.EventBasedAsync": "4.0.10",
+ "System.Data.Common": "4.0.0",
+ "System.Diagnostics.Contracts": "4.0.0",
+ "System.Diagnostics.StackTrace": "4.0.0",
+ "System.IO.IsolatedStorage": "4.0.0",
+ "System.Net.Http.Rtc": "4.0.0",
+ "System.Net.Requests": "4.0.10",
+ "System.Net.Sockets": "4.0.0",
+ "System.Net.WebHeaderCollection": "4.0.0",
+ "System.Numerics.Vectors.WindowsRuntime": "4.0.0",
+ "System.Reflection.Context": "4.0.0",
+ "System.Runtime.InteropServices.WindowsRuntime": "4.0.0",
+ "System.Runtime.Serialization.Json": "4.0.0",
+ "System.Runtime.Serialization.Primitives": "4.0.10",
+ "System.Runtime.Serialization.Xml": "4.0.10",
+ "System.Runtime.WindowsRuntime": "4.0.10",
+ "System.Runtime.WindowsRuntime.UI.Xaml": "4.0.0",
+ "System.ServiceModel.Duplex": "4.0.0",
+ "System.ServiceModel.Http": "4.0.10",
+ "System.ServiceModel.NetTcp": "4.0.0",
+ "System.ServiceModel.Primitives": "4.0.0",
+ "System.ServiceModel.Security": "4.0.0",
+ "System.Text.Encoding.CodePages": "4.0.0",
+ "System.Xml.XmlSerializer": "4.0.10"
+ }
+ },
+ "Microsoft.VisualBasic/10.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Dynamic.Runtime": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.Linq": "4.0.0",
+ "System.Linq.Expressions": "4.0.10",
+ "System.ObjectModel": "4.0.10",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/Microsoft.VisualBasic.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/Microsoft.VisualBasic.dll": {}
+ }
+ },
+ "Microsoft.Win32.Primitives/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.20",
+ "System.Runtime.InteropServices": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/Microsoft.Win32.Primitives.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/Microsoft.Win32.Primitives.dll": {}
+ }
+ },
+ "System.AppContext/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Threading": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.AppContext.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.AppContext.dll": {}
+ }
+ },
+ "System.Collections/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Diagnostics.Debug": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Threading": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Collections.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Collections.dll": {}
+ }
+ },
+ "System.Collections.Concurrent/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Diagnostics.Tracing": "4.0.20",
+ "System.Globalization": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Collections.Concurrent.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Collections.Concurrent.dll": {}
+ }
+ },
+ "System.Collections.Immutable/1.1.37": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.0",
+ "System.Globalization": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.0",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Threading": "4.0.0"
+ },
+ "compile": {
+ "lib/dotnet/System.Collections.Immutable.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Collections.Immutable.dll": {}
+ }
+ },
+ "System.Collections.NonGeneric/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Collections.NonGeneric.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Collections.NonGeneric.dll": {}
+ }
+ },
+ "System.Collections.Specialized/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections.NonGeneric": "4.0.0",
+ "System.Globalization": "4.0.10",
+ "System.Globalization.Extensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Collections.Specialized.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Collections.Specialized.dll": {}
+ }
+ },
+ "System.ComponentModel/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/netcore50/System.ComponentModel.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.ComponentModel.dll": {}
+ }
+ },
+ "System.ComponentModel.Annotations/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.ComponentModel": "4.0.0",
+ "System.Globalization": "4.0.10",
+ "System.Linq": "4.0.0",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Text.RegularExpressions": "4.0.10",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.ComponentModel.Annotations.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.ComponentModel.Annotations.dll": {}
+ }
+ },
+ "System.ComponentModel.EventBasedAsync/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.ComponentModel.EventBasedAsync.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.ComponentModel.EventBasedAsync.dll": {}
+ }
+ },
+ "System.Data.Common/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Collections.NonGeneric": "4.0.0",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Text.RegularExpressions": "4.0.0",
+ "System.Threading.Tasks": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Data.Common.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Data.Common.dll": {}
+ }
+ },
+ "System.Diagnostics.Contracts/4.0.0": {
+ "type": "package",
+ "compile": {
+ "ref/netcore50/System.Diagnostics.Contracts.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Diagnostics.Contracts.dll": {}
+ }
+ },
+ "System.Diagnostics.Debug/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Diagnostics.Debug.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Diagnostics.Debug.dll": {}
+ }
+ },
+ "System.Diagnostics.StackTrace/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Diagnostics.StackTrace.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Diagnostics.StackTrace.dll": {}
+ }
+ },
+ "System.Diagnostics.Tools/4.0.0": {
+ "type": "package",
+ "compile": {
+ "ref/netcore50/System.Diagnostics.Tools.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Diagnostics.Tools.dll": {}
+ }
+ },
+ "System.Diagnostics.Tracing/4.0.20": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Globalization": "4.0.0",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.InteropServices": "4.0.0",
+ "System.Text.Encoding": "4.0.0",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Diagnostics.Tracing.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Diagnostics.Tracing.dll": {}
+ }
+ },
+ "System.Dynamic.Runtime/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.0",
+ "System.Globalization": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.Linq.Expressions": "4.0.10",
+ "System.ObjectModel": "4.0.0",
+ "System.Reflection": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Threading": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Dynamic.Runtime.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Dynamic.Runtime.dll": {}
+ }
+ },
+ "System.Globalization/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Globalization.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Globalization.dll": {}
+ }
+ },
+ "System.Globalization.Calendars/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Globalization": "4.0.0",
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Globalization.Calendars.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Globalization.Calendars.dll": {}
+ }
+ },
+ "System.Globalization.Extensions/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Globalization": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.InteropServices": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Globalization.Extensions.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Globalization.Extensions.dll": {}
+ }
+ },
+ "System.IO/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Globalization": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Text.Encoding": "4.0.10",
+ "System.Text.Encoding.Extensions": "4.0.0",
+ "System.Threading": "4.0.0",
+ "System.Threading.Tasks": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.IO.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.IO.dll": {}
+ }
+ },
+ "System.IO.Compression/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.IO": "4.0.0",
+ "System.IO.Compression.clrcompression-x64": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.0",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Runtime.InteropServices": "4.0.0",
+ "System.Text.Encoding": "4.0.0",
+ "System.Threading": "4.0.0",
+ "System.Threading.Tasks": "4.0.0"
+ },
+ "compile": {
+ "ref/netcore50/System.IO.Compression.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.IO.Compression.dll": {}
+ }
+ },
+ "System.IO.Compression.clrcompression-x64/4.0.0": {
+ "type": "package",
+ "native": {
+ "runtimes/win10-x64/native/ClrCompression.dll": {}
+ }
+ },
+ "System.IO.Compression.ZipFile/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.IO": "4.0.10",
+ "System.IO.Compression": "4.0.0",
+ "System.IO.FileSystem": "4.0.0",
+ "System.IO.FileSystem.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Text.Encoding": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.IO.Compression.ZipFile.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.IO.Compression.ZipFile.dll": {}
+ }
+ },
+ "System.IO.FileSystem/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.IO.FileSystem.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.Handles": "4.0.0",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Runtime.WindowsRuntime": "4.0.0",
+ "System.Text.Encoding": "4.0.10",
+ "System.Text.Encoding.Extensions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Overlapped": "4.0.0",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.IO.FileSystem.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.IO.FileSystem.dll": {}
+ }
+ },
+ "System.IO.FileSystem.Primitives/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.IO.FileSystem.Primitives.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.IO.FileSystem.Primitives.dll": {}
+ }
+ },
+ "System.IO.IsolatedStorage/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.IO": "4.0.10",
+ "System.IO.FileSystem": "4.0.0",
+ "System.IO.FileSystem.Primitives": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.IO.IsolatedStorage.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.IO.IsolatedStorage.dll": {}
+ }
+ },
+ "System.IO.UnmanagedMemoryStream/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.IO": "4.0.10",
+ "System.IO.FileSystem.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.IO.UnmanagedMemoryStream.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.IO.UnmanagedMemoryStream.dll": {}
+ }
+ },
+ "System.Linq/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/System.Linq.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Linq.dll": {}
+ }
+ },
+ "System.Linq.Expressions/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.0",
+ "System.Globalization": "4.0.0",
+ "System.IO": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.Reflection": "4.0.0",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Threading": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Linq.Expressions.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Linq.Expressions.dll": {}
+ }
+ },
+ "System.Linq.Parallel/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Collections.Concurrent": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Diagnostics.Tracing": "4.0.20",
+ "System.Linq": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/System.Linq.Parallel.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Linq.Parallel.dll": {}
+ }
+ },
+ "System.Linq.Queryable/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Linq": "4.0.0",
+ "System.Linq.Expressions": "4.0.10",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/netcore50/System.Linq.Queryable.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Linq.Queryable.dll": {}
+ }
+ },
+ "System.Net.Http/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.Net.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Runtime.WindowsRuntime": "4.0.10",
+ "System.Text.Encoding": "4.0.10",
+ "System.Text.Encoding.Extensions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/System.Net.Http.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Net.Http.dll": {}
+ }
+ },
+ "System.Net.Http.Rtc/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Net.Http": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/netcore50/System.Net.Http.Rtc.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Net.Http.Rtc.dll": {}
+ }
+ },
+ "System.Net.NetworkInformation/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0",
+ "System.Runtime.InteropServices.WindowsRuntime": "4.0.0",
+ "System.Threading": "4.0.0"
+ },
+ "compile": {
+ "ref/netcore50/System.Net.NetworkInformation.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Net.NetworkInformation.dll": {}
+ }
+ },
+ "System.Net.Primitives/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.Networking": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Net.Primitives.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Net.Primitives.dll": {}
+ }
+ },
+ "System.Net.Requests/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.Net.Http": "4.0.0",
+ "System.Net.Primitives": "4.0.10",
+ "System.Net.WebHeaderCollection": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Net.Requests.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Net.Requests.dll": {}
+ }
+ },
+ "System.Net.Sockets/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.Networking": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Net.Sockets.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Net.Sockets.dll": {}
+ }
+ },
+ "System.Net.WebHeaderCollection/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections.NonGeneric": "4.0.0",
+ "System.Collections.Specialized": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Net.WebHeaderCollection.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Net.WebHeaderCollection.dll": {}
+ }
+ },
+ "System.Numerics.Vectors/4.1.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Globalization": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Numerics.Vectors.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Numerics.Vectors.dll": {}
+ }
+ },
+ "System.Numerics.Vectors.WindowsRuntime/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Numerics.Vectors": "4.1.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.WindowsRuntime": "4.0.0"
+ },
+ "compile": {
+ "lib/dotnet/System.Numerics.Vectors.WindowsRuntime.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Numerics.Vectors.WindowsRuntime.dll": {}
+ }
+ },
+ "System.ObjectModel/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.ObjectModel.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.ObjectModel.dll": {}
+ }
+ },
+ "System.Private.DataContractSerialization/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.Linq": "4.0.0",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.Serialization.Primitives": "4.0.10",
+ "System.Text.Encoding": "4.0.10",
+ "System.Text.Encoding.Extensions": "4.0.10",
+ "System.Text.RegularExpressions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Xml.ReaderWriter": "4.0.10",
+ "System.Xml.XmlSerializer": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/_._": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Private.DataContractSerialization.dll": {}
+ }
+ },
+ "System.Private.Networking/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Win32.Primitives": "4.0.0",
+ "System.Collections": "4.0.10",
+ "System.Collections.NonGeneric": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Diagnostics.Tracing": "4.0.20",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.IO.FileSystem": "4.0.0",
+ "System.IO.FileSystem.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.Handles": "4.0.0",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Threading": "4.0.10",
+ "System.Threading.Overlapped": "4.0.0",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/_._": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Private.Networking.dll": {}
+ }
+ },
+ "System.Private.ServiceModel/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Collections.Concurrent": "4.0.10",
+ "System.Collections.NonGeneric": "4.0.0",
+ "System.Collections.Specialized": "4.0.0",
+ "System.ComponentModel.EventBasedAsync": "4.0.10",
+ "System.Diagnostics.Contracts": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.IO.Compression": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.Linq.Expressions": "4.0.10",
+ "System.Linq.Queryable": "4.0.0",
+ "System.Net.Http": "4.0.0",
+ "System.Net.Primitives": "4.0.10",
+ "System.Net.WebHeaderCollection": "4.0.0",
+ "System.ObjectModel": "4.0.10",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.DispatchProxy": "4.0.0",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Runtime.Serialization.Primitives": "4.0.10",
+ "System.Runtime.Serialization.Xml": "4.0.10",
+ "System.Runtime.WindowsRuntime": "4.0.10",
+ "System.Security.Claims": "4.0.0",
+ "System.Security.Principal": "4.0.0",
+ "System.Text.Encoding": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10",
+ "System.Threading.Timer": "4.0.0",
+ "System.Xml.ReaderWriter": "4.0.10",
+ "System.Xml.XmlDocument": "4.0.0",
+ "System.Xml.XmlSerializer": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/_._": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Private.ServiceModel.dll": {}
+ }
+ },
+ "System.Private.Uri/4.0.0": {
+ "type": "package",
+ "compile": {
+ "ref/netcore50/_._": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Private.Uri.dll": {}
+ }
+ },
+ "System.Reflection/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.IO": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Reflection.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Reflection.dll": {}
+ }
+ },
+ "System.Reflection.Context/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Reflection": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/netcore50/System.Reflection.Context.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Reflection.Context.dll": {}
+ }
+ },
+ "System.Reflection.DispatchProxy/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Linq": "4.0.0",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Reflection.DispatchProxy.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Reflection.DispatchProxy.dll": {}
+ }
+ },
+ "System.Reflection.Emit/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.IO": "4.0.0",
+ "System.Reflection": "4.0.0",
+ "System.Reflection.Emit.ILGeneration": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Reflection.Emit.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Reflection.Emit.dll": {}
+ }
+ },
+ "System.Reflection.Emit.ILGeneration/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Reflection": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Reflection.Emit.ILGeneration.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Reflection.Emit.ILGeneration.dll": {}
+ }
+ },
+ "System.Reflection.Extensions/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/System.Reflection.Extensions.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Reflection.Extensions.dll": {}
+ }
+ },
+ "System.Reflection.Metadata/1.0.22": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.Collections.Immutable": "1.1.37",
+ "System.Diagnostics.Debug": "4.0.0",
+ "System.IO": "4.0.0",
+ "System.Reflection": "4.0.0",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.0",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Runtime.InteropServices": "4.0.0",
+ "System.Text.Encoding": "4.0.0",
+ "System.Text.Encoding.Extensions": "4.0.0",
+ "System.Threading": "4.0.0"
+ },
+ "compile": {
+ "lib/dotnet/System.Reflection.Metadata.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Reflection.Metadata.dll": {}
+ }
+ },
+ "System.Reflection.Primitives/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0",
+ "System.Threading": "4.0.0"
+ },
+ "compile": {
+ "ref/netcore50/System.Reflection.Primitives.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Reflection.Primitives.dll": {}
+ }
+ },
+ "System.Reflection.TypeExtensions/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Diagnostics.Contracts": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Linq": "4.0.0",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Reflection.TypeExtensions.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Reflection.TypeExtensions.dll": {}
+ }
+ },
+ "System.Resources.ResourceManager/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Globalization": "4.0.0",
+ "System.Reflection": "4.0.10",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/netcore50/System.Resources.ResourceManager.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Resources.ResourceManager.dll": {}
+ }
+ },
+ "System.Runtime/4.0.20": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.Uri": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Runtime.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Runtime.dll": {}
+ }
+ },
+ "System.Runtime.Extensions/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Runtime.Extensions.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Runtime.Extensions.dll": {}
+ }
+ },
+ "System.Runtime.Handles/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Runtime.Handles.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Runtime.Handles.dll": {}
+ }
+ },
+ "System.Runtime.InteropServices/4.0.20": {
+ "type": "package",
+ "dependencies": {
+ "System.Reflection": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Runtime": "4.0.0",
+ "System.Runtime.Handles": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Runtime.InteropServices.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Runtime.InteropServices.dll": {}
+ }
+ },
+ "System.Runtime.InteropServices.WindowsRuntime/4.0.0": {
+ "type": "package",
+ "compile": {
+ "ref/netcore50/System.Runtime.InteropServices.WindowsRuntime.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Runtime.InteropServices.WindowsRuntime.dll": {}
+ }
+ },
+ "System.Runtime.Numerics/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Globalization": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/System.Runtime.Numerics.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Runtime.Numerics.dll": {}
+ }
+ },
+ "System.Runtime.Serialization.Json/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.DataContractSerialization": "4.0.0"
+ },
+ "compile": {
+ "ref/netcore50/System.Runtime.Serialization.Json.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Runtime.Serialization.Json.dll": {}
+ }
+ },
+ "System.Runtime.Serialization.Primitives/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Runtime.Serialization.Primitives.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Runtime.Serialization.Primitives.dll": {}
+ }
+ },
+ "System.Runtime.Serialization.Xml/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.DataContractSerialization": "4.0.0",
+ "System.Runtime.Serialization.Primitives": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Runtime.Serialization.Xml.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Runtime.Serialization.Xml.dll": {}
+ }
+ },
+ "System.Runtime.WindowsRuntime/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.0",
+ "System.IO": "4.0.10",
+ "System.ObjectModel": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/System.Runtime.WindowsRuntime.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Runtime.WindowsRuntime.dll": {}
+ }
+ },
+ "System.Runtime.WindowsRuntime.UI.Xaml/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Globalization": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Runtime.WindowsRuntime": "4.0.0"
+ },
+ "compile": {
+ "ref/netcore50/System.Runtime.WindowsRuntime.UI.Xaml.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Runtime.WindowsRuntime.UI.Xaml.dll": {}
+ }
+ },
+ "System.Security.Claims/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.0",
+ "System.Globalization": "4.0.0",
+ "System.IO": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Security.Principal": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Security.Claims.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Security.Claims.dll": {}
+ }
+ },
+ "System.Security.Principal/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/netcore50/System.Security.Principal.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Security.Principal.dll": {}
+ }
+ },
+ "System.ServiceModel.Duplex/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.ServiceModel": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/netcore50/System.ServiceModel.Duplex.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.ServiceModel.Duplex.dll": {}
+ }
+ },
+ "System.ServiceModel.Http/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.ServiceModel": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.ServiceModel.Http.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.ServiceModel.Http.dll": {}
+ }
+ },
+ "System.ServiceModel.NetTcp/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.ServiceModel": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/netcore50/System.ServiceModel.NetTcp.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.ServiceModel.NetTcp.dll": {}
+ }
+ },
+ "System.ServiceModel.Primitives/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.ServiceModel": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/netcore50/System.ServiceModel.Primitives.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.ServiceModel.Primitives.dll": {}
+ }
+ },
+ "System.ServiceModel.Security/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.ServiceModel": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/netcore50/System.ServiceModel.Security.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.ServiceModel.Security.dll": {}
+ }
+ },
+ "System.Text.Encoding/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Text.Encoding.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Text.Encoding.dll": {}
+ }
+ },
+ "System.Text.Encoding.CodePages/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.Reflection": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.Handles": "4.0.0",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Text.Encoding": "4.0.10",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Text.Encoding.CodePages.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Text.Encoding.CodePages.dll": {}
+ }
+ },
+ "System.Text.Encoding.Extensions/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0",
+ "System.Text.Encoding": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Text.Encoding.Extensions.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Text.Encoding.Extensions.dll": {}
+ }
+ },
+ "System.Text.RegularExpressions/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Text.RegularExpressions.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Text.RegularExpressions.dll": {}
+ }
+ },
+ "System.Threading/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0",
+ "System.Threading.Tasks": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Threading.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Threading.dll": {}
+ }
+ },
+ "System.Threading.Overlapped/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Runtime.Handles": "4.0.0",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Threading.Overlapped.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Threading.Overlapped.dll": {}
+ }
+ },
+ "System.Threading.Tasks/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Threading.Tasks.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Threading.Tasks.dll": {}
+ }
+ },
+ "System.Threading.Tasks.Dataflow/4.5.25": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.Collections.Concurrent": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.0",
+ "System.Diagnostics.Tracing": "4.0.0",
+ "System.Dynamic.Runtime": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.0",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Threading": "4.0.0",
+ "System.Threading.Tasks": "4.0.0"
+ },
+ "compile": {
+ "lib/dotnet/System.Threading.Tasks.Dataflow.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Threading.Tasks.Dataflow.dll": {}
+ }
+ },
+ "System.Threading.Tasks.Parallel/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections.Concurrent": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Diagnostics.Tracing": "4.0.20",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/System.Threading.Tasks.Parallel.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Threading.Tasks.Parallel.dll": {}
+ }
+ },
+ "System.Threading.Timer/4.0.0": {
+ "type": "package",
+ "compile": {
+ "ref/netcore50/System.Threading.Timer.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Threading.Timer.dll": {}
+ }
+ },
+ "System.Xml.ReaderWriter/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.IO.FileSystem": "4.0.0",
+ "System.IO.FileSystem.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Text.Encoding": "4.0.10",
+ "System.Text.Encoding.Extensions": "4.0.10",
+ "System.Text.RegularExpressions": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Xml.ReaderWriter.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Xml.ReaderWriter.dll": {}
+ }
+ },
+ "System.Xml.XDocument/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.Reflection": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Text.Encoding": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Xml.ReaderWriter": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Xml.XDocument.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Xml.XDocument.dll": {}
+ }
+ },
+ "System.Xml.XmlDocument/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Text.Encoding": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Xml.ReaderWriter": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Xml.XmlDocument.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Xml.XmlDocument.dll": {}
+ }
+ },
+ "System.Xml.XmlSerializer/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.Linq": "4.0.0",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Emit": "4.0.0",
+ "System.Reflection.Emit.ILGeneration": "4.0.0",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Text.RegularExpressions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Xml.ReaderWriter": "4.0.10",
+ "System.Xml.XmlDocument": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Xml.XmlSerializer.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Xml.XmlSerializer.dll": {}
+ }
+ }
+ },
+ "UAP,Version=v10.0/win10-x86": {
+ "Microsoft.CSharp/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Dynamic.Runtime": "4.0.0",
+ "System.Globalization": "4.0.10",
+ "System.Linq": "4.0.0",
+ "System.Linq.Expressions": "4.0.0",
+ "System.ObjectModel": "4.0.10",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/Microsoft.CSharp.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/Microsoft.CSharp.dll": {}
+ }
+ },
+ "Microsoft.NETCore/5.0.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.CSharp": "4.0.0",
+ "Microsoft.NETCore.Targets": "1.0.0",
+ "Microsoft.VisualBasic": "10.0.0",
+ "System.AppContext": "4.0.0",
+ "System.Collections": "4.0.10",
+ "System.Collections.Concurrent": "4.0.10",
+ "System.Collections.Immutable": "1.1.37",
+ "System.ComponentModel": "4.0.0",
+ "System.ComponentModel.Annotations": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Diagnostics.Tools": "4.0.0",
+ "System.Diagnostics.Tracing": "4.0.20",
+ "System.Dynamic.Runtime": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.Globalization.Calendars": "4.0.0",
+ "System.Globalization.Extensions": "4.0.0",
+ "System.IO": "4.0.10",
+ "System.IO.Compression": "4.0.0",
+ "System.IO.Compression.ZipFile": "4.0.0",
+ "System.IO.FileSystem": "4.0.0",
+ "System.IO.FileSystem.Primitives": "4.0.0",
+ "System.IO.UnmanagedMemoryStream": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.Linq.Expressions": "4.0.10",
+ "System.Linq.Parallel": "4.0.0",
+ "System.Linq.Queryable": "4.0.0",
+ "System.Net.Http": "4.0.0",
+ "System.Net.NetworkInformation": "4.0.0",
+ "System.Net.Primitives": "4.0.10",
+ "System.Numerics.Vectors": "4.1.0",
+ "System.ObjectModel": "4.0.10",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.DispatchProxy": "4.0.0",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Metadata": "1.0.22",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.Handles": "4.0.0",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Runtime.Numerics": "4.0.0",
+ "System.Security.Claims": "4.0.0",
+ "System.Security.Principal": "4.0.0",
+ "System.Text.Encoding": "4.0.10",
+ "System.Text.Encoding.Extensions": "4.0.10",
+ "System.Text.RegularExpressions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10",
+ "System.Threading.Tasks.Dataflow": "4.5.25",
+ "System.Threading.Tasks.Parallel": "4.0.0",
+ "System.Threading.Timer": "4.0.0",
+ "System.Xml.ReaderWriter": "4.0.10",
+ "System.Xml.XDocument": "4.0.10"
+ }
+ },
+ "Microsoft.NETCore.Platforms/1.0.0": {
+ "type": "package"
+ },
+ "Microsoft.NETCore.Portable.Compatibility/1.0.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.NETCore.Runtime": "1.0.0"
+ },
+ "compile": {
+ "ref/netcore50/System.ComponentModel.DataAnnotations.dll": {},
+ "ref/netcore50/System.Core.dll": {},
+ "ref/netcore50/System.Net.dll": {},
+ "ref/netcore50/System.Numerics.dll": {},
+ "ref/netcore50/System.Runtime.Serialization.dll": {},
+ "ref/netcore50/System.ServiceModel.Web.dll": {},
+ "ref/netcore50/System.ServiceModel.dll": {},
+ "ref/netcore50/System.Windows.dll": {},
+ "ref/netcore50/System.Xml.Linq.dll": {},
+ "ref/netcore50/System.Xml.Serialization.dll": {},
+ "ref/netcore50/System.Xml.dll": {},
+ "ref/netcore50/System.dll": {},
+ "ref/netcore50/mscorlib.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.ComponentModel.DataAnnotations.dll": {},
+ "lib/netcore50/System.Core.dll": {},
+ "lib/netcore50/System.Net.dll": {},
+ "lib/netcore50/System.Numerics.dll": {},
+ "lib/netcore50/System.Runtime.Serialization.dll": {},
+ "lib/netcore50/System.ServiceModel.Web.dll": {},
+ "lib/netcore50/System.ServiceModel.dll": {},
+ "lib/netcore50/System.Windows.dll": {},
+ "lib/netcore50/System.Xml.Linq.dll": {},
+ "lib/netcore50/System.Xml.Serialization.dll": {},
+ "lib/netcore50/System.Xml.dll": {},
+ "lib/netcore50/System.dll": {}
+ }
+ },
+ "Microsoft.NETCore.Runtime/1.0.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.NETCore.Runtime.CoreCLR-x86": "1.0.0",
+ "Microsoft.NETCore.Windows.ApiSets-x86": "1.0.0"
+ }
+ },
+ "Microsoft.NETCore.Runtime.CoreCLR-x86/1.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "[4.0.10]",
+ "System.Diagnostics.Contracts": "[4.0.0]",
+ "System.Diagnostics.Debug": "[4.0.10]",
+ "System.Diagnostics.StackTrace": "[4.0.0]",
+ "System.Diagnostics.Tools": "[4.0.0]",
+ "System.Diagnostics.Tracing": "[4.0.20]",
+ "System.Globalization": "[4.0.10]",
+ "System.Globalization.Calendars": "[4.0.0]",
+ "System.IO": "[4.0.10]",
+ "System.ObjectModel": "[4.0.10]",
+ "System.Private.Uri": "[4.0.0]",
+ "System.Reflection": "[4.0.10]",
+ "System.Reflection.Extensions": "[4.0.0]",
+ "System.Reflection.Primitives": "[4.0.0]",
+ "System.Resources.ResourceManager": "[4.0.0]",
+ "System.Runtime": "[4.0.20]",
+ "System.Runtime.Extensions": "[4.0.10]",
+ "System.Runtime.Handles": "[4.0.0]",
+ "System.Runtime.InteropServices": "[4.0.20]",
+ "System.Text.Encoding": "[4.0.10]",
+ "System.Text.Encoding.Extensions": "[4.0.10]",
+ "System.Threading": "[4.0.10]",
+ "System.Threading.Tasks": "[4.0.10]",
+ "System.Threading.Timer": "[4.0.0]"
+ },
+ "compile": {
+ "ref/dotnet/_._": {}
+ },
+ "runtime": {
+ "runtimes/win7-x86/lib/dotnet/mscorlib.ni.dll": {}
+ },
+ "native": {
+ "runtimes/win7-x86/native/clretwrc.dll": {},
+ "runtimes/win7-x86/native/coreclr.dll": {},
+ "runtimes/win7-x86/native/dbgshim.dll": {},
+ "runtimes/win7-x86/native/mscordaccore.dll": {},
+ "runtimes/win7-x86/native/mscordbi.dll": {},
+ "runtimes/win7-x86/native/mscorrc.debug.dll": {},
+ "runtimes/win7-x86/native/mscorrc.dll": {}
+ }
+ },
+ "Microsoft.NETCore.Targets/1.0.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.NETCore.Platforms": "1.0.0",
+ "Microsoft.NETCore.Targets.UniversalWindowsPlatform": "5.0.0"
+ }
+ },
+ "Microsoft.NETCore.Targets.UniversalWindowsPlatform/5.0.0": {
+ "type": "package"
+ },
+ "Microsoft.NETCore.UniversalWindowsPlatform/5.0.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.NETCore": "5.0.0",
+ "Microsoft.NETCore.Portable.Compatibility": "1.0.0",
+ "Microsoft.NETCore.Runtime": "1.0.0",
+ "Microsoft.Win32.Primitives": "4.0.0",
+ "System.ComponentModel.EventBasedAsync": "4.0.10",
+ "System.Data.Common": "4.0.0",
+ "System.Diagnostics.Contracts": "4.0.0",
+ "System.Diagnostics.StackTrace": "4.0.0",
+ "System.IO.IsolatedStorage": "4.0.0",
+ "System.Net.Http.Rtc": "4.0.0",
+ "System.Net.Requests": "4.0.10",
+ "System.Net.Sockets": "4.0.0",
+ "System.Net.WebHeaderCollection": "4.0.0",
+ "System.Numerics.Vectors.WindowsRuntime": "4.0.0",
+ "System.Reflection.Context": "4.0.0",
+ "System.Runtime.InteropServices.WindowsRuntime": "4.0.0",
+ "System.Runtime.Serialization.Json": "4.0.0",
+ "System.Runtime.Serialization.Primitives": "4.0.10",
+ "System.Runtime.Serialization.Xml": "4.0.10",
+ "System.Runtime.WindowsRuntime": "4.0.10",
+ "System.Runtime.WindowsRuntime.UI.Xaml": "4.0.0",
+ "System.ServiceModel.Duplex": "4.0.0",
+ "System.ServiceModel.Http": "4.0.10",
+ "System.ServiceModel.NetTcp": "4.0.0",
+ "System.ServiceModel.Primitives": "4.0.0",
+ "System.ServiceModel.Security": "4.0.0",
+ "System.Text.Encoding.CodePages": "4.0.0",
+ "System.Xml.XmlSerializer": "4.0.10"
+ }
+ },
+ "Microsoft.NETCore.Windows.ApiSets-x86/1.0.0": {
+ "type": "package",
+ "native": {
+ "runtimes/win10-x86/native/_._": {}
+ }
+ },
+ "Microsoft.VisualBasic/10.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Dynamic.Runtime": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.Linq": "4.0.0",
+ "System.Linq.Expressions": "4.0.10",
+ "System.ObjectModel": "4.0.10",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/Microsoft.VisualBasic.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/Microsoft.VisualBasic.dll": {}
+ }
+ },
+ "Microsoft.Win32.Primitives/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.20",
+ "System.Runtime.InteropServices": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/Microsoft.Win32.Primitives.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/Microsoft.Win32.Primitives.dll": {}
+ }
+ },
+ "System.AppContext/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Threading": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.AppContext.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.AppContext.dll": {}
+ }
+ },
+ "System.Collections/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Diagnostics.Debug": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Threading": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Collections.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Collections.dll": {}
+ }
+ },
+ "System.Collections.Concurrent/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Diagnostics.Tracing": "4.0.20",
+ "System.Globalization": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Collections.Concurrent.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Collections.Concurrent.dll": {}
+ }
+ },
+ "System.Collections.Immutable/1.1.37": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.0",
+ "System.Globalization": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.0",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Threading": "4.0.0"
+ },
+ "compile": {
+ "lib/dotnet/System.Collections.Immutable.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Collections.Immutable.dll": {}
+ }
+ },
+ "System.Collections.NonGeneric/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Collections.NonGeneric.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Collections.NonGeneric.dll": {}
+ }
+ },
+ "System.Collections.Specialized/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections.NonGeneric": "4.0.0",
+ "System.Globalization": "4.0.10",
+ "System.Globalization.Extensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Collections.Specialized.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Collections.Specialized.dll": {}
+ }
+ },
+ "System.ComponentModel/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/netcore50/System.ComponentModel.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.ComponentModel.dll": {}
+ }
+ },
+ "System.ComponentModel.Annotations/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.ComponentModel": "4.0.0",
+ "System.Globalization": "4.0.10",
+ "System.Linq": "4.0.0",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Text.RegularExpressions": "4.0.10",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.ComponentModel.Annotations.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.ComponentModel.Annotations.dll": {}
+ }
+ },
+ "System.ComponentModel.EventBasedAsync/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.ComponentModel.EventBasedAsync.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.ComponentModel.EventBasedAsync.dll": {}
+ }
+ },
+ "System.Data.Common/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Collections.NonGeneric": "4.0.0",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Text.RegularExpressions": "4.0.0",
+ "System.Threading.Tasks": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Data.Common.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Data.Common.dll": {}
+ }
+ },
+ "System.Diagnostics.Contracts/4.0.0": {
+ "type": "package",
+ "compile": {
+ "ref/netcore50/System.Diagnostics.Contracts.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Diagnostics.Contracts.dll": {}
+ }
+ },
+ "System.Diagnostics.Debug/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Diagnostics.Debug.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Diagnostics.Debug.dll": {}
+ }
+ },
+ "System.Diagnostics.StackTrace/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Diagnostics.StackTrace.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Diagnostics.StackTrace.dll": {}
+ }
+ },
+ "System.Diagnostics.Tools/4.0.0": {
+ "type": "package",
+ "compile": {
+ "ref/netcore50/System.Diagnostics.Tools.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Diagnostics.Tools.dll": {}
+ }
+ },
+ "System.Diagnostics.Tracing/4.0.20": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Globalization": "4.0.0",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.InteropServices": "4.0.0",
+ "System.Text.Encoding": "4.0.0",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Diagnostics.Tracing.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Diagnostics.Tracing.dll": {}
+ }
+ },
+ "System.Dynamic.Runtime/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.0",
+ "System.Globalization": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.Linq.Expressions": "4.0.10",
+ "System.ObjectModel": "4.0.0",
+ "System.Reflection": "4.0.0",
+ "System.Reflection.Emit.ILGeneration": "4.0.0",
+ "System.Reflection.Emit.Lightweight": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Threading": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Dynamic.Runtime.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Dynamic.Runtime.dll": {}
+ }
+ },
+ "System.Globalization/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Globalization.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Globalization.dll": {}
+ }
+ },
+ "System.Globalization.Calendars/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Globalization": "4.0.0",
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Globalization.Calendars.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Globalization.Calendars.dll": {}
+ }
+ },
+ "System.Globalization.Extensions/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Globalization": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.InteropServices": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Globalization.Extensions.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Globalization.Extensions.dll": {}
+ }
+ },
+ "System.IO/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Globalization": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Text.Encoding": "4.0.10",
+ "System.Text.Encoding.Extensions": "4.0.0",
+ "System.Threading": "4.0.0",
+ "System.Threading.Tasks": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.IO.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.IO.dll": {}
+ }
+ },
+ "System.IO.Compression/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.IO": "4.0.0",
+ "System.IO.Compression.clrcompression-x86": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.0",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Runtime.InteropServices": "4.0.0",
+ "System.Text.Encoding": "4.0.0",
+ "System.Threading": "4.0.0",
+ "System.Threading.Tasks": "4.0.0"
+ },
+ "compile": {
+ "ref/netcore50/System.IO.Compression.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.IO.Compression.dll": {}
+ }
+ },
+ "System.IO.Compression.clrcompression-x86/4.0.0": {
+ "type": "package",
+ "native": {
+ "runtimes/win10-x86/native/ClrCompression.dll": {}
+ }
+ },
+ "System.IO.Compression.ZipFile/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.IO": "4.0.10",
+ "System.IO.Compression": "4.0.0",
+ "System.IO.FileSystem": "4.0.0",
+ "System.IO.FileSystem.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Text.Encoding": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.IO.Compression.ZipFile.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.IO.Compression.ZipFile.dll": {}
+ }
+ },
+ "System.IO.FileSystem/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.IO.FileSystem.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.Handles": "4.0.0",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Runtime.WindowsRuntime": "4.0.0",
+ "System.Text.Encoding": "4.0.10",
+ "System.Text.Encoding.Extensions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Overlapped": "4.0.0",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.IO.FileSystem.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.IO.FileSystem.dll": {}
+ }
+ },
+ "System.IO.FileSystem.Primitives/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.IO.FileSystem.Primitives.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.IO.FileSystem.Primitives.dll": {}
+ }
+ },
+ "System.IO.IsolatedStorage/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.IO": "4.0.10",
+ "System.IO.FileSystem": "4.0.0",
+ "System.IO.FileSystem.Primitives": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.IO.IsolatedStorage.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.IO.IsolatedStorage.dll": {}
+ }
+ },
+ "System.IO.UnmanagedMemoryStream/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.IO": "4.0.10",
+ "System.IO.FileSystem.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.IO.UnmanagedMemoryStream.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.IO.UnmanagedMemoryStream.dll": {}
+ }
+ },
+ "System.Linq/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/System.Linq.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Linq.dll": {}
+ }
+ },
+ "System.Linq.Expressions/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.0",
+ "System.Globalization": "4.0.0",
+ "System.IO": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.Reflection": "4.0.0",
+ "System.Reflection.Emit.ILGeneration": "4.0.0",
+ "System.Reflection.Emit.Lightweight": "4.0.0",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Threading": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Linq.Expressions.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Linq.Expressions.dll": {}
+ }
+ },
+ "System.Linq.Parallel/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Collections.Concurrent": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Diagnostics.Tracing": "4.0.20",
+ "System.Linq": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/System.Linq.Parallel.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Linq.Parallel.dll": {}
+ }
+ },
+ "System.Linq.Queryable/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Linq": "4.0.0",
+ "System.Linq.Expressions": "4.0.10",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/netcore50/System.Linq.Queryable.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Linq.Queryable.dll": {}
+ }
+ },
+ "System.Net.Http/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.Net.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Runtime.WindowsRuntime": "4.0.10",
+ "System.Text.Encoding": "4.0.10",
+ "System.Text.Encoding.Extensions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/System.Net.Http.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Net.Http.dll": {}
+ }
+ },
+ "System.Net.Http.Rtc/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Net.Http": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/netcore50/System.Net.Http.Rtc.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Net.Http.Rtc.dll": {}
+ }
+ },
+ "System.Net.NetworkInformation/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0",
+ "System.Runtime.InteropServices.WindowsRuntime": "4.0.0",
+ "System.Threading": "4.0.0"
+ },
+ "compile": {
+ "ref/netcore50/System.Net.NetworkInformation.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Net.NetworkInformation.dll": {}
+ }
+ },
+ "System.Net.Primitives/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.Networking": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Net.Primitives.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Net.Primitives.dll": {}
+ }
+ },
+ "System.Net.Requests/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.Net.Http": "4.0.0",
+ "System.Net.Primitives": "4.0.10",
+ "System.Net.WebHeaderCollection": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Net.Requests.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Net.Requests.dll": {}
+ }
+ },
+ "System.Net.Sockets/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.Networking": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Net.Sockets.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Net.Sockets.dll": {}
+ }
+ },
+ "System.Net.WebHeaderCollection/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections.NonGeneric": "4.0.0",
+ "System.Collections.Specialized": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Net.WebHeaderCollection.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Net.WebHeaderCollection.dll": {}
+ }
+ },
+ "System.Numerics.Vectors/4.1.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Globalization": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Numerics.Vectors.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Numerics.Vectors.dll": {}
+ }
+ },
+ "System.Numerics.Vectors.WindowsRuntime/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Numerics.Vectors": "4.1.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.WindowsRuntime": "4.0.0"
+ },
+ "compile": {
+ "lib/dotnet/System.Numerics.Vectors.WindowsRuntime.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Numerics.Vectors.WindowsRuntime.dll": {}
+ }
+ },
+ "System.ObjectModel/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.ObjectModel.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.ObjectModel.dll": {}
+ }
+ },
+ "System.Private.DataContractSerialization/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.Linq": "4.0.0",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Emit.ILGeneration": "4.0.0",
+ "System.Reflection.Emit.Lightweight": "4.0.0",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.Serialization.Primitives": "4.0.10",
+ "System.Text.Encoding": "4.0.10",
+ "System.Text.Encoding.Extensions": "4.0.10",
+ "System.Text.RegularExpressions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Xml.ReaderWriter": "4.0.10",
+ "System.Xml.XmlSerializer": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/_._": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Private.DataContractSerialization.dll": {}
+ }
+ },
+ "System.Private.Networking/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Win32.Primitives": "4.0.0",
+ "System.Collections": "4.0.10",
+ "System.Collections.NonGeneric": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Diagnostics.Tracing": "4.0.20",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.IO.FileSystem": "4.0.0",
+ "System.IO.FileSystem.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.Handles": "4.0.0",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Threading": "4.0.10",
+ "System.Threading.Overlapped": "4.0.0",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/_._": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Private.Networking.dll": {}
+ }
+ },
+ "System.Private.ServiceModel/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Collections.Concurrent": "4.0.10",
+ "System.Collections.NonGeneric": "4.0.0",
+ "System.Collections.Specialized": "4.0.0",
+ "System.ComponentModel.EventBasedAsync": "4.0.10",
+ "System.Diagnostics.Contracts": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.IO.Compression": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.Linq.Expressions": "4.0.10",
+ "System.Linq.Queryable": "4.0.0",
+ "System.Net.Http": "4.0.0",
+ "System.Net.Primitives": "4.0.10",
+ "System.Net.WebHeaderCollection": "4.0.0",
+ "System.ObjectModel": "4.0.10",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.DispatchProxy": "4.0.0",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Runtime.Serialization.Primitives": "4.0.10",
+ "System.Runtime.Serialization.Xml": "4.0.10",
+ "System.Runtime.WindowsRuntime": "4.0.10",
+ "System.Security.Claims": "4.0.0",
+ "System.Security.Principal": "4.0.0",
+ "System.Text.Encoding": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10",
+ "System.Threading.Timer": "4.0.0",
+ "System.Xml.ReaderWriter": "4.0.10",
+ "System.Xml.XmlDocument": "4.0.0",
+ "System.Xml.XmlSerializer": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/_._": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Private.ServiceModel.dll": {}
+ }
+ },
+ "System.Private.Uri/4.0.0": {
+ "type": "package",
+ "compile": {
+ "ref/netcore50/_._": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Private.Uri.dll": {}
+ }
+ },
+ "System.Reflection/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.IO": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Reflection.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Reflection.dll": {}
+ }
+ },
+ "System.Reflection.Context/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Reflection": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/netcore50/System.Reflection.Context.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Reflection.Context.dll": {}
+ }
+ },
+ "System.Reflection.DispatchProxy/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Linq": "4.0.0",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Emit": "4.0.0",
+ "System.Reflection.Emit.ILGeneration": "4.0.0",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Reflection.DispatchProxy.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Reflection.DispatchProxy.dll": {}
+ }
+ },
+ "System.Reflection.Emit/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.IO": "4.0.0",
+ "System.Reflection": "4.0.0",
+ "System.Reflection.Emit.ILGeneration": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Reflection.Emit.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Reflection.Emit.dll": {}
+ }
+ },
+ "System.Reflection.Emit.ILGeneration/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Reflection": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Reflection.Emit.ILGeneration.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Reflection.Emit.ILGeneration.dll": {}
+ }
+ },
+ "System.Reflection.Emit.Lightweight/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Reflection": "4.0.0",
+ "System.Reflection.Emit.ILGeneration": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Reflection.Emit.Lightweight.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Reflection.Emit.Lightweight.dll": {}
+ }
+ },
+ "System.Reflection.Extensions/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/System.Reflection.Extensions.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Reflection.Extensions.dll": {}
+ }
+ },
+ "System.Reflection.Metadata/1.0.22": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.Collections.Immutable": "1.1.37",
+ "System.Diagnostics.Debug": "4.0.0",
+ "System.IO": "4.0.0",
+ "System.Reflection": "4.0.0",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.0",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Runtime.InteropServices": "4.0.0",
+ "System.Text.Encoding": "4.0.0",
+ "System.Text.Encoding.Extensions": "4.0.0",
+ "System.Threading": "4.0.0"
+ },
+ "compile": {
+ "lib/dotnet/System.Reflection.Metadata.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Reflection.Metadata.dll": {}
+ }
+ },
+ "System.Reflection.Primitives/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0",
+ "System.Threading": "4.0.0"
+ },
+ "compile": {
+ "ref/netcore50/System.Reflection.Primitives.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Reflection.Primitives.dll": {}
+ }
+ },
+ "System.Reflection.TypeExtensions/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Diagnostics.Contracts": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Linq": "4.0.0",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Reflection.TypeExtensions.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Reflection.TypeExtensions.dll": {}
+ }
+ },
+ "System.Resources.ResourceManager/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Globalization": "4.0.0",
+ "System.Reflection": "4.0.10",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/netcore50/System.Resources.ResourceManager.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Resources.ResourceManager.dll": {}
+ }
+ },
+ "System.Runtime/4.0.20": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.Uri": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Runtime.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Runtime.dll": {}
+ }
+ },
+ "System.Runtime.Extensions/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Runtime.Extensions.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Runtime.Extensions.dll": {}
+ }
+ },
+ "System.Runtime.Handles/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Runtime.Handles.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Runtime.Handles.dll": {}
+ }
+ },
+ "System.Runtime.InteropServices/4.0.20": {
+ "type": "package",
+ "dependencies": {
+ "System.Reflection": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Runtime": "4.0.0",
+ "System.Runtime.Handles": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Runtime.InteropServices.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Runtime.InteropServices.dll": {}
+ }
+ },
+ "System.Runtime.InteropServices.WindowsRuntime/4.0.0": {
+ "type": "package",
+ "compile": {
+ "ref/netcore50/System.Runtime.InteropServices.WindowsRuntime.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Runtime.InteropServices.WindowsRuntime.dll": {}
+ }
+ },
+ "System.Runtime.Numerics/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Globalization": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/System.Runtime.Numerics.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Runtime.Numerics.dll": {}
+ }
+ },
+ "System.Runtime.Serialization.Json/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.DataContractSerialization": "4.0.0"
+ },
+ "compile": {
+ "ref/netcore50/System.Runtime.Serialization.Json.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Runtime.Serialization.Json.dll": {}
+ }
+ },
+ "System.Runtime.Serialization.Primitives/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Runtime.Serialization.Primitives.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Runtime.Serialization.Primitives.dll": {}
+ }
+ },
+ "System.Runtime.Serialization.Xml/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.DataContractSerialization": "4.0.0",
+ "System.Runtime.Serialization.Primitives": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Runtime.Serialization.Xml.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Runtime.Serialization.Xml.dll": {}
+ }
+ },
+ "System.Runtime.WindowsRuntime/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.0",
+ "System.IO": "4.0.10",
+ "System.ObjectModel": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/System.Runtime.WindowsRuntime.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Runtime.WindowsRuntime.dll": {}
+ }
+ },
+ "System.Runtime.WindowsRuntime.UI.Xaml/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Globalization": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Runtime.WindowsRuntime": "4.0.0"
+ },
+ "compile": {
+ "ref/netcore50/System.Runtime.WindowsRuntime.UI.Xaml.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Runtime.WindowsRuntime.UI.Xaml.dll": {}
+ }
+ },
+ "System.Security.Claims/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.0",
+ "System.Globalization": "4.0.0",
+ "System.IO": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Security.Principal": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Security.Claims.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Security.Claims.dll": {}
+ }
+ },
+ "System.Security.Principal/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/netcore50/System.Security.Principal.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Security.Principal.dll": {}
+ }
+ },
+ "System.ServiceModel.Duplex/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.ServiceModel": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/netcore50/System.ServiceModel.Duplex.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.ServiceModel.Duplex.dll": {}
+ }
+ },
+ "System.ServiceModel.Http/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.ServiceModel": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.ServiceModel.Http.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.ServiceModel.Http.dll": {}
+ }
+ },
+ "System.ServiceModel.NetTcp/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.ServiceModel": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/netcore50/System.ServiceModel.NetTcp.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.ServiceModel.NetTcp.dll": {}
+ }
+ },
+ "System.ServiceModel.Primitives/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.ServiceModel": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/netcore50/System.ServiceModel.Primitives.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.ServiceModel.Primitives.dll": {}
+ }
+ },
+ "System.ServiceModel.Security/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.ServiceModel": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/netcore50/System.ServiceModel.Security.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.ServiceModel.Security.dll": {}
+ }
+ },
+ "System.Text.Encoding/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Text.Encoding.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Text.Encoding.dll": {}
+ }
+ },
+ "System.Text.Encoding.CodePages/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.Reflection": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.Handles": "4.0.0",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Text.Encoding": "4.0.10",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Text.Encoding.CodePages.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Text.Encoding.CodePages.dll": {}
+ }
+ },
+ "System.Text.Encoding.Extensions/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0",
+ "System.Text.Encoding": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Text.Encoding.Extensions.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Text.Encoding.Extensions.dll": {}
+ }
+ },
+ "System.Text.RegularExpressions/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Text.RegularExpressions.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Text.RegularExpressions.dll": {}
+ }
+ },
+ "System.Threading/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0",
+ "System.Threading.Tasks": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Threading.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Threading.dll": {}
+ }
+ },
+ "System.Threading.Overlapped/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Runtime.Handles": "4.0.0",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Threading.Overlapped.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Threading.Overlapped.dll": {}
+ }
+ },
+ "System.Threading.Tasks/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Threading.Tasks.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Threading.Tasks.dll": {}
+ }
+ },
+ "System.Threading.Tasks.Dataflow/4.5.25": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.Collections.Concurrent": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.0",
+ "System.Diagnostics.Tracing": "4.0.0",
+ "System.Dynamic.Runtime": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.0",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Threading": "4.0.0",
+ "System.Threading.Tasks": "4.0.0"
+ },
+ "compile": {
+ "lib/dotnet/System.Threading.Tasks.Dataflow.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Threading.Tasks.Dataflow.dll": {}
+ }
+ },
+ "System.Threading.Tasks.Parallel/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections.Concurrent": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Diagnostics.Tracing": "4.0.20",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/System.Threading.Tasks.Parallel.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Threading.Tasks.Parallel.dll": {}
+ }
+ },
+ "System.Threading.Timer/4.0.0": {
+ "type": "package",
+ "compile": {
+ "ref/netcore50/System.Threading.Timer.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Threading.Timer.dll": {}
+ }
+ },
+ "System.Xml.ReaderWriter/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.IO.FileSystem": "4.0.0",
+ "System.IO.FileSystem.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Text.Encoding": "4.0.10",
+ "System.Text.Encoding.Extensions": "4.0.10",
+ "System.Text.RegularExpressions": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Xml.ReaderWriter.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Xml.ReaderWriter.dll": {}
+ }
+ },
+ "System.Xml.XDocument/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.Reflection": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Text.Encoding": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Xml.ReaderWriter": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Xml.XDocument.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Xml.XDocument.dll": {}
+ }
+ },
+ "System.Xml.XmlDocument/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Text.Encoding": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Xml.ReaderWriter": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Xml.XmlDocument.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Xml.XmlDocument.dll": {}
+ }
+ },
+ "System.Xml.XmlSerializer/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.Linq": "4.0.0",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Emit": "4.0.0",
+ "System.Reflection.Emit.ILGeneration": "4.0.0",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Text.RegularExpressions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Xml.ReaderWriter": "4.0.10",
+ "System.Xml.XmlDocument": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Xml.XmlSerializer.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Xml.XmlSerializer.dll": {}
+ }
+ }
+ },
+ "UAP,Version=v10.0/win10-x86-aot": {
+ "Microsoft.CSharp/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Dynamic.Runtime": "4.0.0",
+ "System.Globalization": "4.0.10",
+ "System.Linq": "4.0.0",
+ "System.Linq.Expressions": "4.0.0",
+ "System.ObjectModel": "4.0.10",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/Microsoft.CSharp.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/Microsoft.CSharp.dll": {}
+ }
+ },
+ "Microsoft.NETCore/5.0.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.CSharp": "4.0.0",
+ "Microsoft.NETCore.Targets": "1.0.0",
+ "Microsoft.VisualBasic": "10.0.0",
+ "System.AppContext": "4.0.0",
+ "System.Collections": "4.0.10",
+ "System.Collections.Concurrent": "4.0.10",
+ "System.Collections.Immutable": "1.1.37",
+ "System.ComponentModel": "4.0.0",
+ "System.ComponentModel.Annotations": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Diagnostics.Tools": "4.0.0",
+ "System.Diagnostics.Tracing": "4.0.20",
+ "System.Dynamic.Runtime": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.Globalization.Calendars": "4.0.0",
+ "System.Globalization.Extensions": "4.0.0",
+ "System.IO": "4.0.10",
+ "System.IO.Compression": "4.0.0",
+ "System.IO.Compression.ZipFile": "4.0.0",
+ "System.IO.FileSystem": "4.0.0",
+ "System.IO.FileSystem.Primitives": "4.0.0",
+ "System.IO.UnmanagedMemoryStream": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.Linq.Expressions": "4.0.10",
+ "System.Linq.Parallel": "4.0.0",
+ "System.Linq.Queryable": "4.0.0",
+ "System.Net.Http": "4.0.0",
+ "System.Net.NetworkInformation": "4.0.0",
+ "System.Net.Primitives": "4.0.10",
+ "System.Numerics.Vectors": "4.1.0",
+ "System.ObjectModel": "4.0.10",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.DispatchProxy": "4.0.0",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Metadata": "1.0.22",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.Handles": "4.0.0",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Runtime.Numerics": "4.0.0",
+ "System.Security.Claims": "4.0.0",
+ "System.Security.Principal": "4.0.0",
+ "System.Text.Encoding": "4.0.10",
+ "System.Text.Encoding.Extensions": "4.0.10",
+ "System.Text.RegularExpressions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10",
+ "System.Threading.Tasks.Dataflow": "4.5.25",
+ "System.Threading.Tasks.Parallel": "4.0.0",
+ "System.Threading.Timer": "4.0.0",
+ "System.Xml.ReaderWriter": "4.0.10",
+ "System.Xml.XDocument": "4.0.10"
+ }
+ },
+ "Microsoft.NETCore.Platforms/1.0.0": {
+ "type": "package"
+ },
+ "Microsoft.NETCore.Portable.Compatibility/1.0.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.NETCore.Runtime": "1.0.0"
+ },
+ "compile": {
+ "ref/netcore50/System.ComponentModel.DataAnnotations.dll": {},
+ "ref/netcore50/System.Core.dll": {},
+ "ref/netcore50/System.Net.dll": {},
+ "ref/netcore50/System.Numerics.dll": {},
+ "ref/netcore50/System.Runtime.Serialization.dll": {},
+ "ref/netcore50/System.ServiceModel.Web.dll": {},
+ "ref/netcore50/System.ServiceModel.dll": {},
+ "ref/netcore50/System.Windows.dll": {},
+ "ref/netcore50/System.Xml.Linq.dll": {},
+ "ref/netcore50/System.Xml.Serialization.dll": {},
+ "ref/netcore50/System.Xml.dll": {},
+ "ref/netcore50/System.dll": {},
+ "ref/netcore50/mscorlib.dll": {}
+ },
+ "runtime": {
+ "runtimes/aot/lib/netcore50/System.ComponentModel.DataAnnotations.dll": {},
+ "runtimes/aot/lib/netcore50/System.Core.dll": {},
+ "runtimes/aot/lib/netcore50/System.Net.dll": {},
+ "runtimes/aot/lib/netcore50/System.Numerics.dll": {},
+ "runtimes/aot/lib/netcore50/System.Runtime.Serialization.dll": {},
+ "runtimes/aot/lib/netcore50/System.ServiceModel.Web.dll": {},
+ "runtimes/aot/lib/netcore50/System.ServiceModel.dll": {},
+ "runtimes/aot/lib/netcore50/System.Windows.dll": {},
+ "runtimes/aot/lib/netcore50/System.Xml.Linq.dll": {},
+ "runtimes/aot/lib/netcore50/System.Xml.Serialization.dll": {},
+ "runtimes/aot/lib/netcore50/System.Xml.dll": {},
+ "runtimes/aot/lib/netcore50/System.dll": {},
+ "runtimes/aot/lib/netcore50/mscorlib.dll": {}
+ }
+ },
+ "Microsoft.NETCore.Runtime/1.0.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.NETCore.Runtime.Native": "1.0.0"
+ }
+ },
+ "Microsoft.NETCore.Runtime.Native/1.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "[4.0.10]",
+ "System.Diagnostics.Contracts": "[4.0.0]",
+ "System.Diagnostics.Debug": "[4.0.10]",
+ "System.Diagnostics.StackTrace": "[4.0.0]",
+ "System.Diagnostics.Tools": "[4.0.0]",
+ "System.Diagnostics.Tracing": "[4.0.20]",
+ "System.Globalization": "[4.0.10]",
+ "System.Globalization.Calendars": "[4.0.0]",
+ "System.IO": "[4.0.10]",
+ "System.ObjectModel": "[4.0.10]",
+ "System.Private.Uri": "[4.0.0]",
+ "System.Reflection": "[4.0.10]",
+ "System.Reflection.Extensions": "[4.0.0]",
+ "System.Reflection.Primitives": "[4.0.0]",
+ "System.Resources.ResourceManager": "[4.0.0]",
+ "System.Runtime": "[4.0.20]",
+ "System.Runtime.Extensions": "[4.0.10]",
+ "System.Runtime.Handles": "[4.0.0]",
+ "System.Runtime.InteropServices": "[4.0.20]",
+ "System.Text.Encoding": "[4.0.10]",
+ "System.Text.Encoding.Extensions": "[4.0.10]",
+ "System.Threading": "[4.0.10]",
+ "System.Threading.Tasks": "[4.0.10]",
+ "System.Threading.Timer": "[4.0.0]"
+ }
+ },
+ "Microsoft.NETCore.Targets/1.0.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.NETCore.Platforms": "1.0.0",
+ "Microsoft.NETCore.Targets.UniversalWindowsPlatform": "5.0.0"
+ }
+ },
+ "Microsoft.NETCore.Targets.UniversalWindowsPlatform/5.0.0": {
+ "type": "package"
+ },
+ "Microsoft.NETCore.UniversalWindowsPlatform/5.0.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.NETCore": "5.0.0",
+ "Microsoft.NETCore.Portable.Compatibility": "1.0.0",
+ "Microsoft.NETCore.Runtime": "1.0.0",
+ "Microsoft.Win32.Primitives": "4.0.0",
+ "System.ComponentModel.EventBasedAsync": "4.0.10",
+ "System.Data.Common": "4.0.0",
+ "System.Diagnostics.Contracts": "4.0.0",
+ "System.Diagnostics.StackTrace": "4.0.0",
+ "System.IO.IsolatedStorage": "4.0.0",
+ "System.Net.Http.Rtc": "4.0.0",
+ "System.Net.Requests": "4.0.10",
+ "System.Net.Sockets": "4.0.0",
+ "System.Net.WebHeaderCollection": "4.0.0",
+ "System.Numerics.Vectors.WindowsRuntime": "4.0.0",
+ "System.Reflection.Context": "4.0.0",
+ "System.Runtime.InteropServices.WindowsRuntime": "4.0.0",
+ "System.Runtime.Serialization.Json": "4.0.0",
+ "System.Runtime.Serialization.Primitives": "4.0.10",
+ "System.Runtime.Serialization.Xml": "4.0.10",
+ "System.Runtime.WindowsRuntime": "4.0.10",
+ "System.Runtime.WindowsRuntime.UI.Xaml": "4.0.0",
+ "System.ServiceModel.Duplex": "4.0.0",
+ "System.ServiceModel.Http": "4.0.10",
+ "System.ServiceModel.NetTcp": "4.0.0",
+ "System.ServiceModel.Primitives": "4.0.0",
+ "System.ServiceModel.Security": "4.0.0",
+ "System.Text.Encoding.CodePages": "4.0.0",
+ "System.Xml.XmlSerializer": "4.0.10"
+ }
+ },
+ "Microsoft.VisualBasic/10.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Dynamic.Runtime": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.Linq": "4.0.0",
+ "System.Linq.Expressions": "4.0.10",
+ "System.ObjectModel": "4.0.10",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/Microsoft.VisualBasic.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/Microsoft.VisualBasic.dll": {}
+ }
+ },
+ "Microsoft.Win32.Primitives/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.20",
+ "System.Runtime.InteropServices": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/Microsoft.Win32.Primitives.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/Microsoft.Win32.Primitives.dll": {}
+ }
+ },
+ "System.AppContext/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Threading": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.AppContext.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.AppContext.dll": {}
+ }
+ },
+ "System.Collections/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Diagnostics.Debug": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Threading": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Collections.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Collections.dll": {}
+ }
+ },
+ "System.Collections.Concurrent/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Diagnostics.Tracing": "4.0.20",
+ "System.Globalization": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Collections.Concurrent.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Collections.Concurrent.dll": {}
+ }
+ },
+ "System.Collections.Immutable/1.1.37": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.0",
+ "System.Globalization": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.0",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Threading": "4.0.0"
+ },
+ "compile": {
+ "lib/dotnet/System.Collections.Immutable.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Collections.Immutable.dll": {}
+ }
+ },
+ "System.Collections.NonGeneric/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Collections.NonGeneric.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Collections.NonGeneric.dll": {}
+ }
+ },
+ "System.Collections.Specialized/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections.NonGeneric": "4.0.0",
+ "System.Globalization": "4.0.10",
+ "System.Globalization.Extensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Collections.Specialized.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Collections.Specialized.dll": {}
+ }
+ },
+ "System.ComponentModel/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/netcore50/System.ComponentModel.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.ComponentModel.dll": {}
+ }
+ },
+ "System.ComponentModel.Annotations/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.ComponentModel": "4.0.0",
+ "System.Globalization": "4.0.10",
+ "System.Linq": "4.0.0",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Text.RegularExpressions": "4.0.10",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.ComponentModel.Annotations.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.ComponentModel.Annotations.dll": {}
+ }
+ },
+ "System.ComponentModel.EventBasedAsync/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.ComponentModel.EventBasedAsync.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.ComponentModel.EventBasedAsync.dll": {}
+ }
+ },
+ "System.Data.Common/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Collections.NonGeneric": "4.0.0",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Text.RegularExpressions": "4.0.0",
+ "System.Threading.Tasks": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Data.Common.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Data.Common.dll": {}
+ }
+ },
+ "System.Diagnostics.Contracts/4.0.0": {
+ "type": "package",
+ "compile": {
+ "ref/netcore50/System.Diagnostics.Contracts.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Diagnostics.Contracts.dll": {}
+ }
+ },
+ "System.Diagnostics.Debug/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Diagnostics.Debug.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Diagnostics.Debug.dll": {}
+ }
+ },
+ "System.Diagnostics.StackTrace/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Diagnostics.StackTrace.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Diagnostics.StackTrace.dll": {}
+ }
+ },
+ "System.Diagnostics.Tools/4.0.0": {
+ "type": "package",
+ "compile": {
+ "ref/netcore50/System.Diagnostics.Tools.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Diagnostics.Tools.dll": {}
+ }
+ },
+ "System.Diagnostics.Tracing/4.0.20": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Globalization": "4.0.0",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.InteropServices": "4.0.0",
+ "System.Text.Encoding": "4.0.0",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Diagnostics.Tracing.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Diagnostics.Tracing.dll": {}
+ }
+ },
+ "System.Dynamic.Runtime/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.0",
+ "System.Globalization": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.Linq.Expressions": "4.0.10",
+ "System.ObjectModel": "4.0.0",
+ "System.Reflection": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Threading": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Dynamic.Runtime.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Dynamic.Runtime.dll": {}
+ }
+ },
+ "System.Globalization/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Globalization.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Globalization.dll": {}
+ }
+ },
+ "System.Globalization.Calendars/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Globalization": "4.0.0",
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Globalization.Calendars.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Globalization.Calendars.dll": {}
+ }
+ },
+ "System.Globalization.Extensions/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Globalization": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.InteropServices": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Globalization.Extensions.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Globalization.Extensions.dll": {}
+ }
+ },
+ "System.IO/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Globalization": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Text.Encoding": "4.0.10",
+ "System.Text.Encoding.Extensions": "4.0.0",
+ "System.Threading": "4.0.0",
+ "System.Threading.Tasks": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.IO.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.IO.dll": {}
+ }
+ },
+ "System.IO.Compression/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.IO": "4.0.0",
+ "System.IO.Compression.clrcompression-x86": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.0",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Runtime.InteropServices": "4.0.0",
+ "System.Text.Encoding": "4.0.0",
+ "System.Threading": "4.0.0",
+ "System.Threading.Tasks": "4.0.0"
+ },
+ "compile": {
+ "ref/netcore50/System.IO.Compression.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.IO.Compression.dll": {}
+ }
+ },
+ "System.IO.Compression.clrcompression-x86/4.0.0": {
+ "type": "package",
+ "native": {
+ "runtimes/win10-x86/native/ClrCompression.dll": {}
+ }
+ },
+ "System.IO.Compression.ZipFile/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.IO": "4.0.10",
+ "System.IO.Compression": "4.0.0",
+ "System.IO.FileSystem": "4.0.0",
+ "System.IO.FileSystem.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Text.Encoding": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.IO.Compression.ZipFile.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.IO.Compression.ZipFile.dll": {}
+ }
+ },
+ "System.IO.FileSystem/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.IO.FileSystem.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.Handles": "4.0.0",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Runtime.WindowsRuntime": "4.0.0",
+ "System.Text.Encoding": "4.0.10",
+ "System.Text.Encoding.Extensions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Overlapped": "4.0.0",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.IO.FileSystem.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.IO.FileSystem.dll": {}
+ }
+ },
+ "System.IO.FileSystem.Primitives/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.IO.FileSystem.Primitives.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.IO.FileSystem.Primitives.dll": {}
+ }
+ },
+ "System.IO.IsolatedStorage/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.IO": "4.0.10",
+ "System.IO.FileSystem": "4.0.0",
+ "System.IO.FileSystem.Primitives": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.IO.IsolatedStorage.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.IO.IsolatedStorage.dll": {}
+ }
+ },
+ "System.IO.UnmanagedMemoryStream/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.IO": "4.0.10",
+ "System.IO.FileSystem.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.IO.UnmanagedMemoryStream.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.IO.UnmanagedMemoryStream.dll": {}
+ }
+ },
+ "System.Linq/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/System.Linq.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Linq.dll": {}
+ }
+ },
+ "System.Linq.Expressions/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.0",
+ "System.Globalization": "4.0.0",
+ "System.IO": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.Reflection": "4.0.0",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Threading": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Linq.Expressions.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Linq.Expressions.dll": {}
+ }
+ },
+ "System.Linq.Parallel/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Collections.Concurrent": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Diagnostics.Tracing": "4.0.20",
+ "System.Linq": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/System.Linq.Parallel.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Linq.Parallel.dll": {}
+ }
+ },
+ "System.Linq.Queryable/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Linq": "4.0.0",
+ "System.Linq.Expressions": "4.0.10",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/netcore50/System.Linq.Queryable.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Linq.Queryable.dll": {}
+ }
+ },
+ "System.Net.Http/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.Net.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Runtime.WindowsRuntime": "4.0.10",
+ "System.Text.Encoding": "4.0.10",
+ "System.Text.Encoding.Extensions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/System.Net.Http.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Net.Http.dll": {}
+ }
+ },
+ "System.Net.Http.Rtc/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Net.Http": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/netcore50/System.Net.Http.Rtc.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Net.Http.Rtc.dll": {}
+ }
+ },
+ "System.Net.NetworkInformation/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0",
+ "System.Runtime.InteropServices.WindowsRuntime": "4.0.0",
+ "System.Threading": "4.0.0"
+ },
+ "compile": {
+ "ref/netcore50/System.Net.NetworkInformation.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Net.NetworkInformation.dll": {}
+ }
+ },
+ "System.Net.Primitives/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.Networking": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Net.Primitives.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Net.Primitives.dll": {}
+ }
+ },
+ "System.Net.Requests/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.Net.Http": "4.0.0",
+ "System.Net.Primitives": "4.0.10",
+ "System.Net.WebHeaderCollection": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Net.Requests.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Net.Requests.dll": {}
+ }
+ },
+ "System.Net.Sockets/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.Networking": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Net.Sockets.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Net.Sockets.dll": {}
+ }
+ },
+ "System.Net.WebHeaderCollection/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections.NonGeneric": "4.0.0",
+ "System.Collections.Specialized": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Net.WebHeaderCollection.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Net.WebHeaderCollection.dll": {}
+ }
+ },
+ "System.Numerics.Vectors/4.1.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Globalization": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Numerics.Vectors.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Numerics.Vectors.dll": {}
+ }
+ },
+ "System.Numerics.Vectors.WindowsRuntime/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Numerics.Vectors": "4.1.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.WindowsRuntime": "4.0.0"
+ },
+ "compile": {
+ "lib/dotnet/System.Numerics.Vectors.WindowsRuntime.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Numerics.Vectors.WindowsRuntime.dll": {}
+ }
+ },
+ "System.ObjectModel/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.ObjectModel.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.ObjectModel.dll": {}
+ }
+ },
+ "System.Private.DataContractSerialization/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.Linq": "4.0.0",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.Serialization.Primitives": "4.0.10",
+ "System.Text.Encoding": "4.0.10",
+ "System.Text.Encoding.Extensions": "4.0.10",
+ "System.Text.RegularExpressions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Xml.ReaderWriter": "4.0.10",
+ "System.Xml.XmlSerializer": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/_._": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Private.DataContractSerialization.dll": {}
+ }
+ },
+ "System.Private.Networking/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Win32.Primitives": "4.0.0",
+ "System.Collections": "4.0.10",
+ "System.Collections.NonGeneric": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Diagnostics.Tracing": "4.0.20",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.IO.FileSystem": "4.0.0",
+ "System.IO.FileSystem.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.Handles": "4.0.0",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Threading": "4.0.10",
+ "System.Threading.Overlapped": "4.0.0",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/_._": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Private.Networking.dll": {}
+ }
+ },
+ "System.Private.ServiceModel/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Collections.Concurrent": "4.0.10",
+ "System.Collections.NonGeneric": "4.0.0",
+ "System.Collections.Specialized": "4.0.0",
+ "System.ComponentModel.EventBasedAsync": "4.0.10",
+ "System.Diagnostics.Contracts": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.IO.Compression": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.Linq.Expressions": "4.0.10",
+ "System.Linq.Queryable": "4.0.0",
+ "System.Net.Http": "4.0.0",
+ "System.Net.Primitives": "4.0.10",
+ "System.Net.WebHeaderCollection": "4.0.0",
+ "System.ObjectModel": "4.0.10",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.DispatchProxy": "4.0.0",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Runtime.Serialization.Primitives": "4.0.10",
+ "System.Runtime.Serialization.Xml": "4.0.10",
+ "System.Runtime.WindowsRuntime": "4.0.10",
+ "System.Security.Claims": "4.0.0",
+ "System.Security.Principal": "4.0.0",
+ "System.Text.Encoding": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10",
+ "System.Threading.Timer": "4.0.0",
+ "System.Xml.ReaderWriter": "4.0.10",
+ "System.Xml.XmlDocument": "4.0.0",
+ "System.Xml.XmlSerializer": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/_._": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Private.ServiceModel.dll": {}
+ }
+ },
+ "System.Private.Uri/4.0.0": {
+ "type": "package",
+ "compile": {
+ "ref/netcore50/_._": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Private.Uri.dll": {}
+ }
+ },
+ "System.Reflection/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.IO": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Reflection.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Reflection.dll": {}
+ }
+ },
+ "System.Reflection.Context/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Reflection": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/netcore50/System.Reflection.Context.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Reflection.Context.dll": {}
+ }
+ },
+ "System.Reflection.DispatchProxy/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Linq": "4.0.0",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Reflection.DispatchProxy.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Reflection.DispatchProxy.dll": {}
+ }
+ },
+ "System.Reflection.Emit/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.IO": "4.0.0",
+ "System.Reflection": "4.0.0",
+ "System.Reflection.Emit.ILGeneration": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Reflection.Emit.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Reflection.Emit.dll": {}
+ }
+ },
+ "System.Reflection.Emit.ILGeneration/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Reflection": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Reflection.Emit.ILGeneration.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Reflection.Emit.ILGeneration.dll": {}
+ }
+ },
+ "System.Reflection.Extensions/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/System.Reflection.Extensions.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Reflection.Extensions.dll": {}
+ }
+ },
+ "System.Reflection.Metadata/1.0.22": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.Collections.Immutable": "1.1.37",
+ "System.Diagnostics.Debug": "4.0.0",
+ "System.IO": "4.0.0",
+ "System.Reflection": "4.0.0",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.0",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Runtime.InteropServices": "4.0.0",
+ "System.Text.Encoding": "4.0.0",
+ "System.Text.Encoding.Extensions": "4.0.0",
+ "System.Threading": "4.0.0"
+ },
+ "compile": {
+ "lib/dotnet/System.Reflection.Metadata.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Reflection.Metadata.dll": {}
+ }
+ },
+ "System.Reflection.Primitives/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0",
+ "System.Threading": "4.0.0"
+ },
+ "compile": {
+ "ref/netcore50/System.Reflection.Primitives.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Reflection.Primitives.dll": {}
+ }
+ },
+ "System.Reflection.TypeExtensions/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Diagnostics.Contracts": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Linq": "4.0.0",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Reflection.TypeExtensions.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Reflection.TypeExtensions.dll": {}
+ }
+ },
+ "System.Resources.ResourceManager/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Globalization": "4.0.0",
+ "System.Reflection": "4.0.10",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/netcore50/System.Resources.ResourceManager.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Resources.ResourceManager.dll": {}
+ }
+ },
+ "System.Runtime/4.0.20": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.Uri": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Runtime.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Runtime.dll": {}
+ }
+ },
+ "System.Runtime.Extensions/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Runtime.Extensions.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Runtime.Extensions.dll": {}
+ }
+ },
+ "System.Runtime.Handles/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Runtime.Handles.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Runtime.Handles.dll": {}
+ }
+ },
+ "System.Runtime.InteropServices/4.0.20": {
+ "type": "package",
+ "dependencies": {
+ "System.Reflection": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Runtime": "4.0.0",
+ "System.Runtime.Handles": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Runtime.InteropServices.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Runtime.InteropServices.dll": {}
+ }
+ },
+ "System.Runtime.InteropServices.WindowsRuntime/4.0.0": {
+ "type": "package",
+ "compile": {
+ "ref/netcore50/System.Runtime.InteropServices.WindowsRuntime.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Runtime.InteropServices.WindowsRuntime.dll": {}
+ }
+ },
+ "System.Runtime.Numerics/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Globalization": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/System.Runtime.Numerics.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Runtime.Numerics.dll": {}
+ }
+ },
+ "System.Runtime.Serialization.Json/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.DataContractSerialization": "4.0.0"
+ },
+ "compile": {
+ "ref/netcore50/System.Runtime.Serialization.Json.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Runtime.Serialization.Json.dll": {}
+ }
+ },
+ "System.Runtime.Serialization.Primitives/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Runtime.Serialization.Primitives.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Runtime.Serialization.Primitives.dll": {}
+ }
+ },
+ "System.Runtime.Serialization.Xml/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.DataContractSerialization": "4.0.0",
+ "System.Runtime.Serialization.Primitives": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Runtime.Serialization.Xml.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Runtime.Serialization.Xml.dll": {}
+ }
+ },
+ "System.Runtime.WindowsRuntime/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.0",
+ "System.IO": "4.0.10",
+ "System.ObjectModel": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/System.Runtime.WindowsRuntime.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Runtime.WindowsRuntime.dll": {}
+ }
+ },
+ "System.Runtime.WindowsRuntime.UI.Xaml/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Globalization": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Runtime.WindowsRuntime": "4.0.0"
+ },
+ "compile": {
+ "ref/netcore50/System.Runtime.WindowsRuntime.UI.Xaml.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Runtime.WindowsRuntime.UI.Xaml.dll": {}
+ }
+ },
+ "System.Security.Claims/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.0",
+ "System.Globalization": "4.0.0",
+ "System.IO": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Security.Principal": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Security.Claims.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Security.Claims.dll": {}
+ }
+ },
+ "System.Security.Principal/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/netcore50/System.Security.Principal.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Security.Principal.dll": {}
+ }
+ },
+ "System.ServiceModel.Duplex/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.ServiceModel": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/netcore50/System.ServiceModel.Duplex.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.ServiceModel.Duplex.dll": {}
+ }
+ },
+ "System.ServiceModel.Http/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.ServiceModel": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.ServiceModel.Http.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.ServiceModel.Http.dll": {}
+ }
+ },
+ "System.ServiceModel.NetTcp/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.ServiceModel": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/netcore50/System.ServiceModel.NetTcp.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.ServiceModel.NetTcp.dll": {}
+ }
+ },
+ "System.ServiceModel.Primitives/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.ServiceModel": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/netcore50/System.ServiceModel.Primitives.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.ServiceModel.Primitives.dll": {}
+ }
+ },
+ "System.ServiceModel.Security/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.ServiceModel": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/netcore50/System.ServiceModel.Security.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.ServiceModel.Security.dll": {}
+ }
+ },
+ "System.Text.Encoding/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Text.Encoding.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Text.Encoding.dll": {}
+ }
+ },
+ "System.Text.Encoding.CodePages/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.Reflection": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.Handles": "4.0.0",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Text.Encoding": "4.0.10",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Text.Encoding.CodePages.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Text.Encoding.CodePages.dll": {}
+ }
+ },
+ "System.Text.Encoding.Extensions/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0",
+ "System.Text.Encoding": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Text.Encoding.Extensions.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Text.Encoding.Extensions.dll": {}
+ }
+ },
+ "System.Text.RegularExpressions/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Text.RegularExpressions.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Text.RegularExpressions.dll": {}
+ }
+ },
+ "System.Threading/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0",
+ "System.Threading.Tasks": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Threading.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Threading.dll": {}
+ }
+ },
+ "System.Threading.Overlapped/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Runtime.Handles": "4.0.0",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Threading.Overlapped.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Threading.Overlapped.dll": {}
+ }
+ },
+ "System.Threading.Tasks/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Threading.Tasks.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Threading.Tasks.dll": {}
+ }
+ },
+ "System.Threading.Tasks.Dataflow/4.5.25": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.Collections.Concurrent": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.0",
+ "System.Diagnostics.Tracing": "4.0.0",
+ "System.Dynamic.Runtime": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.0",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Threading": "4.0.0",
+ "System.Threading.Tasks": "4.0.0"
+ },
+ "compile": {
+ "lib/dotnet/System.Threading.Tasks.Dataflow.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Threading.Tasks.Dataflow.dll": {}
+ }
+ },
+ "System.Threading.Tasks.Parallel/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections.Concurrent": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Diagnostics.Tracing": "4.0.20",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/netcore50/System.Threading.Tasks.Parallel.dll": {}
+ },
+ "runtime": {
+ "lib/netcore50/System.Threading.Tasks.Parallel.dll": {}
+ }
+ },
+ "System.Threading.Timer/4.0.0": {
+ "type": "package",
+ "compile": {
+ "ref/netcore50/System.Threading.Timer.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Threading.Timer.dll": {}
+ }
+ },
+ "System.Xml.ReaderWriter/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.IO.FileSystem": "4.0.0",
+ "System.IO.FileSystem.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Text.Encoding": "4.0.10",
+ "System.Text.Encoding.Extensions": "4.0.10",
+ "System.Text.RegularExpressions": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Xml.ReaderWriter.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Xml.ReaderWriter.dll": {}
+ }
+ },
+ "System.Xml.XDocument/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.Reflection": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Text.Encoding": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Xml.ReaderWriter": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Xml.XDocument.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Xml.XDocument.dll": {}
+ }
+ },
+ "System.Xml.XmlDocument/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Text.Encoding": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Xml.ReaderWriter": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Xml.XmlDocument.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Xml.XmlDocument.dll": {}
+ }
+ },
+ "System.Xml.XmlSerializer/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.Linq": "4.0.0",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Emit": "4.0.0",
+ "System.Reflection.Emit.ILGeneration": "4.0.0",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Text.RegularExpressions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Xml.ReaderWriter": "4.0.10",
+ "System.Xml.XmlDocument": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Xml.XmlSerializer.dll": {}
+ },
+ "runtime": {
+ "runtimes/win8-aot/lib/netcore50/System.Xml.XmlSerializer.dll": {}
+ }
+ }
+ }
+ },
+ "libraries": {
+ "Microsoft.CSharp/4.0.0": {
+ "sha512": "oWqeKUxHXdK6dL2CFjgMcaBISbkk+AqEg+yvJHE4DElNzS4QaTsCflgkkqZwVlWby1Dg9zo9n+iCAMFefFdJ/A==",
+ "type": "package",
+ "path": "microsoft.csharp/4.0.0",
+ "files": [
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/dotnet/Microsoft.CSharp.dll",
+ "lib/net45/_._",
+ "lib/netcore50/Microsoft.CSharp.dll",
+ "lib/win8/_._",
+ "lib/wp80/_._",
+ "lib/wpa81/_._",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "microsoft.csharp.4.0.0.nupkg.sha512",
+ "microsoft.csharp.nuspec",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/dotnet/Microsoft.CSharp.dll",
+ "ref/dotnet/Microsoft.CSharp.xml",
+ "ref/dotnet/de/Microsoft.CSharp.xml",
+ "ref/dotnet/es/Microsoft.CSharp.xml",
+ "ref/dotnet/fr/Microsoft.CSharp.xml",
+ "ref/dotnet/it/Microsoft.CSharp.xml",
+ "ref/dotnet/ja/Microsoft.CSharp.xml",
+ "ref/dotnet/ko/Microsoft.CSharp.xml",
+ "ref/dotnet/ru/Microsoft.CSharp.xml",
+ "ref/dotnet/zh-hans/Microsoft.CSharp.xml",
+ "ref/dotnet/zh-hant/Microsoft.CSharp.xml",
+ "ref/net45/_._",
+ "ref/netcore50/Microsoft.CSharp.dll",
+ "ref/netcore50/Microsoft.CSharp.xml",
+ "ref/win8/_._",
+ "ref/wp80/_._",
+ "ref/wpa81/_._",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._"
+ ]
+ },
+ "Microsoft.NETCore/5.0.0": {
+ "sha512": "QQMp0yYQbIdfkKhdEE6Umh2Xonau7tasG36Trw/YlHoWgYQLp7T9L+ZD8EPvdj5ubRhtOuKEKwM7HMpkagB9ZA==",
+ "type": "package",
+ "path": "microsoft.netcore/5.0.0",
+ "files": [
+ "_._",
+ "microsoft.netcore.5.0.0.nupkg.sha512",
+ "microsoft.netcore.nuspec"
+ ]
+ },
+ "Microsoft.NETCore.Platforms/1.0.0": {
+ "sha512": "0N77OwGZpXqUco2C/ynv1os7HqdFYifvNIbveLDKqL5PZaz05Rl9enCwVBjF61aumHKueLWIJ3prnmdAXxww4A==",
+ "type": "package",
+ "path": "microsoft.netcore.platforms/1.0.0",
+ "files": [
+ "microsoft.netcore.platforms.1.0.0.nupkg.sha512",
+ "microsoft.netcore.platforms.nuspec",
+ "runtime.json"
+ ]
+ },
+ "Microsoft.NETCore.Portable.Compatibility/1.0.0": {
+ "sha512": "5/IFqf2zN1jzktRJitxO+5kQ+0AilcIbPvSojSJwDG3cGNSMZg44LXLB5E9RkSETE0Wh4QoALdNh1koKoF7/mA==",
+ "type": "package",
+ "path": "microsoft.netcore.portable.compatibility/1.0.0",
+ "files": [
+ "lib/dnxcore50/System.ComponentModel.DataAnnotations.dll",
+ "lib/dnxcore50/System.Core.dll",
+ "lib/dnxcore50/System.Net.dll",
+ "lib/dnxcore50/System.Numerics.dll",
+ "lib/dnxcore50/System.Runtime.Serialization.dll",
+ "lib/dnxcore50/System.ServiceModel.Web.dll",
+ "lib/dnxcore50/System.ServiceModel.dll",
+ "lib/dnxcore50/System.Windows.dll",
+ "lib/dnxcore50/System.Xml.Linq.dll",
+ "lib/dnxcore50/System.Xml.Serialization.dll",
+ "lib/dnxcore50/System.Xml.dll",
+ "lib/dnxcore50/System.dll",
+ "lib/net45/_._",
+ "lib/netcore50/System.ComponentModel.DataAnnotations.dll",
+ "lib/netcore50/System.Core.dll",
+ "lib/netcore50/System.Net.dll",
+ "lib/netcore50/System.Numerics.dll",
+ "lib/netcore50/System.Runtime.Serialization.dll",
+ "lib/netcore50/System.ServiceModel.Web.dll",
+ "lib/netcore50/System.ServiceModel.dll",
+ "lib/netcore50/System.Windows.dll",
+ "lib/netcore50/System.Xml.Linq.dll",
+ "lib/netcore50/System.Xml.Serialization.dll",
+ "lib/netcore50/System.Xml.dll",
+ "lib/netcore50/System.dll",
+ "lib/win8/_._",
+ "lib/wp80/_._",
+ "lib/wpa81/_._",
+ "microsoft.netcore.portable.compatibility.1.0.0.nupkg.sha512",
+ "microsoft.netcore.portable.compatibility.nuspec",
+ "ref/dotnet/System.ComponentModel.DataAnnotations.dll",
+ "ref/dotnet/System.Core.dll",
+ "ref/dotnet/System.Net.dll",
+ "ref/dotnet/System.Numerics.dll",
+ "ref/dotnet/System.Runtime.Serialization.dll",
+ "ref/dotnet/System.ServiceModel.Web.dll",
+ "ref/dotnet/System.ServiceModel.dll",
+ "ref/dotnet/System.Windows.dll",
+ "ref/dotnet/System.Xml.Linq.dll",
+ "ref/dotnet/System.Xml.Serialization.dll",
+ "ref/dotnet/System.Xml.dll",
+ "ref/dotnet/System.dll",
+ "ref/dotnet/mscorlib.dll",
+ "ref/net45/_._",
+ "ref/netcore50/System.ComponentModel.DataAnnotations.dll",
+ "ref/netcore50/System.Core.dll",
+ "ref/netcore50/System.Net.dll",
+ "ref/netcore50/System.Numerics.dll",
+ "ref/netcore50/System.Runtime.Serialization.dll",
+ "ref/netcore50/System.ServiceModel.Web.dll",
+ "ref/netcore50/System.ServiceModel.dll",
+ "ref/netcore50/System.Windows.dll",
+ "ref/netcore50/System.Xml.Linq.dll",
+ "ref/netcore50/System.Xml.Serialization.dll",
+ "ref/netcore50/System.Xml.dll",
+ "ref/netcore50/System.dll",
+ "ref/netcore50/mscorlib.dll",
+ "ref/win8/_._",
+ "ref/wp80/_._",
+ "ref/wpa81/_._",
+ "runtimes/aot/lib/netcore50/System.ComponentModel.DataAnnotations.dll",
+ "runtimes/aot/lib/netcore50/System.Core.dll",
+ "runtimes/aot/lib/netcore50/System.Net.dll",
+ "runtimes/aot/lib/netcore50/System.Numerics.dll",
+ "runtimes/aot/lib/netcore50/System.Runtime.Serialization.dll",
+ "runtimes/aot/lib/netcore50/System.ServiceModel.Web.dll",
+ "runtimes/aot/lib/netcore50/System.ServiceModel.dll",
+ "runtimes/aot/lib/netcore50/System.Windows.dll",
+ "runtimes/aot/lib/netcore50/System.Xml.Linq.dll",
+ "runtimes/aot/lib/netcore50/System.Xml.Serialization.dll",
+ "runtimes/aot/lib/netcore50/System.Xml.dll",
+ "runtimes/aot/lib/netcore50/System.dll",
+ "runtimes/aot/lib/netcore50/mscorlib.dll"
+ ]
+ },
+ "Microsoft.NETCore.Runtime/1.0.0": {
+ "sha512": "AjaMNpXLW4miEQorIqyn6iQ+BZBId6qXkhwyeh1vl6kXLqosZusbwmLNlvj/xllSQrd3aImJbvlHusam85g+xQ==",
+ "type": "package",
+ "path": "microsoft.netcore.runtime/1.0.0",
+ "files": [
+ "microsoft.netcore.runtime.1.0.0.nupkg.sha512",
+ "microsoft.netcore.runtime.nuspec",
+ "runtime.json"
+ ]
+ },
+ "Microsoft.NETCore.Runtime.CoreCLR-arm/1.0.0": {
+ "sha512": "hoJfIl981eXwn9Tz8onO/J1xaYApIfp/YrhjSh9rRhml1U5Wj80LBgyp/6n+KI3VlvcAraThhnHnCTp+M3Uh+w==",
+ "type": "package",
+ "path": "microsoft.netcore.runtime.coreclr-arm/1.0.0",
+ "files": [
+ "microsoft.netcore.runtime.coreclr-arm.1.0.0.nupkg.sha512",
+ "microsoft.netcore.runtime.coreclr-arm.nuspec",
+ "ref/dotnet/_._",
+ "runtimes/win8-arm/lib/dotnet/mscorlib.ni.dll",
+ "runtimes/win8-arm/native/clretwrc.dll",
+ "runtimes/win8-arm/native/coreclr.dll",
+ "runtimes/win8-arm/native/dbgshim.dll",
+ "runtimes/win8-arm/native/mscordaccore.dll",
+ "runtimes/win8-arm/native/mscordbi.dll",
+ "runtimes/win8-arm/native/mscorrc.debug.dll",
+ "runtimes/win8-arm/native/mscorrc.dll"
+ ]
+ },
+ "Microsoft.NETCore.Runtime.CoreCLR-x64/1.0.0": {
+ "sha512": "DaY5Z13xCZpnVIGluC5sCo4/0wy1rl6mptBH7v3RYi3guAmG88aSeFoQzyZepo0H0jEixUxNFM0+MB6Jc+j0bw==",
+ "type": "package",
+ "path": "microsoft.netcore.runtime.coreclr-x64/1.0.0",
+ "files": [
+ "microsoft.netcore.runtime.coreclr-x64.1.0.0.nupkg.sha512",
+ "microsoft.netcore.runtime.coreclr-x64.nuspec",
+ "ref/dotnet/_._",
+ "runtimes/win7-x64/lib/dotnet/mscorlib.ni.dll",
+ "runtimes/win7-x64/native/clretwrc.dll",
+ "runtimes/win7-x64/native/coreclr.dll",
+ "runtimes/win7-x64/native/dbgshim.dll",
+ "runtimes/win7-x64/native/mscordaccore.dll",
+ "runtimes/win7-x64/native/mscordbi.dll",
+ "runtimes/win7-x64/native/mscorrc.debug.dll",
+ "runtimes/win7-x64/native/mscorrc.dll"
+ ]
+ },
+ "Microsoft.NETCore.Runtime.CoreCLR-x86/1.0.0": {
+ "sha512": "2LDffu5Is/X01GVPVuye4Wmz9/SyGDNq1Opgl5bXG3206cwNiCwsQgILOtfSWVp5mn4w401+8cjhBy3THW8HQQ==",
+ "type": "package",
+ "path": "microsoft.netcore.runtime.coreclr-x86/1.0.0",
+ "files": [
+ "microsoft.netcore.runtime.coreclr-x86.1.0.0.nupkg.sha512",
+ "microsoft.netcore.runtime.coreclr-x86.nuspec",
+ "ref/dotnet/_._",
+ "runtimes/win7-x86/lib/dotnet/mscorlib.ni.dll",
+ "runtimes/win7-x86/native/clretwrc.dll",
+ "runtimes/win7-x86/native/coreclr.dll",
+ "runtimes/win7-x86/native/dbgshim.dll",
+ "runtimes/win7-x86/native/mscordaccore.dll",
+ "runtimes/win7-x86/native/mscordbi.dll",
+ "runtimes/win7-x86/native/mscorrc.debug.dll",
+ "runtimes/win7-x86/native/mscorrc.dll"
+ ]
+ },
+ "Microsoft.NETCore.Runtime.Native/1.0.0": {
+ "sha512": "tMsWWrH1AJCguiM22zK/vr6COxqz62Q1F02B07IXAUN405R3HGk5SkD/DL0Hte+OTjNtW9LkKXpOggGBRwYFNg==",
+ "type": "package",
+ "path": "microsoft.netcore.runtime.native/1.0.0",
+ "files": [
+ "_._",
+ "microsoft.netcore.runtime.native.1.0.0.nupkg.sha512",
+ "microsoft.netcore.runtime.native.nuspec"
+ ]
+ },
+ "Microsoft.NETCore.Targets/1.0.0": {
+ "sha512": "XfITpPjYLYRmAeZtb9diw6P7ylLQsSC1U2a/xj10iQpnHxkiLEBXop/psw15qMPuNca7lqgxWvzZGpQxphuXaw==",
+ "type": "package",
+ "path": "microsoft.netcore.targets/1.0.0",
+ "files": [
+ "microsoft.netcore.targets.1.0.0.nupkg.sha512",
+ "microsoft.netcore.targets.nuspec",
+ "runtime.json"
+ ]
+ },
+ "Microsoft.NETCore.Targets.UniversalWindowsPlatform/5.0.0": {
+ "sha512": "jszcJ6okLlhqF4OQbhSbixLOuLUyVT3BP7Y7/i7fcDMwnHBd1Pmdz6M1Al9SMDKVLA2oSaItg4tq6C0ydv8lYQ==",
+ "type": "package",
+ "path": "microsoft.netcore.targets.universalwindowsplatform/5.0.0",
+ "files": [
+ "microsoft.netcore.targets.universalwindowsplatform.5.0.0.nupkg.sha512",
+ "microsoft.netcore.targets.universalwindowsplatform.nuspec",
+ "runtime.json"
+ ]
+ },
+ "Microsoft.NETCore.UniversalWindowsPlatform/5.0.0": {
+ "sha512": "D0nsAm+yTk0oSSC7E6PcmuuEewBAQbGgIXNcCnRqQ4qLPdQLMjMHg8cilGs3xZgwTRQmMtEn45TAatrU1otWPQ==",
+ "type": "package",
+ "path": "microsoft.netcore.universalwindowsplatform/5.0.0",
+ "files": [
+ "_._",
+ "microsoft.netcore.universalwindowsplatform.5.0.0.nupkg.sha512",
+ "microsoft.netcore.universalwindowsplatform.nuspec"
+ ]
+ },
+ "Microsoft.NETCore.Windows.ApiSets-x64/1.0.0": {
+ "sha512": "NC+dpFMdhujz2sWAdJ8EmBk07p1zOlNi0FCCnZEbzftABpw9xZ99EMP/bUJrPTgCxHfzJAiuLPOtAauzVINk0w==",
+ "type": "package",
+ "path": "microsoft.netcore.windows.apisets-x64/1.0.0",
+ "files": [
+ "microsoft.netcore.windows.apisets-x64.1.0.0.nupkg.sha512",
+ "microsoft.netcore.windows.apisets-x64.nuspec",
+ "runtimes/win10-x64/native/_._",
+ "runtimes/win7-x64/native/API-MS-Win-Base-Util-L1-1-0.dll",
+ "runtimes/win7-x64/native/API-MS-Win-Core-Kernel32-Private-L1-1-0.dll",
+ "runtimes/win7-x64/native/API-MS-Win-Core-Kernel32-Private-L1-1-1.dll",
+ "runtimes/win7-x64/native/API-MS-Win-Core-Kernel32-Private-L1-1-2.dll",
+ "runtimes/win7-x64/native/API-MS-Win-Core-PrivateProfile-L1-1-0.dll",
+ "runtimes/win7-x64/native/API-MS-Win-Core-ProcessTopology-Obsolete-L1-1-0.dll",
+ "runtimes/win7-x64/native/API-MS-Win-Core-String-L2-1-0.dll",
+ "runtimes/win7-x64/native/API-MS-Win-Core-StringAnsi-L1-1-0.dll",
+ "runtimes/win7-x64/native/API-MS-Win-EventLog-Legacy-L1-1-0.dll",
+ "runtimes/win7-x64/native/API-MS-Win-Eventing-ClassicProvider-L1-1-0.dll",
+ "runtimes/win7-x64/native/API-MS-Win-Eventing-Consumer-L1-1-0.dll",
+ "runtimes/win7-x64/native/API-MS-Win-Eventing-Controller-L1-1-0.dll",
+ "runtimes/win7-x64/native/API-MS-Win-Eventing-Legacy-L1-1-0.dll",
+ "runtimes/win7-x64/native/API-MS-Win-Eventing-Provider-L1-1-0.dll",
+ "runtimes/win7-x64/native/API-MS-Win-Security-LsaPolicy-L1-1-0.dll",
+ "runtimes/win7-x64/native/API-MS-Win-devices-config-L1-1-0.dll",
+ "runtimes/win7-x64/native/API-MS-Win-devices-config-L1-1-1.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-com-l1-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-com-private-l1-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-comm-l1-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-console-l1-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-console-l2-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-datetime-l1-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-datetime-l1-1-1.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-debug-l1-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-debug-l1-1-1.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-delayload-l1-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-errorhandling-l1-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-errorhandling-l1-1-1.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-fibers-l1-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-fibers-l1-1-1.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-file-l1-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-file-l1-2-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-file-l1-2-1.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-file-l2-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-file-l2-1-1.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-handle-l1-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-heap-l1-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-heap-obsolete-l1-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-interlocked-l1-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-io-l1-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-io-l1-1-1.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-kernel32-legacy-l1-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-kernel32-legacy-l1-1-1.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-kernel32-legacy-l1-1-2.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-libraryloader-l1-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-libraryloader-l1-1-1.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-localization-l1-2-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-localization-l1-2-1.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-localization-l2-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-localization-obsolete-l1-2-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-memory-l1-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-memory-l1-1-1.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-memory-l1-1-2.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-memory-l1-1-3.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-namedpipe-l1-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-namedpipe-l1-2-1.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-normalization-l1-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-privateprofile-l1-1-1.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-processenvironment-l1-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-processenvironment-l1-2-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-processsecurity-l1-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-processthreads-l1-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-processthreads-l1-1-1.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-processthreads-l1-1-2.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-profile-l1-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-psapi-ansi-l1-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-psapi-l1-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-psapi-obsolete-l1-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-realtime-l1-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-registry-l1-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-registry-l2-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-rtlsupport-l1-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-shlwapi-legacy-l1-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-shlwapi-obsolete-l1-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-shutdown-l1-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-shutdown-l1-1-1.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-string-l1-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-string-obsolete-l1-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-string-obsolete-l1-1-1.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-stringloader-l1-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-stringloader-l1-1-1.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-synch-l1-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-synch-l1-2-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-sysinfo-l1-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-sysinfo-l1-2-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-sysinfo-l1-2-1.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-sysinfo-l1-2-2.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-sysinfo-l1-2-3.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-threadpool-l1-2-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-threadpool-legacy-l1-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-threadpool-private-l1-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-timezone-l1-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-url-l1-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-util-l1-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-version-l1-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-winrt-error-l1-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-winrt-error-l1-1-1.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-winrt-l1-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-winrt-registration-l1-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-winrt-robuffer-l1-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-winrt-roparameterizediid-l1-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-winrt-string-l1-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-wow64-l1-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-xstate-l1-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-core-xstate-l2-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-ro-typeresolution-l1-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-security-base-l1-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-security-cpwl-l1-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-security-cryptoapi-l1-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-security-lsalookup-l2-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-security-lsalookup-l2-1-1.dll",
+ "runtimes/win7-x64/native/api-ms-win-security-provider-l1-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-security-sddl-l1-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-service-core-l1-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-service-core-l1-1-1.dll",
+ "runtimes/win7-x64/native/api-ms-win-service-management-l1-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-service-management-l2-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-service-private-l1-1-0.dll",
+ "runtimes/win7-x64/native/api-ms-win-service-private-l1-1-1.dll",
+ "runtimes/win7-x64/native/api-ms-win-service-winsvc-l1-1-0.dll",
+ "runtimes/win7-x64/native/ext-ms-win-advapi32-encryptedfile-l1-1-0.dll",
+ "runtimes/win8-x64/native/API-MS-Win-Core-Kernel32-Private-L1-1-1.dll",
+ "runtimes/win8-x64/native/API-MS-Win-Core-Kernel32-Private-L1-1-2.dll",
+ "runtimes/win8-x64/native/API-MS-Win-devices-config-L1-1-1.dll",
+ "runtimes/win8-x64/native/api-ms-win-core-file-l1-2-1.dll",
+ "runtimes/win8-x64/native/api-ms-win-core-file-l2-1-1.dll",
+ "runtimes/win8-x64/native/api-ms-win-core-kernel32-legacy-l1-1-1.dll",
+ "runtimes/win8-x64/native/api-ms-win-core-kernel32-legacy-l1-1-2.dll",
+ "runtimes/win8-x64/native/api-ms-win-core-localization-l1-2-1.dll",
+ "runtimes/win8-x64/native/api-ms-win-core-localization-obsolete-l1-2-0.dll",
+ "runtimes/win8-x64/native/api-ms-win-core-memory-l1-1-2.dll",
+ "runtimes/win8-x64/native/api-ms-win-core-memory-l1-1-3.dll",
+ "runtimes/win8-x64/native/api-ms-win-core-namedpipe-l1-2-1.dll",
+ "runtimes/win8-x64/native/api-ms-win-core-privateprofile-l1-1-1.dll",
+ "runtimes/win8-x64/native/api-ms-win-core-processthreads-l1-1-2.dll",
+ "runtimes/win8-x64/native/api-ms-win-core-shutdown-l1-1-1.dll",
+ "runtimes/win8-x64/native/api-ms-win-core-string-obsolete-l1-1-1.dll",
+ "runtimes/win8-x64/native/api-ms-win-core-stringloader-l1-1-1.dll",
+ "runtimes/win8-x64/native/api-ms-win-core-sysinfo-l1-2-1.dll",
+ "runtimes/win8-x64/native/api-ms-win-core-sysinfo-l1-2-2.dll",
+ "runtimes/win8-x64/native/api-ms-win-core-sysinfo-l1-2-3.dll",
+ "runtimes/win8-x64/native/api-ms-win-core-winrt-error-l1-1-1.dll",
+ "runtimes/win8-x64/native/api-ms-win-core-xstate-l2-1-0.dll",
+ "runtimes/win8-x64/native/api-ms-win-security-cpwl-l1-1-0.dll",
+ "runtimes/win8-x64/native/api-ms-win-security-cryptoapi-l1-1-0.dll",
+ "runtimes/win8-x64/native/api-ms-win-security-lsalookup-l2-1-1.dll",
+ "runtimes/win8-x64/native/api-ms-win-service-private-l1-1-1.dll",
+ "runtimes/win81-x64/native/API-MS-Win-Core-Kernel32-Private-L1-1-2.dll",
+ "runtimes/win81-x64/native/api-ms-win-core-kernel32-legacy-l1-1-2.dll",
+ "runtimes/win81-x64/native/api-ms-win-core-memory-l1-1-3.dll",
+ "runtimes/win81-x64/native/api-ms-win-core-namedpipe-l1-2-1.dll",
+ "runtimes/win81-x64/native/api-ms-win-core-string-obsolete-l1-1-1.dll",
+ "runtimes/win81-x64/native/api-ms-win-core-sysinfo-l1-2-2.dll",
+ "runtimes/win81-x64/native/api-ms-win-core-sysinfo-l1-2-3.dll",
+ "runtimes/win81-x64/native/api-ms-win-security-cpwl-l1-1-0.dll"
+ ]
+ },
+ "Microsoft.NETCore.Windows.ApiSets-x86/1.0.0": {
+ "sha512": "/HDRdhz5bZyhHwQ/uk/IbnDIX5VDTsHntEZYkTYo57dM+U3Ttel9/OJv0mjL64wTO/QKUJJNKp9XO+m7nSVjJQ==",
+ "type": "package",
+ "path": "microsoft.netcore.windows.apisets-x86/1.0.0",
+ "files": [
+ "microsoft.netcore.windows.apisets-x86.1.0.0.nupkg.sha512",
+ "microsoft.netcore.windows.apisets-x86.nuspec",
+ "runtimes/win10-x86/native/_._",
+ "runtimes/win7-x86/native/API-MS-Win-Base-Util-L1-1-0.dll",
+ "runtimes/win7-x86/native/API-MS-Win-Core-Kernel32-Private-L1-1-0.dll",
+ "runtimes/win7-x86/native/API-MS-Win-Core-Kernel32-Private-L1-1-1.dll",
+ "runtimes/win7-x86/native/API-MS-Win-Core-Kernel32-Private-L1-1-2.dll",
+ "runtimes/win7-x86/native/API-MS-Win-Core-PrivateProfile-L1-1-0.dll",
+ "runtimes/win7-x86/native/API-MS-Win-Core-ProcessTopology-Obsolete-L1-1-0.dll",
+ "runtimes/win7-x86/native/API-MS-Win-Core-String-L2-1-0.dll",
+ "runtimes/win7-x86/native/API-MS-Win-Core-StringAnsi-L1-1-0.dll",
+ "runtimes/win7-x86/native/API-MS-Win-EventLog-Legacy-L1-1-0.dll",
+ "runtimes/win7-x86/native/API-MS-Win-Eventing-ClassicProvider-L1-1-0.dll",
+ "runtimes/win7-x86/native/API-MS-Win-Eventing-Consumer-L1-1-0.dll",
+ "runtimes/win7-x86/native/API-MS-Win-Eventing-Controller-L1-1-0.dll",
+ "runtimes/win7-x86/native/API-MS-Win-Eventing-Legacy-L1-1-0.dll",
+ "runtimes/win7-x86/native/API-MS-Win-Eventing-Provider-L1-1-0.dll",
+ "runtimes/win7-x86/native/API-MS-Win-Security-LsaPolicy-L1-1-0.dll",
+ "runtimes/win7-x86/native/API-MS-Win-devices-config-L1-1-0.dll",
+ "runtimes/win7-x86/native/API-MS-Win-devices-config-L1-1-1.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-com-l1-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-com-private-l1-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-comm-l1-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-console-l1-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-console-l2-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-datetime-l1-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-datetime-l1-1-1.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-debug-l1-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-debug-l1-1-1.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-delayload-l1-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-errorhandling-l1-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-errorhandling-l1-1-1.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-fibers-l1-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-fibers-l1-1-1.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-file-l1-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-file-l1-2-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-file-l1-2-1.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-file-l2-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-file-l2-1-1.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-handle-l1-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-heap-l1-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-heap-obsolete-l1-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-interlocked-l1-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-io-l1-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-io-l1-1-1.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-kernel32-legacy-l1-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-kernel32-legacy-l1-1-1.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-kernel32-legacy-l1-1-2.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-libraryloader-l1-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-libraryloader-l1-1-1.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-localization-l1-2-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-localization-l1-2-1.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-localization-l2-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-localization-obsolete-l1-2-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-memory-l1-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-memory-l1-1-1.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-memory-l1-1-2.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-memory-l1-1-3.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-namedpipe-l1-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-namedpipe-l1-2-1.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-normalization-l1-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-privateprofile-l1-1-1.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-processenvironment-l1-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-processenvironment-l1-2-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-processsecurity-l1-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-processthreads-l1-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-processthreads-l1-1-1.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-processthreads-l1-1-2.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-profile-l1-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-psapi-ansi-l1-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-psapi-l1-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-psapi-obsolete-l1-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-realtime-l1-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-registry-l1-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-registry-l2-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-rtlsupport-l1-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-shlwapi-legacy-l1-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-shlwapi-obsolete-l1-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-shutdown-l1-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-shutdown-l1-1-1.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-string-l1-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-string-obsolete-l1-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-string-obsolete-l1-1-1.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-stringloader-l1-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-stringloader-l1-1-1.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-synch-l1-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-synch-l1-2-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-sysinfo-l1-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-sysinfo-l1-2-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-sysinfo-l1-2-1.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-sysinfo-l1-2-2.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-sysinfo-l1-2-3.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-threadpool-l1-2-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-threadpool-legacy-l1-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-threadpool-private-l1-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-timezone-l1-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-url-l1-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-util-l1-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-version-l1-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-winrt-error-l1-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-winrt-error-l1-1-1.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-winrt-l1-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-winrt-registration-l1-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-winrt-robuffer-l1-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-winrt-roparameterizediid-l1-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-winrt-string-l1-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-wow64-l1-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-xstate-l1-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-core-xstate-l2-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-ro-typeresolution-l1-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-security-base-l1-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-security-cpwl-l1-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-security-cryptoapi-l1-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-security-lsalookup-l2-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-security-lsalookup-l2-1-1.dll",
+ "runtimes/win7-x86/native/api-ms-win-security-provider-l1-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-security-sddl-l1-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-service-core-l1-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-service-core-l1-1-1.dll",
+ "runtimes/win7-x86/native/api-ms-win-service-management-l1-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-service-management-l2-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-service-private-l1-1-0.dll",
+ "runtimes/win7-x86/native/api-ms-win-service-private-l1-1-1.dll",
+ "runtimes/win7-x86/native/api-ms-win-service-winsvc-l1-1-0.dll",
+ "runtimes/win7-x86/native/ext-ms-win-advapi32-encryptedfile-l1-1-0.dll",
+ "runtimes/win8-x86/native/API-MS-Win-Core-Kernel32-Private-L1-1-1.dll",
+ "runtimes/win8-x86/native/API-MS-Win-Core-Kernel32-Private-L1-1-2.dll",
+ "runtimes/win8-x86/native/API-MS-Win-devices-config-L1-1-1.dll",
+ "runtimes/win8-x86/native/api-ms-win-core-file-l1-2-1.dll",
+ "runtimes/win8-x86/native/api-ms-win-core-file-l2-1-1.dll",
+ "runtimes/win8-x86/native/api-ms-win-core-kernel32-legacy-l1-1-1.dll",
+ "runtimes/win8-x86/native/api-ms-win-core-kernel32-legacy-l1-1-2.dll",
+ "runtimes/win8-x86/native/api-ms-win-core-localization-l1-2-1.dll",
+ "runtimes/win8-x86/native/api-ms-win-core-localization-obsolete-l1-2-0.dll",
+ "runtimes/win8-x86/native/api-ms-win-core-memory-l1-1-2.dll",
+ "runtimes/win8-x86/native/api-ms-win-core-memory-l1-1-3.dll",
+ "runtimes/win8-x86/native/api-ms-win-core-namedpipe-l1-2-1.dll",
+ "runtimes/win8-x86/native/api-ms-win-core-privateprofile-l1-1-1.dll",
+ "runtimes/win8-x86/native/api-ms-win-core-processthreads-l1-1-2.dll",
+ "runtimes/win8-x86/native/api-ms-win-core-shutdown-l1-1-1.dll",
+ "runtimes/win8-x86/native/api-ms-win-core-string-obsolete-l1-1-1.dll",
+ "runtimes/win8-x86/native/api-ms-win-core-stringloader-l1-1-1.dll",
+ "runtimes/win8-x86/native/api-ms-win-core-sysinfo-l1-2-1.dll",
+ "runtimes/win8-x86/native/api-ms-win-core-sysinfo-l1-2-2.dll",
+ "runtimes/win8-x86/native/api-ms-win-core-sysinfo-l1-2-3.dll",
+ "runtimes/win8-x86/native/api-ms-win-core-winrt-error-l1-1-1.dll",
+ "runtimes/win8-x86/native/api-ms-win-core-xstate-l2-1-0.dll",
+ "runtimes/win8-x86/native/api-ms-win-security-cpwl-l1-1-0.dll",
+ "runtimes/win8-x86/native/api-ms-win-security-cryptoapi-l1-1-0.dll",
+ "runtimes/win8-x86/native/api-ms-win-security-lsalookup-l2-1-1.dll",
+ "runtimes/win8-x86/native/api-ms-win-service-private-l1-1-1.dll",
+ "runtimes/win81-x86/native/API-MS-Win-Core-Kernel32-Private-L1-1-2.dll",
+ "runtimes/win81-x86/native/api-ms-win-core-kernel32-legacy-l1-1-2.dll",
+ "runtimes/win81-x86/native/api-ms-win-core-memory-l1-1-3.dll",
+ "runtimes/win81-x86/native/api-ms-win-core-namedpipe-l1-2-1.dll",
+ "runtimes/win81-x86/native/api-ms-win-core-string-obsolete-l1-1-1.dll",
+ "runtimes/win81-x86/native/api-ms-win-core-sysinfo-l1-2-2.dll",
+ "runtimes/win81-x86/native/api-ms-win-core-sysinfo-l1-2-3.dll",
+ "runtimes/win81-x86/native/api-ms-win-security-cpwl-l1-1-0.dll"
+ ]
+ },
+ "Microsoft.VisualBasic/10.0.0": {
+ "sha512": "5BEm2/HAVd97whRlCChU7rmSh/9cwGlZ/NTNe3Jl07zuPWfKQq5TUvVNUmdvmEe8QRecJLZ4/e7WF1i1O8V42g==",
+ "type": "package",
+ "path": "microsoft.visualbasic/10.0.0",
+ "files": [
+ "lib/dotnet/Microsoft.VisualBasic.dll",
+ "lib/net45/_._",
+ "lib/netcore50/Microsoft.VisualBasic.dll",
+ "lib/win8/_._",
+ "lib/wpa81/_._",
+ "microsoft.visualbasic.10.0.0.nupkg.sha512",
+ "microsoft.visualbasic.nuspec",
+ "ref/dotnet/Microsoft.VisualBasic.dll",
+ "ref/dotnet/Microsoft.VisualBasic.xml",
+ "ref/dotnet/de/Microsoft.VisualBasic.xml",
+ "ref/dotnet/es/Microsoft.VisualBasic.xml",
+ "ref/dotnet/fr/Microsoft.VisualBasic.xml",
+ "ref/dotnet/it/Microsoft.VisualBasic.xml",
+ "ref/dotnet/ja/Microsoft.VisualBasic.xml",
+ "ref/dotnet/ko/Microsoft.VisualBasic.xml",
+ "ref/dotnet/ru/Microsoft.VisualBasic.xml",
+ "ref/dotnet/zh-hans/Microsoft.VisualBasic.xml",
+ "ref/dotnet/zh-hant/Microsoft.VisualBasic.xml",
+ "ref/net45/_._",
+ "ref/netcore50/Microsoft.VisualBasic.dll",
+ "ref/netcore50/Microsoft.VisualBasic.xml",
+ "ref/win8/_._",
+ "ref/wpa81/_._"
+ ]
+ },
+ "Microsoft.Win32.Primitives/4.0.0": {
+ "sha512": "CypEz9/lLOup8CEhiAmvr7aLs1zKPYyEU1sxQeEr6G0Ci8/F0Y6pYR1zzkROjM8j8Mq0typmbu676oYyvErQvg==",
+ "type": "package",
+ "path": "microsoft.win32.primitives/4.0.0",
+ "files": [
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/dotnet/Microsoft.Win32.Primitives.dll",
+ "lib/net46/Microsoft.Win32.Primitives.dll",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "microsoft.win32.primitives.4.0.0.nupkg.sha512",
+ "microsoft.win32.primitives.nuspec",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/dotnet/Microsoft.Win32.Primitives.dll",
+ "ref/dotnet/Microsoft.Win32.Primitives.xml",
+ "ref/dotnet/de/Microsoft.Win32.Primitives.xml",
+ "ref/dotnet/es/Microsoft.Win32.Primitives.xml",
+ "ref/dotnet/fr/Microsoft.Win32.Primitives.xml",
+ "ref/dotnet/it/Microsoft.Win32.Primitives.xml",
+ "ref/dotnet/ja/Microsoft.Win32.Primitives.xml",
+ "ref/dotnet/ko/Microsoft.Win32.Primitives.xml",
+ "ref/dotnet/ru/Microsoft.Win32.Primitives.xml",
+ "ref/dotnet/zh-hans/Microsoft.Win32.Primitives.xml",
+ "ref/dotnet/zh-hant/Microsoft.Win32.Primitives.xml",
+ "ref/net46/Microsoft.Win32.Primitives.dll",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._"
+ ]
+ },
+ "System.AppContext/4.0.0": {
+ "sha512": "gUoYgAWDC3+xhKeU5KSLbYDhTdBYk9GssrMSCcWUADzOglW+s0AmwVhOUGt2tL5xUl7ZXoYTPdA88zCgKrlG0A==",
+ "type": "package",
+ "path": "system.appcontext/4.0.0",
+ "files": [
+ "lib/DNXCore50/System.AppContext.dll",
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/net46/System.AppContext.dll",
+ "lib/netcore50/System.AppContext.dll",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/dotnet/System.AppContext.dll",
+ "ref/dotnet/System.AppContext.xml",
+ "ref/dotnet/de/System.AppContext.xml",
+ "ref/dotnet/es/System.AppContext.xml",
+ "ref/dotnet/fr/System.AppContext.xml",
+ "ref/dotnet/it/System.AppContext.xml",
+ "ref/dotnet/ja/System.AppContext.xml",
+ "ref/dotnet/ko/System.AppContext.xml",
+ "ref/dotnet/ru/System.AppContext.xml",
+ "ref/dotnet/zh-hans/System.AppContext.xml",
+ "ref/dotnet/zh-hant/System.AppContext.xml",
+ "ref/net46/System.AppContext.dll",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "system.appcontext.4.0.0.nupkg.sha512",
+ "system.appcontext.nuspec"
+ ]
+ },
+ "System.Collections/4.0.10": {
+ "sha512": "ux6ilcZZjV/Gp7JEZpe+2V1eTueq6NuoGRM3eZCFuPM25hLVVgCRuea6STW8hvqreIOE59irJk5/ovpA5xQipw==",
+ "type": "package",
+ "path": "system.collections/4.0.10",
+ "files": [
+ "lib/DNXCore50/System.Collections.dll",
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/net46/_._",
+ "lib/netcore50/System.Collections.dll",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/dotnet/System.Collections.dll",
+ "ref/dotnet/System.Collections.xml",
+ "ref/dotnet/de/System.Collections.xml",
+ "ref/dotnet/es/System.Collections.xml",
+ "ref/dotnet/fr/System.Collections.xml",
+ "ref/dotnet/it/System.Collections.xml",
+ "ref/dotnet/ja/System.Collections.xml",
+ "ref/dotnet/ko/System.Collections.xml",
+ "ref/dotnet/ru/System.Collections.xml",
+ "ref/dotnet/zh-hans/System.Collections.xml",
+ "ref/dotnet/zh-hant/System.Collections.xml",
+ "ref/net46/_._",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "runtimes/win8-aot/lib/netcore50/System.Collections.dll",
+ "system.collections.4.0.10.nupkg.sha512",
+ "system.collections.nuspec"
+ ]
+ },
+ "System.Collections.Concurrent/4.0.10": {
+ "sha512": "ZtMEqOPAjAIqR8fqom9AOKRaB94a+emO2O8uOP6vyJoNswSPrbiwN7iH53rrVpvjMVx0wr4/OMpI7486uGZjbw==",
+ "type": "package",
+ "path": "system.collections.concurrent/4.0.10",
+ "files": [
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/dotnet/System.Collections.Concurrent.dll",
+ "lib/net46/_._",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/dotnet/System.Collections.Concurrent.dll",
+ "ref/dotnet/System.Collections.Concurrent.xml",
+ "ref/dotnet/de/System.Collections.Concurrent.xml",
+ "ref/dotnet/es/System.Collections.Concurrent.xml",
+ "ref/dotnet/fr/System.Collections.Concurrent.xml",
+ "ref/dotnet/it/System.Collections.Concurrent.xml",
+ "ref/dotnet/ja/System.Collections.Concurrent.xml",
+ "ref/dotnet/ko/System.Collections.Concurrent.xml",
+ "ref/dotnet/ru/System.Collections.Concurrent.xml",
+ "ref/dotnet/zh-hans/System.Collections.Concurrent.xml",
+ "ref/dotnet/zh-hant/System.Collections.Concurrent.xml",
+ "ref/net46/_._",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "system.collections.concurrent.4.0.10.nupkg.sha512",
+ "system.collections.concurrent.nuspec"
+ ]
+ },
+ "System.Collections.Immutable/1.1.37": {
+ "sha512": "fTpqwZYBzoklTT+XjTRK8KxvmrGkYHzBiylCcKyQcxiOM8k+QvhNBxRvFHDWzy4OEP5f8/9n+xQ9mEgEXY+muA==",
+ "type": "package",
+ "path": "system.collections.immutable/1.1.37",
+ "files": [
+ "lib/dotnet/System.Collections.Immutable.dll",
+ "lib/dotnet/System.Collections.Immutable.xml",
+ "lib/portable-net45+win8+wp8+wpa81/System.Collections.Immutable.dll",
+ "lib/portable-net45+win8+wp8+wpa81/System.Collections.Immutable.xml",
+ "system.collections.immutable.1.1.37.nupkg.sha512",
+ "system.collections.immutable.nuspec"
+ ]
+ },
+ "System.Collections.NonGeneric/4.0.0": {
+ "sha512": "rVgwrFBMkmp8LI6GhAYd6Bx+2uLIXjRfNg6Ie+ASfX8ESuh9e2HNxFy2yh1MPIXZq3OAYa+0mmULVwpnEC6UDA==",
+ "type": "package",
+ "path": "system.collections.nongeneric/4.0.0",
+ "files": [
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/dotnet/System.Collections.NonGeneric.dll",
+ "lib/net46/System.Collections.NonGeneric.dll",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/dotnet/System.Collections.NonGeneric.dll",
+ "ref/dotnet/System.Collections.NonGeneric.xml",
+ "ref/dotnet/de/System.Collections.NonGeneric.xml",
+ "ref/dotnet/es/System.Collections.NonGeneric.xml",
+ "ref/dotnet/fr/System.Collections.NonGeneric.xml",
+ "ref/dotnet/it/System.Collections.NonGeneric.xml",
+ "ref/dotnet/ja/System.Collections.NonGeneric.xml",
+ "ref/dotnet/ko/System.Collections.NonGeneric.xml",
+ "ref/dotnet/ru/System.Collections.NonGeneric.xml",
+ "ref/dotnet/zh-hans/System.Collections.NonGeneric.xml",
+ "ref/dotnet/zh-hant/System.Collections.NonGeneric.xml",
+ "ref/net46/System.Collections.NonGeneric.dll",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "system.collections.nongeneric.4.0.0.nupkg.sha512",
+ "system.collections.nongeneric.nuspec"
+ ]
+ },
+ "System.Collections.Specialized/4.0.0": {
+ "sha512": "poJFwQCUOoXqvdoGxx+3p8Z63yawcYKPBSFP67Z2jICeOINvEIQZN7mVOAnC7gsVF0WU+A2wtVwfhagC7UCgAg==",
+ "type": "package",
+ "path": "system.collections.specialized/4.0.0",
+ "files": [
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/dotnet/System.Collections.Specialized.dll",
+ "lib/net46/System.Collections.Specialized.dll",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/dotnet/System.Collections.Specialized.dll",
+ "ref/dotnet/System.Collections.Specialized.xml",
+ "ref/dotnet/de/System.Collections.Specialized.xml",
+ "ref/dotnet/es/System.Collections.Specialized.xml",
+ "ref/dotnet/fr/System.Collections.Specialized.xml",
+ "ref/dotnet/it/System.Collections.Specialized.xml",
+ "ref/dotnet/ja/System.Collections.Specialized.xml",
+ "ref/dotnet/ko/System.Collections.Specialized.xml",
+ "ref/dotnet/ru/System.Collections.Specialized.xml",
+ "ref/dotnet/zh-hans/System.Collections.Specialized.xml",
+ "ref/dotnet/zh-hant/System.Collections.Specialized.xml",
+ "ref/net46/System.Collections.Specialized.dll",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "system.collections.specialized.4.0.0.nupkg.sha512",
+ "system.collections.specialized.nuspec"
+ ]
+ },
+ "System.ComponentModel/4.0.0": {
+ "sha512": "BzpLdSi++ld7rJLOOt5f/G9GxujP202bBgKORsHcGV36rLB0mfSA2h8chTMoBzFhgN7TE14TmJ2J7Q1RyNCTAw==",
+ "type": "package",
+ "path": "system.componentmodel/4.0.0",
+ "files": [
+ "lib/dotnet/System.ComponentModel.dll",
+ "lib/net45/_._",
+ "lib/netcore50/System.ComponentModel.dll",
+ "lib/win8/_._",
+ "lib/wp80/_._",
+ "lib/wpa81/_._",
+ "ref/dotnet/System.ComponentModel.dll",
+ "ref/dotnet/System.ComponentModel.xml",
+ "ref/dotnet/de/System.ComponentModel.xml",
+ "ref/dotnet/es/System.ComponentModel.xml",
+ "ref/dotnet/fr/System.ComponentModel.xml",
+ "ref/dotnet/it/System.ComponentModel.xml",
+ "ref/dotnet/ja/System.ComponentModel.xml",
+ "ref/dotnet/ko/System.ComponentModel.xml",
+ "ref/dotnet/ru/System.ComponentModel.xml",
+ "ref/dotnet/zh-hans/System.ComponentModel.xml",
+ "ref/dotnet/zh-hant/System.ComponentModel.xml",
+ "ref/net45/_._",
+ "ref/netcore50/System.ComponentModel.dll",
+ "ref/netcore50/System.ComponentModel.xml",
+ "ref/win8/_._",
+ "ref/wp80/_._",
+ "ref/wpa81/_._",
+ "system.componentmodel.4.0.0.nupkg.sha512",
+ "system.componentmodel.nuspec"
+ ]
+ },
+ "System.ComponentModel.Annotations/4.0.10": {
+ "sha512": "7+XGyEZx24nP1kpHxCB9e+c6D0fdVDvFwE1xujE9BzlXyNVcy5J5aIO0H/ECupx21QpyRvzZibGAHfL/XLL6dw==",
+ "type": "package",
+ "path": "system.componentmodel.annotations/4.0.10",
+ "files": [
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/dotnet/System.ComponentModel.Annotations.dll",
+ "lib/net46/_._",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/dotnet/System.ComponentModel.Annotations.dll",
+ "ref/dotnet/System.ComponentModel.Annotations.xml",
+ "ref/dotnet/de/System.ComponentModel.Annotations.xml",
+ "ref/dotnet/es/System.ComponentModel.Annotations.xml",
+ "ref/dotnet/fr/System.ComponentModel.Annotations.xml",
+ "ref/dotnet/it/System.ComponentModel.Annotations.xml",
+ "ref/dotnet/ja/System.ComponentModel.Annotations.xml",
+ "ref/dotnet/ko/System.ComponentModel.Annotations.xml",
+ "ref/dotnet/ru/System.ComponentModel.Annotations.xml",
+ "ref/dotnet/zh-hans/System.ComponentModel.Annotations.xml",
+ "ref/dotnet/zh-hant/System.ComponentModel.Annotations.xml",
+ "ref/net46/_._",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "system.componentmodel.annotations.4.0.10.nupkg.sha512",
+ "system.componentmodel.annotations.nuspec"
+ ]
+ },
+ "System.ComponentModel.EventBasedAsync/4.0.10": {
+ "sha512": "d6kXcHUgP0jSPXEQ6hXJYCO6CzfoCi7t9vR3BfjSQLrj4HzpuATpx1gkN7itmTW1O+wjuw6rai4378Nj6N70yw==",
+ "type": "package",
+ "path": "system.componentmodel.eventbasedasync/4.0.10",
+ "files": [
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/dotnet/System.ComponentModel.EventBasedAsync.dll",
+ "lib/net46/_._",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/dotnet/System.ComponentModel.EventBasedAsync.dll",
+ "ref/dotnet/System.ComponentModel.EventBasedAsync.xml",
+ "ref/dotnet/de/System.ComponentModel.EventBasedAsync.xml",
+ "ref/dotnet/es/System.ComponentModel.EventBasedAsync.xml",
+ "ref/dotnet/fr/System.ComponentModel.EventBasedAsync.xml",
+ "ref/dotnet/it/System.ComponentModel.EventBasedAsync.xml",
+ "ref/dotnet/ja/System.ComponentModel.EventBasedAsync.xml",
+ "ref/dotnet/ko/System.ComponentModel.EventBasedAsync.xml",
+ "ref/dotnet/ru/System.ComponentModel.EventBasedAsync.xml",
+ "ref/dotnet/zh-hans/System.ComponentModel.EventBasedAsync.xml",
+ "ref/dotnet/zh-hant/System.ComponentModel.EventBasedAsync.xml",
+ "ref/net46/_._",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "system.componentmodel.eventbasedasync.4.0.10.nupkg.sha512",
+ "system.componentmodel.eventbasedasync.nuspec"
+ ]
+ },
+ "System.Data.Common/4.0.0": {
+ "sha512": "SA7IdoTWiImVr0exDM68r0mKmR4f/qFGxZUrJQKu4YS7F+3afWzSOCezHxWdevQ0ONi4WRQsOiv+Zf9p8H0Feg==",
+ "type": "package",
+ "path": "system.data.common/4.0.0",
+ "files": [
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/dotnet/System.Data.Common.dll",
+ "lib/net46/System.Data.Common.dll",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/dotnet/System.Data.Common.dll",
+ "ref/dotnet/System.Data.Common.xml",
+ "ref/dotnet/de/System.Data.Common.xml",
+ "ref/dotnet/es/System.Data.Common.xml",
+ "ref/dotnet/fr/System.Data.Common.xml",
+ "ref/dotnet/it/System.Data.Common.xml",
+ "ref/dotnet/ja/System.Data.Common.xml",
+ "ref/dotnet/ko/System.Data.Common.xml",
+ "ref/dotnet/ru/System.Data.Common.xml",
+ "ref/dotnet/zh-hans/System.Data.Common.xml",
+ "ref/dotnet/zh-hant/System.Data.Common.xml",
+ "ref/net46/System.Data.Common.dll",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "system.data.common.4.0.0.nupkg.sha512",
+ "system.data.common.nuspec"
+ ]
+ },
+ "System.Diagnostics.Contracts/4.0.0": {
+ "sha512": "lMc7HNmyIsu0pKTdA4wf+FMq5jvouUd+oUpV4BdtyqoV0Pkbg9u/7lTKFGqpjZRQosWHq1+B32Lch2wf4AmloA==",
+ "type": "package",
+ "path": "system.diagnostics.contracts/4.0.0",
+ "files": [
+ "lib/DNXCore50/System.Diagnostics.Contracts.dll",
+ "lib/net45/_._",
+ "lib/netcore50/System.Diagnostics.Contracts.dll",
+ "lib/win8/_._",
+ "lib/wp80/_._",
+ "lib/wpa81/_._",
+ "ref/dotnet/System.Diagnostics.Contracts.dll",
+ "ref/dotnet/System.Diagnostics.Contracts.xml",
+ "ref/dotnet/de/System.Diagnostics.Contracts.xml",
+ "ref/dotnet/es/System.Diagnostics.Contracts.xml",
+ "ref/dotnet/fr/System.Diagnostics.Contracts.xml",
+ "ref/dotnet/it/System.Diagnostics.Contracts.xml",
+ "ref/dotnet/ja/System.Diagnostics.Contracts.xml",
+ "ref/dotnet/ko/System.Diagnostics.Contracts.xml",
+ "ref/dotnet/ru/System.Diagnostics.Contracts.xml",
+ "ref/dotnet/zh-hans/System.Diagnostics.Contracts.xml",
+ "ref/dotnet/zh-hant/System.Diagnostics.Contracts.xml",
+ "ref/net45/_._",
+ "ref/netcore50/System.Diagnostics.Contracts.dll",
+ "ref/netcore50/System.Diagnostics.Contracts.xml",
+ "ref/win8/_._",
+ "ref/wp80/_._",
+ "ref/wpa81/_._",
+ "runtimes/win8-aot/lib/netcore50/System.Diagnostics.Contracts.dll",
+ "system.diagnostics.contracts.4.0.0.nupkg.sha512",
+ "system.diagnostics.contracts.nuspec"
+ ]
+ },
+ "System.Diagnostics.Debug/4.0.10": {
+ "sha512": "pi2KthuvI2LWV2c2V+fwReDsDiKpNl040h6DcwFOb59SafsPT/V1fCy0z66OKwysurJkBMmp5j5CBe3Um+ub0g==",
+ "type": "package",
+ "path": "system.diagnostics.debug/4.0.10",
+ "files": [
+ "lib/DNXCore50/System.Diagnostics.Debug.dll",
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/net46/_._",
+ "lib/netcore50/System.Diagnostics.Debug.dll",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/dotnet/System.Diagnostics.Debug.dll",
+ "ref/dotnet/System.Diagnostics.Debug.xml",
+ "ref/dotnet/de/System.Diagnostics.Debug.xml",
+ "ref/dotnet/es/System.Diagnostics.Debug.xml",
+ "ref/dotnet/fr/System.Diagnostics.Debug.xml",
+ "ref/dotnet/it/System.Diagnostics.Debug.xml",
+ "ref/dotnet/ja/System.Diagnostics.Debug.xml",
+ "ref/dotnet/ko/System.Diagnostics.Debug.xml",
+ "ref/dotnet/ru/System.Diagnostics.Debug.xml",
+ "ref/dotnet/zh-hans/System.Diagnostics.Debug.xml",
+ "ref/dotnet/zh-hant/System.Diagnostics.Debug.xml",
+ "ref/net46/_._",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "runtimes/win8-aot/lib/netcore50/System.Diagnostics.Debug.dll",
+ "system.diagnostics.debug.4.0.10.nupkg.sha512",
+ "system.diagnostics.debug.nuspec"
+ ]
+ },
+ "System.Diagnostics.StackTrace/4.0.0": {
+ "sha512": "PItgenqpRiMqErvQONBlfDwctKpWVrcDSW5pppNZPJ6Bpiyz+KjsWoSiaqs5dt03HEbBTMNCrZb8KCkh7YfXmw==",
+ "type": "package",
+ "path": "system.diagnostics.stacktrace/4.0.0",
+ "files": [
+ "lib/DNXCore50/System.Diagnostics.StackTrace.dll",
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/net46/System.Diagnostics.StackTrace.dll",
+ "lib/netcore50/System.Diagnostics.StackTrace.dll",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/dotnet/System.Diagnostics.StackTrace.dll",
+ "ref/dotnet/System.Diagnostics.StackTrace.xml",
+ "ref/dotnet/de/System.Diagnostics.StackTrace.xml",
+ "ref/dotnet/es/System.Diagnostics.StackTrace.xml",
+ "ref/dotnet/fr/System.Diagnostics.StackTrace.xml",
+ "ref/dotnet/it/System.Diagnostics.StackTrace.xml",
+ "ref/dotnet/ja/System.Diagnostics.StackTrace.xml",
+ "ref/dotnet/ko/System.Diagnostics.StackTrace.xml",
+ "ref/dotnet/ru/System.Diagnostics.StackTrace.xml",
+ "ref/dotnet/zh-hans/System.Diagnostics.StackTrace.xml",
+ "ref/dotnet/zh-hant/System.Diagnostics.StackTrace.xml",
+ "ref/net46/System.Diagnostics.StackTrace.dll",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "runtimes/win8-aot/lib/netcore50/System.Diagnostics.StackTrace.dll",
+ "system.diagnostics.stacktrace.4.0.0.nupkg.sha512",
+ "system.diagnostics.stacktrace.nuspec"
+ ]
+ },
+ "System.Diagnostics.Tools/4.0.0": {
+ "sha512": "uw5Qi2u5Cgtv4xv3+8DeB63iaprPcaEHfpeJqlJiLjIVy6v0La4ahJ6VW9oPbJNIjcavd24LKq0ctT9ssuQXsw==",
+ "type": "package",
+ "path": "system.diagnostics.tools/4.0.0",
+ "files": [
+ "lib/DNXCore50/System.Diagnostics.Tools.dll",
+ "lib/net45/_._",
+ "lib/netcore50/System.Diagnostics.Tools.dll",
+ "lib/win8/_._",
+ "lib/wp80/_._",
+ "lib/wpa81/_._",
+ "ref/dotnet/System.Diagnostics.Tools.dll",
+ "ref/dotnet/System.Diagnostics.Tools.xml",
+ "ref/dotnet/de/System.Diagnostics.Tools.xml",
+ "ref/dotnet/es/System.Diagnostics.Tools.xml",
+ "ref/dotnet/fr/System.Diagnostics.Tools.xml",
+ "ref/dotnet/it/System.Diagnostics.Tools.xml",
+ "ref/dotnet/ja/System.Diagnostics.Tools.xml",
+ "ref/dotnet/ko/System.Diagnostics.Tools.xml",
+ "ref/dotnet/ru/System.Diagnostics.Tools.xml",
+ "ref/dotnet/zh-hans/System.Diagnostics.Tools.xml",
+ "ref/dotnet/zh-hant/System.Diagnostics.Tools.xml",
+ "ref/net45/_._",
+ "ref/netcore50/System.Diagnostics.Tools.dll",
+ "ref/netcore50/System.Diagnostics.Tools.xml",
+ "ref/win8/_._",
+ "ref/wp80/_._",
+ "ref/wpa81/_._",
+ "runtimes/win8-aot/lib/netcore50/System.Diagnostics.Tools.dll",
+ "system.diagnostics.tools.4.0.0.nupkg.sha512",
+ "system.diagnostics.tools.nuspec"
+ ]
+ },
+ "System.Diagnostics.Tracing/4.0.20": {
+ "sha512": "gn/wexGHc35Fv++5L1gYHMY5g25COfiZ0PGrL+3PfwzoJd4X2LbTAm/U8d385SI6BKQBI/z4dQfvneS9J27+Tw==",
+ "type": "package",
+ "path": "system.diagnostics.tracing/4.0.20",
+ "files": [
+ "lib/DNXCore50/System.Diagnostics.Tracing.dll",
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/net46/_._",
+ "lib/netcore50/System.Diagnostics.Tracing.dll",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/dotnet/System.Diagnostics.Tracing.dll",
+ "ref/dotnet/System.Diagnostics.Tracing.xml",
+ "ref/dotnet/de/System.Diagnostics.Tracing.xml",
+ "ref/dotnet/es/System.Diagnostics.Tracing.xml",
+ "ref/dotnet/fr/System.Diagnostics.Tracing.xml",
+ "ref/dotnet/it/System.Diagnostics.Tracing.xml",
+ "ref/dotnet/ja/System.Diagnostics.Tracing.xml",
+ "ref/dotnet/ko/System.Diagnostics.Tracing.xml",
+ "ref/dotnet/ru/System.Diagnostics.Tracing.xml",
+ "ref/dotnet/zh-hans/System.Diagnostics.Tracing.xml",
+ "ref/dotnet/zh-hant/System.Diagnostics.Tracing.xml",
+ "ref/net46/_._",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "runtimes/win8-aot/lib/netcore50/System.Diagnostics.Tracing.dll",
+ "system.diagnostics.tracing.4.0.20.nupkg.sha512",
+ "system.diagnostics.tracing.nuspec"
+ ]
+ },
+ "System.Dynamic.Runtime/4.0.10": {
+ "sha512": "r10VTLdlxtYp46BuxomHnwx7vIoMOr04CFoC/jJJfY22f7HQQ4P+cXY2Nxo6/rIxNNqOxwdbQQwv7Gl88Jsu1w==",
+ "type": "package",
+ "path": "system.dynamic.runtime/4.0.10",
+ "files": [
+ "lib/DNXCore50/System.Dynamic.Runtime.dll",
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/net46/_._",
+ "lib/netcore50/System.Dynamic.Runtime.dll",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/dotnet/System.Dynamic.Runtime.dll",
+ "ref/dotnet/System.Dynamic.Runtime.xml",
+ "ref/dotnet/de/System.Dynamic.Runtime.xml",
+ "ref/dotnet/es/System.Dynamic.Runtime.xml",
+ "ref/dotnet/fr/System.Dynamic.Runtime.xml",
+ "ref/dotnet/it/System.Dynamic.Runtime.xml",
+ "ref/dotnet/ja/System.Dynamic.Runtime.xml",
+ "ref/dotnet/ko/System.Dynamic.Runtime.xml",
+ "ref/dotnet/ru/System.Dynamic.Runtime.xml",
+ "ref/dotnet/zh-hans/System.Dynamic.Runtime.xml",
+ "ref/dotnet/zh-hant/System.Dynamic.Runtime.xml",
+ "ref/net46/_._",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "runtime.json",
+ "runtimes/win8-aot/lib/netcore50/System.Dynamic.Runtime.dll",
+ "system.dynamic.runtime.4.0.10.nupkg.sha512",
+ "system.dynamic.runtime.nuspec"
+ ]
+ },
+ "System.Globalization/4.0.10": {
+ "sha512": "kzRtbbCNAxdafFBDogcM36ehA3th8c1PGiz8QRkZn8O5yMBorDHSK8/TGJPYOaCS5zdsGk0u9qXHnW91nqy7fw==",
+ "type": "package",
+ "path": "system.globalization/4.0.10",
+ "files": [
+ "lib/DNXCore50/System.Globalization.dll",
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/net46/_._",
+ "lib/netcore50/System.Globalization.dll",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/dotnet/System.Globalization.dll",
+ "ref/dotnet/System.Globalization.xml",
+ "ref/dotnet/de/System.Globalization.xml",
+ "ref/dotnet/es/System.Globalization.xml",
+ "ref/dotnet/fr/System.Globalization.xml",
+ "ref/dotnet/it/System.Globalization.xml",
+ "ref/dotnet/ja/System.Globalization.xml",
+ "ref/dotnet/ko/System.Globalization.xml",
+ "ref/dotnet/ru/System.Globalization.xml",
+ "ref/dotnet/zh-hans/System.Globalization.xml",
+ "ref/dotnet/zh-hant/System.Globalization.xml",
+ "ref/net46/_._",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "runtimes/win8-aot/lib/netcore50/System.Globalization.dll",
+ "system.globalization.4.0.10.nupkg.sha512",
+ "system.globalization.nuspec"
+ ]
+ },
+ "System.Globalization.Calendars/4.0.0": {
+ "sha512": "cL6WrdGKnNBx9W/iTr+jbffsEO4RLjEtOYcpVSzPNDoli6X5Q6bAfWtJYbJNOPi8Q0fXgBEvKK1ncFL/3FTqlA==",
+ "type": "package",
+ "path": "system.globalization.calendars/4.0.0",
+ "files": [
+ "lib/DNXCore50/System.Globalization.Calendars.dll",
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/net46/System.Globalization.Calendars.dll",
+ "lib/netcore50/System.Globalization.Calendars.dll",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/dotnet/System.Globalization.Calendars.dll",
+ "ref/dotnet/System.Globalization.Calendars.xml",
+ "ref/dotnet/de/System.Globalization.Calendars.xml",
+ "ref/dotnet/es/System.Globalization.Calendars.xml",
+ "ref/dotnet/fr/System.Globalization.Calendars.xml",
+ "ref/dotnet/it/System.Globalization.Calendars.xml",
+ "ref/dotnet/ja/System.Globalization.Calendars.xml",
+ "ref/dotnet/ko/System.Globalization.Calendars.xml",
+ "ref/dotnet/ru/System.Globalization.Calendars.xml",
+ "ref/dotnet/zh-hans/System.Globalization.Calendars.xml",
+ "ref/dotnet/zh-hant/System.Globalization.Calendars.xml",
+ "ref/net46/System.Globalization.Calendars.dll",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "runtimes/win8-aot/lib/netcore50/System.Globalization.Calendars.dll",
+ "system.globalization.calendars.4.0.0.nupkg.sha512",
+ "system.globalization.calendars.nuspec"
+ ]
+ },
+ "System.Globalization.Extensions/4.0.0": {
+ "sha512": "rqbUXiwpBCvJ18ySCsjh20zleazO+6fr3s5GihC2sVwhyS0MUl6+oc5Rzk0z6CKkS4kmxbZQSeZLsK7cFSO0ng==",
+ "type": "package",
+ "path": "system.globalization.extensions/4.0.0",
+ "files": [
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/dotnet/System.Globalization.Extensions.dll",
+ "lib/net46/System.Globalization.Extensions.dll",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/dotnet/System.Globalization.Extensions.dll",
+ "ref/dotnet/System.Globalization.Extensions.xml",
+ "ref/dotnet/de/System.Globalization.Extensions.xml",
+ "ref/dotnet/es/System.Globalization.Extensions.xml",
+ "ref/dotnet/fr/System.Globalization.Extensions.xml",
+ "ref/dotnet/it/System.Globalization.Extensions.xml",
+ "ref/dotnet/ja/System.Globalization.Extensions.xml",
+ "ref/dotnet/ko/System.Globalization.Extensions.xml",
+ "ref/dotnet/ru/System.Globalization.Extensions.xml",
+ "ref/dotnet/zh-hans/System.Globalization.Extensions.xml",
+ "ref/dotnet/zh-hant/System.Globalization.Extensions.xml",
+ "ref/net46/System.Globalization.Extensions.dll",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "system.globalization.extensions.4.0.0.nupkg.sha512",
+ "system.globalization.extensions.nuspec"
+ ]
+ },
+ "System.IO/4.0.10": {
+ "sha512": "kghf1CeYT+W2lw8a50/GxFz5HR9t6RkL4BvjxtTp1NxtEFWywnMA9W8FH/KYXiDNThcw9u/GOViDON4iJFGXIQ==",
+ "type": "package",
+ "path": "system.io/4.0.10",
+ "files": [
+ "lib/DNXCore50/System.IO.dll",
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/net46/_._",
+ "lib/netcore50/System.IO.dll",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/dotnet/System.IO.dll",
+ "ref/dotnet/System.IO.xml",
+ "ref/dotnet/de/System.IO.xml",
+ "ref/dotnet/es/System.IO.xml",
+ "ref/dotnet/fr/System.IO.xml",
+ "ref/dotnet/it/System.IO.xml",
+ "ref/dotnet/ja/System.IO.xml",
+ "ref/dotnet/ko/System.IO.xml",
+ "ref/dotnet/ru/System.IO.xml",
+ "ref/dotnet/zh-hans/System.IO.xml",
+ "ref/dotnet/zh-hant/System.IO.xml",
+ "ref/net46/_._",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "runtimes/win8-aot/lib/netcore50/System.IO.dll",
+ "system.io.4.0.10.nupkg.sha512",
+ "system.io.nuspec"
+ ]
+ },
+ "System.IO.Compression/4.0.0": {
+ "sha512": "S+ljBE3py8pujTrsOOYHtDg2cnAifn6kBu/pfh1hMWIXd8DoVh0ADTA6Puv4q+nYj+Msm6JoFLNwuRSmztbsDQ==",
+ "type": "package",
+ "path": "system.io.compression/4.0.0",
+ "files": [
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/dotnet/System.IO.Compression.dll",
+ "lib/net45/_._",
+ "lib/netcore50/System.IO.Compression.dll",
+ "lib/win8/_._",
+ "lib/wpa81/_._",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/dotnet/System.IO.Compression.dll",
+ "ref/dotnet/System.IO.Compression.xml",
+ "ref/dotnet/de/System.IO.Compression.xml",
+ "ref/dotnet/es/System.IO.Compression.xml",
+ "ref/dotnet/fr/System.IO.Compression.xml",
+ "ref/dotnet/it/System.IO.Compression.xml",
+ "ref/dotnet/ja/System.IO.Compression.xml",
+ "ref/dotnet/ko/System.IO.Compression.xml",
+ "ref/dotnet/ru/System.IO.Compression.xml",
+ "ref/dotnet/zh-hans/System.IO.Compression.xml",
+ "ref/dotnet/zh-hant/System.IO.Compression.xml",
+ "ref/net45/_._",
+ "ref/netcore50/System.IO.Compression.dll",
+ "ref/netcore50/System.IO.Compression.xml",
+ "ref/win8/_._",
+ "ref/wpa81/_._",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "runtime.json",
+ "system.io.compression.4.0.0.nupkg.sha512",
+ "system.io.compression.nuspec"
+ ]
+ },
+ "System.IO.Compression.clrcompression-arm/4.0.0": {
+ "sha512": "Kk21GecAbI+H6tMP6/lMssGObbhoHwLiREiB5UkNMCypdxACuF+6gmrdDTousCUcbH28CJeo7tArrnUc+bchuw==",
+ "type": "package",
+ "path": "system.io.compression.clrcompression-arm/4.0.0",
+ "files": [
+ "runtimes/win10-arm/native/ClrCompression.dll",
+ "runtimes/win7-arm/native/clrcompression.dll",
+ "system.io.compression.clrcompression-arm.4.0.0.nupkg.sha512",
+ "system.io.compression.clrcompression-arm.nuspec"
+ ]
+ },
+ "System.IO.Compression.clrcompression-x64/4.0.0": {
+ "sha512": "Lqr+URMwKzf+8HJF6YrqEqzKzDzFJTE4OekaxqdIns71r8Ufbd8SbZa0LKl9q+7nu6Em4SkIEXVMB7plSXekOw==",
+ "type": "package",
+ "path": "system.io.compression.clrcompression-x64/4.0.0",
+ "files": [
+ "runtimes/win10-x64/native/ClrCompression.dll",
+ "runtimes/win7-x64/native/clrcompression.dll",
+ "system.io.compression.clrcompression-x64.4.0.0.nupkg.sha512",
+ "system.io.compression.clrcompression-x64.nuspec"
+ ]
+ },
+ "System.IO.Compression.clrcompression-x86/4.0.0": {
+ "sha512": "GmevpuaMRzYDXHu+xuV10fxTO8DsP7OKweWxYtkaxwVnDSj9X6RBupSiXdiveq9yj/xjZ1NbG+oRRRb99kj+VQ==",
+ "type": "package",
+ "path": "system.io.compression.clrcompression-x86/4.0.0",
+ "files": [
+ "runtimes/win10-x86/native/ClrCompression.dll",
+ "runtimes/win7-x86/native/clrcompression.dll",
+ "system.io.compression.clrcompression-x86.4.0.0.nupkg.sha512",
+ "system.io.compression.clrcompression-x86.nuspec"
+ ]
+ },
+ "System.IO.Compression.ZipFile/4.0.0": {
+ "sha512": "pwntmtsJqtt6Lez4Iyv4GVGW6DaXUTo9Rnlsx0MFagRgX+8F/sxG5S/IzDJabBj68sUWViz1QJrRZL4V9ngWDg==",
+ "type": "package",
+ "path": "system.io.compression.zipfile/4.0.0",
+ "files": [
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/dotnet/System.IO.Compression.ZipFile.dll",
+ "lib/net46/System.IO.Compression.ZipFile.dll",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/dotnet/System.IO.Compression.ZipFile.dll",
+ "ref/dotnet/System.IO.Compression.ZipFile.xml",
+ "ref/dotnet/de/System.IO.Compression.ZipFile.xml",
+ "ref/dotnet/es/System.IO.Compression.ZipFile.xml",
+ "ref/dotnet/fr/System.IO.Compression.ZipFile.xml",
+ "ref/dotnet/it/System.IO.Compression.ZipFile.xml",
+ "ref/dotnet/ja/System.IO.Compression.ZipFile.xml",
+ "ref/dotnet/ko/System.IO.Compression.ZipFile.xml",
+ "ref/dotnet/ru/System.IO.Compression.ZipFile.xml",
+ "ref/dotnet/zh-hans/System.IO.Compression.ZipFile.xml",
+ "ref/dotnet/zh-hant/System.IO.Compression.ZipFile.xml",
+ "ref/net46/System.IO.Compression.ZipFile.dll",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "system.io.compression.zipfile.4.0.0.nupkg.sha512",
+ "system.io.compression.zipfile.nuspec"
+ ]
+ },
+ "System.IO.FileSystem/4.0.0": {
+ "sha512": "eo05SPWfG+54UA0wxgRIYOuOslq+2QrJLXZaJDDsfLXG15OLguaItW39NYZTqUb4DeGOkU4R0wpOLOW4ynMUDQ==",
+ "type": "package",
+ "path": "system.io.filesystem/4.0.0",
+ "files": [
+ "lib/DNXCore50/System.IO.FileSystem.dll",
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/net46/System.IO.FileSystem.dll",
+ "lib/netcore50/System.IO.FileSystem.dll",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/dotnet/System.IO.FileSystem.dll",
+ "ref/dotnet/System.IO.FileSystem.xml",
+ "ref/dotnet/de/System.IO.FileSystem.xml",
+ "ref/dotnet/es/System.IO.FileSystem.xml",
+ "ref/dotnet/fr/System.IO.FileSystem.xml",
+ "ref/dotnet/it/System.IO.FileSystem.xml",
+ "ref/dotnet/ja/System.IO.FileSystem.xml",
+ "ref/dotnet/ko/System.IO.FileSystem.xml",
+ "ref/dotnet/ru/System.IO.FileSystem.xml",
+ "ref/dotnet/zh-hans/System.IO.FileSystem.xml",
+ "ref/dotnet/zh-hant/System.IO.FileSystem.xml",
+ "ref/net46/System.IO.FileSystem.dll",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "system.io.filesystem.4.0.0.nupkg.sha512",
+ "system.io.filesystem.nuspec"
+ ]
+ },
+ "System.IO.FileSystem.Primitives/4.0.0": {
+ "sha512": "7pJUvYi/Yq3A5nagqCCiOw3+aJp3xXc/Cjr8dnJDnER3/6kX3LEencfqmXUcPl9+7OvRNyPMNhqsLAcMK6K/KA==",
+ "type": "package",
+ "path": "system.io.filesystem.primitives/4.0.0",
+ "files": [
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/dotnet/System.IO.FileSystem.Primitives.dll",
+ "lib/net46/System.IO.FileSystem.Primitives.dll",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/dotnet/System.IO.FileSystem.Primitives.dll",
+ "ref/dotnet/System.IO.FileSystem.Primitives.xml",
+ "ref/dotnet/de/System.IO.FileSystem.Primitives.xml",
+ "ref/dotnet/es/System.IO.FileSystem.Primitives.xml",
+ "ref/dotnet/fr/System.IO.FileSystem.Primitives.xml",
+ "ref/dotnet/it/System.IO.FileSystem.Primitives.xml",
+ "ref/dotnet/ja/System.IO.FileSystem.Primitives.xml",
+ "ref/dotnet/ko/System.IO.FileSystem.Primitives.xml",
+ "ref/dotnet/ru/System.IO.FileSystem.Primitives.xml",
+ "ref/dotnet/zh-hans/System.IO.FileSystem.Primitives.xml",
+ "ref/dotnet/zh-hant/System.IO.FileSystem.Primitives.xml",
+ "ref/net46/System.IO.FileSystem.Primitives.dll",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "system.io.filesystem.primitives.4.0.0.nupkg.sha512",
+ "system.io.filesystem.primitives.nuspec"
+ ]
+ },
+ "System.IO.IsolatedStorage/4.0.0": {
+ "sha512": "d5KimUbZ49Ki6A/uwU+Iodng+nhJvpRs7hr/828cfeXC02LxUiggnRnAu+COtWcKvJ2YbBmAGOcO4GLK4fX1+w==",
+ "type": "package",
+ "path": "system.io.isolatedstorage/4.0.0",
+ "files": [
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/netcore50/System.IO.IsolatedStorage.dll",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/dotnet/System.IO.IsolatedStorage.dll",
+ "ref/dotnet/System.IO.IsolatedStorage.xml",
+ "ref/dotnet/de/System.IO.IsolatedStorage.xml",
+ "ref/dotnet/es/System.IO.IsolatedStorage.xml",
+ "ref/dotnet/fr/System.IO.IsolatedStorage.xml",
+ "ref/dotnet/it/System.IO.IsolatedStorage.xml",
+ "ref/dotnet/ja/System.IO.IsolatedStorage.xml",
+ "ref/dotnet/ko/System.IO.IsolatedStorage.xml",
+ "ref/dotnet/ru/System.IO.IsolatedStorage.xml",
+ "ref/dotnet/zh-hans/System.IO.IsolatedStorage.xml",
+ "ref/dotnet/zh-hant/System.IO.IsolatedStorage.xml",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "system.io.isolatedstorage.4.0.0.nupkg.sha512",
+ "system.io.isolatedstorage.nuspec"
+ ]
+ },
+ "System.IO.UnmanagedMemoryStream/4.0.0": {
+ "sha512": "i2xczgQfwHmolORBNHxV9b5izP8VOBxgSA2gf+H55xBvwqtR+9r9adtzlc7at0MAwiLcsk6V1TZlv2vfRQr8Sw==",
+ "type": "package",
+ "path": "system.io.unmanagedmemorystream/4.0.0",
+ "files": [
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/dotnet/System.IO.UnmanagedMemoryStream.dll",
+ "lib/net46/System.IO.UnmanagedMemoryStream.dll",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/dotnet/System.IO.UnmanagedMemoryStream.dll",
+ "ref/dotnet/System.IO.UnmanagedMemoryStream.xml",
+ "ref/dotnet/de/System.IO.UnmanagedMemoryStream.xml",
+ "ref/dotnet/es/System.IO.UnmanagedMemoryStream.xml",
+ "ref/dotnet/fr/System.IO.UnmanagedMemoryStream.xml",
+ "ref/dotnet/it/System.IO.UnmanagedMemoryStream.xml",
+ "ref/dotnet/ja/System.IO.UnmanagedMemoryStream.xml",
+ "ref/dotnet/ko/System.IO.UnmanagedMemoryStream.xml",
+ "ref/dotnet/ru/System.IO.UnmanagedMemoryStream.xml",
+ "ref/dotnet/zh-hans/System.IO.UnmanagedMemoryStream.xml",
+ "ref/dotnet/zh-hant/System.IO.UnmanagedMemoryStream.xml",
+ "ref/net46/System.IO.UnmanagedMemoryStream.dll",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "system.io.unmanagedmemorystream.4.0.0.nupkg.sha512",
+ "system.io.unmanagedmemorystream.nuspec"
+ ]
+ },
+ "System.Linq/4.0.0": {
+ "sha512": "r6Hlc+ytE6m/9UBr+nNRRdoJEWjoeQiT3L3lXYFDHoXk3VYsRBCDNXrawcexw7KPLaH0zamQLiAb6avhZ50cGg==",
+ "type": "package",
+ "path": "system.linq/4.0.0",
+ "files": [
+ "lib/dotnet/System.Linq.dll",
+ "lib/net45/_._",
+ "lib/netcore50/System.Linq.dll",
+ "lib/win8/_._",
+ "lib/wp80/_._",
+ "lib/wpa81/_._",
+ "ref/dotnet/System.Linq.dll",
+ "ref/dotnet/System.Linq.xml",
+ "ref/dotnet/de/System.Linq.xml",
+ "ref/dotnet/es/System.Linq.xml",
+ "ref/dotnet/fr/System.Linq.xml",
+ "ref/dotnet/it/System.Linq.xml",
+ "ref/dotnet/ja/System.Linq.xml",
+ "ref/dotnet/ko/System.Linq.xml",
+ "ref/dotnet/ru/System.Linq.xml",
+ "ref/dotnet/zh-hans/System.Linq.xml",
+ "ref/dotnet/zh-hant/System.Linq.xml",
+ "ref/net45/_._",
+ "ref/netcore50/System.Linq.dll",
+ "ref/netcore50/System.Linq.xml",
+ "ref/win8/_._",
+ "ref/wp80/_._",
+ "ref/wpa81/_._",
+ "system.linq.4.0.0.nupkg.sha512",
+ "system.linq.nuspec"
+ ]
+ },
+ "System.Linq.Expressions/4.0.10": {
+ "sha512": "qhFkPqRsTfXBaacjQhxwwwUoU7TEtwlBIULj7nG7i4qAkvivil31VvOvDKppCSui5yGw0/325ZeNaMYRvTotXw==",
+ "type": "package",
+ "path": "system.linq.expressions/4.0.10",
+ "files": [
+ "lib/DNXCore50/System.Linq.Expressions.dll",
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/net46/_._",
+ "lib/netcore50/System.Linq.Expressions.dll",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/dotnet/System.Linq.Expressions.dll",
+ "ref/dotnet/System.Linq.Expressions.xml",
+ "ref/dotnet/de/System.Linq.Expressions.xml",
+ "ref/dotnet/es/System.Linq.Expressions.xml",
+ "ref/dotnet/fr/System.Linq.Expressions.xml",
+ "ref/dotnet/it/System.Linq.Expressions.xml",
+ "ref/dotnet/ja/System.Linq.Expressions.xml",
+ "ref/dotnet/ko/System.Linq.Expressions.xml",
+ "ref/dotnet/ru/System.Linq.Expressions.xml",
+ "ref/dotnet/zh-hans/System.Linq.Expressions.xml",
+ "ref/dotnet/zh-hant/System.Linq.Expressions.xml",
+ "ref/net46/_._",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "runtime.json",
+ "runtimes/win8-aot/lib/netcore50/System.Linq.Expressions.dll",
+ "system.linq.expressions.4.0.10.nupkg.sha512",
+ "system.linq.expressions.nuspec"
+ ]
+ },
+ "System.Linq.Parallel/4.0.0": {
+ "sha512": "PtH7KKh1BbzVow4XY17pnrn7Io63ApMdwzRE2o2HnzsKQD/0o7X5xe6mxrDUqTm9ZCR3/PNhAlP13VY1HnHsbA==",
+ "type": "package",
+ "path": "system.linq.parallel/4.0.0",
+ "files": [
+ "lib/dotnet/System.Linq.Parallel.dll",
+ "lib/net45/_._",
+ "lib/netcore50/System.Linq.Parallel.dll",
+ "lib/win8/_._",
+ "lib/wpa81/_._",
+ "ref/dotnet/System.Linq.Parallel.dll",
+ "ref/dotnet/System.Linq.Parallel.xml",
+ "ref/dotnet/de/System.Linq.Parallel.xml",
+ "ref/dotnet/es/System.Linq.Parallel.xml",
+ "ref/dotnet/fr/System.Linq.Parallel.xml",
+ "ref/dotnet/it/System.Linq.Parallel.xml",
+ "ref/dotnet/ja/System.Linq.Parallel.xml",
+ "ref/dotnet/ko/System.Linq.Parallel.xml",
+ "ref/dotnet/ru/System.Linq.Parallel.xml",
+ "ref/dotnet/zh-hans/System.Linq.Parallel.xml",
+ "ref/dotnet/zh-hant/System.Linq.Parallel.xml",
+ "ref/net45/_._",
+ "ref/netcore50/System.Linq.Parallel.dll",
+ "ref/netcore50/System.Linq.Parallel.xml",
+ "ref/win8/_._",
+ "ref/wpa81/_._",
+ "system.linq.parallel.4.0.0.nupkg.sha512",
+ "system.linq.parallel.nuspec"
+ ]
+ },
+ "System.Linq.Queryable/4.0.0": {
+ "sha512": "DIlvCNn3ucFvwMMzXcag4aFnFJ1fdxkQ5NqwJe9Nh7y8ozzhDm07YakQL/yoF3P1dLzY1T2cTpuwbAmVSdXyBA==",
+ "type": "package",
+ "path": "system.linq.queryable/4.0.0",
+ "files": [
+ "lib/dotnet/System.Linq.Queryable.dll",
+ "lib/net45/_._",
+ "lib/netcore50/System.Linq.Queryable.dll",
+ "lib/win8/_._",
+ "lib/wp80/_._",
+ "lib/wpa81/_._",
+ "ref/dotnet/System.Linq.Queryable.dll",
+ "ref/dotnet/System.Linq.Queryable.xml",
+ "ref/dotnet/de/System.Linq.Queryable.xml",
+ "ref/dotnet/es/System.Linq.Queryable.xml",
+ "ref/dotnet/fr/System.Linq.Queryable.xml",
+ "ref/dotnet/it/System.Linq.Queryable.xml",
+ "ref/dotnet/ja/System.Linq.Queryable.xml",
+ "ref/dotnet/ko/System.Linq.Queryable.xml",
+ "ref/dotnet/ru/System.Linq.Queryable.xml",
+ "ref/dotnet/zh-hans/System.Linq.Queryable.xml",
+ "ref/dotnet/zh-hant/System.Linq.Queryable.xml",
+ "ref/net45/_._",
+ "ref/netcore50/System.Linq.Queryable.dll",
+ "ref/netcore50/System.Linq.Queryable.xml",
+ "ref/win8/_._",
+ "ref/wp80/_._",
+ "ref/wpa81/_._",
+ "system.linq.queryable.4.0.0.nupkg.sha512",
+ "system.linq.queryable.nuspec"
+ ]
+ },
+ "System.Net.Http/4.0.0": {
+ "sha512": "mZuAl7jw/mFY8jUq4ITKECxVBh9a8SJt9BC/+lJbmo7cRKspxE3PsITz+KiaCEsexN5WYPzwBOx0oJH/0HlPyQ==",
+ "type": "package",
+ "path": "system.net.http/4.0.0",
+ "files": [
+ "lib/DNXCore50/System.Net.Http.dll",
+ "lib/net45/_._",
+ "lib/netcore50/System.Net.Http.dll",
+ "lib/win8/_._",
+ "lib/wpa81/_._",
+ "ref/dotnet/System.Net.Http.dll",
+ "ref/dotnet/System.Net.Http.xml",
+ "ref/dotnet/de/System.Net.Http.xml",
+ "ref/dotnet/es/System.Net.Http.xml",
+ "ref/dotnet/fr/System.Net.Http.xml",
+ "ref/dotnet/it/System.Net.Http.xml",
+ "ref/dotnet/ja/System.Net.Http.xml",
+ "ref/dotnet/ko/System.Net.Http.xml",
+ "ref/dotnet/ru/System.Net.Http.xml",
+ "ref/dotnet/zh-hans/System.Net.Http.xml",
+ "ref/dotnet/zh-hant/System.Net.Http.xml",
+ "ref/net45/_._",
+ "ref/netcore50/System.Net.Http.dll",
+ "ref/netcore50/System.Net.Http.xml",
+ "ref/win8/_._",
+ "ref/wpa81/_._",
+ "system.net.http.4.0.0.nupkg.sha512",
+ "system.net.http.nuspec"
+ ]
+ },
+ "System.Net.Http.Rtc/4.0.0": {
+ "sha512": "PlE+oJgXdbxPmZYR6GBywRkyIPovjB1Y0SYHizj2Iflgu80uJQC4szl9gue4rKI2FgXiEbj9JL7wL5K3mp9HAQ==",
+ "type": "package",
+ "path": "system.net.http.rtc/4.0.0",
+ "files": [
+ "lib/netcore50/System.Net.Http.Rtc.dll",
+ "lib/win8/_._",
+ "ref/dotnet/System.Net.Http.Rtc.dll",
+ "ref/dotnet/System.Net.Http.Rtc.xml",
+ "ref/dotnet/de/System.Net.Http.Rtc.xml",
+ "ref/dotnet/es/System.Net.Http.Rtc.xml",
+ "ref/dotnet/fr/System.Net.Http.Rtc.xml",
+ "ref/dotnet/it/System.Net.Http.Rtc.xml",
+ "ref/dotnet/ja/System.Net.Http.Rtc.xml",
+ "ref/dotnet/ko/System.Net.Http.Rtc.xml",
+ "ref/dotnet/ru/System.Net.Http.Rtc.xml",
+ "ref/dotnet/zh-hans/System.Net.Http.Rtc.xml",
+ "ref/dotnet/zh-hant/System.Net.Http.Rtc.xml",
+ "ref/netcore50/System.Net.Http.Rtc.dll",
+ "ref/netcore50/System.Net.Http.Rtc.xml",
+ "ref/win8/_._",
+ "system.net.http.rtc.4.0.0.nupkg.sha512",
+ "system.net.http.rtc.nuspec"
+ ]
+ },
+ "System.Net.NetworkInformation/4.0.0": {
+ "sha512": "D68KCf5VK1G1GgFUwD901gU6cnMITksOdfdxUCt9ReCZfT1pigaDqjJ7XbiLAM4jm7TfZHB7g5mbOf1mbG3yBA==",
+ "type": "package",
+ "path": "system.net.networkinformation/4.0.0",
+ "files": [
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/net45/_._",
+ "lib/netcore50/System.Net.NetworkInformation.dll",
+ "lib/win8/_._",
+ "lib/wp80/_._",
+ "lib/wpa81/_._",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/dotnet/System.Net.NetworkInformation.dll",
+ "ref/dotnet/System.Net.NetworkInformation.xml",
+ "ref/dotnet/de/System.Net.NetworkInformation.xml",
+ "ref/dotnet/es/System.Net.NetworkInformation.xml",
+ "ref/dotnet/fr/System.Net.NetworkInformation.xml",
+ "ref/dotnet/it/System.Net.NetworkInformation.xml",
+ "ref/dotnet/ja/System.Net.NetworkInformation.xml",
+ "ref/dotnet/ko/System.Net.NetworkInformation.xml",
+ "ref/dotnet/ru/System.Net.NetworkInformation.xml",
+ "ref/dotnet/zh-hans/System.Net.NetworkInformation.xml",
+ "ref/dotnet/zh-hant/System.Net.NetworkInformation.xml",
+ "ref/net45/_._",
+ "ref/netcore50/System.Net.NetworkInformation.dll",
+ "ref/netcore50/System.Net.NetworkInformation.xml",
+ "ref/win8/_._",
+ "ref/wp80/_._",
+ "ref/wpa81/_._",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "system.net.networkinformation.4.0.0.nupkg.sha512",
+ "system.net.networkinformation.nuspec"
+ ]
+ },
+ "System.Net.Primitives/4.0.10": {
+ "sha512": "YQqIpmMhnKjIbT7rl6dlf7xM5DxaMR+whduZ9wKb9OhMLjoueAJO3HPPJI+Naf3v034kb+xZqdc3zo44o3HWcg==",
+ "type": "package",
+ "path": "system.net.primitives/4.0.10",
+ "files": [
+ "lib/DNXCore50/System.Net.Primitives.dll",
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/net46/_._",
+ "lib/netcore50/System.Net.Primitives.dll",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/dotnet/System.Net.Primitives.dll",
+ "ref/dotnet/System.Net.Primitives.xml",
+ "ref/dotnet/de/System.Net.Primitives.xml",
+ "ref/dotnet/es/System.Net.Primitives.xml",
+ "ref/dotnet/fr/System.Net.Primitives.xml",
+ "ref/dotnet/it/System.Net.Primitives.xml",
+ "ref/dotnet/ja/System.Net.Primitives.xml",
+ "ref/dotnet/ko/System.Net.Primitives.xml",
+ "ref/dotnet/ru/System.Net.Primitives.xml",
+ "ref/dotnet/zh-hans/System.Net.Primitives.xml",
+ "ref/dotnet/zh-hant/System.Net.Primitives.xml",
+ "ref/net46/_._",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "system.net.primitives.4.0.10.nupkg.sha512",
+ "system.net.primitives.nuspec"
+ ]
+ },
+ "System.Net.Requests/4.0.10": {
+ "sha512": "A6XBR7TztiIQg6hx7VGfbBKmRTAavUERm2E7pmNz/gZeGvwyP0lcKHZxylJtNVKj7DPwr91bD87oLY6zZYntcg==",
+ "type": "package",
+ "path": "system.net.requests/4.0.10",
+ "files": [
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/dotnet/System.Net.Requests.dll",
+ "lib/net46/_._",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/dotnet/System.Net.Requests.dll",
+ "ref/dotnet/System.Net.Requests.xml",
+ "ref/dotnet/de/System.Net.Requests.xml",
+ "ref/dotnet/es/System.Net.Requests.xml",
+ "ref/dotnet/fr/System.Net.Requests.xml",
+ "ref/dotnet/it/System.Net.Requests.xml",
+ "ref/dotnet/ja/System.Net.Requests.xml",
+ "ref/dotnet/ko/System.Net.Requests.xml",
+ "ref/dotnet/ru/System.Net.Requests.xml",
+ "ref/dotnet/zh-hans/System.Net.Requests.xml",
+ "ref/dotnet/zh-hant/System.Net.Requests.xml",
+ "ref/net46/_._",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "system.net.requests.4.0.10.nupkg.sha512",
+ "system.net.requests.nuspec"
+ ]
+ },
+ "System.Net.Sockets/4.0.0": {
+ "sha512": "7bBNLdO6Xw0BGyFVSxjloGXMvsc3qQmW+70bYMLwHEAVivMK8zx+E7XO8CeJnAko2mFj6R402E798EGYUksFcQ==",
+ "type": "package",
+ "path": "system.net.sockets/4.0.0",
+ "files": [
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/net46/System.Net.Sockets.dll",
+ "lib/netcore50/System.Net.Sockets.dll",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/dotnet/System.Net.Sockets.dll",
+ "ref/dotnet/System.Net.Sockets.xml",
+ "ref/dotnet/de/System.Net.Sockets.xml",
+ "ref/dotnet/es/System.Net.Sockets.xml",
+ "ref/dotnet/fr/System.Net.Sockets.xml",
+ "ref/dotnet/it/System.Net.Sockets.xml",
+ "ref/dotnet/ja/System.Net.Sockets.xml",
+ "ref/dotnet/ko/System.Net.Sockets.xml",
+ "ref/dotnet/ru/System.Net.Sockets.xml",
+ "ref/dotnet/zh-hans/System.Net.Sockets.xml",
+ "ref/dotnet/zh-hant/System.Net.Sockets.xml",
+ "ref/net46/System.Net.Sockets.dll",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "system.net.sockets.4.0.0.nupkg.sha512",
+ "system.net.sockets.nuspec"
+ ]
+ },
+ "System.Net.WebHeaderCollection/4.0.0": {
+ "sha512": "IsIZAsHm/yK7R/XASnEc4EMffFLIMgYchG3/zJv6B4LwMnXZwrVlSPpNbPgEVb0lSXyztsn7A6sIPAACQQ2vTQ==",
+ "type": "package",
+ "path": "system.net.webheadercollection/4.0.0",
+ "files": [
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/dotnet/System.Net.WebHeaderCollection.dll",
+ "lib/net46/_._",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/dotnet/System.Net.WebHeaderCollection.dll",
+ "ref/dotnet/System.Net.WebHeaderCollection.xml",
+ "ref/dotnet/de/System.Net.WebHeaderCollection.xml",
+ "ref/dotnet/es/System.Net.WebHeaderCollection.xml",
+ "ref/dotnet/fr/System.Net.WebHeaderCollection.xml",
+ "ref/dotnet/it/System.Net.WebHeaderCollection.xml",
+ "ref/dotnet/ja/System.Net.WebHeaderCollection.xml",
+ "ref/dotnet/ko/System.Net.WebHeaderCollection.xml",
+ "ref/dotnet/ru/System.Net.WebHeaderCollection.xml",
+ "ref/dotnet/zh-hans/System.Net.WebHeaderCollection.xml",
+ "ref/dotnet/zh-hant/System.Net.WebHeaderCollection.xml",
+ "ref/net46/_._",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "system.net.webheadercollection.4.0.0.nupkg.sha512",
+ "system.net.webheadercollection.nuspec"
+ ]
+ },
+ "System.Numerics.Vectors/4.1.0": {
+ "sha512": "jpubR06GWPoZA0oU5xLM7kHeV59/CKPBXZk4Jfhi0T3DafxbrdueHZ8kXlb+Fb5nd3DAyyMh2/eqEzLX0xv6Qg==",
+ "type": "package",
+ "path": "system.numerics.vectors/4.1.0",
+ "files": [
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/dotnet/System.Numerics.Vectors.dll",
+ "lib/net46/System.Numerics.Vectors.dll",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/dotnet/System.Numerics.Vectors.dll",
+ "ref/net46/System.Numerics.Vectors.dll",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "system.numerics.vectors.4.1.0.nupkg.sha512",
+ "system.numerics.vectors.nuspec"
+ ]
+ },
+ "System.Numerics.Vectors.WindowsRuntime/4.0.0": {
+ "sha512": "Ly7GvoPFZq6GyfZpfS0E7uCk1cinl5BANAngXVuau3lD2QqZJMHitzlPv6n1FlIn6krfv99X2IPkIaVzUwDHXA==",
+ "type": "package",
+ "path": "system.numerics.vectors.windowsruntime/4.0.0",
+ "files": [
+ "lib/dotnet/System.Numerics.Vectors.WindowsRuntime.dll",
+ "system.numerics.vectors.windowsruntime.4.0.0.nupkg.sha512",
+ "system.numerics.vectors.windowsruntime.nuspec"
+ ]
+ },
+ "System.ObjectModel/4.0.10": {
+ "sha512": "Djn1wb0vP662zxbe+c3mOhvC4vkQGicsFs1Wi0/GJJpp3Eqp+oxbJ+p2Sx3O0efYueggAI5SW+BqEoczjfr1cA==",
+ "type": "package",
+ "path": "system.objectmodel/4.0.10",
+ "files": [
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/dotnet/System.ObjectModel.dll",
+ "lib/net46/_._",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/dotnet/System.ObjectModel.dll",
+ "ref/dotnet/System.ObjectModel.xml",
+ "ref/dotnet/de/System.ObjectModel.xml",
+ "ref/dotnet/es/System.ObjectModel.xml",
+ "ref/dotnet/fr/System.ObjectModel.xml",
+ "ref/dotnet/it/System.ObjectModel.xml",
+ "ref/dotnet/ja/System.ObjectModel.xml",
+ "ref/dotnet/ko/System.ObjectModel.xml",
+ "ref/dotnet/ru/System.ObjectModel.xml",
+ "ref/dotnet/zh-hans/System.ObjectModel.xml",
+ "ref/dotnet/zh-hant/System.ObjectModel.xml",
+ "ref/net46/_._",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "system.objectmodel.4.0.10.nupkg.sha512",
+ "system.objectmodel.nuspec"
+ ]
+ },
+ "System.Private.DataContractSerialization/4.0.0": {
+ "sha512": "uQvzoXHXHn/9YqUmPtgD8ZPJIlBuuL3QHegbuik97W/umoI28fOnGLnvjRHhju1VMWvFLRQoh7uZkBaoZ+KpVQ==",
+ "type": "package",
+ "path": "system.private.datacontractserialization/4.0.0",
+ "files": [
+ "lib/DNXCore50/System.Private.DataContractSerialization.dll",
+ "lib/netcore50/System.Private.DataContractSerialization.dll",
+ "ref/dnxcore50/_._",
+ "ref/netcore50/_._",
+ "runtime.json",
+ "runtimes/win8-aot/lib/netcore50/System.Private.DataContractSerialization.dll",
+ "system.private.datacontractserialization.4.0.0.nupkg.sha512",
+ "system.private.datacontractserialization.nuspec"
+ ]
+ },
+ "System.Private.Networking/4.0.0": {
+ "sha512": "RUEqdBdJjISC65dO8l4LdN7vTdlXH+attUpKnauDUHVtLbIKdlDB9LKoLzCQsTQRP7vzUJHWYXznHJBkjAA7yA==",
+ "type": "package",
+ "path": "system.private.networking/4.0.0",
+ "files": [
+ "lib/DNXCore50/System.Private.Networking.dll",
+ "lib/netcore50/System.Private.Networking.dll",
+ "ref/dnxcore50/_._",
+ "ref/netcore50/_._",
+ "system.private.networking.4.0.0.nupkg.sha512",
+ "system.private.networking.nuspec"
+ ]
+ },
+ "System.Private.ServiceModel/4.0.0": {
+ "sha512": "cm2wEa1f9kuUq/2k8uIwepgZJi5HdxXSnjGQIeXmAb7RaWfZPEC/iamv9GJ67b5LPnCZHR0KvtFqh82e8AAYSw==",
+ "type": "package",
+ "path": "system.private.servicemodel/4.0.0",
+ "files": [
+ "lib/DNXCore50/System.Private.ServiceModel.dll",
+ "lib/netcore50/System.Private.ServiceModel.dll",
+ "ref/dnxcore50/_._",
+ "ref/netcore50/_._",
+ "system.private.servicemodel.4.0.0.nupkg.sha512",
+ "system.private.servicemodel.nuspec"
+ ]
+ },
+ "System.Private.Uri/4.0.0": {
+ "sha512": "CtuxaCKcRIvPcsqquVl3mPp79EDZPMr2UogfiFCxCs+t2z1VjbpQsKNs1GHZ8VQetqbk1mr0V1yAfMe6y8CHDA==",
+ "type": "package",
+ "path": "system.private.uri/4.0.0",
+ "files": [
+ "lib/DNXCore50/System.Private.Uri.dll",
+ "lib/netcore50/System.Private.Uri.dll",
+ "ref/dnxcore50/_._",
+ "ref/netcore50/_._",
+ "runtimes/win8-aot/lib/netcore50/System.Private.Uri.dll",
+ "system.private.uri.4.0.0.nupkg.sha512",
+ "system.private.uri.nuspec"
+ ]
+ },
+ "System.Reflection/4.0.10": {
+ "sha512": "WZ+4lEE4gqGx6mrqLhSiW4oi6QLPWwdNjzhhTONmhELOrW8Cw9phlO9tltgvRUuQUqYtBiliFwhO5S5fCJElVw==",
+ "type": "package",
+ "path": "system.reflection/4.0.10",
+ "files": [
+ "lib/DNXCore50/System.Reflection.dll",
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/net46/_._",
+ "lib/netcore50/System.Reflection.dll",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/dotnet/System.Reflection.dll",
+ "ref/dotnet/System.Reflection.xml",
+ "ref/dotnet/de/System.Reflection.xml",
+ "ref/dotnet/es/System.Reflection.xml",
+ "ref/dotnet/fr/System.Reflection.xml",
+ "ref/dotnet/it/System.Reflection.xml",
+ "ref/dotnet/ja/System.Reflection.xml",
+ "ref/dotnet/ko/System.Reflection.xml",
+ "ref/dotnet/ru/System.Reflection.xml",
+ "ref/dotnet/zh-hans/System.Reflection.xml",
+ "ref/dotnet/zh-hant/System.Reflection.xml",
+ "ref/net46/_._",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "runtimes/win8-aot/lib/netcore50/System.Reflection.dll",
+ "system.reflection.4.0.10.nupkg.sha512",
+ "system.reflection.nuspec"
+ ]
+ },
+ "System.Reflection.Context/4.0.0": {
+ "sha512": "Gz4sUHHFd/52RjHccSHbOXdujJEWKfL3gIaA+ekxvQaQfJGbI2tPzA0Uv3WTCTDRGHgtoNq5WS9E007Dt4P/VQ==",
+ "type": "package",
+ "path": "system.reflection.context/4.0.0",
+ "files": [
+ "lib/net45/_._",
+ "lib/netcore50/System.Reflection.Context.dll",
+ "lib/win8/_._",
+ "ref/dotnet/System.Reflection.Context.dll",
+ "ref/dotnet/System.Reflection.Context.xml",
+ "ref/dotnet/de/System.Reflection.Context.xml",
+ "ref/dotnet/es/System.Reflection.Context.xml",
+ "ref/dotnet/fr/System.Reflection.Context.xml",
+ "ref/dotnet/it/System.Reflection.Context.xml",
+ "ref/dotnet/ja/System.Reflection.Context.xml",
+ "ref/dotnet/ko/System.Reflection.Context.xml",
+ "ref/dotnet/ru/System.Reflection.Context.xml",
+ "ref/dotnet/zh-hans/System.Reflection.Context.xml",
+ "ref/dotnet/zh-hant/System.Reflection.Context.xml",
+ "ref/net45/_._",
+ "ref/netcore50/System.Reflection.Context.dll",
+ "ref/netcore50/System.Reflection.Context.xml",
+ "ref/win8/_._",
+ "system.reflection.context.4.0.0.nupkg.sha512",
+ "system.reflection.context.nuspec"
+ ]
+ },
+ "System.Reflection.DispatchProxy/4.0.0": {
+ "sha512": "Kd/4o6DqBfJA4058X8oGEu1KlT8Ej0A+WGeoQgZU2h+3f2vC8NRbHxeOSZvxj9/MPZ1RYmZMGL1ApO9xG/4IVA==",
+ "type": "package",
+ "path": "system.reflection.dispatchproxy/4.0.0",
+ "files": [
+ "lib/DNXCore50/System.Reflection.DispatchProxy.dll",
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/net46/System.Reflection.DispatchProxy.dll",
+ "lib/netcore50/System.Reflection.DispatchProxy.dll",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/dotnet/System.Reflection.DispatchProxy.dll",
+ "ref/dotnet/System.Reflection.DispatchProxy.xml",
+ "ref/dotnet/de/System.Reflection.DispatchProxy.xml",
+ "ref/dotnet/es/System.Reflection.DispatchProxy.xml",
+ "ref/dotnet/fr/System.Reflection.DispatchProxy.xml",
+ "ref/dotnet/it/System.Reflection.DispatchProxy.xml",
+ "ref/dotnet/ja/System.Reflection.DispatchProxy.xml",
+ "ref/dotnet/ko/System.Reflection.DispatchProxy.xml",
+ "ref/dotnet/ru/System.Reflection.DispatchProxy.xml",
+ "ref/dotnet/zh-hans/System.Reflection.DispatchProxy.xml",
+ "ref/dotnet/zh-hant/System.Reflection.DispatchProxy.xml",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "runtime.json",
+ "runtimes/win8-aot/lib/netcore50/System.Reflection.DispatchProxy.dll",
+ "system.reflection.dispatchproxy.4.0.0.nupkg.sha512",
+ "system.reflection.dispatchproxy.nuspec"
+ ]
+ },
+ "System.Reflection.Emit/4.0.0": {
+ "sha512": "CqnQz5LbNbiSxN10cv3Ehnw3j1UZOBCxnE0OO0q/keGQ5ENjyFM6rIG4gm/i0dX6EjdpYkAgKcI/mhZZCaBq4A==",
+ "type": "package",
+ "path": "system.reflection.emit/4.0.0",
+ "files": [
+ "lib/DNXCore50/System.Reflection.Emit.dll",
+ "lib/MonoAndroid10/_._",
+ "lib/net45/_._",
+ "lib/netcore50/System.Reflection.Emit.dll",
+ "lib/xamarinmac20/_._",
+ "ref/MonoAndroid10/_._",
+ "ref/dotnet/System.Reflection.Emit.dll",
+ "ref/dotnet/System.Reflection.Emit.xml",
+ "ref/dotnet/de/System.Reflection.Emit.xml",
+ "ref/dotnet/es/System.Reflection.Emit.xml",
+ "ref/dotnet/fr/System.Reflection.Emit.xml",
+ "ref/dotnet/it/System.Reflection.Emit.xml",
+ "ref/dotnet/ja/System.Reflection.Emit.xml",
+ "ref/dotnet/ko/System.Reflection.Emit.xml",
+ "ref/dotnet/ru/System.Reflection.Emit.xml",
+ "ref/dotnet/zh-hans/System.Reflection.Emit.xml",
+ "ref/dotnet/zh-hant/System.Reflection.Emit.xml",
+ "ref/net45/_._",
+ "ref/xamarinmac20/_._",
+ "system.reflection.emit.4.0.0.nupkg.sha512",
+ "system.reflection.emit.nuspec"
+ ]
+ },
+ "System.Reflection.Emit.ILGeneration/4.0.0": {
+ "sha512": "02okuusJ0GZiHZSD2IOLIN41GIn6qOr7i5+86C98BPuhlwWqVABwebiGNvhDiXP1f9a6CxEigC7foQD42klcDg==",
+ "type": "package",
+ "path": "system.reflection.emit.ilgeneration/4.0.0",
+ "files": [
+ "lib/DNXCore50/System.Reflection.Emit.ILGeneration.dll",
+ "lib/net45/_._",
+ "lib/netcore50/System.Reflection.Emit.ILGeneration.dll",
+ "lib/wp80/_._",
+ "ref/dotnet/System.Reflection.Emit.ILGeneration.dll",
+ "ref/dotnet/System.Reflection.Emit.ILGeneration.xml",
+ "ref/dotnet/de/System.Reflection.Emit.ILGeneration.xml",
+ "ref/dotnet/es/System.Reflection.Emit.ILGeneration.xml",
+ "ref/dotnet/fr/System.Reflection.Emit.ILGeneration.xml",
+ "ref/dotnet/it/System.Reflection.Emit.ILGeneration.xml",
+ "ref/dotnet/ja/System.Reflection.Emit.ILGeneration.xml",
+ "ref/dotnet/ko/System.Reflection.Emit.ILGeneration.xml",
+ "ref/dotnet/ru/System.Reflection.Emit.ILGeneration.xml",
+ "ref/dotnet/zh-hans/System.Reflection.Emit.ILGeneration.xml",
+ "ref/dotnet/zh-hant/System.Reflection.Emit.ILGeneration.xml",
+ "ref/net45/_._",
+ "ref/wp80/_._",
+ "system.reflection.emit.ilgeneration.4.0.0.nupkg.sha512",
+ "system.reflection.emit.ilgeneration.nuspec"
+ ]
+ },
+ "System.Reflection.Emit.Lightweight/4.0.0": {
+ "sha512": "DJZhHiOdkN08xJgsJfDjkuOreLLmMcU8qkEEqEHqyhkPUZMMQs0lE8R+6+68BAFWgcdzxtNu0YmIOtEug8j00w==",
+ "type": "package",
+ "path": "system.reflection.emit.lightweight/4.0.0",
+ "files": [
+ "lib/DNXCore50/System.Reflection.Emit.Lightweight.dll",
+ "lib/net45/_._",
+ "lib/netcore50/System.Reflection.Emit.Lightweight.dll",
+ "lib/wp80/_._",
+ "ref/dotnet/System.Reflection.Emit.Lightweight.dll",
+ "ref/dotnet/System.Reflection.Emit.Lightweight.xml",
+ "ref/dotnet/de/System.Reflection.Emit.Lightweight.xml",
+ "ref/dotnet/es/System.Reflection.Emit.Lightweight.xml",
+ "ref/dotnet/fr/System.Reflection.Emit.Lightweight.xml",
+ "ref/dotnet/it/System.Reflection.Emit.Lightweight.xml",
+ "ref/dotnet/ja/System.Reflection.Emit.Lightweight.xml",
+ "ref/dotnet/ko/System.Reflection.Emit.Lightweight.xml",
+ "ref/dotnet/ru/System.Reflection.Emit.Lightweight.xml",
+ "ref/dotnet/zh-hans/System.Reflection.Emit.Lightweight.xml",
+ "ref/dotnet/zh-hant/System.Reflection.Emit.Lightweight.xml",
+ "ref/net45/_._",
+ "ref/wp80/_._",
+ "system.reflection.emit.lightweight.4.0.0.nupkg.sha512",
+ "system.reflection.emit.lightweight.nuspec"
+ ]
+ },
+ "System.Reflection.Extensions/4.0.0": {
+ "sha512": "dbYaZWCyFAu1TGYUqR2n+Q+1casSHPR2vVW0WVNkXpZbrd2BXcZ7cpvpu9C98CTHtNmyfMWCLpCclDqly23t6A==",
+ "type": "package",
+ "path": "system.reflection.extensions/4.0.0",
+ "files": [
+ "lib/DNXCore50/System.Reflection.Extensions.dll",
+ "lib/net45/_._",
+ "lib/netcore50/System.Reflection.Extensions.dll",
+ "lib/win8/_._",
+ "lib/wp80/_._",
+ "lib/wpa81/_._",
+ "ref/dotnet/System.Reflection.Extensions.dll",
+ "ref/dotnet/System.Reflection.Extensions.xml",
+ "ref/dotnet/de/System.Reflection.Extensions.xml",
+ "ref/dotnet/es/System.Reflection.Extensions.xml",
+ "ref/dotnet/fr/System.Reflection.Extensions.xml",
+ "ref/dotnet/it/System.Reflection.Extensions.xml",
+ "ref/dotnet/ja/System.Reflection.Extensions.xml",
+ "ref/dotnet/ko/System.Reflection.Extensions.xml",
+ "ref/dotnet/ru/System.Reflection.Extensions.xml",
+ "ref/dotnet/zh-hans/System.Reflection.Extensions.xml",
+ "ref/dotnet/zh-hant/System.Reflection.Extensions.xml",
+ "ref/net45/_._",
+ "ref/netcore50/System.Reflection.Extensions.dll",
+ "ref/netcore50/System.Reflection.Extensions.xml",
+ "ref/win8/_._",
+ "ref/wp80/_._",
+ "ref/wpa81/_._",
+ "runtimes/win8-aot/lib/netcore50/System.Reflection.Extensions.dll",
+ "system.reflection.extensions.4.0.0.nupkg.sha512",
+ "system.reflection.extensions.nuspec"
+ ]
+ },
+ "System.Reflection.Metadata/1.0.22": {
+ "sha512": "ltoL/teiEdy5W9fyYdtFr2xJ/4nHyksXLK9dkPWx3ubnj7BVfsSWxvWTg9EaJUXjhWvS/AeTtugZA1/IDQyaPQ==",
+ "type": "package",
+ "path": "system.reflection.metadata/1.0.22",
+ "files": [
+ "lib/dotnet/System.Reflection.Metadata.dll",
+ "lib/dotnet/System.Reflection.Metadata.xml",
+ "lib/portable-net45+win8/System.Reflection.Metadata.dll",
+ "lib/portable-net45+win8/System.Reflection.Metadata.xml",
+ "system.reflection.metadata.1.0.22.nupkg.sha512",
+ "system.reflection.metadata.nuspec"
+ ]
+ },
+ "System.Reflection.Primitives/4.0.0": {
+ "sha512": "n9S0XpKv2ruc17FSnaiX6nV47VfHTZ1wLjKZlAirUZCvDQCH71mVp+Ohabn0xXLh5pK2PKp45HCxkqu5Fxn/lA==",
+ "type": "package",
+ "path": "system.reflection.primitives/4.0.0",
+ "files": [
+ "lib/DNXCore50/System.Reflection.Primitives.dll",
+ "lib/net45/_._",
+ "lib/netcore50/System.Reflection.Primitives.dll",
+ "lib/win8/_._",
+ "lib/wp80/_._",
+ "lib/wpa81/_._",
+ "ref/dotnet/System.Reflection.Primitives.dll",
+ "ref/dotnet/System.Reflection.Primitives.xml",
+ "ref/dotnet/de/System.Reflection.Primitives.xml",
+ "ref/dotnet/es/System.Reflection.Primitives.xml",
+ "ref/dotnet/fr/System.Reflection.Primitives.xml",
+ "ref/dotnet/it/System.Reflection.Primitives.xml",
+ "ref/dotnet/ja/System.Reflection.Primitives.xml",
+ "ref/dotnet/ko/System.Reflection.Primitives.xml",
+ "ref/dotnet/ru/System.Reflection.Primitives.xml",
+ "ref/dotnet/zh-hans/System.Reflection.Primitives.xml",
+ "ref/dotnet/zh-hant/System.Reflection.Primitives.xml",
+ "ref/net45/_._",
+ "ref/netcore50/System.Reflection.Primitives.dll",
+ "ref/netcore50/System.Reflection.Primitives.xml",
+ "ref/win8/_._",
+ "ref/wp80/_._",
+ "ref/wpa81/_._",
+ "runtimes/win8-aot/lib/netcore50/System.Reflection.Primitives.dll",
+ "system.reflection.primitives.4.0.0.nupkg.sha512",
+ "system.reflection.primitives.nuspec"
+ ]
+ },
+ "System.Reflection.TypeExtensions/4.0.0": {
+ "sha512": "YRM/msNAM86hdxPyXcuZSzmTO0RQFh7YMEPBLTY8cqXvFPYIx2x99bOyPkuU81wRYQem1c1HTkImQ2DjbOBfew==",
+ "type": "package",
+ "path": "system.reflection.typeextensions/4.0.0",
+ "files": [
+ "lib/DNXCore50/System.Reflection.TypeExtensions.dll",
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/net46/System.Reflection.TypeExtensions.dll",
+ "lib/netcore50/System.Reflection.TypeExtensions.dll",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/dotnet/System.Reflection.TypeExtensions.dll",
+ "ref/dotnet/System.Reflection.TypeExtensions.xml",
+ "ref/dotnet/de/System.Reflection.TypeExtensions.xml",
+ "ref/dotnet/es/System.Reflection.TypeExtensions.xml",
+ "ref/dotnet/fr/System.Reflection.TypeExtensions.xml",
+ "ref/dotnet/it/System.Reflection.TypeExtensions.xml",
+ "ref/dotnet/ja/System.Reflection.TypeExtensions.xml",
+ "ref/dotnet/ko/System.Reflection.TypeExtensions.xml",
+ "ref/dotnet/ru/System.Reflection.TypeExtensions.xml",
+ "ref/dotnet/zh-hans/System.Reflection.TypeExtensions.xml",
+ "ref/dotnet/zh-hant/System.Reflection.TypeExtensions.xml",
+ "ref/net46/System.Reflection.TypeExtensions.dll",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "runtimes/win8-aot/lib/netcore50/System.Reflection.TypeExtensions.dll",
+ "system.reflection.typeextensions.4.0.0.nupkg.sha512",
+ "system.reflection.typeextensions.nuspec"
+ ]
+ },
+ "System.Resources.ResourceManager/4.0.0": {
+ "sha512": "qmqeZ4BJgjfU+G2JbrZt4Dk1LsMxO4t+f/9HarNY6w8pBgweO6jT+cknUH7c3qIrGvyUqraBhU45Eo6UtA0fAw==",
+ "type": "package",
+ "path": "system.resources.resourcemanager/4.0.0",
+ "files": [
+ "lib/DNXCore50/System.Resources.ResourceManager.dll",
+ "lib/net45/_._",
+ "lib/netcore50/System.Resources.ResourceManager.dll",
+ "lib/win8/_._",
+ "lib/wp80/_._",
+ "lib/wpa81/_._",
+ "ref/dotnet/System.Resources.ResourceManager.dll",
+ "ref/dotnet/System.Resources.ResourceManager.xml",
+ "ref/dotnet/de/System.Resources.ResourceManager.xml",
+ "ref/dotnet/es/System.Resources.ResourceManager.xml",
+ "ref/dotnet/fr/System.Resources.ResourceManager.xml",
+ "ref/dotnet/it/System.Resources.ResourceManager.xml",
+ "ref/dotnet/ja/System.Resources.ResourceManager.xml",
+ "ref/dotnet/ko/System.Resources.ResourceManager.xml",
+ "ref/dotnet/ru/System.Resources.ResourceManager.xml",
+ "ref/dotnet/zh-hans/System.Resources.ResourceManager.xml",
+ "ref/dotnet/zh-hant/System.Resources.ResourceManager.xml",
+ "ref/net45/_._",
+ "ref/netcore50/System.Resources.ResourceManager.dll",
+ "ref/netcore50/System.Resources.ResourceManager.xml",
+ "ref/win8/_._",
+ "ref/wp80/_._",
+ "ref/wpa81/_._",
+ "runtimes/win8-aot/lib/netcore50/System.Resources.ResourceManager.dll",
+ "system.resources.resourcemanager.4.0.0.nupkg.sha512",
+ "system.resources.resourcemanager.nuspec"
+ ]
+ },
+ "System.Runtime/4.0.20": {
+ "sha512": "X7N/9Bz7jVPorqdVFO86ns1sX6MlQM+WTxELtx+Z4VG45x9+LKmWH0GRqjgKprUnVuwmfB9EJ9DQng14Z7/zwg==",
+ "type": "package",
+ "path": "system.runtime/4.0.20",
+ "files": [
+ "lib/DNXCore50/System.Runtime.dll",
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/net46/_._",
+ "lib/netcore50/System.Runtime.dll",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/dotnet/System.Runtime.dll",
+ "ref/dotnet/System.Runtime.xml",
+ "ref/dotnet/de/System.Runtime.xml",
+ "ref/dotnet/es/System.Runtime.xml",
+ "ref/dotnet/fr/System.Runtime.xml",
+ "ref/dotnet/it/System.Runtime.xml",
+ "ref/dotnet/ja/System.Runtime.xml",
+ "ref/dotnet/ko/System.Runtime.xml",
+ "ref/dotnet/ru/System.Runtime.xml",
+ "ref/dotnet/zh-hans/System.Runtime.xml",
+ "ref/dotnet/zh-hant/System.Runtime.xml",
+ "ref/net46/_._",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "runtimes/win8-aot/lib/netcore50/System.Runtime.dll",
+ "system.runtime.4.0.20.nupkg.sha512",
+ "system.runtime.nuspec"
+ ]
+ },
+ "System.Runtime.Extensions/4.0.10": {
+ "sha512": "5dsEwf3Iml7d5OZeT20iyOjT+r+okWpN7xI2v+R4cgd3WSj4DeRPTvPFjDpacbVW4skCAZ8B9hxXJYgkCFKJ1A==",
+ "type": "package",
+ "path": "system.runtime.extensions/4.0.10",
+ "files": [
+ "lib/DNXCore50/System.Runtime.Extensions.dll",
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/net46/_._",
+ "lib/netcore50/System.Runtime.Extensions.dll",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/dotnet/System.Runtime.Extensions.dll",
+ "ref/dotnet/System.Runtime.Extensions.xml",
+ "ref/dotnet/de/System.Runtime.Extensions.xml",
+ "ref/dotnet/es/System.Runtime.Extensions.xml",
+ "ref/dotnet/fr/System.Runtime.Extensions.xml",
+ "ref/dotnet/it/System.Runtime.Extensions.xml",
+ "ref/dotnet/ja/System.Runtime.Extensions.xml",
+ "ref/dotnet/ko/System.Runtime.Extensions.xml",
+ "ref/dotnet/ru/System.Runtime.Extensions.xml",
+ "ref/dotnet/zh-hans/System.Runtime.Extensions.xml",
+ "ref/dotnet/zh-hant/System.Runtime.Extensions.xml",
+ "ref/net46/_._",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "runtimes/win8-aot/lib/netcore50/System.Runtime.Extensions.dll",
+ "system.runtime.extensions.4.0.10.nupkg.sha512",
+ "system.runtime.extensions.nuspec"
+ ]
+ },
+ "System.Runtime.Handles/4.0.0": {
+ "sha512": "638VhpRq63tVcQ6HDb3um3R/J2BtR1Sa96toHo6PcJGPXEPEsleCuqhBgX2gFCz0y0qkutANwW6VPPY5wQu1XQ==",
+ "type": "package",
+ "path": "system.runtime.handles/4.0.0",
+ "files": [
+ "lib/DNXCore50/System.Runtime.Handles.dll",
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/net46/_._",
+ "lib/netcore50/System.Runtime.Handles.dll",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/dotnet/System.Runtime.Handles.dll",
+ "ref/dotnet/System.Runtime.Handles.xml",
+ "ref/dotnet/de/System.Runtime.Handles.xml",
+ "ref/dotnet/es/System.Runtime.Handles.xml",
+ "ref/dotnet/fr/System.Runtime.Handles.xml",
+ "ref/dotnet/it/System.Runtime.Handles.xml",
+ "ref/dotnet/ja/System.Runtime.Handles.xml",
+ "ref/dotnet/ko/System.Runtime.Handles.xml",
+ "ref/dotnet/ru/System.Runtime.Handles.xml",
+ "ref/dotnet/zh-hans/System.Runtime.Handles.xml",
+ "ref/dotnet/zh-hant/System.Runtime.Handles.xml",
+ "ref/net46/_._",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "runtimes/win8-aot/lib/netcore50/System.Runtime.Handles.dll",
+ "system.runtime.handles.4.0.0.nupkg.sha512",
+ "system.runtime.handles.nuspec"
+ ]
+ },
+ "System.Runtime.InteropServices/4.0.20": {
+ "sha512": "ZgDyBYfEnjWoz/viS6VOswA6XOkDSH2DzgbpczbW50RywhnCgTl+w3JEvtAiOGyIh8cyx1NJq80jsNBSUr8Pig==",
+ "type": "package",
+ "path": "system.runtime.interopservices/4.0.20",
+ "files": [
+ "lib/DNXCore50/System.Runtime.InteropServices.dll",
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/net46/_._",
+ "lib/netcore50/System.Runtime.InteropServices.dll",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/dotnet/System.Runtime.InteropServices.dll",
+ "ref/dotnet/System.Runtime.InteropServices.xml",
+ "ref/dotnet/de/System.Runtime.InteropServices.xml",
+ "ref/dotnet/es/System.Runtime.InteropServices.xml",
+ "ref/dotnet/fr/System.Runtime.InteropServices.xml",
+ "ref/dotnet/it/System.Runtime.InteropServices.xml",
+ "ref/dotnet/ja/System.Runtime.InteropServices.xml",
+ "ref/dotnet/ko/System.Runtime.InteropServices.xml",
+ "ref/dotnet/ru/System.Runtime.InteropServices.xml",
+ "ref/dotnet/zh-hans/System.Runtime.InteropServices.xml",
+ "ref/dotnet/zh-hant/System.Runtime.InteropServices.xml",
+ "ref/net46/_._",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "runtimes/win8-aot/lib/netcore50/System.Runtime.InteropServices.dll",
+ "system.runtime.interopservices.4.0.20.nupkg.sha512",
+ "system.runtime.interopservices.nuspec"
+ ]
+ },
+ "System.Runtime.InteropServices.WindowsRuntime/4.0.0": {
+ "sha512": "K5MGSvw/sGPKQYdOVqSpsVbHBE8HccHIDEhUNjM1lui65KGF/slNZfijGU87ggQiVXTI802ebKiOYBkwiLotow==",
+ "type": "package",
+ "path": "system.runtime.interopservices.windowsruntime/4.0.0",
+ "files": [
+ "lib/net45/_._",
+ "lib/netcore50/System.Runtime.InteropServices.WindowsRuntime.dll",
+ "lib/win8/_._",
+ "lib/wp80/_._",
+ "lib/wpa81/_._",
+ "ref/dotnet/System.Runtime.InteropServices.WindowsRuntime.dll",
+ "ref/dotnet/System.Runtime.InteropServices.WindowsRuntime.xml",
+ "ref/dotnet/de/System.Runtime.InteropServices.WindowsRuntime.xml",
+ "ref/dotnet/es/System.Runtime.InteropServices.WindowsRuntime.xml",
+ "ref/dotnet/fr/System.Runtime.InteropServices.WindowsRuntime.xml",
+ "ref/dotnet/it/System.Runtime.InteropServices.WindowsRuntime.xml",
+ "ref/dotnet/ja/System.Runtime.InteropServices.WindowsRuntime.xml",
+ "ref/dotnet/ko/System.Runtime.InteropServices.WindowsRuntime.xml",
+ "ref/dotnet/ru/System.Runtime.InteropServices.WindowsRuntime.xml",
+ "ref/dotnet/zh-hans/System.Runtime.InteropServices.WindowsRuntime.xml",
+ "ref/dotnet/zh-hant/System.Runtime.InteropServices.WindowsRuntime.xml",
+ "ref/net45/_._",
+ "ref/netcore50/System.Runtime.InteropServices.WindowsRuntime.dll",
+ "ref/netcore50/System.Runtime.InteropServices.WindowsRuntime.xml",
+ "ref/win8/_._",
+ "ref/wp80/_._",
+ "ref/wpa81/_._",
+ "runtimes/win8-aot/lib/netcore50/System.Runtime.InteropServices.WindowsRuntime.dll",
+ "system.runtime.interopservices.windowsruntime.4.0.0.nupkg.sha512",
+ "system.runtime.interopservices.windowsruntime.nuspec"
+ ]
+ },
+ "System.Runtime.Numerics/4.0.0": {
+ "sha512": "aAYGEOE01nabQLufQ4YO8WuSyZzOqGcksi8m1BRW8ppkmssR7en8TqiXcBkB2gTkCnKG/Ai2NQY8CgdmgZw/fw==",
+ "type": "package",
+ "path": "system.runtime.numerics/4.0.0",
+ "files": [
+ "lib/dotnet/System.Runtime.Numerics.dll",
+ "lib/net45/_._",
+ "lib/netcore50/System.Runtime.Numerics.dll",
+ "lib/win8/_._",
+ "lib/wpa81/_._",
+ "ref/dotnet/System.Runtime.Numerics.dll",
+ "ref/dotnet/System.Runtime.Numerics.xml",
+ "ref/dotnet/de/System.Runtime.Numerics.xml",
+ "ref/dotnet/es/System.Runtime.Numerics.xml",
+ "ref/dotnet/fr/System.Runtime.Numerics.xml",
+ "ref/dotnet/it/System.Runtime.Numerics.xml",
+ "ref/dotnet/ja/System.Runtime.Numerics.xml",
+ "ref/dotnet/ko/System.Runtime.Numerics.xml",
+ "ref/dotnet/ru/System.Runtime.Numerics.xml",
+ "ref/dotnet/zh-hans/System.Runtime.Numerics.xml",
+ "ref/dotnet/zh-hant/System.Runtime.Numerics.xml",
+ "ref/net45/_._",
+ "ref/netcore50/System.Runtime.Numerics.dll",
+ "ref/netcore50/System.Runtime.Numerics.xml",
+ "ref/win8/_._",
+ "ref/wpa81/_._",
+ "system.runtime.numerics.4.0.0.nupkg.sha512",
+ "system.runtime.numerics.nuspec"
+ ]
+ },
+ "System.Runtime.Serialization.Json/4.0.0": {
+ "sha512": "emhWMQP3sdtkAhD0TOeP3FfjS57sfQMQ2sqA6f2Yj5Gd9jkHV4KsQ2TsoJjghca6d8fur7+REQ6ILBXVdGf/0g==",
+ "type": "package",
+ "path": "system.runtime.serialization.json/4.0.0",
+ "files": [
+ "lib/DNXCore50/System.Runtime.Serialization.Json.dll",
+ "lib/net45/_._",
+ "lib/netcore50/System.Runtime.Serialization.Json.dll",
+ "lib/win8/_._",
+ "lib/wp80/_._",
+ "lib/wpa81/_._",
+ "ref/dotnet/System.Runtime.Serialization.Json.dll",
+ "ref/dotnet/System.Runtime.Serialization.Json.xml",
+ "ref/dotnet/de/System.Runtime.Serialization.Json.xml",
+ "ref/dotnet/es/System.Runtime.Serialization.Json.xml",
+ "ref/dotnet/fr/System.Runtime.Serialization.Json.xml",
+ "ref/dotnet/it/System.Runtime.Serialization.Json.xml",
+ "ref/dotnet/ja/System.Runtime.Serialization.Json.xml",
+ "ref/dotnet/ko/System.Runtime.Serialization.Json.xml",
+ "ref/dotnet/ru/System.Runtime.Serialization.Json.xml",
+ "ref/dotnet/zh-hans/System.Runtime.Serialization.Json.xml",
+ "ref/dotnet/zh-hant/System.Runtime.Serialization.Json.xml",
+ "ref/net45/_._",
+ "ref/netcore50/System.Runtime.Serialization.Json.dll",
+ "ref/netcore50/System.Runtime.Serialization.Json.xml",
+ "ref/win8/_._",
+ "ref/wp80/_._",
+ "ref/wpa81/_._",
+ "runtimes/win8-aot/lib/netcore50/System.Runtime.Serialization.Json.dll",
+ "system.runtime.serialization.json.4.0.0.nupkg.sha512",
+ "system.runtime.serialization.json.nuspec"
+ ]
+ },
+ "System.Runtime.Serialization.Primitives/4.0.10": {
+ "sha512": "NPc8DZIomf5tGjYtz/KTHI01IPcVlypfhCux32AbLPDjTotdvL8TpKRwMyQJ6Kh08yprRVH7uBD1PdJiuoFzag==",
+ "type": "package",
+ "path": "system.runtime.serialization.primitives/4.0.10",
+ "files": [
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/dotnet/System.Runtime.Serialization.Primitives.dll",
+ "lib/net46/_._",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/dotnet/System.Runtime.Serialization.Primitives.dll",
+ "ref/dotnet/System.Runtime.Serialization.Primitives.xml",
+ "ref/dotnet/de/System.Runtime.Serialization.Primitives.xml",
+ "ref/dotnet/es/System.Runtime.Serialization.Primitives.xml",
+ "ref/dotnet/fr/System.Runtime.Serialization.Primitives.xml",
+ "ref/dotnet/it/System.Runtime.Serialization.Primitives.xml",
+ "ref/dotnet/ja/System.Runtime.Serialization.Primitives.xml",
+ "ref/dotnet/ko/System.Runtime.Serialization.Primitives.xml",
+ "ref/dotnet/ru/System.Runtime.Serialization.Primitives.xml",
+ "ref/dotnet/zh-hans/System.Runtime.Serialization.Primitives.xml",
+ "ref/dotnet/zh-hant/System.Runtime.Serialization.Primitives.xml",
+ "ref/net46/_._",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "system.runtime.serialization.primitives.4.0.10.nupkg.sha512",
+ "system.runtime.serialization.primitives.nuspec"
+ ]
+ },
+ "System.Runtime.Serialization.Xml/4.0.10": {
+ "sha512": "xsy7XbH8RTpKoDPNcibSGCOpujsmwUmOWAby3PssqkZFpLBXUbDO2s6JKITRjxejET2g0PK8t+mdIvu3xmUuKA==",
+ "type": "package",
+ "path": "system.runtime.serialization.xml/4.0.10",
+ "files": [
+ "lib/DNXCore50/System.Runtime.Serialization.Xml.dll",
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/net46/_._",
+ "lib/netcore50/System.Runtime.Serialization.Xml.dll",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/dotnet/System.Runtime.Serialization.Xml.dll",
+ "ref/dotnet/System.Runtime.Serialization.Xml.xml",
+ "ref/dotnet/de/System.Runtime.Serialization.Xml.xml",
+ "ref/dotnet/es/System.Runtime.Serialization.Xml.xml",
+ "ref/dotnet/fr/System.Runtime.Serialization.Xml.xml",
+ "ref/dotnet/it/System.Runtime.Serialization.Xml.xml",
+ "ref/dotnet/ja/System.Runtime.Serialization.Xml.xml",
+ "ref/dotnet/ko/System.Runtime.Serialization.Xml.xml",
+ "ref/dotnet/ru/System.Runtime.Serialization.Xml.xml",
+ "ref/dotnet/zh-hans/System.Runtime.Serialization.Xml.xml",
+ "ref/dotnet/zh-hant/System.Runtime.Serialization.Xml.xml",
+ "ref/net46/_._",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "runtimes/win8-aot/lib/netcore50/System.Runtime.Serialization.Xml.dll",
+ "system.runtime.serialization.xml.4.0.10.nupkg.sha512",
+ "system.runtime.serialization.xml.nuspec"
+ ]
+ },
+ "System.Runtime.WindowsRuntime/4.0.10": {
+ "sha512": "9w6ypdnEw8RrLRlxTbLAYrap4eL1xIQeNoOaumQVOQ8TTD/5g9FGrBtY3KLiGxAPieN9AwAAEIDkugU85Cwuvg==",
+ "type": "package",
+ "path": "system.runtime.windowsruntime/4.0.10",
+ "files": [
+ "lib/netcore50/System.Runtime.WindowsRuntime.dll",
+ "lib/win81/_._",
+ "lib/wpa81/_._",
+ "ref/dotnet/System.Runtime.WindowsRuntime.dll",
+ "ref/dotnet/System.Runtime.WindowsRuntime.xml",
+ "ref/dotnet/de/System.Runtime.WindowsRuntime.xml",
+ "ref/dotnet/es/System.Runtime.WindowsRuntime.xml",
+ "ref/dotnet/fr/System.Runtime.WindowsRuntime.xml",
+ "ref/dotnet/it/System.Runtime.WindowsRuntime.xml",
+ "ref/dotnet/ja/System.Runtime.WindowsRuntime.xml",
+ "ref/dotnet/ko/System.Runtime.WindowsRuntime.xml",
+ "ref/dotnet/ru/System.Runtime.WindowsRuntime.xml",
+ "ref/dotnet/zh-hans/System.Runtime.WindowsRuntime.xml",
+ "ref/dotnet/zh-hant/System.Runtime.WindowsRuntime.xml",
+ "ref/netcore50/System.Runtime.WindowsRuntime.dll",
+ "ref/netcore50/System.Runtime.WindowsRuntime.xml",
+ "ref/win81/_._",
+ "ref/wpa81/_._",
+ "runtimes/win8-aot/lib/netcore50/System.Runtime.WindowsRuntime.dll",
+ "system.runtime.windowsruntime.4.0.10.nupkg.sha512",
+ "system.runtime.windowsruntime.nuspec"
+ ]
+ },
+ "System.Runtime.WindowsRuntime.UI.Xaml/4.0.0": {
+ "sha512": "2GY3fkXBMQOyyO9ovaH46CN6MD2ck/Gvk4VNAgVDvtmfO3HXYFNd+bB05WhVcJrHKbfKZNwfwZKpYZ+OsVFsLw==",
+ "type": "package",
+ "path": "system.runtime.windowsruntime.ui.xaml/4.0.0",
+ "files": [
+ "lib/netcore50/System.Runtime.WindowsRuntime.UI.Xaml.dll",
+ "lib/win8/_._",
+ "lib/wpa81/_._",
+ "ref/dotnet/System.Runtime.WindowsRuntime.UI.Xaml.dll",
+ "ref/dotnet/System.Runtime.WindowsRuntime.UI.Xaml.xml",
+ "ref/dotnet/de/System.Runtime.WindowsRuntime.UI.Xaml.xml",
+ "ref/dotnet/es/System.Runtime.WindowsRuntime.UI.Xaml.xml",
+ "ref/dotnet/fr/System.Runtime.WindowsRuntime.UI.Xaml.xml",
+ "ref/dotnet/it/System.Runtime.WindowsRuntime.UI.Xaml.xml",
+ "ref/dotnet/ja/System.Runtime.WindowsRuntime.UI.Xaml.xml",
+ "ref/dotnet/ko/System.Runtime.WindowsRuntime.UI.Xaml.xml",
+ "ref/dotnet/ru/System.Runtime.WindowsRuntime.UI.Xaml.xml",
+ "ref/dotnet/zh-hans/System.Runtime.WindowsRuntime.UI.Xaml.xml",
+ "ref/dotnet/zh-hant/System.Runtime.WindowsRuntime.UI.Xaml.xml",
+ "ref/netcore50/System.Runtime.WindowsRuntime.UI.Xaml.dll",
+ "ref/netcore50/System.Runtime.WindowsRuntime.UI.Xaml.xml",
+ "ref/win8/_._",
+ "ref/wpa81/_._",
+ "system.runtime.windowsruntime.ui.xaml.4.0.0.nupkg.sha512",
+ "system.runtime.windowsruntime.ui.xaml.nuspec"
+ ]
+ },
+ "System.Security.Claims/4.0.0": {
+ "sha512": "94NFR/7JN3YdyTH7hl2iSvYmdA8aqShriTHectcK+EbizT71YczMaG6LuqJBQP/HWo66AQyikYYM9aw+4EzGXg==",
+ "type": "package",
+ "path": "system.security.claims/4.0.0",
+ "files": [
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/dotnet/System.Security.Claims.dll",
+ "lib/net46/System.Security.Claims.dll",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/dotnet/System.Security.Claims.dll",
+ "ref/dotnet/System.Security.Claims.xml",
+ "ref/dotnet/de/System.Security.Claims.xml",
+ "ref/dotnet/es/System.Security.Claims.xml",
+ "ref/dotnet/fr/System.Security.Claims.xml",
+ "ref/dotnet/it/System.Security.Claims.xml",
+ "ref/dotnet/ja/System.Security.Claims.xml",
+ "ref/dotnet/ko/System.Security.Claims.xml",
+ "ref/dotnet/ru/System.Security.Claims.xml",
+ "ref/dotnet/zh-hans/System.Security.Claims.xml",
+ "ref/dotnet/zh-hant/System.Security.Claims.xml",
+ "ref/net46/System.Security.Claims.dll",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "system.security.claims.4.0.0.nupkg.sha512",
+ "system.security.claims.nuspec"
+ ]
+ },
+ "System.Security.Principal/4.0.0": {
+ "sha512": "FOhq3jUOONi6fp5j3nPYJMrKtSJlqAURpjiO3FaDIV4DJNEYymWW5uh1pfxySEB8dtAW+I66IypzNge/w9OzZQ==",
+ "type": "package",
+ "path": "system.security.principal/4.0.0",
+ "files": [
+ "lib/dotnet/System.Security.Principal.dll",
+ "lib/net45/_._",
+ "lib/netcore50/System.Security.Principal.dll",
+ "lib/win8/_._",
+ "lib/wp80/_._",
+ "lib/wpa81/_._",
+ "ref/dotnet/System.Security.Principal.dll",
+ "ref/dotnet/System.Security.Principal.xml",
+ "ref/dotnet/de/System.Security.Principal.xml",
+ "ref/dotnet/es/System.Security.Principal.xml",
+ "ref/dotnet/fr/System.Security.Principal.xml",
+ "ref/dotnet/it/System.Security.Principal.xml",
+ "ref/dotnet/ja/System.Security.Principal.xml",
+ "ref/dotnet/ko/System.Security.Principal.xml",
+ "ref/dotnet/ru/System.Security.Principal.xml",
+ "ref/dotnet/zh-hans/System.Security.Principal.xml",
+ "ref/dotnet/zh-hant/System.Security.Principal.xml",
+ "ref/net45/_._",
+ "ref/netcore50/System.Security.Principal.dll",
+ "ref/netcore50/System.Security.Principal.xml",
+ "ref/win8/_._",
+ "ref/wp80/_._",
+ "ref/wpa81/_._",
+ "system.security.principal.4.0.0.nupkg.sha512",
+ "system.security.principal.nuspec"
+ ]
+ },
+ "System.ServiceModel.Duplex/4.0.0": {
+ "sha512": "JFeDn+IsiwAVJkNNnM7MLefJOnzYhovaHnjk3lzEnUWkYZJeAKrcgLdK6GE2GNjb5mEV8Pad/E0JcA8eCr3eWQ==",
+ "type": "package",
+ "path": "system.servicemodel.duplex/4.0.0",
+ "files": [
+ "lib/DNXCore50/System.ServiceModel.Duplex.dll",
+ "lib/net45/_._",
+ "lib/netcore50/System.ServiceModel.Duplex.dll",
+ "lib/win8/_._",
+ "ref/dotnet/System.ServiceModel.Duplex.dll",
+ "ref/dotnet/System.ServiceModel.Duplex.xml",
+ "ref/dotnet/de/System.ServiceModel.Duplex.xml",
+ "ref/dotnet/es/System.ServiceModel.Duplex.xml",
+ "ref/dotnet/fr/System.ServiceModel.Duplex.xml",
+ "ref/dotnet/it/System.ServiceModel.Duplex.xml",
+ "ref/dotnet/ja/System.ServiceModel.Duplex.xml",
+ "ref/dotnet/ko/System.ServiceModel.Duplex.xml",
+ "ref/dotnet/ru/System.ServiceModel.Duplex.xml",
+ "ref/dotnet/zh-hans/System.ServiceModel.Duplex.xml",
+ "ref/dotnet/zh-hant/System.ServiceModel.Duplex.xml",
+ "ref/net45/_._",
+ "ref/netcore50/System.ServiceModel.Duplex.dll",
+ "ref/netcore50/System.ServiceModel.Duplex.xml",
+ "ref/win8/_._",
+ "system.servicemodel.duplex.4.0.0.nupkg.sha512",
+ "system.servicemodel.duplex.nuspec"
+ ]
+ },
+ "System.ServiceModel.Http/4.0.10": {
+ "sha512": "Vyl7lmvMlXJamtnDugoXuAgAQGSqtA7omK3zDBYByhbYeBC2hRBchgyXox7e5vEO+29TeB1IpoLWQGb7tO9h6A==",
+ "type": "package",
+ "path": "system.servicemodel.http/4.0.10",
+ "files": [
+ "lib/DNXCore50/System.ServiceModel.Http.dll",
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/net46/_._",
+ "lib/netcore50/System.ServiceModel.Http.dll",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/dotnet/System.ServiceModel.Http.dll",
+ "ref/dotnet/System.ServiceModel.Http.xml",
+ "ref/dotnet/de/System.ServiceModel.Http.xml",
+ "ref/dotnet/es/System.ServiceModel.Http.xml",
+ "ref/dotnet/fr/System.ServiceModel.Http.xml",
+ "ref/dotnet/it/System.ServiceModel.Http.xml",
+ "ref/dotnet/ja/System.ServiceModel.Http.xml",
+ "ref/dotnet/ko/System.ServiceModel.Http.xml",
+ "ref/dotnet/ru/System.ServiceModel.Http.xml",
+ "ref/dotnet/zh-hans/System.ServiceModel.Http.xml",
+ "ref/dotnet/zh-hant/System.ServiceModel.Http.xml",
+ "ref/net46/_._",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "system.servicemodel.http.4.0.10.nupkg.sha512",
+ "system.servicemodel.http.nuspec"
+ ]
+ },
+ "System.ServiceModel.NetTcp/4.0.0": {
+ "sha512": "lV2Cdcso9jOS0KBtgHZHzTLe/Lx/ERdPcvF4dlepUie6/+BOMYTOgg2C7OdpIjp3fwUNXq8nhU+IilmEyjuf/A==",
+ "type": "package",
+ "path": "system.servicemodel.nettcp/4.0.0",
+ "files": [
+ "lib/DNXCore50/System.ServiceModel.NetTcp.dll",
+ "lib/net45/_._",
+ "lib/netcore50/System.ServiceModel.NetTcp.dll",
+ "lib/win8/_._",
+ "ref/dotnet/System.ServiceModel.NetTcp.dll",
+ "ref/dotnet/System.ServiceModel.NetTcp.xml",
+ "ref/dotnet/de/System.ServiceModel.NetTcp.xml",
+ "ref/dotnet/es/System.ServiceModel.NetTcp.xml",
+ "ref/dotnet/fr/System.ServiceModel.NetTcp.xml",
+ "ref/dotnet/it/System.ServiceModel.NetTcp.xml",
+ "ref/dotnet/ja/System.ServiceModel.NetTcp.xml",
+ "ref/dotnet/ko/System.ServiceModel.NetTcp.xml",
+ "ref/dotnet/ru/System.ServiceModel.NetTcp.xml",
+ "ref/dotnet/zh-hans/System.ServiceModel.NetTcp.xml",
+ "ref/dotnet/zh-hant/System.ServiceModel.NetTcp.xml",
+ "ref/net45/_._",
+ "ref/netcore50/System.ServiceModel.NetTcp.dll",
+ "ref/netcore50/System.ServiceModel.NetTcp.xml",
+ "ref/win8/_._",
+ "system.servicemodel.nettcp.4.0.0.nupkg.sha512",
+ "system.servicemodel.nettcp.nuspec"
+ ]
+ },
+ "System.ServiceModel.Primitives/4.0.0": {
+ "sha512": "uF5VYQWR07LgiZkzUr8qjwvqOaIAfwU566MneD4WuC14d8FLJNsAgCJUYhBGB7COjH7HTqnP9ZFmr6c+L83Stg==",
+ "type": "package",
+ "path": "system.servicemodel.primitives/4.0.0",
+ "files": [
+ "lib/DNXCore50/System.ServiceModel.Primitives.dll",
+ "lib/net45/_._",
+ "lib/netcore50/System.ServiceModel.Primitives.dll",
+ "lib/win8/_._",
+ "ref/dotnet/System.ServiceModel.Primitives.dll",
+ "ref/dotnet/System.ServiceModel.Primitives.xml",
+ "ref/dotnet/de/System.ServiceModel.Primitives.xml",
+ "ref/dotnet/es/System.ServiceModel.Primitives.xml",
+ "ref/dotnet/fr/System.ServiceModel.Primitives.xml",
+ "ref/dotnet/it/System.ServiceModel.Primitives.xml",
+ "ref/dotnet/ja/System.ServiceModel.Primitives.xml",
+ "ref/dotnet/ko/System.ServiceModel.Primitives.xml",
+ "ref/dotnet/ru/System.ServiceModel.Primitives.xml",
+ "ref/dotnet/zh-hans/System.ServiceModel.Primitives.xml",
+ "ref/dotnet/zh-hant/System.ServiceModel.Primitives.xml",
+ "ref/net45/_._",
+ "ref/netcore50/System.ServiceModel.Primitives.dll",
+ "ref/netcore50/System.ServiceModel.Primitives.xml",
+ "ref/win8/_._",
+ "system.servicemodel.primitives.4.0.0.nupkg.sha512",
+ "system.servicemodel.primitives.nuspec"
+ ]
+ },
+ "System.ServiceModel.Security/4.0.0": {
+ "sha512": "sPVzsnd8w/TJsW/4sYA9eIGP+RtlpN0AhKLGKf9ywdGGmHPi0kkuX2mx412dM3GN0e4oifuISwvZqby/sI8Feg==",
+ "type": "package",
+ "path": "system.servicemodel.security/4.0.0",
+ "files": [
+ "lib/DNXCore50/System.ServiceModel.Security.dll",
+ "lib/net45/_._",
+ "lib/netcore50/System.ServiceModel.Security.dll",
+ "lib/win8/_._",
+ "ref/dotnet/System.ServiceModel.Security.dll",
+ "ref/dotnet/System.ServiceModel.Security.xml",
+ "ref/dotnet/de/System.ServiceModel.Security.xml",
+ "ref/dotnet/es/System.ServiceModel.Security.xml",
+ "ref/dotnet/fr/System.ServiceModel.Security.xml",
+ "ref/dotnet/it/System.ServiceModel.Security.xml",
+ "ref/dotnet/ja/System.ServiceModel.Security.xml",
+ "ref/dotnet/ko/System.ServiceModel.Security.xml",
+ "ref/dotnet/ru/System.ServiceModel.Security.xml",
+ "ref/dotnet/zh-hans/System.ServiceModel.Security.xml",
+ "ref/dotnet/zh-hant/System.ServiceModel.Security.xml",
+ "ref/net45/_._",
+ "ref/netcore50/System.ServiceModel.Security.dll",
+ "ref/netcore50/System.ServiceModel.Security.xml",
+ "ref/win8/_._",
+ "system.servicemodel.security.4.0.0.nupkg.sha512",
+ "system.servicemodel.security.nuspec"
+ ]
+ },
+ "System.Text.Encoding/4.0.10": {
+ "sha512": "fNlSFgy4OuDlJrP9SFFxMlaLazq6ipv15sU5TiEgg9UCVnA/OgoVUfymFp4AOk1jOkW5SVxWbeeIUptcM+m/Vw==",
+ "type": "package",
+ "path": "system.text.encoding/4.0.10",
+ "files": [
+ "lib/DNXCore50/System.Text.Encoding.dll",
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/net46/_._",
+ "lib/netcore50/System.Text.Encoding.dll",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/dotnet/System.Text.Encoding.dll",
+ "ref/dotnet/System.Text.Encoding.xml",
+ "ref/dotnet/de/System.Text.Encoding.xml",
+ "ref/dotnet/es/System.Text.Encoding.xml",
+ "ref/dotnet/fr/System.Text.Encoding.xml",
+ "ref/dotnet/it/System.Text.Encoding.xml",
+ "ref/dotnet/ja/System.Text.Encoding.xml",
+ "ref/dotnet/ko/System.Text.Encoding.xml",
+ "ref/dotnet/ru/System.Text.Encoding.xml",
+ "ref/dotnet/zh-hans/System.Text.Encoding.xml",
+ "ref/dotnet/zh-hant/System.Text.Encoding.xml",
+ "ref/net46/_._",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "runtimes/win8-aot/lib/netcore50/System.Text.Encoding.dll",
+ "system.text.encoding.4.0.10.nupkg.sha512",
+ "system.text.encoding.nuspec"
+ ]
+ },
+ "System.Text.Encoding.CodePages/4.0.0": {
+ "sha512": "ZHBTr1AXLjY9OuYR7pKx5xfN6QFye1kgd5QAbGrvfCOu7yxRnJs3VUaxERe1fOlnF0mi/xD/Dvb3T3x3HNuPWQ==",
+ "type": "package",
+ "path": "system.text.encoding.codepages/4.0.0",
+ "files": [
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/dotnet/System.Text.Encoding.CodePages.dll",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/dotnet/System.Text.Encoding.CodePages.dll",
+ "ref/dotnet/System.Text.Encoding.CodePages.xml",
+ "ref/dotnet/de/System.Text.Encoding.CodePages.xml",
+ "ref/dotnet/es/System.Text.Encoding.CodePages.xml",
+ "ref/dotnet/fr/System.Text.Encoding.CodePages.xml",
+ "ref/dotnet/it/System.Text.Encoding.CodePages.xml",
+ "ref/dotnet/ja/System.Text.Encoding.CodePages.xml",
+ "ref/dotnet/ko/System.Text.Encoding.CodePages.xml",
+ "ref/dotnet/ru/System.Text.Encoding.CodePages.xml",
+ "ref/dotnet/zh-hans/System.Text.Encoding.CodePages.xml",
+ "ref/dotnet/zh-hant/System.Text.Encoding.CodePages.xml",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "system.text.encoding.codepages.4.0.0.nupkg.sha512",
+ "system.text.encoding.codepages.nuspec"
+ ]
+ },
+ "System.Text.Encoding.Extensions/4.0.10": {
+ "sha512": "TZvlwXMxKo3bSRIcsWZLCIzIhLbvlz+mGeKYRZv/zUiSoQzGOwkYeBu6hOw2XPQgKqT0F4Rv8zqKdvmp2fWKYg==",
+ "type": "package",
+ "path": "system.text.encoding.extensions/4.0.10",
+ "files": [
+ "lib/DNXCore50/System.Text.Encoding.Extensions.dll",
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/net46/_._",
+ "lib/netcore50/System.Text.Encoding.Extensions.dll",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/dotnet/System.Text.Encoding.Extensions.dll",
+ "ref/dotnet/System.Text.Encoding.Extensions.xml",
+ "ref/dotnet/de/System.Text.Encoding.Extensions.xml",
+ "ref/dotnet/es/System.Text.Encoding.Extensions.xml",
+ "ref/dotnet/fr/System.Text.Encoding.Extensions.xml",
+ "ref/dotnet/it/System.Text.Encoding.Extensions.xml",
+ "ref/dotnet/ja/System.Text.Encoding.Extensions.xml",
+ "ref/dotnet/ko/System.Text.Encoding.Extensions.xml",
+ "ref/dotnet/ru/System.Text.Encoding.Extensions.xml",
+ "ref/dotnet/zh-hans/System.Text.Encoding.Extensions.xml",
+ "ref/dotnet/zh-hant/System.Text.Encoding.Extensions.xml",
+ "ref/net46/_._",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "runtimes/win8-aot/lib/netcore50/System.Text.Encoding.Extensions.dll",
+ "system.text.encoding.extensions.4.0.10.nupkg.sha512",
+ "system.text.encoding.extensions.nuspec"
+ ]
+ },
+ "System.Text.RegularExpressions/4.0.10": {
+ "sha512": "0vDuHXJePpfMCecWBNOabOKCvzfTbFMNcGgklt3l5+RqHV5SzmF7RUVpuet8V0rJX30ROlL66xdehw2Rdsn2DA==",
+ "type": "package",
+ "path": "system.text.regularexpressions/4.0.10",
+ "files": [
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/dotnet/System.Text.RegularExpressions.dll",
+ "lib/net46/_._",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/dotnet/System.Text.RegularExpressions.dll",
+ "ref/dotnet/System.Text.RegularExpressions.xml",
+ "ref/dotnet/de/System.Text.RegularExpressions.xml",
+ "ref/dotnet/es/System.Text.RegularExpressions.xml",
+ "ref/dotnet/fr/System.Text.RegularExpressions.xml",
+ "ref/dotnet/it/System.Text.RegularExpressions.xml",
+ "ref/dotnet/ja/System.Text.RegularExpressions.xml",
+ "ref/dotnet/ko/System.Text.RegularExpressions.xml",
+ "ref/dotnet/ru/System.Text.RegularExpressions.xml",
+ "ref/dotnet/zh-hans/System.Text.RegularExpressions.xml",
+ "ref/dotnet/zh-hant/System.Text.RegularExpressions.xml",
+ "ref/net46/_._",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "system.text.regularexpressions.4.0.10.nupkg.sha512",
+ "system.text.regularexpressions.nuspec"
+ ]
+ },
+ "System.Threading/4.0.10": {
+ "sha512": "0w6pRxIEE7wuiOJeKabkDgeIKmqf4ER1VNrs6qFwHnooEE78yHwi/bKkg5Jo8/pzGLm0xQJw0nEmPXt1QBAIUA==",
+ "type": "package",
+ "path": "system.threading/4.0.10",
+ "files": [
+ "lib/DNXCore50/System.Threading.dll",
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/net46/_._",
+ "lib/netcore50/System.Threading.dll",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/dotnet/System.Threading.dll",
+ "ref/dotnet/System.Threading.xml",
+ "ref/dotnet/de/System.Threading.xml",
+ "ref/dotnet/es/System.Threading.xml",
+ "ref/dotnet/fr/System.Threading.xml",
+ "ref/dotnet/it/System.Threading.xml",
+ "ref/dotnet/ja/System.Threading.xml",
+ "ref/dotnet/ko/System.Threading.xml",
+ "ref/dotnet/ru/System.Threading.xml",
+ "ref/dotnet/zh-hans/System.Threading.xml",
+ "ref/dotnet/zh-hant/System.Threading.xml",
+ "ref/net46/_._",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "runtimes/win8-aot/lib/netcore50/System.Threading.dll",
+ "system.threading.4.0.10.nupkg.sha512",
+ "system.threading.nuspec"
+ ]
+ },
+ "System.Threading.Overlapped/4.0.0": {
+ "sha512": "X5LuQFhM5FTqaez3eXKJ9CbfSGZ7wj6j4hSVtxct3zmwQXLqG95qoWdvILcgN7xtrDOBIFtpiyDg0vmoI0jE2A==",
+ "type": "package",
+ "path": "system.threading.overlapped/4.0.0",
+ "files": [
+ "lib/DNXCore50/System.Threading.Overlapped.dll",
+ "lib/net46/System.Threading.Overlapped.dll",
+ "lib/netcore50/System.Threading.Overlapped.dll",
+ "ref/dotnet/System.Threading.Overlapped.dll",
+ "ref/dotnet/System.Threading.Overlapped.xml",
+ "ref/dotnet/de/System.Threading.Overlapped.xml",
+ "ref/dotnet/es/System.Threading.Overlapped.xml",
+ "ref/dotnet/fr/System.Threading.Overlapped.xml",
+ "ref/dotnet/it/System.Threading.Overlapped.xml",
+ "ref/dotnet/ja/System.Threading.Overlapped.xml",
+ "ref/dotnet/ko/System.Threading.Overlapped.xml",
+ "ref/dotnet/ru/System.Threading.Overlapped.xml",
+ "ref/dotnet/zh-hans/System.Threading.Overlapped.xml",
+ "ref/dotnet/zh-hant/System.Threading.Overlapped.xml",
+ "ref/net46/System.Threading.Overlapped.dll",
+ "system.threading.overlapped.4.0.0.nupkg.sha512",
+ "system.threading.overlapped.nuspec"
+ ]
+ },
+ "System.Threading.Tasks/4.0.10": {
+ "sha512": "NOwJGDfk79jR0bnzosbXLVD/PdI8KzBeESoa3CofEM5v9R5EBfcI0Jyf18stx+0IYV9okmDIDxVtxq9TbnR9bQ==",
+ "type": "package",
+ "path": "system.threading.tasks/4.0.10",
+ "files": [
+ "lib/DNXCore50/System.Threading.Tasks.dll",
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/net46/_._",
+ "lib/netcore50/System.Threading.Tasks.dll",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/dotnet/System.Threading.Tasks.dll",
+ "ref/dotnet/System.Threading.Tasks.xml",
+ "ref/dotnet/de/System.Threading.Tasks.xml",
+ "ref/dotnet/es/System.Threading.Tasks.xml",
+ "ref/dotnet/fr/System.Threading.Tasks.xml",
+ "ref/dotnet/it/System.Threading.Tasks.xml",
+ "ref/dotnet/ja/System.Threading.Tasks.xml",
+ "ref/dotnet/ko/System.Threading.Tasks.xml",
+ "ref/dotnet/ru/System.Threading.Tasks.xml",
+ "ref/dotnet/zh-hans/System.Threading.Tasks.xml",
+ "ref/dotnet/zh-hant/System.Threading.Tasks.xml",
+ "ref/net46/_._",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "runtimes/win8-aot/lib/netcore50/System.Threading.Tasks.dll",
+ "system.threading.tasks.4.0.10.nupkg.sha512",
+ "system.threading.tasks.nuspec"
+ ]
+ },
+ "System.Threading.Tasks.Dataflow/4.5.25": {
+ "sha512": "Y5/Dj+tYlDxHBwie7bFKp3+1uSG4vqTJRF7Zs7kaUQ3ahYClffCTxvgjrJyPclC+Le55uE7bMLgjZQVOQr3Jfg==",
+ "type": "package",
+ "path": "system.threading.tasks.dataflow/4.5.25",
+ "files": [
+ "lib/dotnet/System.Threading.Tasks.Dataflow.XML",
+ "lib/dotnet/System.Threading.Tasks.Dataflow.dll",
+ "lib/portable-net45+win8+wp8+wpa81/System.Threading.Tasks.Dataflow.XML",
+ "lib/portable-net45+win8+wp8+wpa81/System.Threading.Tasks.Dataflow.dll",
+ "lib/portable-net45+win8+wpa81/System.Threading.Tasks.Dataflow.XML",
+ "lib/portable-net45+win8+wpa81/System.Threading.Tasks.Dataflow.dll",
+ "system.threading.tasks.dataflow.4.5.25.nupkg.sha512",
+ "system.threading.tasks.dataflow.nuspec"
+ ]
+ },
+ "System.Threading.Tasks.Parallel/4.0.0": {
+ "sha512": "GXDhjPhF3nE4RtDia0W6JR4UMdmhOyt9ibHmsNV6GLRT4HAGqU636Teo4tqvVQOFp2R6b1ffxPXiRaoqtzGxuA==",
+ "type": "package",
+ "path": "system.threading.tasks.parallel/4.0.0",
+ "files": [
+ "lib/dotnet/System.Threading.Tasks.Parallel.dll",
+ "lib/net45/_._",
+ "lib/netcore50/System.Threading.Tasks.Parallel.dll",
+ "lib/win8/_._",
+ "lib/wpa81/_._",
+ "ref/dotnet/System.Threading.Tasks.Parallel.dll",
+ "ref/dotnet/System.Threading.Tasks.Parallel.xml",
+ "ref/dotnet/de/System.Threading.Tasks.Parallel.xml",
+ "ref/dotnet/es/System.Threading.Tasks.Parallel.xml",
+ "ref/dotnet/fr/System.Threading.Tasks.Parallel.xml",
+ "ref/dotnet/it/System.Threading.Tasks.Parallel.xml",
+ "ref/dotnet/ja/System.Threading.Tasks.Parallel.xml",
+ "ref/dotnet/ko/System.Threading.Tasks.Parallel.xml",
+ "ref/dotnet/ru/System.Threading.Tasks.Parallel.xml",
+ "ref/dotnet/zh-hans/System.Threading.Tasks.Parallel.xml",
+ "ref/dotnet/zh-hant/System.Threading.Tasks.Parallel.xml",
+ "ref/net45/_._",
+ "ref/netcore50/System.Threading.Tasks.Parallel.dll",
+ "ref/netcore50/System.Threading.Tasks.Parallel.xml",
+ "ref/win8/_._",
+ "ref/wpa81/_._",
+ "system.threading.tasks.parallel.4.0.0.nupkg.sha512",
+ "system.threading.tasks.parallel.nuspec"
+ ]
+ },
+ "System.Threading.Timer/4.0.0": {
+ "sha512": "BIdJH5/e4FnVl7TkRUiE3pWytp7OYiRUGtwUbyLewS/PhKiLepFetdtlW+FvDYOVn60Q2NMTrhHhJ51q+sVW5g==",
+ "type": "package",
+ "path": "system.threading.timer/4.0.0",
+ "files": [
+ "lib/DNXCore50/System.Threading.Timer.dll",
+ "lib/net451/_._",
+ "lib/netcore50/System.Threading.Timer.dll",
+ "lib/win81/_._",
+ "lib/wpa81/_._",
+ "ref/dotnet/System.Threading.Timer.dll",
+ "ref/dotnet/System.Threading.Timer.xml",
+ "ref/dotnet/de/System.Threading.Timer.xml",
+ "ref/dotnet/es/System.Threading.Timer.xml",
+ "ref/dotnet/fr/System.Threading.Timer.xml",
+ "ref/dotnet/it/System.Threading.Timer.xml",
+ "ref/dotnet/ja/System.Threading.Timer.xml",
+ "ref/dotnet/ko/System.Threading.Timer.xml",
+ "ref/dotnet/ru/System.Threading.Timer.xml",
+ "ref/dotnet/zh-hans/System.Threading.Timer.xml",
+ "ref/dotnet/zh-hant/System.Threading.Timer.xml",
+ "ref/net451/_._",
+ "ref/netcore50/System.Threading.Timer.dll",
+ "ref/netcore50/System.Threading.Timer.xml",
+ "ref/win81/_._",
+ "ref/wpa81/_._",
+ "runtimes/win8-aot/lib/netcore50/System.Threading.Timer.dll",
+ "system.threading.timer.4.0.0.nupkg.sha512",
+ "system.threading.timer.nuspec"
+ ]
+ },
+ "System.Xml.ReaderWriter/4.0.10": {
+ "sha512": "VdmWWMH7otrYV7D+cviUo7XjX0jzDnD/lTGSZTlZqfIQ5PhXk85j+6P0TK9od3PnOd5ZIM+pOk01G/J+3nh9/w==",
+ "type": "package",
+ "path": "system.xml.readerwriter/4.0.10",
+ "files": [
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/dotnet/System.Xml.ReaderWriter.dll",
+ "lib/net46/_._",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/dotnet/System.Xml.ReaderWriter.dll",
+ "ref/dotnet/System.Xml.ReaderWriter.xml",
+ "ref/dotnet/de/System.Xml.ReaderWriter.xml",
+ "ref/dotnet/es/System.Xml.ReaderWriter.xml",
+ "ref/dotnet/fr/System.Xml.ReaderWriter.xml",
+ "ref/dotnet/it/System.Xml.ReaderWriter.xml",
+ "ref/dotnet/ja/System.Xml.ReaderWriter.xml",
+ "ref/dotnet/ko/System.Xml.ReaderWriter.xml",
+ "ref/dotnet/ru/System.Xml.ReaderWriter.xml",
+ "ref/dotnet/zh-hans/System.Xml.ReaderWriter.xml",
+ "ref/dotnet/zh-hant/System.Xml.ReaderWriter.xml",
+ "ref/net46/_._",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "system.xml.readerwriter.4.0.10.nupkg.sha512",
+ "system.xml.readerwriter.nuspec"
+ ]
+ },
+ "System.Xml.XDocument/4.0.10": {
+ "sha512": "+ej0g0INnXDjpS2tDJsLO7/BjyBzC+TeBXLeoGnvRrm4AuBH9PhBjjZ1IuKWOhCkxPkFognUOKhZHS2glIOlng==",
+ "type": "package",
+ "path": "system.xml.xdocument/4.0.10",
+ "files": [
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/dotnet/System.Xml.XDocument.dll",
+ "lib/net46/_._",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/dotnet/System.Xml.XDocument.dll",
+ "ref/dotnet/System.Xml.XDocument.xml",
+ "ref/dotnet/de/System.Xml.XDocument.xml",
+ "ref/dotnet/es/System.Xml.XDocument.xml",
+ "ref/dotnet/fr/System.Xml.XDocument.xml",
+ "ref/dotnet/it/System.Xml.XDocument.xml",
+ "ref/dotnet/ja/System.Xml.XDocument.xml",
+ "ref/dotnet/ko/System.Xml.XDocument.xml",
+ "ref/dotnet/ru/System.Xml.XDocument.xml",
+ "ref/dotnet/zh-hans/System.Xml.XDocument.xml",
+ "ref/dotnet/zh-hant/System.Xml.XDocument.xml",
+ "ref/net46/_._",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "system.xml.xdocument.4.0.10.nupkg.sha512",
+ "system.xml.xdocument.nuspec"
+ ]
+ },
+ "System.Xml.XmlDocument/4.0.0": {
+ "sha512": "H5qTx2+AXgaKE5wehU1ZYeYPFpp/rfFh69/937NvwCrDqbIkvJRmIFyKKpkoMI6gl9hGfuVizfIudVTMyowCXw==",
+ "type": "package",
+ "path": "system.xml.xmldocument/4.0.0",
+ "files": [
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/dotnet/System.Xml.XmlDocument.dll",
+ "lib/net46/System.Xml.XmlDocument.dll",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/dotnet/System.Xml.XmlDocument.dll",
+ "ref/dotnet/System.Xml.XmlDocument.xml",
+ "ref/dotnet/de/System.Xml.XmlDocument.xml",
+ "ref/dotnet/es/System.Xml.XmlDocument.xml",
+ "ref/dotnet/fr/System.Xml.XmlDocument.xml",
+ "ref/dotnet/it/System.Xml.XmlDocument.xml",
+ "ref/dotnet/ja/System.Xml.XmlDocument.xml",
+ "ref/dotnet/ko/System.Xml.XmlDocument.xml",
+ "ref/dotnet/ru/System.Xml.XmlDocument.xml",
+ "ref/dotnet/zh-hans/System.Xml.XmlDocument.xml",
+ "ref/dotnet/zh-hant/System.Xml.XmlDocument.xml",
+ "ref/net46/System.Xml.XmlDocument.dll",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "system.xml.xmldocument.4.0.0.nupkg.sha512",
+ "system.xml.xmldocument.nuspec"
+ ]
+ },
+ "System.Xml.XmlSerializer/4.0.10": {
+ "sha512": "OKhE6vruk88z/hl0lmfrMvXteTASgJUagu6PT6S10i9uLbvDR3pTwB6jVgiwa2D2qtTB+eneZbS9jljhPXhTtg==",
+ "type": "package",
+ "path": "system.xml.xmlserializer/4.0.10",
+ "files": [
+ "lib/DNXCore50/System.Xml.XmlSerializer.dll",
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/net46/_._",
+ "lib/netcore50/System.Xml.XmlSerializer.dll",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/dotnet/System.Xml.XmlSerializer.dll",
+ "ref/dotnet/System.Xml.XmlSerializer.xml",
+ "ref/dotnet/de/System.Xml.XmlSerializer.xml",
+ "ref/dotnet/es/System.Xml.XmlSerializer.xml",
+ "ref/dotnet/fr/System.Xml.XmlSerializer.xml",
+ "ref/dotnet/it/System.Xml.XmlSerializer.xml",
+ "ref/dotnet/ja/System.Xml.XmlSerializer.xml",
+ "ref/dotnet/ko/System.Xml.XmlSerializer.xml",
+ "ref/dotnet/ru/System.Xml.XmlSerializer.xml",
+ "ref/dotnet/zh-hans/System.Xml.XmlSerializer.xml",
+ "ref/dotnet/zh-hant/System.Xml.XmlSerializer.xml",
+ "ref/net46/_._",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "runtime.json",
+ "runtimes/win8-aot/lib/netcore50/System.Xml.XmlSerializer.dll",
+ "system.xml.xmlserializer.4.0.10.nupkg.sha512",
+ "system.xml.xmlserializer.nuspec"
+ ]
+ }
+ },
+ "projectFileDependencyGroups": {
+ "": [
+ "Microsoft.NETCore.UniversalWindowsPlatform >= 5.0.0"
+ ],
+ "UAP,Version=v10.0": []
+ },
+ "tools": {},
+ "projectFileToolGroups": {},
+ "packageFolders": {
+ "C:\\Users\\Egor\\.nuget\\packages\\": {}
+ }
+} \ No newline at end of file
diff --git a/unityplugin/GhostCubePlugin/UnityProject/UnityProject.CSharp.Editor.csproj b/unityplugin/GhostCubePlugin/UnityProject/UnityProject.CSharp.Editor.csproj
new file mode 100644
index 0000000..2d1f6f9
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/UnityProject/UnityProject.CSharp.Editor.csproj
@@ -0,0 +1,140 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProductVersion>10.0.20506</ProductVersion>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{763E01C1-30A1-6A95-047A-9420BA4E2B39}</ProjectGuid>
+ <OutputType>Library</OutputType>
+ <AssemblyName>Assembly-CSharp-Editor</AssemblyName>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{E097FAD1-6243-4DAD-9C02-E9B9EFC3FFC1};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <TargetFrameworkIdentifier>.NETFramework</TargetFrameworkIdentifier>
+ <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+ <TargetFrameworkProfile>Unity Full v3.5</TargetFrameworkProfile>
+ <CompilerResponseFile></CompilerResponseFile>
+ <UnityProjectType>Editor:5</UnityProjectType>
+ <UnityBuildTarget>WSAPlayer:21</UnityBuildTarget>
+ <UnityVersion>2017.1.1f1</UnityVersion>
+ <RootNamespace></RootNamespace>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>Temp\UnityVS_bin\Debug\</OutputPath>
+ <IntermediateOutputPath>Temp\UnityVS_obj\Debug\</IntermediateOutputPath>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ <DefineConstants>DEBUG;TRACE;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_6_OR_NEWER;UNITY_2017_1_OR_NEWER;UNITY_2017_1_1;UNITY_2017_1;UNITY_2017;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_GENERICS;ENABLE_PVR_GI;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_RUNTIME_NAVMESH_BUILDING;ENABLE_SPRITERENDERER_FLIPPING;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_DIRECTOR;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_WEBCAM;ENABLE_WWW;ENABLE_CLOUD_SERVICES_COLLAB;ENABLE_CLOUD_SERVICES_COLLAB_SOFTLOCKS;ENABLE_CLOUD_HUB;ENABLE_CLOUD_PROJECT_ID;ENABLE_CLOUD_SERVICES_USE_WEBREQUEST;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_WEBSOCKET_CLIENT;ENABLE_DIRECTOR_AUDIO;ENABLE_TIMELINE;ENABLE_EDITOR_METRICS;ENABLE_EDITOR_METRICS_CACHING;ENABLE_NATIVE_ARRAY;ENABLE_SPRITE_MASKING;INCLUDE_DYNAMIC_GI;INCLUDE_GI;ENABLE_MONO_BDWGC;RENDER_SOFTWARE_CURSOR;INCLUDE_PUBNUB;ENABLE_PLAYMODE_TESTS_RUNNER;ENABLE_VIDEO;ENABLE_RMGUI;ENABLE_CUSTOM_RENDER_TEXTURE;ENABLE_STYLE_SHEETS;PLATFORM_METRO;UNITY_METRO;UNITY_METRO_API;PLATFORM_WINRT;UNITY_WINRT;ENABLE_WINRT_PINVOKE;ENABLE_LAZY_METHOD_CACHING;ENABLE_MOVIES;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_NETWORK;ENABLE_EVENT_QUEUE;UNITY_PLATFORM_THREAD_TO_CORE_MAPPING;ENABLE_SUBSTANCE;PLATFORM_SUPPORTS_ADS_ID;ENABLE_UNITYWEBREQUEST;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;CURL_STATICLIB;ENABLE_VR;UNITY_WSA;ENABLE_DOTNET;DEVELOPMENT_BUILD;ENABLE_PROFILER;UNITY_WSA_10_0;UNITY_WINRT_10_0;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;ENABLE_NATIVE_ARRAY_CHECKS;UNITY_TEAM_LICENSE;ENABLE_VSTU</DefineConstants>
+ <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>Temp\UnityVS_bin\Release\</OutputPath>
+ <IntermediateOutputPath>Temp\UnityVS_obj\Release\</IntermediateOutputPath>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ <DefineConstants>TRACE;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_6_OR_NEWER;UNITY_2017_1_OR_NEWER;UNITY_2017_1_1;UNITY_2017_1;UNITY_2017;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_GENERICS;ENABLE_PVR_GI;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_RUNTIME_NAVMESH_BUILDING;ENABLE_SPRITERENDERER_FLIPPING;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_DIRECTOR;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_WEBCAM;ENABLE_WWW;ENABLE_CLOUD_SERVICES_COLLAB;ENABLE_CLOUD_SERVICES_COLLAB_SOFTLOCKS;ENABLE_CLOUD_HUB;ENABLE_CLOUD_PROJECT_ID;ENABLE_CLOUD_SERVICES_USE_WEBREQUEST;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_WEBSOCKET_CLIENT;ENABLE_DIRECTOR_AUDIO;ENABLE_TIMELINE;ENABLE_EDITOR_METRICS;ENABLE_EDITOR_METRICS_CACHING;ENABLE_NATIVE_ARRAY;ENABLE_SPRITE_MASKING;INCLUDE_DYNAMIC_GI;INCLUDE_GI;ENABLE_MONO_BDWGC;RENDER_SOFTWARE_CURSOR;INCLUDE_PUBNUB;ENABLE_PLAYMODE_TESTS_RUNNER;ENABLE_VIDEO;ENABLE_RMGUI;ENABLE_CUSTOM_RENDER_TEXTURE;ENABLE_STYLE_SHEETS;PLATFORM_METRO;UNITY_METRO;UNITY_METRO_API;PLATFORM_WINRT;UNITY_WINRT;ENABLE_WINRT_PINVOKE;ENABLE_LAZY_METHOD_CACHING;ENABLE_MOVIES;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_NETWORK;ENABLE_EVENT_QUEUE;UNITY_PLATFORM_THREAD_TO_CORE_MAPPING;ENABLE_SUBSTANCE;PLATFORM_SUPPORTS_ADS_ID;ENABLE_UNITYWEBREQUEST;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;CURL_STATICLIB;ENABLE_VR;UNITY_WSA;ENABLE_DOTNET;DEVELOPMENT_BUILD;ENABLE_PROFILER;UNITY_WSA_10_0;UNITY_WINRT_10_0;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;ENABLE_NATIVE_ARRAY_CHECKS;UNITY_TEAM_LICENSE;ENABLE_VSTU</DefineConstants>
+ <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="mscorlib" />
+ <Reference Include="System" />
+ <Reference Include="System.XML" />
+ <Reference Include="System.Core" />
+ <Reference Include="Boo.Lang" />
+ <Reference Include="UnityScript.Lang" />
+ <Reference Include="System.Runtime.Serialization" />
+ <Reference Include="System.Xml.Linq" />
+ <Reference Include="UnityEditor">
+ <HintPath>Library\UnityAssemblies\UnityEditor.dll</HintPath>
+ </Reference>
+ <Reference Include="UnityEngine">
+ <HintPath>Library\UnityAssemblies\UnityEngine.dll</HintPath>
+ </Reference>
+ <Reference Include="UnityEditor.Advertisements">
+ <HintPath>Library\UnityAssemblies\UnityEditor.Advertisements.dll</HintPath>
+ </Reference>
+ <Reference Include="UnityEngine.UI">
+ <HintPath>Library\UnityAssemblies\UnityEngine.UI.dll</HintPath>
+ </Reference>
+ <Reference Include="UnityEditor.UI">
+ <HintPath>Library\UnityAssemblies\UnityEditor.UI.dll</HintPath>
+ </Reference>
+ <Reference Include="UnityEngine.Networking">
+ <HintPath>Library\UnityAssemblies\UnityEngine.Networking.dll</HintPath>
+ </Reference>
+ <Reference Include="UnityEditor.Networking">
+ <HintPath>Library\UnityAssemblies\UnityEditor.Networking.dll</HintPath>
+ </Reference>
+ <Reference Include="UnityEditor.TestRunner">
+ <HintPath>Library\UnityAssemblies\UnityEditor.TestRunner.dll</HintPath>
+ </Reference>
+ <Reference Include="UnityEngine.TestRunner">
+ <HintPath>Library\UnityAssemblies\UnityEngine.TestRunner.dll</HintPath>
+ </Reference>
+ <Reference Include="nunit.framework">
+ <HintPath>Library\UnityAssemblies\nunit.framework.dll</HintPath>
+ </Reference>
+ <Reference Include="UnityEngine.Timeline">
+ <HintPath>Library\UnityAssemblies\UnityEngine.Timeline.dll</HintPath>
+ </Reference>
+ <Reference Include="UnityEditor.Timeline">
+ <HintPath>Library\UnityAssemblies\UnityEditor.Timeline.dll</HintPath>
+ </Reference>
+ <Reference Include="UnityEditor.TreeEditor">
+ <HintPath>Library\UnityAssemblies\UnityEditor.TreeEditor.dll</HintPath>
+ </Reference>
+ <Reference Include="UnityEngine.Analytics">
+ <HintPath>Library\UnityAssemblies\UnityEngine.Analytics.dll</HintPath>
+ </Reference>
+ <Reference Include="UnityEditor.Analytics">
+ <HintPath>Library\UnityAssemblies\UnityEditor.Analytics.dll</HintPath>
+ </Reference>
+ <Reference Include="UnityEditor.HoloLens">
+ <HintPath>Library\UnityAssemblies\UnityEditor.HoloLens.dll</HintPath>
+ </Reference>
+ <Reference Include="UnityEngine.HoloLens">
+ <HintPath>Library\UnityAssemblies\UnityEngine.HoloLens.dll</HintPath>
+ </Reference>
+ <Reference Include="UnityEditor.Purchasing">
+ <HintPath>Library\UnityAssemblies\UnityEditor.Purchasing.dll</HintPath>
+ </Reference>
+ <Reference Include="UnityEditor.VR">
+ <HintPath>Library\UnityAssemblies\UnityEditor.VR.dll</HintPath>
+ </Reference>
+ <Reference Include="UnityEditor.Graphs">
+ <HintPath>Library\UnityAssemblies\UnityEditor.Graphs.dll</HintPath>
+ </Reference>
+ <Reference Include="UnityEditor.Android.Extensions">
+ <HintPath>Library\UnityAssemblies\UnityEditor.Android.Extensions.dll</HintPath>
+ </Reference>
+ <Reference Include="UnityEditor.WSA.Extensions">
+ <HintPath>Library\UnityAssemblies\UnityEditor.WSA.Extensions.dll</HintPath>
+ </Reference>
+ <Reference Include="UnityEditor.WindowsStandalone.Extensions">
+ <HintPath>Library\UnityAssemblies\UnityEditor.WindowsStandalone.Extensions.dll</HintPath>
+ </Reference>
+ <Reference Include="SyntaxTree.VisualStudio.Unity.Bridge">
+ <HintPath>Library\UnityAssemblies\SyntaxTree.VisualStudio.Unity.Bridge.dll</HintPath>
+ </Reference>
+ <Reference Include="Mono.Cecil">
+ <HintPath>Library\UnityAssemblies\Mono.Cecil.dll</HintPath>
+ </Reference>
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="UnityProject.CSharp.csproj">
+ <Project>{F5F9D48D-6914-C6F2-CF81-CF8D045EAAD0}</Project>
+ <Name>UnityProject.CSharp</Name>
+ </ProjectReference>
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="Assets\Editor\MyBuildPostprocessor.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="Assets\MirrorQuad.shader" />
+ </ItemGroup>
+ <Import Project="$(MSBuildExtensionsPath)\SyntaxTree\UnityVS\2015\UnityVS.CSharp.targets" />
+</Project>
diff --git a/unityplugin/GhostCubePlugin/UnityProject/UnityProject.CSharp.csproj b/unityplugin/GhostCubePlugin/UnityProject/UnityProject.CSharp.csproj
new file mode 100644
index 0000000..668080a
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/UnityProject/UnityProject.CSharp.csproj
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProductVersion>10.0.20506</ProductVersion>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{F5F9D48D-6914-C6F2-CF81-CF8D045EAAD0}</ProjectGuid>
+ <OutputType>Library</OutputType>
+ <AssemblyName>Assembly-CSharp</AssemblyName>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{E097FAD1-6243-4DAD-9C02-E9B9EFC3FFC1};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <TargetFrameworkIdentifier>.NETFramework</TargetFrameworkIdentifier>
+ <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+ <TargetFrameworkProfile>Unity Subset v3.5</TargetFrameworkProfile>
+ <CompilerResponseFile></CompilerResponseFile>
+ <UnityProjectType>Game:1</UnityProjectType>
+ <UnityBuildTarget>WSAPlayer:21</UnityBuildTarget>
+ <UnityVersion>2017.1.1f1</UnityVersion>
+ <RootNamespace></RootNamespace>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>Temp\UnityVS_bin\Debug\</OutputPath>
+ <IntermediateOutputPath>Temp\UnityVS_obj\Debug\</IntermediateOutputPath>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ <DefineConstants>DEBUG;TRACE;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_6_OR_NEWER;UNITY_2017_1_OR_NEWER;UNITY_2017_1_1;UNITY_2017_1;UNITY_2017;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_GENERICS;ENABLE_PVR_GI;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_RUNTIME_NAVMESH_BUILDING;ENABLE_SPRITERENDERER_FLIPPING;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_DIRECTOR;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_WEBCAM;ENABLE_WWW;ENABLE_CLOUD_SERVICES_COLLAB;ENABLE_CLOUD_SERVICES_COLLAB_SOFTLOCKS;ENABLE_CLOUD_HUB;ENABLE_CLOUD_PROJECT_ID;ENABLE_CLOUD_SERVICES_USE_WEBREQUEST;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_WEBSOCKET_CLIENT;ENABLE_DIRECTOR_AUDIO;ENABLE_TIMELINE;ENABLE_EDITOR_METRICS;ENABLE_EDITOR_METRICS_CACHING;ENABLE_NATIVE_ARRAY;ENABLE_SPRITE_MASKING;INCLUDE_DYNAMIC_GI;INCLUDE_GI;ENABLE_MONO_BDWGC;RENDER_SOFTWARE_CURSOR;INCLUDE_PUBNUB;ENABLE_PLAYMODE_TESTS_RUNNER;ENABLE_VIDEO;ENABLE_RMGUI;ENABLE_CUSTOM_RENDER_TEXTURE;ENABLE_STYLE_SHEETS;PLATFORM_METRO;UNITY_METRO;UNITY_METRO_API;PLATFORM_WINRT;UNITY_WINRT;ENABLE_WINRT_PINVOKE;ENABLE_LAZY_METHOD_CACHING;ENABLE_MOVIES;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_NETWORK;ENABLE_EVENT_QUEUE;UNITY_PLATFORM_THREAD_TO_CORE_MAPPING;ENABLE_SUBSTANCE;PLATFORM_SUPPORTS_ADS_ID;ENABLE_UNITYWEBREQUEST;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;CURL_STATICLIB;ENABLE_VR;UNITY_WSA;ENABLE_DOTNET;DEVELOPMENT_BUILD;ENABLE_PROFILER;UNITY_WSA_10_0;UNITY_WINRT_10_0;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;ENABLE_NATIVE_ARRAY_CHECKS;UNITY_TEAM_LICENSE;ENABLE_VSTU</DefineConstants>
+ <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>Temp\UnityVS_bin\Release\</OutputPath>
+ <IntermediateOutputPath>Temp\UnityVS_obj\Release\</IntermediateOutputPath>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ <DefineConstants>TRACE;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_6_OR_NEWER;UNITY_2017_1_OR_NEWER;UNITY_2017_1_1;UNITY_2017_1;UNITY_2017;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_GENERICS;ENABLE_PVR_GI;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_RUNTIME_NAVMESH_BUILDING;ENABLE_SPRITERENDERER_FLIPPING;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_DIRECTOR;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_WEBCAM;ENABLE_WWW;ENABLE_CLOUD_SERVICES_COLLAB;ENABLE_CLOUD_SERVICES_COLLAB_SOFTLOCKS;ENABLE_CLOUD_HUB;ENABLE_CLOUD_PROJECT_ID;ENABLE_CLOUD_SERVICES_USE_WEBREQUEST;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_WEBSOCKET_CLIENT;ENABLE_DIRECTOR_AUDIO;ENABLE_TIMELINE;ENABLE_EDITOR_METRICS;ENABLE_EDITOR_METRICS_CACHING;ENABLE_NATIVE_ARRAY;ENABLE_SPRITE_MASKING;INCLUDE_DYNAMIC_GI;INCLUDE_GI;ENABLE_MONO_BDWGC;RENDER_SOFTWARE_CURSOR;INCLUDE_PUBNUB;ENABLE_PLAYMODE_TESTS_RUNNER;ENABLE_VIDEO;ENABLE_RMGUI;ENABLE_CUSTOM_RENDER_TEXTURE;ENABLE_STYLE_SHEETS;PLATFORM_METRO;UNITY_METRO;UNITY_METRO_API;PLATFORM_WINRT;UNITY_WINRT;ENABLE_WINRT_PINVOKE;ENABLE_LAZY_METHOD_CACHING;ENABLE_MOVIES;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_NETWORK;ENABLE_EVENT_QUEUE;UNITY_PLATFORM_THREAD_TO_CORE_MAPPING;ENABLE_SUBSTANCE;PLATFORM_SUPPORTS_ADS_ID;ENABLE_UNITYWEBREQUEST;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;CURL_STATICLIB;ENABLE_VR;UNITY_WSA;ENABLE_DOTNET;DEVELOPMENT_BUILD;ENABLE_PROFILER;UNITY_WSA_10_0;UNITY_WINRT_10_0;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;ENABLE_NATIVE_ARRAY_CHECKS;UNITY_TEAM_LICENSE;ENABLE_VSTU</DefineConstants>
+ <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="mscorlib" />
+ <Reference Include="System" />
+ <Reference Include="System.XML" />
+ <Reference Include="System.Core" />
+ <Reference Include="Boo.Lang" />
+ <Reference Include="UnityScript.Lang" />
+ <Reference Include="System.Runtime.Serialization" />
+ <Reference Include="System.Xml.Linq" />
+ <Reference Include="UnityEditor">
+ <HintPath>Library\UnityAssemblies\UnityEditor.dll</HintPath>
+ </Reference>
+ <Reference Include="UnityEngine">
+ <HintPath>Library\UnityAssemblies\UnityEngine.dll</HintPath>
+ </Reference>
+ <Reference Include="UnityEngine.UI">
+ <HintPath>Library\UnityAssemblies\UnityEngine.UI.dll</HintPath>
+ </Reference>
+ <Reference Include="UnityEngine.Networking">
+ <HintPath>Library\UnityAssemblies\UnityEngine.Networking.dll</HintPath>
+ </Reference>
+ <Reference Include="UnityEngine.TestRunner">
+ <HintPath>Library\UnityAssemblies\UnityEngine.TestRunner.dll</HintPath>
+ </Reference>
+ <Reference Include="nunit.framework">
+ <HintPath>Library\UnityAssemblies\nunit.framework.dll</HintPath>
+ </Reference>
+ <Reference Include="UnityEngine.Timeline">
+ <HintPath>Library\UnityAssemblies\UnityEngine.Timeline.dll</HintPath>
+ </Reference>
+ <Reference Include="UnityEngine.Analytics">
+ <HintPath>Library\UnityAssemblies\UnityEngine.Analytics.dll</HintPath>
+ </Reference>
+ <Reference Include="UnityEngine.HoloLens">
+ <HintPath>Library\UnityAssemblies\UnityEngine.HoloLens.dll</HintPath>
+ </Reference>
+ <Reference Include="Mono.Cecil">
+ <HintPath>Library\UnityAssemblies\Mono.Cecil.dll</HintPath>
+ </Reference>
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="Assets\ReflectionCamera.cs" />
+ <Compile Include="Assets\UseRenderingPlugin.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="Assets\MirrorQuad.shader" />
+ </ItemGroup>
+ <Import Project="$(MSBuildExtensionsPath)\SyntaxTree\UnityVS\2015\UnityVS.CSharp.targets" />
+</Project>
diff --git a/unityplugin/GhostCubePlugin/UnityProject/UnityProject.sln b/unityplugin/GhostCubePlugin/UnityProject/UnityProject.sln
new file mode 100644
index 0000000..5dae80b
--- /dev/null
+++ b/unityplugin/GhostCubePlugin/UnityProject/UnityProject.sln
@@ -0,0 +1,26 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 2015
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnityProject.CSharp", "UnityProject.CSharp.csproj", "{F5F9D48D-6914-C6F2-CF81-CF8D045EAAD0}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnityProject.CSharp.Editor", "UnityProject.CSharp.Editor.csproj", "{763E01C1-30A1-6A95-047A-9420BA4E2B39}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {F5F9D48D-6914-C6F2-CF81-CF8D045EAAD0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {F5F9D48D-6914-C6F2-CF81-CF8D045EAAD0}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F5F9D48D-6914-C6F2-CF81-CF8D045EAAD0}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {F5F9D48D-6914-C6F2-CF81-CF8D045EAAD0}.Release|Any CPU.Build.0 = Release|Any CPU
+ {763E01C1-30A1-6A95-047A-9420BA4E2B39}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {763E01C1-30A1-6A95-047A-9420BA4E2B39}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {763E01C1-30A1-6A95-047A-9420BA4E2B39}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {763E01C1-30A1-6A95-047A-9420BA4E2B39}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/unityplugin/GhostCubeScene/build/GhostCubeScene.Assets.vcxitems b/unityplugin/GhostCubeScene/build/GhostCubeScene.Assets.vcxitems
new file mode 100644
index 0000000..7808a78
--- /dev/null
+++ b/unityplugin/GhostCubeScene/build/GhostCubeScene.Assets.vcxitems
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup Label="Globals">
+ <MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
+ <HasSharedItems>true</HasSharedItems>
+ <ItemsProjectGuid>{CAF59C31-47E1-4F26-8455-C5E49F75BB3C}</ItemsProjectGuid>
+ <ItemsRootNamespace>RenderScript</ItemsRootNamespace>
+ <ItemsProjectName>GhostCubeScene.Assets</ItemsProjectName>
+ <CodeSharingProject>248F659F-DAC5-46E8-AC09-60EC9FC95053</CodeSharingProject>
+ </PropertyGroup>
+ <ItemDefinitionGroup>
+ <ClCompile>
+ <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);$(MSBuildThisFileDirectory)</AdditionalIncludeDirectories>
+ </ClCompile>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ProjectCapability Include="SourceItemsFromImports" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="$(MSBuildThisFileDirectory)assets\shaders\Mirror.psh">
+ <DeploymentContent>true</DeploymentContent>
+ <FileType>Document</FileType>
+ </None>
+ <None Include="$(MSBuildThisFileDirectory)assets\shaders\Mirror.vsh">
+ <DeploymentContent>true</DeploymentContent>
+ <FileType>Document</FileType>
+ </None>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/unityplugin/GhostCubeScene/build/GhostCubeScene.Assets.vcxitems.filters b/unityplugin/GhostCubeScene/build/GhostCubeScene.Assets.vcxitems.filters
new file mode 100644
index 0000000..316e269
--- /dev/null
+++ b/unityplugin/GhostCubeScene/build/GhostCubeScene.Assets.vcxitems.filters
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="shaders">
+ <UniqueIdentifier>{e5ff4d8e-5106-442e-848b-f56d1baa2645}</UniqueIdentifier>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="$(MSBuildThisFileDirectory)assets\shaders\Mirror.vsh">
+ <Filter>shaders</Filter>
+ </None>
+ <None Include="$(MSBuildThisFileDirectory)assets\shaders\Mirror.psh">
+ <Filter>shaders</Filter>
+ </None>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/unityplugin/GhostCubeScene/build/UWP/Assets/LockScreenLogo.scale-200.png b/unityplugin/GhostCubeScene/build/UWP/Assets/LockScreenLogo.scale-200.png
new file mode 100644
index 0000000..735f57a
--- /dev/null
+++ b/unityplugin/GhostCubeScene/build/UWP/Assets/LockScreenLogo.scale-200.png
Binary files differ
diff --git a/unityplugin/GhostCubeScene/build/UWP/Assets/SplashScreen.scale-200.png b/unityplugin/GhostCubeScene/build/UWP/Assets/SplashScreen.scale-200.png
new file mode 100644
index 0000000..023e7f1
--- /dev/null
+++ b/unityplugin/GhostCubeScene/build/UWP/Assets/SplashScreen.scale-200.png
Binary files differ
diff --git a/unityplugin/GhostCubeScene/build/UWP/Assets/Square150x150Logo.scale-200.png b/unityplugin/GhostCubeScene/build/UWP/Assets/Square150x150Logo.scale-200.png
new file mode 100644
index 0000000..af49fec
--- /dev/null
+++ b/unityplugin/GhostCubeScene/build/UWP/Assets/Square150x150Logo.scale-200.png
Binary files differ
diff --git a/unityplugin/GhostCubeScene/build/UWP/Assets/Square44x44Logo.scale-200.png b/unityplugin/GhostCubeScene/build/UWP/Assets/Square44x44Logo.scale-200.png
new file mode 100644
index 0000000..ce342a2
--- /dev/null
+++ b/unityplugin/GhostCubeScene/build/UWP/Assets/Square44x44Logo.scale-200.png
Binary files differ
diff --git a/unityplugin/GhostCubeScene/build/UWP/Assets/Square44x44Logo.targetsize-24_altform-unplated.png b/unityplugin/GhostCubeScene/build/UWP/Assets/Square44x44Logo.targetsize-24_altform-unplated.png
new file mode 100644
index 0000000..f6c02ce
--- /dev/null
+++ b/unityplugin/GhostCubeScene/build/UWP/Assets/Square44x44Logo.targetsize-24_altform-unplated.png
Binary files differ
diff --git a/unityplugin/GhostCubeScene/build/UWP/Assets/StoreLogo.png b/unityplugin/GhostCubeScene/build/UWP/Assets/StoreLogo.png
new file mode 100644
index 0000000..7385b56
--- /dev/null
+++ b/unityplugin/GhostCubeScene/build/UWP/Assets/StoreLogo.png
Binary files differ
diff --git a/unityplugin/GhostCubeScene/build/UWP/Assets/Wide310x150Logo.scale-200.png b/unityplugin/GhostCubeScene/build/UWP/Assets/Wide310x150Logo.scale-200.png
new file mode 100644
index 0000000..288995b
--- /dev/null
+++ b/unityplugin/GhostCubeScene/build/UWP/Assets/Wide310x150Logo.scale-200.png
Binary files differ
diff --git a/unityplugin/GhostCubeScene/build/UWP/GhostCubeScene.vcxproj b/unityplugin/GhostCubeScene/build/UWP/GhostCubeScene.vcxproj
new file mode 100644
index 0000000..2571e58
--- /dev/null
+++ b/unityplugin/GhostCubeScene/build/UWP/GhostCubeScene.vcxproj
@@ -0,0 +1,360 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|ARM">
+ <Configuration>Debug</Configuration>
+ <Platform>ARM</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|ARM">
+ <Configuration>Release</Configuration>
+ <Platform>ARM</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{BDD3DD22-64FA-4E48-BDF0-FD0B1C28C87F}</ProjectGuid>
+ <Keyword>DirectXApp</Keyword>
+ <RootNamespace>GhostCubeScene</RootNamespace>
+ <DefaultLanguage>en-US</DefaultLanguage>
+ <MinimumVisualStudioVersion>14.0</MinimumVisualStudioVersion>
+ <AppContainerApplication>true</AppContainerApplication>
+ <ApplicationType>Windows Store</ApplicationType>
+ <WindowsTargetPlatformVersion>10.0.10586.0</WindowsTargetPlatformVersion>
+ <WindowsTargetPlatformMinVersion>10.0.10240.0</WindowsTargetPlatformMinVersion>
+ <ApplicationTypeRevision>10.0</ApplicationTypeRevision>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v140</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v140</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v140</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <PlatformToolset>v140</PlatformToolset>
+ <UseDotNetNativeToolchain>true</UseDotNetNativeToolchain>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <PlatformToolset>v140</PlatformToolset>
+ <UseDotNetNativeToolchain>true</UseDotNetNativeToolchain>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <PlatformToolset>v140</PlatformToolset>
+ <UseDotNetNativeToolchain>true</UseDotNetNativeToolchain>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ <Import Project="$(VSINSTALLDIR)\Common7\IDE\Extensions\Microsoft\VsGraphics\ImageContentTask.props" />
+ <Import Project="$(VSINSTALLDIR)\Common7\IDE\Extensions\Microsoft\VsGraphics\MeshContentTask.props" />
+ <Import Project="$(VSINSTALLDIR)\Common7\IDE\Extensions\Microsoft\VsGraphics\ShaderGraphContentTask.props" />
+ </ImportGroup>
+ <ImportGroup Label="Shared">
+ <Import Project="..\..\..\UnityEmulator\build\UWP.Shared\UnityEmulatorUWP.Shared.vcxitems" Label="Shared" />
+ <Import Project="..\Windows.Shared\GhostCubeScene.Shared.vcxitems" Label="Shared" />
+ <Import Project="..\GhostCubeScene.Assets.vcxitems" Label="Shared" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="..\..\..\..\diligentcore\Shared\build\UWP\UWP_Win32Dbg.props" />
+ <Import Project="..\Windows.Shared\GhostCubeScene.props" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="..\..\..\..\diligentcore\Shared\build\UWP\UWP_Win32Rel.props" />
+ <Import Project="..\Windows.Shared\GhostCubeScene.props" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="..\..\..\..\diligentcore\Shared\build\UWP\UWP_ArmDbg.props" />
+ <Import Project="..\Windows.Shared\GhostCubeScene.props" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="..\..\..\..\diligentcore\Shared\build\UWP\UWP_ArmRel.props" />
+ <Import Project="..\Windows.Shared\GhostCubeScene.props" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="..\..\..\..\diligentcore\Shared\build\UWP\UWP_X64Dbg.props" />
+ <Import Project="..\Windows.Shared\GhostCubeScene.props" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="..\..\..\..\diligentcore\Shared\build\UWP\UWP_X64Rel.props" />
+ <Import Project="..\Windows.Shared\GhostCubeScene.props" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <PackageCertificateKeyFile>GhostCubeScene_TemporaryKey.pfx</PackageCertificateKeyFile>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <IncludePath>$(SamplesRoot)\Samples\SampleBase\src\UWP;$(IncludePath)</IncludePath>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <IncludePath>$(SamplesRoot)\Samples\SampleBase\src\UWP;$(IncludePath)</IncludePath>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
+ <IncludePath>$(SamplesRoot)\Samples\SampleBase\src\UWP;$(IncludePath)</IncludePath>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
+ <IncludePath>$(SamplesRoot)\Samples\SampleBase\src\UWP;$(IncludePath)</IncludePath>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <IncludePath>$(SamplesRoot)\Samples\SampleBase\src\UWP;$(IncludePath)</IncludePath>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <IncludePath>$(SamplesRoot)\Samples\SampleBase\src\UWP;$(IncludePath)</IncludePath>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
+ <Link>
+ <AdditionalDependencies>mincore.lib;d3d12.lib;dxgi.lib;dxguid.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store\arm; $(VCInstallDir)\lib\arm</AdditionalLibraryDirectories>
+ </Link>
+ <ClCompile>
+ <PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
+ <PrecompiledHeaderOutputFile>$(IntDir)pch.pch</PrecompiledHeaderOutputFile>
+ <AdditionalIncludeDirectories>$(ProjectDir);$(IntermediateOutputPath);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PrecompiledHeader>NotUsing</PrecompiledHeader>
+ </ClCompile>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
+ <Link>
+ <AdditionalDependencies>mincore.lib;d3d12.lib;dxgi.lib;dxguid.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store\arm; $(VCInstallDir)\lib\arm</AdditionalLibraryDirectories>
+ </Link>
+ <ClCompile>
+ <PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
+ <PrecompiledHeaderOutputFile>$(IntDir)pch.pch</PrecompiledHeaderOutputFile>
+ <AdditionalIncludeDirectories>$(ProjectDir);$(IntermediateOutputPath);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PrecompiledHeader>NotUsing</PrecompiledHeader>
+ </ClCompile>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <Link>
+ <AdditionalDependencies>mincore.lib;d3d12.lib;dxgi.lib;dxguid.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store; $(VCInstallDir)\lib</AdditionalLibraryDirectories>
+ </Link>
+ <ClCompile>
+ <PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
+ <PrecompiledHeaderOutputFile>$(IntDir)pch.pch</PrecompiledHeaderOutputFile>
+ <AdditionalIncludeDirectories>$(ProjectDir);$(IntermediateOutputPath);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PrecompiledHeader>NotUsing</PrecompiledHeader>
+ </ClCompile>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <Link>
+ <AdditionalDependencies>mincore.lib;d3d12.lib;dxgi.lib;dxguid.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store; $(VCInstallDir)\lib</AdditionalLibraryDirectories>
+ </Link>
+ <ClCompile>
+ <PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
+ <PrecompiledHeaderOutputFile>$(IntDir)pch.pch</PrecompiledHeaderOutputFile>
+ <AdditionalIncludeDirectories>$(ProjectDir);$(IntermediateOutputPath);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PrecompiledHeader>NotUsing</PrecompiledHeader>
+ </ClCompile>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <Link>
+ <AdditionalDependencies>mincore.lib;d3d12.lib;dxgi.lib;dxguid.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store\amd64; $(VCInstallDir)\lib\amd64</AdditionalLibraryDirectories>
+ </Link>
+ <ClCompile>
+ <PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
+ <PrecompiledHeaderOutputFile>$(IntDir)pch.pch</PrecompiledHeaderOutputFile>
+ <AdditionalIncludeDirectories>$(ProjectDir);$(IntermediateOutputPath);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PrecompiledHeader>NotUsing</PrecompiledHeader>
+ </ClCompile>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <Link>
+ <AdditionalDependencies>mincore.lib;d3d12.lib;dxgi.lib;dxguid.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store\amd64; $(VCInstallDir)\lib\amd64</AdditionalLibraryDirectories>
+ </Link>
+ <ClCompile>
+ <PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
+ <PrecompiledHeaderOutputFile>$(IntDir)pch.pch</PrecompiledHeaderOutputFile>
+ <AdditionalIncludeDirectories>$(ProjectDir);$(IntermediateOutputPath);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PrecompiledHeader>NotUsing</PrecompiledHeader>
+ </ClCompile>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <Image Include="Assets\LockScreenLogo.scale-200.png" />
+ <Image Include="Assets\SplashScreen.scale-200.png" />
+ <Image Include="Assets\Square150x150Logo.scale-200.png" />
+ <Image Include="Assets\Square44x44Logo.scale-200.png" />
+ <Image Include="Assets\Square44x44Logo.targetsize-24_altform-unplated.png" />
+ <Image Include="Assets\StoreLogo.png" />
+ <Image Include="Assets\Wide310x150Logo.scale-200.png" />
+ </ItemGroup>
+ <ItemGroup>
+ <AppxManifest Include="Package.appxmanifest">
+ <SubType>Designer</SubType>
+ </AppxManifest>
+ <CustomBuild Include="..\..\..\build\UWP\bin\DLLs\x64\GhostCubePlugin_64d.dll">
+ <FileType>Document</FileType>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(RelativeDir)%(Filename).dll" "$(ProjectDir)Assets"</Command>
+ <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copying "%(Filename).dll" to "$(ProjectDir)Assets"</Message>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir)Assets\%(Filename).dll</Outputs>
+ </CustomBuild>
+ <CustomBuild Include="..\..\..\build\UWP\bin\DLLs\x64\GhostCubePlugin_64r.dll">
+ <FileType>Document</FileType>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectDir)Assets\%(Filename).dll</Outputs>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(RelativeDir)%(Filename).dll" "$(ProjectDir)Assets"</Command>
+ <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copying "%(Filename).dll" to "$(ProjectDir)Assets"</Message>
+ </CustomBuild>
+ <CustomBuild Include="..\..\..\build\UWP\bin\DLLs\x86\GhostCubePlugin_32d.dll">
+ <FileType>Document</FileType>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(RelativeDir)%(Filename).dll" "$(ProjectDir)Assets"</Command>
+ <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copying "%(Filename).dll" to "$(ProjectDir)Assets"</Message>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)Assets\%(Filename).dll</Outputs>
+ </CustomBuild>
+ <CustomBuild Include="..\..\..\build\UWP\bin\DLLs\x86\GhostCubePlugin_32r.dll">
+ <FileType>Document</FileType>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(RelativeDir)%(Filename).dll" "$(ProjectDir)Assets"</Command>
+ <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copying "%(Filename).dll" to "$(ProjectDir)Assets"</Message>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)Assets\%(Filename).dll</Outputs>
+ </CustomBuild>
+ <CustomBuild Include="..\..\..\build\UWP\bin\DLLs\ARM\GhostCubePlugin_armd.dll">
+ <FileType>Document</FileType>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">copy "%(RelativeDir)%(Filename).dll" "$(ProjectDir)Assets"</Command>
+ <Message Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">copying "%(Filename).dll" to "$(ProjectDir)Assets"</Message>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">$(ProjectDir)Assets\%(Filename).dll</Outputs>
+ </CustomBuild>
+ <CustomBuild Include="..\..\..\build\UWP\bin\DLLs\ARM\GhostCubePlugin_armr.dll">
+ <FileType>Document</FileType>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">copy "%(RelativeDir)%(Filename).dll" "$(ProjectDir)Assets"</Command>
+ <Message Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">copying "%(Filename).dll" to "$(ProjectDir)Assets"</Message>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">$(ProjectDir)Assets\%(Filename).dll</Outputs>
+ </CustomBuild>
+ <None Include="Assets\GhostCubePlugin_32d.dll">
+ <DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</DeploymentContent>
+ <DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</DeploymentContent>
+ <DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">false</DeploymentContent>
+ <DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">false</DeploymentContent>
+ <DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</DeploymentContent>
+ <DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</DeploymentContent>
+ </None>
+ <None Include="Assets\GhostCubePlugin_32r.dll">
+ <DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</DeploymentContent>
+ <DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</DeploymentContent>
+ <DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">false</DeploymentContent>
+ <DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">false</DeploymentContent>
+ <DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</DeploymentContent>
+ <DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</DeploymentContent>
+ </None>
+ <None Include="Assets\GhostCubePlugin_64d.dll">
+ <DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</DeploymentContent>
+ <FileType>Document</FileType>
+ <DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</DeploymentContent>
+ <DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</DeploymentContent>
+ <DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">false</DeploymentContent>
+ <DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">false</DeploymentContent>
+ <DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</DeploymentContent>
+ </None>
+ <None Include="Assets\GhostCubePlugin_64r.dll">
+ <DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</DeploymentContent>
+ <DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</DeploymentContent>
+ <DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">false</DeploymentContent>
+ <DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">false</DeploymentContent>
+ <DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</DeploymentContent>
+ <DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</DeploymentContent>
+ </None>
+ <None Include="Assets\GhostCubePlugin_armd.dll">
+ <DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</DeploymentContent>
+ <DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</DeploymentContent>
+ <DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</DeploymentContent>
+ <DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">false</DeploymentContent>
+ <DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</DeploymentContent>
+ <DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</DeploymentContent>
+ </None>
+ <None Include="Assets\GhostCubePlugin_armr.dll">
+ <DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</DeploymentContent>
+ <DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</DeploymentContent>
+ <DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">false</DeploymentContent>
+ <DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">true</DeploymentContent>
+ <DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</DeploymentContent>
+ <DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</DeploymentContent>
+ </None>
+ <None Include="GhostCubeScene_TemporaryKey.pfx" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\..\..\diligentcore\Common\build\UWP\Common.vcxproj">
+ <Project>{6de3eb2b-8a56-4d27-8a39-587f7a70584c}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\..\..\..\diligentcore\Graphics\GraphicsEngineD3D11\build\UWP\GraphicsEngineD3D11.vcxproj">
+ <Project>{29acd2a7-4c49-4973-9673-8f57ef37070f}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\..\..\..\diligentcore\Graphics\GraphicsEngineD3D12\build\UWP\GraphicsEngineD3D12.vcxproj">
+ <Project>{1a5a1c1d-c717-4680-a929-40e6324fe048}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\..\..\..\diligentcore\Graphics\GraphicsEngineD3DBase\build\UWP\GraphicsEngineD3DBase.vcxproj">
+ <Project>{acd6f956-ff3b-4fe9-8be3-c0eecfdbbf93}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\..\..\..\diligentcore\Graphics\GraphicsEngine\build\UWP\GraphicsEngine.vcxproj">
+ <Project>{dfe6435d-cc9d-4ca1-bf4e-5640c522d815}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\..\..\..\diligentcore\Graphics\GraphicsTools\build\UWP\GraphicsTools.vcxproj">
+ <Project>{7a1a6e2c-3952-4a57-ad30-abd92aa39c69}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\..\..\..\diligentcore\Platforms\Basic\build\UWP\BasicPlatform.vcxproj">
+ <Project>{ff7d4949-dc3e-488b-8f78-1d32f1ca3b4c}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\..\..\..\diligentcore\Platforms\UWP\build\UWP\UniversalWindowsPlatform.vcxproj">
+ <Project>{91adc1dd-aa8e-492a-ac19-3e0dab9ad665}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\..\..\UnityEmulator\build\UWP\UnityEmulator.vcxproj">
+ <Project>{17597734-2fbf-481f-99d4-3315b70fe3e2}</Project>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ <Import Project="$(VSINSTALLDIR)\Common7\IDE\Extensions\Microsoft\VsGraphics\ImageContentTask.targets" />
+ <Import Project="$(VSINSTALLDIR)\Common7\IDE\Extensions\Microsoft\VsGraphics\MeshContentTask.targets" />
+ <Import Project="$(VSINSTALLDIR)\Common7\IDE\Extensions\Microsoft\VsGraphics\ShaderGraphContentTask.targets" />
+ </ImportGroup>
+</Project> \ No newline at end of file
diff --git a/unityplugin/GhostCubeScene/build/UWP/GhostCubeScene.vcxproj.filters b/unityplugin/GhostCubeScene/build/UWP/GhostCubeScene.vcxproj.filters
new file mode 100644
index 0000000..c9613a3
--- /dev/null
+++ b/unityplugin/GhostCubeScene/build/UWP/GhostCubeScene.vcxproj.filters
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Image Include="Assets\SplashScreen.scale-200.png">
+ <Filter>Assets</Filter>
+ </Image>
+ <Image Include="Assets\Square44x44Logo.scale-200.png">
+ <Filter>Assets</Filter>
+ </Image>
+ <Image Include="Assets\Square44x44Logo.targetsize-24_altform-unplated.png">
+ <Filter>Assets</Filter>
+ </Image>
+ <Image Include="Assets\Square150x150Logo.scale-200.png">
+ <Filter>Assets</Filter>
+ </Image>
+ <Image Include="Assets\StoreLogo.png">
+ <Filter>Assets</Filter>
+ </Image>
+ <Image Include="Assets\Wide310x150Logo.scale-200.png">
+ <Filter>Assets</Filter>
+ </Image>
+ <Image Include="Assets\LockScreenLogo.scale-200.png">
+ <Filter>Assets</Filter>
+ </Image>
+ </ItemGroup>
+ <ItemGroup>
+ <AppxManifest Include="Package.appxmanifest" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="GhostCubeScene_TemporaryKey.pfx" />
+ <None Include="..\..\..\build\UWP\bin\DLLs\x86\GhostCubePlugin_32d.dll">
+ <Filter>SourceDLLs</Filter>
+ </None>
+ <None Include="..\..\..\build\UWP\bin\DLLs\x86\GhostCubePlugin_32r.dll">
+ <Filter>SourceDLLs</Filter>
+ </None>
+ <None Include="..\..\..\build\UWP\bin\DLLs\x64\GhostCubePlugin_64d.dll">
+ <Filter>SourceDLLs</Filter>
+ </None>
+ <None Include="..\..\..\build\UWP\bin\DLLs\x64\GhostCubePlugin_64r.dll">
+ <Filter>SourceDLLs</Filter>
+ </None>
+ <None Include="..\..\..\build\UWP\bin\DLLs\ARM\GhostCubePlugin_armd.dll">
+ <Filter>SourceDLLs</Filter>
+ </None>
+ <None Include="..\..\..\build\UWP\bin\DLLs\ARM\GhostCubePlugin_armr.dll">
+ <Filter>SourceDLLs</Filter>
+ </None>
+ <None Include="Assets\GhostCubePlugin_64d.dll">
+ <Filter>Assets</Filter>
+ </None>
+ <None Include="Assets\GhostCubePlugin_64r.dll">
+ <Filter>Assets</Filter>
+ </None>
+ <None Include="Assets\GhostCubePlugin_32d.dll">
+ <Filter>Assets</Filter>
+ </None>
+ <None Include="Assets\GhostCubePlugin_32r.dll">
+ <Filter>Assets</Filter>
+ </None>
+ <None Include="Assets\GhostCubePlugin_armd.dll">
+ <Filter>Assets</Filter>
+ </None>
+ <None Include="Assets\GhostCubePlugin_armr.dll">
+ <Filter>Assets</Filter>
+ </None>
+ </ItemGroup>
+ <ItemGroup>
+ <Filter Include="Assets">
+ <UniqueIdentifier>{1be0445e-de96-4b5e-9c3c-6b6fca9400ee}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="SourceDLLs">
+ <UniqueIdentifier>{c64a1209-12b4-40a7-9e1f-d482a039c93d}</UniqueIdentifier>
+ </Filter>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/unityplugin/GhostCubeScene/build/UWP/GhostCubeScene_TemporaryKey.pfx b/unityplugin/GhostCubeScene/build/UWP/GhostCubeScene_TemporaryKey.pfx
new file mode 100644
index 0000000..cbe5c59
--- /dev/null
+++ b/unityplugin/GhostCubeScene/build/UWP/GhostCubeScene_TemporaryKey.pfx
Binary files differ
diff --git a/unityplugin/GhostCubeScene/build/UWP/Package.appxmanifest b/unityplugin/GhostCubeScene/build/UWP/Package.appxmanifest
new file mode 100644
index 0000000..68d1400
--- /dev/null
+++ b/unityplugin/GhostCubeScene/build/UWP/Package.appxmanifest
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Package xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10" xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest" xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10" IgnorableNamespaces="uap mp">
+ <Identity Name="c0e3652f-bad5-4d3e-9591-4423d5adfb05" Publisher="CN=Egor" Version="1.0.0.0" />
+ <mp:PhoneIdentity PhoneProductId="c0e3652f-bad5-4d3e-9591-4423d5adfb05" PhonePublisherId="00000000-0000-0000-0000-000000000000" />
+ <Properties>
+ <DisplayName>GhostCubeSceneEmulator</DisplayName>
+ <PublisherDisplayName>Egor</PublisherDisplayName>
+ <Logo>Assets\StoreLogo.png</Logo>
+ </Properties>
+ <Dependencies>
+ <TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.0.0" MaxVersionTested="10.0.0.0" />
+ </Dependencies>
+ <Resources>
+ <Resource Language="x-generate" />
+ </Resources>
+ <Applications>
+ <Application Id="App" Executable="$targetnametoken$.exe" EntryPoint="Unity Emulator.App">
+ <uap:VisualElements DisplayName="Ghost Cube Scene Unity Emulator" Square150x150Logo="Assets\Square150x150Logo.png" Square44x44Logo="Assets\Square44x44Logo.png" Description="UnityEmulator" BackgroundColor="transparent">
+ <uap:DefaultTile Wide310x150Logo="Assets\Wide310x150Logo.png">
+ </uap:DefaultTile>
+ <uap:SplashScreen Image="Assets\SplashScreen.png" />
+ </uap:VisualElements>
+ </Application>
+ </Applications>
+ <Capabilities>
+ <Capability Name="internetClient" />
+ </Capabilities>
+</Package> \ No newline at end of file
diff --git a/unityplugin/GhostCubeScene/build/Win32/!README!.txt b/unityplugin/GhostCubeScene/build/Win32/!README!.txt
new file mode 100644
index 0000000..4326d21
--- /dev/null
+++ b/unityplugin/GhostCubeScene/build/Win32/!README!.txt
@@ -0,0 +1,7 @@
+To build the demo for Win32 platform, open ..\..\build\Win32\UnityPlugin.sln solution
+
+To run the demo, execute one of the run_*.bat files (do not execute run.bat!)
+
+To run the sample from the Visual Studio, set the following debugging properties:
+WorkingDirectory : $(AssetsPath)
+Command Arguments : mode={D3D11|D3D12|GL} (do not use spaces!) \ No newline at end of file
diff --git a/unityplugin/GhostCubeScene/build/Win32/AndroidManifest.xml b/unityplugin/GhostCubeScene/build/Win32/AndroidManifest.xml
new file mode 100644
index 0000000..e6a7d0f
--- /dev/null
+++ b/unityplugin/GhostCubeScene/build/Win32/AndroidManifest.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.DiligentGrpahics.UnityEmulator" android:versionCode="1" android:versionName="1.0">
+ <uses-sdk android:minSdkVersion="19" android:targetSdkVersion="19" />
+ <uses-feature android:glEsVersion="0x00030000" android:required="true">
+ </uses-feature>
+ <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE">
+ </uses-permission>
+ <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" android:hasCode="true" android:name="com.DiligentGrpahics.UnityEmulator.UnityEmulatorApplication" android:debuggable="true">
+ <!-- Our activity is the built-in NativeActivity framework class.
+ This will take care of integrating with our NDK code. -->
+ <activity android:name="com.DiligentGrpahics.UnityEmulator.UnityEmulatorNativeActivity" android:label="@string/app_name" android:configChanges="orientation|keyboardHidden">
+ <!-- Tell NativeActivity the name of or .so -->
+ <meta-data android:name="android.app.lib_name" android:value="GhostCubeSceneEmulator" />
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN" />
+ <category android:name="android.intent.category.LAUNCHER" />
+ </intent-filter>
+ </activity>
+ </application>
+</manifest> \ No newline at end of file
diff --git a/unityplugin/GhostCubeScene/build/Win32/GhostCubeScene-Debug.vgdbsettings b/unityplugin/GhostCubeScene/build/Win32/GhostCubeScene-Debug.vgdbsettings
new file mode 100644
index 0000000..ddc029c
--- /dev/null
+++ b/unityplugin/GhostCubeScene/build/Win32/GhostCubeScene-Debug.vgdbsettings
@@ -0,0 +1,90 @@
+<?xml version="1.0"?>
+<VisualGDBProjectSettings2 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <ConfigurationName>Debug</ConfigurationName>
+ <Project xsi:type="com.visualgdb.project.android">
+ <CustomSourceDirectories>
+ <Directories />
+ <PathStyle>MinGWWindowsSlash</PathStyle>
+ </CustomSourceDirectories>
+ <AndroidProjectPath>$(ProjectDir)</AndroidProjectPath>
+ </Project>
+ <Build xsi:type="com.visualgdb.build.android">
+ <AndroidPlatform>android-19</AndroidPlatform>
+ <IsDebugConfiguration>true</IsDebugConfiguration>
+ <JNIOnlyBuild>false</JNIOnlyBuild>
+ <AdditionalDirectoriesToDeleteOnClean>bin;obj</AdditionalDirectoriesToDeleteOnClean>
+ <DeleteANTFilesOnClean>false</DeleteANTFilesOnClean>
+ <DoNotEditAndroidManifest>false</DoNotEditAndroidManifest>
+ <CustomActions />
+ </Build>
+ <Debug xsi:type="com.visualgdb.debug.android">
+ <AdditionalStartupCommands />
+ <AdditionalGDBSettings>
+ <FilterSpuriousStoppedNotifications>false</FilterSpuriousStoppedNotifications>
+ <ForceSingleThreadedMode>false</ForceSingleThreadedMode>
+ <PendingBreakpointsSupported>true</PendingBreakpointsSupported>
+ <DisableChildRanges>false</DisableChildRanges>
+ <UseAppleExtensions>false</UseAppleExtensions>
+ <CanAcceptCommandsWhileRunning>false</CanAcceptCommandsWhileRunning>
+ <MakeLogFile>false</MakeLogFile>
+ <IgnoreModuleEventsWhileStepping>true</IgnoreModuleEventsWhileStepping>
+ <UseRelativePathsOnly>true</UseRelativePathsOnly>
+ <ExitAction>KillApp</ExitAction>
+ <Features>
+ <DisableAutoDetection>false</DisableAutoDetection>
+ <UseFrameParameter>false</UseFrameParameter>
+ <SimpleValuesFlagSupported>false</SimpleValuesFlagSupported>
+ <ListLocalsSupported>false</ListLocalsSupported>
+ <ByteLevelMemoryCommandsAvailable>false</ByteLevelMemoryCommandsAvailable>
+ <ThreadInfoSupported>false</ThreadInfoSupported>
+ <PendingBreakpointsSupported>false</PendingBreakpointsSupported>
+ <SupportTargetCommand>false</SupportTargetCommand>
+ </Features>
+ <DisableDisassembly>false</DisableDisassembly>
+ <ExamineMemoryWithXCommand>false</ExamineMemoryWithXCommand>
+ <StepIntoNewInstanceEntry>main</StepIntoNewInstanceEntry>
+ <ExamineRegistersInRawFormat>true</ExamineRegistersInRawFormat>
+ <EnableSmartStepping>false</EnableSmartStepping>
+ <DisableSignals>false</DisableSignals>
+ </AdditionalGDBSettings>
+ <LaunchGDBSettings xsi:type="GDBLaunchParametersAndroid" />
+ <GenerateCtrlBreakInsteadOfCtrlC>false</GenerateCtrlBreakInsteadOfCtrlC>
+ <PreferredDevice />
+ <UseDefaultInstallDir>true</UseDefaultInstallDir>
+ <RemotePort>5039</RemotePort>
+ <LocalPort>5039</LocalPort>
+ <GDBServerStartupTimeout>10000</GDBServerStartupTimeout>
+ <AdditionalGDBServerStartupDelay>0</AdditionalGDBServerStartupDelay>
+ <DoubleSlashWorkaround>false</DoubleSlashWorkaround>
+ <AlreadyRunningDecision>Relaunch</AlreadyRunningDecision>
+ <ShowLogCat>true</ShowLogCat>
+ <EnableThreadNameWatcher>true</EnableThreadNameWatcher>
+ <LaunchAMStartParameters />
+ <StartupActivity />
+ <GDBServer />
+ <StandaloneExeSettings>
+ <DeploymentDirectory>/data/local/tmp</DeploymentDirectory>
+ <WorkingDirectory />
+ <CommandLineArguments />
+ <Environment>
+ <Records />
+ </Environment>
+ </StandaloneExeSettings>
+ </Debug>
+ <CustomBuild>
+ <PreBuildActions />
+ <PostBuildActions />
+ <PreCleanActions />
+ <PostCleanActions />
+ </CustomBuild>
+ <CustomDebug>
+ <PreDebugActions />
+ <PostDebugActions />
+ <BreakMode>Default</BreakMode>
+ </CustomDebug>
+ <CustomShortcuts>
+ <Shortcuts />
+ <ShowMessageAfterExecuting>true</ShowMessageAfterExecuting>
+ </CustomShortcuts>
+ <UserDefinedVariables />
+</VisualGDBProjectSettings2> \ No newline at end of file
diff --git a/unityplugin/GhostCubeScene/build/Win32/GhostCubeScene-Release.vgdbsettings b/unityplugin/GhostCubeScene/build/Win32/GhostCubeScene-Release.vgdbsettings
new file mode 100644
index 0000000..17856d6
--- /dev/null
+++ b/unityplugin/GhostCubeScene/build/Win32/GhostCubeScene-Release.vgdbsettings
@@ -0,0 +1,81 @@
+<?xml version="1.0"?>
+<VisualGDBProjectSettings2 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <ConfigurationName>Release</ConfigurationName>
+ <Project xsi:type="com.visualgdb.project.android">
+ <CustomSourceDirectories>
+ <Directories />
+ <PathStyle>MinGWWindowsSlash</PathStyle>
+ </CustomSourceDirectories>
+ <AndroidProjectPath>$(ProjectDir)</AndroidProjectPath>
+ </Project>
+ <Build xsi:type="com.visualgdb.build.android">
+ <AndroidPlatform>android-19</AndroidPlatform>
+ <IsDebugConfiguration>false</IsDebugConfiguration>
+ <JNIOnlyBuild>false</JNIOnlyBuild>
+ <AdditionalDirectoriesToDeleteOnClean>bin;obj</AdditionalDirectoriesToDeleteOnClean>
+ <DeleteANTFilesOnClean>false</DeleteANTFilesOnClean>
+ <DoNotEditAndroidManifest>false</DoNotEditAndroidManifest>
+ <CustomActions />
+ </Build>
+ <Debug xsi:type="com.visualgdb.debug.android">
+ <AdditionalStartupCommands />
+ <AdditionalGDBSettings>
+ <FilterSpuriousStoppedNotifications>false</FilterSpuriousStoppedNotifications>
+ <ForceSingleThreadedMode>false</ForceSingleThreadedMode>
+ <PendingBreakpointsSupported>true</PendingBreakpointsSupported>
+ <DisableChildRanges>false</DisableChildRanges>
+ <UseAppleExtensions>false</UseAppleExtensions>
+ <CanAcceptCommandsWhileRunning>false</CanAcceptCommandsWhileRunning>
+ <MakeLogFile>false</MakeLogFile>
+ <IgnoreModuleEventsWhileStepping>true</IgnoreModuleEventsWhileStepping>
+ <UseRelativePathsOnly>false</UseRelativePathsOnly>
+ <ExitAction>KillApp</ExitAction>
+ <Features>
+ <DisableAutoDetection>false</DisableAutoDetection>
+ <UseFrameParameter>false</UseFrameParameter>
+ <SimpleValuesFlagSupported>false</SimpleValuesFlagSupported>
+ <ListLocalsSupported>false</ListLocalsSupported>
+ <ByteLevelMemoryCommandsAvailable>false</ByteLevelMemoryCommandsAvailable>
+ <ThreadInfoSupported>false</ThreadInfoSupported>
+ <PendingBreakpointsSupported>false</PendingBreakpointsSupported>
+ <SupportTargetCommand>false</SupportTargetCommand>
+ </Features>
+ <DisableDisassembly>false</DisableDisassembly>
+ <ExamineMemoryWithXCommand>false</ExamineMemoryWithXCommand>
+ <StepIntoNewInstanceEntry>main</StepIntoNewInstanceEntry>
+ <ExamineRegistersInRawFormat>true</ExamineRegistersInRawFormat>
+ <EnableSmartStepping>false</EnableSmartStepping>
+ <DisableSignals>false</DisableSignals>
+ </AdditionalGDBSettings>
+ <LaunchGDBSettings xsi:type="GDBLaunchParametersAndroid" />
+ <GenerateCtrlBreakInsteadOfCtrlC>false</GenerateCtrlBreakInsteadOfCtrlC>
+ <UseDefaultInstallDir>false</UseDefaultInstallDir>
+ <RemotePort>5039</RemotePort>
+ <LocalPort>5039</LocalPort>
+ <GDBServerStartupTimeout>10000</GDBServerStartupTimeout>
+ <AdditionalGDBServerStartupDelay>0</AdditionalGDBServerStartupDelay>
+ <DoubleSlashWorkaround>false</DoubleSlashWorkaround>
+ <AlreadyRunningDecision>Ask</AlreadyRunningDecision>
+ <ShowLogCat>true</ShowLogCat>
+ <EnableThreadNameWatcher>true</EnableThreadNameWatcher>
+ <StandaloneExeSettings>
+ <DeploymentDirectory>/data/local/tmp</DeploymentDirectory>
+ </StandaloneExeSettings>
+ </Debug>
+ <CustomBuild>
+ <PreBuildActions />
+ <PostBuildActions />
+ <PreCleanActions />
+ <PostCleanActions />
+ </CustomBuild>
+ <CustomDebug>
+ <PreDebugActions />
+ <PostDebugActions />
+ <BreakMode>Default</BreakMode>
+ </CustomDebug>
+ <CustomShortcuts>
+ <Shortcuts />
+ <ShowMessageAfterExecuting>true</ShowMessageAfterExecuting>
+ </CustomShortcuts>
+ <UserDefinedVariables />
+</VisualGDBProjectSettings2> \ No newline at end of file
diff --git a/unityplugin/GhostCubeScene/build/Win32/GhostCubeScene.vcxproj b/unityplugin/GhostCubeScene/build/Win32/GhostCubeScene.vcxproj
new file mode 100644
index 0000000..68dc552
--- /dev/null
+++ b/unityplugin/GhostCubeScene/build/Win32/GhostCubeScene.vcxproj
@@ -0,0 +1,264 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|ARM">
+ <Configuration>Debug</Configuration>
+ <Platform>ARM</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|ARM">
+ <Configuration>Release</Configuration>
+ <Platform>ARM</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{516AA088-64B1-4DCF-9631-59F91F0E849A}</ProjectGuid>
+ <RootNamespace>GhostCubeScene</RootNamespace>
+ <WindowsTargetPlatformVersion>10.0.10240.0</WindowsTargetPlatformVersion>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v140</PlatformToolset>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v140</PlatformToolset>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v140</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v140</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
+ <PlatformToolset>v120</PlatformToolset>
+ <ConfigurationType>Makefile</ConfigurationType>
+ </PropertyGroup>
+ <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
+ <PlatformToolset>v120</PlatformToolset>
+ <ConfigurationType>Makefile</ConfigurationType>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ <Import Project="..\Windows.Shared\GhostCubeScene.Shared.vcxitems" Label="Shared" Condition="Exists('..\Windows.Shared\GhostCubeScene.Shared.vcxitems')" />
+ </ImportGroup>
+ <ImportGroup Label="Shared" />
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="..\..\..\..\diligentcore\Shared\build\Windows\Win32d.props" />
+ <Import Project="..\Windows.Shared\GhostCubeScene.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="..\..\..\..\diligentcore\Shared\build\Windows\Win64d.props" />
+ <Import Project="..\Windows.Shared\GhostCubeScene.props" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="..\..\..\..\diligentcore\Shared\build\Windows\Win32r.props" />
+ <Import Project="..\Windows.Shared\GhostCubeScene.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="..\..\..\..\diligentcore\Shared\build\Windows\Win64r.props" />
+ <Import Project="..\Windows.Shared\GhostCubeScene.props" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
+ <Import Project="..\..\..\..\diligentcore\Shared\build\Windows\Android32d.props" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
+ <Import Project="..\..\..\..\diligentcore\Shared\build\Windows\Android32r.props" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
+ <NMakeForcedIncludes>$(ProjectDir)..\..\..\..\Common\Android\gcc_Debug.h;$(NMakeForcedIncludes)</NMakeForcedIncludes>
+ <NMakeOutput>$(ProjectDir)GhostCubeScene-Debug.vgdbsettings</NMakeOutput>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
+ <NMakeForcedIncludes>$(ProjectDir)..\..\..\..\Common\Android\gcc_Release.h;$(NMakeForcedIncludes)</NMakeForcedIncludes>
+ <NMakeOutput>$(ProjectDir)GhostCubeScene-Release.vgdbsettings</NMakeOutput>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>Disabled</Optimization>
+ <SDLCheck>true</SDLCheck>
+ <PrecompiledHeader>NotUsing</PrecompiledHeader>
+ </ClCompile>
+ <Link>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Windows</SubSystem>
+ <AdditionalDependencies>opengl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ <PostBuildEvent>
+ <Command>copy "$(VC_ExecutablePath_x86_x86)\D3Dcompiler_47.dll" "$(TargetDir)"</Command>
+ <Message>Copying D3DCompiler_47.dll to $(TargetDir)...</Message>
+ </PostBuildEvent>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>Disabled</Optimization>
+ <SDLCheck>true</SDLCheck>
+ <PrecompiledHeader>NotUsing</PrecompiledHeader>
+ </ClCompile>
+ <Link>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Windows</SubSystem>
+ <AdditionalDependencies>opengl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ <PostBuildEvent>
+ <Command>copy "$(VC_ExecutablePath_x64_x64)\D3Dcompiler_47.dll" "$(TargetDir)"</Command>
+ <Message>Copying D3DCompiler_47.dll to $(TargetDir)...</Message>
+ </PostBuildEvent>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>MaxSpeed</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <SDLCheck>true</SDLCheck>
+ <PrecompiledHeader>NotUsing</PrecompiledHeader>
+ </ClCompile>
+ <Link>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <SubSystem>Windows</SubSystem>
+ <AdditionalDependencies>opengl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ <PostBuildEvent>
+ <Command>copy "$(VC_ExecutablePath_x86_x86)\D3Dcompiler_47.dll" "$(TargetDir)"</Command>
+ <Message>Copying D3DCompiler_47.dll to $(TargetDir)...</Message>
+ </PostBuildEvent>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>MaxSpeed</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <SDLCheck>true</SDLCheck>
+ <PrecompiledHeader>NotUsing</PrecompiledHeader>
+ </ClCompile>
+ <Link>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <SubSystem>Windows</SubSystem>
+ <AdditionalDependencies>opengl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ <PostBuildEvent>
+ <Command>copy "$(VC_ExecutablePath_x64_x64)\D3Dcompiler_47.dll" "$(TargetDir)"</Command>
+ <Message>Copying D3DCompiler_47.dll to $(TargetDir)...</Message>
+ </PostBuildEvent>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <CustomBuild Include="..\..\..\build\Win32\bin\DLLs\x86\GhostCubePlugin_32d.dll">
+ <FileType>Document</FileType>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(RelativeDir)%(Filename).dll" "$(TargetDir)"
+copy "%(RelativeDir)%(Filename).pdb" "$(TargetDir)"</Command>
+ <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Copying %(Filename).dll and %(Filename).pdb</Message>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(TargetDir)%(Filename).dll</Outputs>
+ </CustomBuild>
+ <CustomBuild Include="..\..\..\build\Win32\bin\DLLs\x86\GhostCubePlugin_32r.dll">
+ <FileType>Document</FileType>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(RelativeDir)%(Filename).dll" "$(TargetDir)"
+copy "%(RelativeDir)%(Filename).pdb" "$(TargetDir)"</Command>
+ <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Copying %(Filename).dll and %(Filename).pdb</Message>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(TargetDir)%(Filename).dll</Outputs>
+ </CustomBuild>
+ <CustomBuild Include="..\..\..\build\Win32\bin\DLLs\x64\GhostCubePlugin_64d.dll">
+ <FileType>Document</FileType>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(RelativeDir)%(Filename).dll" "$(TargetDir)"
+copy "%(RelativeDir)%(Filename).pdb" "$(TargetDir)"</Command>
+ <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Copying %(Filename).dll and %(Filename).pdb</Message>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(TargetDir)%(Filename).dll</Outputs>
+ </CustomBuild>
+ <CustomBuild Include="..\..\..\build\Win32\bin\DLLs\x64\GhostCubePlugin_64r.dll">
+ <FileType>Document</FileType>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(RelativeDir)%(Filename).dll" "$(TargetDir)"
+copy "%(RelativeDir)%(Filename).pdb" "$(TargetDir)"</Command>
+ <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Copying %(Filename).dll and %(Filename).pdb</Message>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(TargetDir)%(Filename).dll</Outputs>
+ </CustomBuild>
+ <None Include="jni\Android.mk" />
+ <None Include="jni\Application.mk" />
+ </ItemGroup>
+ <ItemGroup>
+ <Xml Include="AndroidManifest.xml" />
+ <Xml Include="build.xml" />
+ <Xml Include="res\values\strings.xml" />
+ <Xml Include="res\values\styles.xml" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\..\..\diligentcore\Common\build\Win32\Common.vcxproj">
+ <Project>{7380f7e6-315f-4b4e-92eb-e6aeee865298}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\..\..\..\diligentcore\External\glew\build\Win32\glew_static.vcxproj">
+ <Project>{664e6f0d-6784-4760-9565-d54f8eb1edf4}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\..\..\..\diligentcore\Platforms\Android\build\Windows\AndroidPlatform.vcxproj">
+ <Project>{e333476e-15e3-4d43-a4cf-8748058b3be9}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\..\..\..\diligentcore\Platforms\Basic\build\Win32\BasicPlatform.vcxproj">
+ <Project>{8ada5f93-7a38-4ad8-b8f5-1ffd4d4f630c}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\..\..\..\diligentcore\Platforms\Win32\build\Win32\WindowsPlatform.vcxproj">
+ <Project>{58f32677-436b-412a-bbf8-2b1310d82cd8}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\..\..\UnityEmulator\build\Win32\UnityEmulator.vcxproj">
+ <Project>{f40021ac-6d7b-4828-81c4-2d04f946a88e}</Project>
+ </ProjectReference>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\src\Android\AndroidMain.cpp">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+ </ClCompile>
+ <ClCompile Include="..\..\src\GhostCubeScene.cpp">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+ </ClCompile>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project> \ No newline at end of file
diff --git a/unityplugin/GhostCubeScene/build/Win32/GhostCubeScene.vcxproj.filters b/unityplugin/GhostCubeScene/build/Win32/GhostCubeScene.vcxproj.filters
new file mode 100644
index 0000000..3ecc134
--- /dev/null
+++ b/unityplugin/GhostCubeScene/build/Win32/GhostCubeScene.vcxproj.filters
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+ <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
+ </Filter>
+ <Filter Include="DLLs">
+ <UniqueIdentifier>{99c6c817-b02b-4b78-8b27-011a6f68c396}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="Android">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ <Filter Include="Android\src">
+ <UniqueIdentifier>{1e08520a-5f84-419f-9ab8-b20c4af153a3}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="Android\jni">
+ <UniqueIdentifier>{cd80a81f-81ce-45e0-a041-ad1424d39aef}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="Android\res">
+ <UniqueIdentifier>{450ce8ab-a0ce-402c-97d8-aa38f90f85bd}</UniqueIdentifier>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="jni\Application.mk">
+ <Filter>Android\jni</Filter>
+ </None>
+ <None Include="jni\Android.mk">
+ <Filter>Android\jni</Filter>
+ </None>
+ </ItemGroup>
+ <ItemGroup>
+ <Xml Include="AndroidManifest.xml">
+ <Filter>Android</Filter>
+ </Xml>
+ <Xml Include="build.xml">
+ <Filter>Android</Filter>
+ </Xml>
+ <Xml Include="res\values\styles.xml">
+ <Filter>Android\res</Filter>
+ </Xml>
+ <Xml Include="res\values\strings.xml">
+ <Filter>Android\res</Filter>
+ </Xml>
+ </ItemGroup>
+ <ItemGroup>
+ <CustomBuild Include="..\..\..\build\Win32\bin\DLLs\x86\GhostCubePlugin_32d.dll">
+ <Filter>DLLs</Filter>
+ </CustomBuild>
+ <CustomBuild Include="..\..\..\build\Win32\bin\DLLs\x86\GhostCubePlugin_32r.dll">
+ <Filter>DLLs</Filter>
+ </CustomBuild>
+ <CustomBuild Include="..\..\..\build\Win32\bin\DLLs\x64\GhostCubePlugin_64d.dll">
+ <Filter>DLLs</Filter>
+ </CustomBuild>
+ <CustomBuild Include="..\..\..\build\Win32\bin\DLLs\x64\GhostCubePlugin_64r.dll">
+ <Filter>DLLs</Filter>
+ </CustomBuild>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\src\Android\AndroidMain.cpp">
+ <Filter>Android\src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\src\GhostCubeScene.cpp">
+ <Filter>Android\src</Filter>
+ </ClCompile>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/unityplugin/GhostCubeScene/build/Win32/android_build.txt b/unityplugin/GhostCubeScene/build/Win32/android_build.txt
new file mode 100644
index 0000000..226503c
--- /dev/null
+++ b/unityplugin/GhostCubeScene/build/Win32/android_build.txt
@@ -0,0 +1,16 @@
+To build:
+
+1. cd to AntTweakBar\build\Win32 folder
+
+2. First time only, initialize the project (do not miss the dot at the end of the command):
+ android update project -p .
+
+3. ndk-build
+
+4. Build the APK
+ ant debug
+
+5. Install the APK
+ adb install -r ./bin/EngineSampleNativeActivity-debug.apk
+
+6. Run the app on the device \ No newline at end of file
diff --git a/unityplugin/GhostCubeScene/build/Win32/build.xml b/unityplugin/GhostCubeScene/build/Win32/build.xml
new file mode 100644
index 0000000..b2dcec5
--- /dev/null
+++ b/unityplugin/GhostCubeScene/build/Win32/build.xml
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project name="UnityEmulatorNativeActivity" default="help">
+
+ <!-- The local.properties file is created and updated by the 'android' tool.
+ It contains the path to the SDK. It should *NOT* be checked into
+ Version Control Systems. -->
+ <property file="local.properties" />
+
+ <!-- The ant.properties file can be created by you. It is only edited by the
+ 'android' tool to add properties to it.
+ This is the place to change some Ant specific build properties.
+ Here are some properties you may want to change/update:
+
+ source.dir
+ The name of the source directory. Default is 'src'.
+ out.dir
+ The name of the output directory. Default is 'bin'.
+
+ For other overridable properties, look at the beginning of the rules
+ files in the SDK, at tools/ant/build.xml
+
+ Properties related to the SDK location or the project target should
+ be updated using the 'android' tool with the 'update' action.
+
+ This file is an integral part of the build system for your
+ application and should be checked into Version Control Systems.
+
+ -->
+ <property file="ant.properties" />
+
+ <property name="source.dir" value="../../../UnityEmulator/Src/Android" />
+ <property name="asset.dir" value="../assets" />
+
+
+ <!-- if sdk.dir was not set from one of the property file, then
+ get it from the ANDROID_HOME env var.
+ This must be done before we load project.properties since
+ the proguard config can use sdk.dir -->
+ <property environment="env" />
+ <condition property="sdk.dir" value="${env.ANDROID_HOME}">
+ <isset property="env.ANDROID_HOME" />
+ </condition>
+
+ <!-- The project.properties file is created and updated by the 'android'
+ tool, as well as ADT.
+
+ This contains project specific properties such as project target, and library
+ dependencies. Lower level build properties are stored in ant.properties
+ (or in .classpath for Eclipse projects).
+
+ This file is an integral part of the build system for your
+ application and should be checked into Version Control Systems. -->
+ <loadproperties srcFile="project.properties" />
+
+ <!-- quick check on sdk.dir -->
+ <fail
+ message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through the ANDROID_HOME environment variable."
+ unless="sdk.dir"
+ />
+
+ <!--
+ Import per project custom build rules if present at the root of the project.
+ This is the place to put custom intermediary targets such as:
+ -pre-build
+ -pre-compile
+ -post-compile (This is typically used for code obfuscation.
+ Compiled code location: ${out.classes.absolute.dir}
+ If this is not done in place, override ${out.dex.input.absolute.dir})
+ -post-package
+ -post-build
+ -pre-clean
+ -->
+ <import file="custom_rules.xml" optional="true" />
+
+ <!-- Import the actual build file.
+
+ To customize existing targets, there are two options:
+ - Customize only one target:
+ - copy/paste the target into this file, *before* the
+ <import> task.
+ - customize it to your needs.
+ - Customize the whole content of build.xml
+ - copy/paste the content of the rules files (minus the top node)
+ into this file, replacing the <import> task.
+ - customize to your needs.
+
+ ***********************
+ ****** IMPORTANT ******
+ ***********************
+ In all cases you must update the value of version-tag below to read 'custom' instead of an integer,
+ in order to avoid having your file be overridden by tools such as "android update project"
+ -->
+ <!-- version-tag: 1 -->
+ <import file="${sdk.dir}/tools/ant/build.xml" />
+
+</project>
diff --git a/unityplugin/GhostCubeScene/build/Win32/jni/Android.mk b/unityplugin/GhostCubeScene/build/Win32/jni/Android.mk
new file mode 100644
index 0000000..f3ec778
--- /dev/null
+++ b/unityplugin/GhostCubeScene/build/Win32/jni/Android.mk
@@ -0,0 +1,117 @@
+
+DEPENDENCY_PATH := $(call my-dir)
+LOCAL_PATH := $(abspath $(DEPENDENCY_PATH))
+
+include $(CLEAR_VARS)
+# Project configuration
+LOCAL_MODULE := GhostCubeSceneEmulator
+LOCAL_CFLAGS := -std=c++11
+LOCAL_CPP_FEATURES := exceptions
+LOCAL_LDLIBS := -lGLESv3 -lEGL -llog -landroid
+
+# !!!!! VERY IMPORTANT !!!!!
+# Not too smart gcc linker links libraries in the order they are declared. From each library it only exports the
+# methods/functions required to resolve CURRENTLY OUTSTANDING dependencies and ignores the rest.
+# If a subsequent library then uses methods/functions that were not originally required by the objects, you will
+# have missing dependencies.
+LOCAL_STATIC_LIBRARIES := UnityEmulator-prebuilt GraphicsEngine-prebuilt GraphicsTools-prebuilt cpufeatures android_native_app_glue ndk_helper
+# These libraries depend on each other
+LOCAL_WHOLE_STATIC_LIBRARIES := AndroidPlatform-prebuilt BasicPlatform-prebuilt Common-prebuilt
+LOCAL_SHARED_LIBRARIES := GhostCubePlugin-prebuilt GraphicsEngineOpenGL-prebuilt
+
+# Include paths
+PROJECT_ROOT := $(LOCAL_PATH)/../../..
+ENGINE_ROOT := $(PROJECT_ROOT)/../..
+CORE_ROOT := $(ENGINE_ROOT)/diligentcore
+TOOLS_ROOT := $(ENGINE_ROOT)/diligenttools
+SAMPLES_ROOT := $(ENGINE_ROOT)/diligentsamples
+
+LOCAL_C_INCLUDES += $(PROJECT_ROOT)/../GhostCubePlugin/PluginSource/src/Unity
+# include directories for static libraries are declared in corresponding LOCAL_EXPORT_C_INCLUDES sections
+
+
+# Source files
+#VisualGDBAndroid: AutoUpdateSourcesInNextLine
+LOCAL_SRC_FILES := ../../../src/Android/AndroidMain.cpp ../../../src/GhostCubeScene.cpp
+
+include $(BUILD_SHARED_LIBRARY)
+
+
+# Declare pre-built static libraries
+
+include $(CLEAR_VARS)
+# Declare pre-built Common library
+LOCAL_MODULE := UnityEmulator-prebuilt
+LOCAL_SRC_FILES := $(PROJECT_ROOT)/../UnityEmulator/build/Win32/obj/local/$(TARGET_ARCH_ABI)/libUnityEmulator.a
+
+# The LOCAL_EXPORT_C_INCLUDES definition ensures that any module that depends on the
+# prebuilt one will have its LOCAL_C_INCLUDES automatically prepended with the path to the
+# prebuilt's include directory, and will thus be able to find headers inside that.
+LOCAL_EXPORT_C_INCLUDES := $(PROJECT_ROOT)/../UnityEmulator/include
+
+include $(PREBUILT_STATIC_LIBRARY)
+
+
+# Declare pre-built static libraries
+
+include $(CLEAR_VARS)
+# Declare pre-built Common library
+LOCAL_MODULE := Common-prebuilt
+LOCAL_SRC_FILES := $(CORE_ROOT)/Common/build/Win32/obj/local/$(TARGET_ARCH_ABI)/libCommon.a
+
+# The LOCAL_EXPORT_C_INCLUDES definition ensures that any module that depends on the
+# prebuilt one will have its LOCAL_C_INCLUDES automatically prepended with the path to the
+# prebuilt's include directory, and will thus be able to find headers inside that.
+LOCAL_EXPORT_C_INCLUDES := $(CORE_ROOT)/Common/include $(CORE_ROOT)/Common/interface $(CORE_ROOT)/Platforms/interface
+
+include $(PREBUILT_STATIC_LIBRARY)
+
+
+include $(CLEAR_VARS)
+# Declare pre-built AndroidPlatform library
+LOCAL_MODULE := AndroidPlatform-prebuilt
+LOCAL_SRC_FILES := $(CORE_ROOT)/Platforms/Android/build/Windows/obj/local/$(TARGET_ARCH_ABI)/libAndroidPlatform.a
+LOCAL_EXPORT_C_INCLUDES := $(CORE_ROOT)/Platforms/interface
+include $(PREBUILT_STATIC_LIBRARY)
+
+include $(CLEAR_VARS)
+# Declare pre-built BasicPlatform library
+LOCAL_MODULE := BasicPlatform-prebuilt
+LOCAL_SRC_FILES := $(CORE_ROOT)/Platforms/Basic/build/Win32/obj/local/$(TARGET_ARCH_ABI)/libBasicPlatform.a
+include $(PREBUILT_STATIC_LIBRARY)
+
+
+include $(CLEAR_VARS)
+# Declare pre-built GraphicsEngine library
+LOCAL_MODULE := GraphicsEngine-prebuilt
+LOCAL_SRC_FILES := $(CORE_ROOT)/Graphics/GraphicsEngine/build/Win32/obj/local/$(TARGET_ARCH_ABI)/libGraphicsEngine.a
+LOCAL_EXPORT_C_INCLUDES := $(CORE_ROOT)/Graphics/GraphicsEngine/interface
+include $(PREBUILT_STATIC_LIBRARY)
+
+
+include $(CLEAR_VARS)
+# Declare pre-built GraphicsEngineOpenGL library
+LOCAL_MODULE := GraphicsEngineOpenGL-prebuilt
+LOCAL_SRC_FILES := $(CORE_ROOT)/Graphics/GraphicsEngineOpenGL/build/Win32/libs/$(TARGET_ARCH_ABI)/libGraphicsEngineOpenGL.so
+LOCAL_EXPORT_C_INCLUDES := $(CORE_ROOT)/Graphics/GraphicsEngineOpenGL/interface
+include $(PREBUILT_SHARED_LIBRARY)
+
+include $(CLEAR_VARS)
+# Declare pre-built Graphics Tools library
+LOCAL_MODULE := GraphicsTools-prebuilt
+LOCAL_SRC_FILES := $(CORE_ROOT)/Graphics/GraphicsTools/build/Win32/obj/local/$(TARGET_ARCH_ABI)/libGraphicsTools.a
+LOCAL_EXPORT_C_INCLUDES := $(CORE_ROOT)/Graphics/GraphicsTools/include
+include $(PREBUILT_STATIC_LIBRARY)
+
+
+include $(CLEAR_VARS)
+# Declare pre-built GhostCubePlugin library
+LOCAL_MODULE := GhostCubePlugin-prebuilt
+LOCAL_SRC_FILES := $(PROJECT_ROOT)/../GhostCubePlugin/PluginSource/build/Win32/libs/$(TARGET_ARCH_ABI)/libGhostCubePlugin.so
+include $(PREBUILT_SHARED_LIBRARY)
+
+
+$(call import-module,android/ndk_helper)
+$(call import-module,android/native_app_glue)
+$(call import-module,android/cpufeatures)
+
diff --git a/unityplugin/GhostCubeScene/build/Win32/jni/Application.mk b/unityplugin/GhostCubeScene/build/Win32/jni/Application.mk
new file mode 100644
index 0000000..08521c2
--- /dev/null
+++ b/unityplugin/GhostCubeScene/build/Win32/jni/Application.mk
@@ -0,0 +1,7 @@
+# Generated by VisualGDB
+
+DEPENDENCY_PATH := $(call my-dir)
+LOCAL_PATH := $(abspath $(DEPENDENCY_PATH))
+include $(LOCAL_PATH)/../../../../../diligentcore/Common/make/AppCommon.mk
+
+APP_MODULES := GhostCubeSceneEmulator \ No newline at end of file
diff --git a/unityplugin/GhostCubeScene/build/Win32/res/drawable-hdpi/ic_launcher.png b/unityplugin/GhostCubeScene/build/Win32/res/drawable-hdpi/ic_launcher.png
new file mode 100644
index 0000000..ea01cbf
--- /dev/null
+++ b/unityplugin/GhostCubeScene/build/Win32/res/drawable-hdpi/ic_launcher.png
Binary files differ
diff --git a/unityplugin/GhostCubeScene/build/Win32/res/drawable-ldpi/ic_launcher.png b/unityplugin/GhostCubeScene/build/Win32/res/drawable-ldpi/ic_launcher.png
new file mode 100644
index 0000000..a3d6a18
--- /dev/null
+++ b/unityplugin/GhostCubeScene/build/Win32/res/drawable-ldpi/ic_launcher.png
Binary files differ
diff --git a/unityplugin/GhostCubeScene/build/Win32/res/drawable-mdpi/ic_launcher.png b/unityplugin/GhostCubeScene/build/Win32/res/drawable-mdpi/ic_launcher.png
new file mode 100644
index 0000000..8f80897
--- /dev/null
+++ b/unityplugin/GhostCubeScene/build/Win32/res/drawable-mdpi/ic_launcher.png
Binary files differ
diff --git a/unityplugin/GhostCubeScene/build/Win32/res/drawable-xhdpi/ic_launcher.png b/unityplugin/GhostCubeScene/build/Win32/res/drawable-xhdpi/ic_launcher.png
new file mode 100644
index 0000000..b779a2b
--- /dev/null
+++ b/unityplugin/GhostCubeScene/build/Win32/res/drawable-xhdpi/ic_launcher.png
Binary files differ
diff --git a/unityplugin/GhostCubeScene/build/Win32/res/layout/widgets.xml b/unityplugin/GhostCubeScene/build/Win32/res/layout/widgets.xml
new file mode 100644
index 0000000..36b64f3
--- /dev/null
+++ b/unityplugin/GhostCubeScene/build/Win32/res/layout/widgets.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:gravity="top"
+ android:orientation="vertical" >
+
+ <TextView
+ android:id="@+id/textViewFPS"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:gravity="right"
+ android:text="0.0 FPS"
+ android:textAppearance="?android:attr/textAppearanceMedium"
+ android:textColor="@android:color/white" />
+
+</LinearLayout> \ No newline at end of file
diff --git a/unityplugin/GhostCubeScene/build/Win32/res/values-v11/styles.xml b/unityplugin/GhostCubeScene/build/Win32/res/values-v11/styles.xml
new file mode 100644
index 0000000..541752f
--- /dev/null
+++ b/unityplugin/GhostCubeScene/build/Win32/res/values-v11/styles.xml
@@ -0,0 +1,11 @@
+<resources>
+
+ <!--
+ Base application theme for API 11+. This theme completely replaces
+ AppBaseTheme from res/values/styles.xml on API 11+ devices.
+ -->
+ <style name="AppBaseTheme" parent="android:Theme.Holo.Light">
+ <!-- API 11 theme customizations can go here. -->
+ </style>
+
+</resources> \ No newline at end of file
diff --git a/unityplugin/GhostCubeScene/build/Win32/res/values-v14/styles.xml b/unityplugin/GhostCubeScene/build/Win32/res/values-v14/styles.xml
new file mode 100644
index 0000000..f20e015
--- /dev/null
+++ b/unityplugin/GhostCubeScene/build/Win32/res/values-v14/styles.xml
@@ -0,0 +1,12 @@
+<resources>
+
+ <!--
+ Base application theme for API 14+. This theme completely replaces
+ AppBaseTheme from BOTH res/values/styles.xml and
+ res/values-v11/styles.xml on API 14+ devices.
+ -->
+ <style name="AppBaseTheme" parent="android:Theme.Holo.Light.DarkActionBar">
+ <!-- API 14 theme customizations can go here. -->
+ </style>
+
+</resources> \ No newline at end of file
diff --git a/unityplugin/GhostCubeScene/build/Win32/res/values/strings.xml b/unityplugin/GhostCubeScene/build/Win32/res/values/strings.xml
new file mode 100644
index 0000000..f29ce4e
--- /dev/null
+++ b/unityplugin/GhostCubeScene/build/Win32/res/values/strings.xml
@@ -0,0 +1,6 @@
+<resources>
+
+ <string name="app_name">Ghost cube scene emulator</string>
+ <string name="plugin_name">GhostCubePlugin</string>
+
+</resources> \ No newline at end of file
diff --git a/unityplugin/GhostCubeScene/build/Win32/res/values/styles.xml b/unityplugin/GhostCubeScene/build/Win32/res/values/styles.xml
new file mode 100644
index 0000000..4a10ca4
--- /dev/null
+++ b/unityplugin/GhostCubeScene/build/Win32/res/values/styles.xml
@@ -0,0 +1,20 @@
+<resources>
+
+ <!--
+ Base application theme, dependent on API level. This theme is replaced
+ by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
+ -->
+ <style name="AppBaseTheme" parent="android:Theme.Light">
+ <!--
+ Theme customizations available in newer API levels can go in
+ res/values-vXX/styles.xml, while customizations related to
+ backward-compatibility can go here.
+ -->
+ </style>
+
+ <!-- Application theme. -->
+ <style name="AppTheme" parent="AppBaseTheme">
+ <!-- All customizations that are NOT specific to a particular API-level can go here. -->
+ </style>
+
+</resources> \ No newline at end of file
diff --git a/unityplugin/GhostCubeScene/build/Win32/run.bat b/unityplugin/GhostCubeScene/build/Win32/run.bat
new file mode 100644
index 0000000..043e72e
--- /dev/null
+++ b/unityplugin/GhostCubeScene/build/Win32/run.bat
@@ -0,0 +1,15 @@
+@echo off
+cd ..\.
+SET SAMPLE_PATH="..\..\..\..\build\Win32\bin\%~1\GhostCubeScene\GhostCubeScene.exe"
+
+if not exist %SAMPLE_PATH% (
+ rem echo Executable not found in the diligentsamples\build\Win32 directory. Checking parent directory.
+ SET SAMPLE_PATH="..\"%SAMPLE_PATH%
+)
+
+if not exist %SAMPLE_PATH% (
+ echo Executable not found. Please build the solution for the selected configuration.
+ exit /B 1
+)
+
+%SAMPLE_PATH% mode=%~2
diff --git a/unityplugin/GhostCubeScene/build/Win32/run_d3d11_32d.bat b/unityplugin/GhostCubeScene/build/Win32/run_d3d11_32d.bat
new file mode 100644
index 0000000..fcbcf78
--- /dev/null
+++ b/unityplugin/GhostCubeScene/build/Win32/run_d3d11_32d.bat
@@ -0,0 +1 @@
+call run.bat Debug_Win32 D3D11 \ No newline at end of file
diff --git a/unityplugin/GhostCubeScene/build/Win32/run_d3d11_32r.bat b/unityplugin/GhostCubeScene/build/Win32/run_d3d11_32r.bat
new file mode 100644
index 0000000..5b6c8f9
--- /dev/null
+++ b/unityplugin/GhostCubeScene/build/Win32/run_d3d11_32r.bat
@@ -0,0 +1 @@
+call run.bat Release_Win32 D3D11 \ No newline at end of file
diff --git a/unityplugin/GhostCubeScene/build/Win32/run_d3d11_64d.bat b/unityplugin/GhostCubeScene/build/Win32/run_d3d11_64d.bat
new file mode 100644
index 0000000..7b0b91b
--- /dev/null
+++ b/unityplugin/GhostCubeScene/build/Win32/run_d3d11_64d.bat
@@ -0,0 +1 @@
+call run.bat Debug_x64 D3D11 \ No newline at end of file
diff --git a/unityplugin/GhostCubeScene/build/Win32/run_d3d11_64r.bat b/unityplugin/GhostCubeScene/build/Win32/run_d3d11_64r.bat
new file mode 100644
index 0000000..e0ebaf4
--- /dev/null
+++ b/unityplugin/GhostCubeScene/build/Win32/run_d3d11_64r.bat
@@ -0,0 +1 @@
+call run.bat Release_x64 D3D11 \ No newline at end of file
diff --git a/unityplugin/GhostCubeScene/build/Win32/run_d3d12_32r.bat b/unityplugin/GhostCubeScene/build/Win32/run_d3d12_32r.bat
new file mode 100644
index 0000000..848b7b8
--- /dev/null
+++ b/unityplugin/GhostCubeScene/build/Win32/run_d3d12_32r.bat
@@ -0,0 +1 @@
+call run.bat Release_Win32 D3D12 \ No newline at end of file
diff --git a/unityplugin/GhostCubeScene/build/Win32/run_d3d12_64d.bat b/unityplugin/GhostCubeScene/build/Win32/run_d3d12_64d.bat
new file mode 100644
index 0000000..f74f35c
--- /dev/null
+++ b/unityplugin/GhostCubeScene/build/Win32/run_d3d12_64d.bat
@@ -0,0 +1 @@
+call run.bat Debug_x64 D3D12 \ No newline at end of file
diff --git a/unityplugin/GhostCubeScene/build/Win32/run_d3d12_64r.bat b/unityplugin/GhostCubeScene/build/Win32/run_d3d12_64r.bat
new file mode 100644
index 0000000..21e7b30
--- /dev/null
+++ b/unityplugin/GhostCubeScene/build/Win32/run_d3d12_64r.bat
@@ -0,0 +1 @@
+call run.bat Release_x64 D3D12 \ No newline at end of file
diff --git a/unityplugin/GhostCubeScene/build/Win32/run_gl_32d.bat b/unityplugin/GhostCubeScene/build/Win32/run_gl_32d.bat
new file mode 100644
index 0000000..bd2e2d5
--- /dev/null
+++ b/unityplugin/GhostCubeScene/build/Win32/run_gl_32d.bat
@@ -0,0 +1 @@
+call run.bat Debug_Win32 GL \ No newline at end of file
diff --git a/unityplugin/GhostCubeScene/build/Win32/run_gl_32r.bat b/unityplugin/GhostCubeScene/build/Win32/run_gl_32r.bat
new file mode 100644
index 0000000..25b66c3
--- /dev/null
+++ b/unityplugin/GhostCubeScene/build/Win32/run_gl_32r.bat
@@ -0,0 +1 @@
+call run.bat Release_Win32 GL \ No newline at end of file
diff --git a/unityplugin/GhostCubeScene/build/Win32/run_gl_64d.bat b/unityplugin/GhostCubeScene/build/Win32/run_gl_64d.bat
new file mode 100644
index 0000000..c01b4e3
--- /dev/null
+++ b/unityplugin/GhostCubeScene/build/Win32/run_gl_64d.bat
@@ -0,0 +1 @@
+call run.bat Debug_x64 GL \ No newline at end of file
diff --git a/unityplugin/GhostCubeScene/build/Win32/run_gl_64r.bat b/unityplugin/GhostCubeScene/build/Win32/run_gl_64r.bat
new file mode 100644
index 0000000..3025ab2
--- /dev/null
+++ b/unityplugin/GhostCubeScene/build/Win32/run_gl_64r.bat
@@ -0,0 +1 @@
+call run.bat Release_x64 GL \ No newline at end of file
diff --git a/unityplugin/GhostCubeScene/build/Windows.Shared/GhostCubeScene.Shared.vcxitems b/unityplugin/GhostCubeScene/build/Windows.Shared/GhostCubeScene.Shared.vcxitems
new file mode 100644
index 0000000..4bdbd66
--- /dev/null
+++ b/unityplugin/GhostCubeScene/build/Windows.Shared/GhostCubeScene.Shared.vcxitems
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup Label="Globals">
+ <MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
+ <HasSharedItems>true</HasSharedItems>
+ <ItemsProjectGuid>{f26d9028-cfb4-45bc-9ab9-28e332480564}</ItemsProjectGuid>
+ <ItemsRootNamespace>GhostCubeScene</ItemsRootNamespace>
+ <ItemsProjectName>GhostCubeScene.Shared</ItemsProjectName>
+ <SharedGUID>ee85241f-efeb-4c0a-a2dc-724cc15edec0</SharedGUID>
+ </PropertyGroup>
+ <ItemDefinitionGroup>
+ <ClCompile>
+ <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);$(MSBuildThisFileDirectory)</AdditionalIncludeDirectories>
+ </ClCompile>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ProjectCapability Include="SourceItemsFromImports" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="$(MSBuildThisFileDirectory)..\..\src\GhostCubeScene.cpp" />
+ <ClCompile Include="$(MSBuildThisFileDirectory)..\..\src\GhostCubeSceneResTrsnHelper.cpp" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="$(MSBuildThisFileDirectory)..\..\src\GhostCubeScene.h" />
+ <ClInclude Include="$(MSBuildThisFileDirectory)..\..\src\GhostCubeSceneResTrsnHelper.h" />
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/unityplugin/GhostCubeScene/build/Windows.Shared/GhostCubeScene.Shared.vcxitems.filters b/unityplugin/GhostCubeScene/build/Windows.Shared/GhostCubeScene.Shared.vcxitems.filters
new file mode 100644
index 0000000..674de74
--- /dev/null
+++ b/unityplugin/GhostCubeScene/build/Windows.Shared/GhostCubeScene.Shared.vcxitems.filters
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="src">
+ <UniqueIdentifier>{c8b2817b-474c-4084-89e1-6e79260fbf11}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="include">
+ <UniqueIdentifier>{038e521a-1981-43c0-a93a-5dcb35a59f70}</UniqueIdentifier>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="$(MSBuildThisFileDirectory)..\..\src\GhostCubeScene.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="$(MSBuildThisFileDirectory)..\..\src\GhostCubeSceneResTrsnHelper.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="$(MSBuildThisFileDirectory)..\..\src\GhostCubeScene.h">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="$(MSBuildThisFileDirectory)..\..\src\GhostCubeSceneResTrsnHelper.h">
+ <Filter>include</Filter>
+ </ClInclude>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/unityplugin/GhostCubeScene/build/Windows.Shared/GhostCubeScene.props b/unityplugin/GhostCubeScene/build/Windows.Shared/GhostCubeScene.props
new file mode 100644
index 0000000..a0c341c
--- /dev/null
+++ b/unityplugin/GhostCubeScene/build/Windows.Shared/GhostCubeScene.props
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ImportGroup Label="PropertySheets" />
+ <PropertyGroup Label="UserMacros">
+ <ProjectRoot>..\..</ProjectRoot>
+ <AssetsPath>$(ProjectRoot)\build\assets</AssetsPath>
+ <EngineRoot>$(ProjectRoot)\..\..</EngineRoot>
+ <CoreRoot>$(EngineRoot)\diligentcore</CoreRoot>
+ <ToolsRoot>$(EngineRoot)\diligenttools</ToolsRoot>
+ </PropertyGroup>
+ <PropertyGroup>
+ <IncludePath>$(CoreRoot)\Graphics\GraphicsEngine\interface;$(CoreRoot)\Graphics\GraphicsEngineD3D11\interface;$(CoreRoot)\Graphics\GraphicsEngineD3D12\interface;$(CoreRoot)\Graphics\GraphicsEngineOpenGL\interface;$(CoreRoot)\Common\include;$(CoreRoot)\Common\interface;$(CoreRoot)\Platforms\interface;$(CoreRoot)\Graphics\GraphicsTools\include;$(ProjectRoot)\..\UnityEmulator\Include;$(ProjectRoot)\..\GhostCubePlugin\PluginSource\src\Unity;$(IncludePath)</IncludePath>
+ </PropertyGroup>
+ <ItemDefinitionGroup>
+ <PostBuildEvent />
+ <Link>
+ <AdditionalDependencies>d3d11.lib;d3d12.lib;dxgi.lib;d3dcompiler.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <BuildMacro Include="ProjectRoot">
+ <Value>$(ProjectRoot)</Value>
+ </BuildMacro>
+ <BuildMacro Include="AssetsPath">
+ <Value>$(AssetsPath)</Value>
+ </BuildMacro>
+ <BuildMacro Include="EngineRoot">
+ <Value>$(EngineRoot)</Value>
+ </BuildMacro>
+ <BuildMacro Include="CoreRoot">
+ <Value>$(CoreRoot)</Value>
+ </BuildMacro>
+ <BuildMacro Include="ToolsRoot">
+ <Value>$(ToolsRoot)</Value>
+ </BuildMacro>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/unityplugin/GhostCubeScene/build/assets/shaders/Mirror.psh b/unityplugin/GhostCubeScene/build/assets/shaders/Mirror.psh
new file mode 100644
index 0000000..86b4beb
--- /dev/null
+++ b/unityplugin/GhostCubeScene/build/assets/shaders/Mirror.psh
@@ -0,0 +1,14 @@
+
+Texture2D g_tex2Reflection;
+SamplerState g_tex2Reflection_sampler;
+
+struct PSInput
+{
+ float4 Pos : SV_POSITION;
+ float2 UV : TEX_COORD;
+};
+
+float4 main(PSInput In) : SV_Target
+{
+ return g_tex2Reflection.Sample(g_tex2Reflection_sampler, In.UV);
+}
diff --git a/unityplugin/GhostCubeScene/build/assets/shaders/Mirror.vsh b/unityplugin/GhostCubeScene/build/assets/shaders/Mirror.vsh
new file mode 100644
index 0000000..bdeaaca
--- /dev/null
+++ b/unityplugin/GhostCubeScene/build/assets/shaders/Mirror.vsh
@@ -0,0 +1,33 @@
+cbuffer Constants
+{
+ float4x4 g_WorldViewProj;
+};
+
+struct PSInput
+{
+ float4 Pos : SV_POSITION;
+ float2 UV : TEX_COORD;
+};
+
+PSInput main(uint VertId : SV_VertexID)
+{
+ float4 Pos[] =
+ {
+ float4(-0.5, +0.5, 0.0, 1.0),
+ float4(-0.5, -0.5, 0.0, 1.0),
+ float4(+0.5, +0.5, 0.0, 1.0),
+ float4(+0.5, -0.5, 0.0, 1.0)
+ };
+ float2 UV[] =
+ {
+ float2(0.0, 1.0),
+ float2(0.0, 0.0),
+ float2(1.0, 1.0),
+ float2(1.0, 0.0)
+ };
+
+ PSInput ps;
+ ps.Pos = mul( Pos[VertId], g_WorldViewProj);
+ ps.UV = UV[VertId];
+ return ps;
+}
diff --git a/unityplugin/GhostCubeScene/src/Android/AndroidMain.cpp b/unityplugin/GhostCubeScene/src/Android/AndroidMain.cpp
new file mode 100644
index 0000000..e2e659c
--- /dev/null
+++ b/unityplugin/GhostCubeScene/src/Android/AndroidMain.cpp
@@ -0,0 +1,58 @@
+/* Copyright 2015-2017 Egor Yusov
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF ANY PROPRIETARY RIGHTS.
+ *
+ * In no event and under no legal theory, whether in tort (including negligence),
+ * contract, or otherwise, unless required by applicable law (such as deliberate
+ * and grossly negligent acts) or agreed to in writing, shall any Contributor be
+ * liable for any damages, including any direct, indirect, special, incidental,
+ * or consequential damages of any character arising as a result of this License or
+ * out of the use or inability to use the software (including but not limited to damages
+ * for loss of goodwill, work stoppage, computer failure or malfunction, or any and
+ * all other commercial damages or losses), even if such Contributor has been advised
+ * of the possibility of such damages.
+ */
+
+// This header must be included, otherwise the linker will somehow fail to find android_main()
+#include <unordered_map>
+#include <android_native_app_glue.h>
+#include "IUnityInterface.h"
+
+extern "C" void UNITY_INTERFACE_EXPORT UNITY_INTERFACE_API SetMatrixFromUnity
+ (float m00, float m01, float m02, float m03,
+ float m10, float m11, float m12, float m13,
+ float m20, float m21, float m22, float m23,
+ float m30, float m31, float m32, float m33);
+
+extern "C" void UNITY_INTERFACE_EXPORT UNITY_INTERFACE_API SetTexturesFromUnity(void* renderTargetHandle, void *depthBufferHandle);
+
+// Actual implementation of the android_main()
+void android_main_impl( struct android_app* state );
+
+
+void *LoadPluginFunction(const char *name)
+{
+ static std::unordered_map<std::string, void*> functions_map =
+ {
+ {"SetMatrixFromUnity", reinterpret_cast<void*>(SetMatrixFromUnity) },
+ {"SetTexturesFromUnity", reinterpret_cast<void*>(SetTexturesFromUnity) }
+ };
+ auto it = functions_map.find(name);
+ return it != functions_map.end() ? it->second : nullptr;
+}
+
+// When a native library is being loaded, JNI loader looks for the android_main function.
+// If the entry does not export that function, it will fail to load. So we have to define
+// android_main() in every android native application
+void android_main( android_app* state )
+{
+ android_main_impl(state);
+}
diff --git a/unityplugin/GhostCubeScene/src/GhostCubeScene.cpp b/unityplugin/GhostCubeScene/src/GhostCubeScene.cpp
new file mode 100644
index 0000000..2fb3a97
--- /dev/null
+++ b/unityplugin/GhostCubeScene/src/GhostCubeScene.cpp
@@ -0,0 +1,215 @@
+/* Copyright 2015-2017 Egor Yusov
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF ANY PROPRIETARY RIGHTS.
+ *
+ * In no event and under no legal theory, whether in tort (including negligence),
+ * contract, or otherwise, unless required by applicable law (such as deliberate
+ * and grossly negligent acts) or agreed to in writing, shall any Contributor be
+ * liable for any damages, including any direct, indirect, special, incidental,
+ * or consequential damages of any character arising as a result of this License or
+ * out of the use or inability to use the software (including but not limited to damages
+ * for loss of goodwill, work stoppage, computer failure or malfunction, or any and
+ * all other commercial damages or losses), even if such Contributor has been advised
+ * of the possibility of such damages.
+ */
+
+#include "GhostCubeScene.h"
+#include "BasicMath.h"
+#include <algorithm>
+#include "BasicShaderSourceStreamFactory.h"
+#include "GraphicsUtilities.h"
+#include "MapHelper.h"
+#include "CommonlyUsedStates.h"
+
+#if defined(PLATFORM_WIN32) || defined(PLATFORM_UNIVERSAL_WINDOWS)
+# define D3D12_SUPPORTED 1
+#else
+# define D3D12_SUPPORTED 0
+#endif
+
+#if D3D12_SUPPORTED
+# include "GhostCubeSceneResTrsnHelper.h"
+#endif
+
+using namespace Diligent;
+
+UnitySceneBase* CreateScene()
+{
+ return new GhostCubeScene;
+}
+
+
+void GhostCubeScene::OnPluginLoad(TLoadPluginFunction LoadPluginFunctionCallback)
+{
+ SetMatrixFromUnity = reinterpret_cast<TSetMatrixFromUnity>( LoadPluginFunctionCallback("SetMatrixFromUnity") );
+ VERIFY_EXPR(SetMatrixFromUnity != nullptr);
+
+ SetTexturesFromUnity = reinterpret_cast<TSetTexturesFromUnity>( LoadPluginFunctionCallback("SetTexturesFromUnity") );
+ VERIFY_EXPR(SetTexturesFromUnity != nullptr);
+}
+
+void GhostCubeScene::OnPluginUnload()
+{
+}
+
+void GhostCubeScene::OnGraphicsInitialized()
+{
+ auto pDevice = m_DiligentGraphics->GetDevice();
+ TextureDesc TexDesc;
+ TexDesc.Name = "Mirror render target";
+ TexDesc.Type = RESOURCE_DIM_TEX_2D;
+ TexDesc.Width = 1024;
+ TexDesc.Height = 1024;
+ TexDesc.Format = TEX_FORMAT_RGBA8_UNORM_SRGB;
+ TexDesc.BindFlags = BIND_RENDER_TARGET | BIND_SHADER_RESOURCE;
+ TexDesc.ClearValue.Color[0] = 0.f;
+ TexDesc.ClearValue.Color[1] = 0.2f;
+ TexDesc.ClearValue.Color[2] = 0.5f;
+ TexDesc.ClearValue.Color[3] = 1.0f;
+ pDevice->CreateTexture(TexDesc, TextureData(), &m_pRenderTarget);
+
+ TexDesc.Name = "Mirror depth buffer";
+ TexDesc.Format = TEX_FORMAT_D32_FLOAT;
+ TexDesc.BindFlags = BIND_DEPTH_STENCIL | BIND_SHADER_RESOURCE;
+ TexDesc.ClearValue.DepthStencil.Depth = 0.f;
+ pDevice->CreateTexture(TexDesc, TextureData(), &m_pDepthBuffer);
+
+ auto deviceType = pDevice->GetDeviceCaps().DevType;
+ {
+ const auto &SCDesc = m_DiligentGraphics->GetSwapChain()->GetDesc();
+ auto UseReverseZ = m_DiligentGraphics->UsesReverseZ();
+
+ PipelineStateDesc PSODesc;
+ PSODesc.IsComputePipeline = false;
+ PSODesc.Name = "Render sample cube PSO";
+ PSODesc.GraphicsPipeline.NumRenderTargets = 1;
+
+ PSODesc.GraphicsPipeline.RTVFormats[0] = SCDesc.ColorBufferFormat == TEX_FORMAT_RGBA8_UNORM ? TEX_FORMAT_RGBA8_UNORM_SRGB : SCDesc.ColorBufferFormat;
+ PSODesc.GraphicsPipeline.DSVFormat = SCDesc.DepthBufferFormat;
+ PSODesc.GraphicsPipeline.PrimitiveTopologyType = PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE;
+ PSODesc.GraphicsPipeline.RasterizerDesc.CullMode = CULL_MODE_BACK;
+ PSODesc.GraphicsPipeline.DepthStencilDesc.DepthFunc = UseReverseZ ? COMPARISON_FUNC_GREATER_EQUAL : COMPARISON_FUNC_LESS_EQUAL;
+
+ ShaderCreationAttribs CreationAttribs;
+ BasicShaderSourceStreamFactory BasicSSSFactory("shaders");
+ CreationAttribs.pShaderSourceStreamFactory = &BasicSSSFactory;
+ CreationAttribs.SourceLanguage = SHADER_SOURCE_LANGUAGE_HLSL;
+ CreationAttribs.Desc.DefaultVariableType = SHADER_VARIABLE_TYPE_STATIC;
+
+ CreateUniformBuffer(pDevice, sizeof(float4x4), "Mirror VS constants CB", &m_pMirrorVSConstants);
+
+ RefCntAutoPtr<IShader> pVS;
+ {
+ CreationAttribs.Desc.ShaderType = SHADER_TYPE_VERTEX;
+ CreationAttribs.EntryPoint = "main";
+ CreationAttribs.Desc.Name = "Mirror VS";
+ CreationAttribs.FilePath = "Mirror.vsh";
+ pDevice->CreateShader(CreationAttribs, &pVS);
+ pVS->GetShaderVariable("Constants")->Set(m_pMirrorVSConstants);
+ }
+
+
+ RefCntAutoPtr<IShader> pPS;
+ {
+ CreationAttribs.Desc.ShaderType = SHADER_TYPE_PIXEL;
+ CreationAttribs.EntryPoint = "main";
+ CreationAttribs.Desc.Name = "Mirror PS";
+ CreationAttribs.FilePath = "Mirror.psh";
+ StaticSamplerDesc StaticSamplers[] =
+ {
+ {"g_tex2Reflection", Sam_Aniso4xClamp}
+ };
+ CreationAttribs.Desc.StaticSamplers = StaticSamplers;
+ CreationAttribs.Desc.NumStaticSamplers = _countof(StaticSamplers);
+ pDevice->CreateShader(CreationAttribs, &pPS);
+ pPS->GetShaderVariable("g_tex2Reflection")->Set(m_pRenderTarget->GetDefaultView(TEXTURE_VIEW_SHADER_RESOURCE));
+ }
+
+ PSODesc.GraphicsPipeline.pVS = pVS;
+ PSODesc.GraphicsPipeline.pPS = pPS;
+ pDevice->CreatePipelineState(PSODesc, &m_pMirrorPSO);
+ }
+#if D3D12_SUPPORTED
+ m_pStateTransitionHandler.reset(new GhostCubeSceneResTrsnHelper(*this));
+#endif
+}
+
+void GhostCubeScene::Render(UnityRenderingEvent RenderEventFunc, double CurrTime, double ElapsedTime)
+{
+ auto pDevice = m_DiligentGraphics->GetDevice();
+ auto pCtx = m_DiligentGraphics->GetContext();
+ auto DevType = pDevice->GetDeviceCaps().DevType;
+ bool IsDX = DevType == DeviceType::D3D11 || DevType == DeviceType::D3D12;
+ auto ReverseZ = m_DiligentGraphics->UsesReverseZ();
+
+ // In OpenGL, render targets must be bound to the pipeline to be cleared
+ ITextureView *pRTVs[] = { m_pRenderTarget->GetDefaultView(TEXTURE_VIEW_RENDER_TARGET) };
+ ITextureView *pDSV = m_pDepthBuffer->GetDefaultView(TEXTURE_VIEW_DEPTH_STENCIL);
+ pCtx->SetRenderTargets(1, pRTVs, pDSV);
+ const float ClearColor[] = { 0.f, 0.2f, 0.5f, 1.0f };
+ pCtx->ClearRenderTarget(pRTVs[0], ClearColor);
+ pCtx->ClearDepthStencil(pDSV, CLEAR_DEPTH_FLAG, ReverseZ ? 0.f : 1.f, 0);
+
+ if (DevType == DeviceType::D3D12)
+ {
+ // D3D12 context must be flushed so that the commands are submitted before the
+ // commands issued by the plugin
+ pCtx->Flush();
+ }
+
+
+ // Render ghost cube into the mirror texture
+ {
+ // Create fake reflection matrix
+ float4x4 CubeWorldView = scaleMatrix(1,2,1) * rotationY( -static_cast<float>(CurrTime) * 2.0f) * rotationX(-PI_F*0.3f) * translationMatrix(0.f, 0.0f, 10.0f);
+ float NearPlane = 0.3f;
+ float FarPlane = 1000.f;
+ if (ReverseZ)
+ std::swap(NearPlane, FarPlane);
+ float aspectRatio = 1.0f;
+ float4x4 ReflectionCameraProj = Projection(PI_F / 4.f, aspectRatio, NearPlane, FarPlane, IsDX);
+ auto wvp = CubeWorldView * ReflectionCameraProj;
+ float ReverseZ = IsDX ? -1.f : +1.f;
+ SetMatrixFromUnity(wvp._m00, ReverseZ * wvp._m01, wvp._m02, wvp._m03,
+ wvp._m10, ReverseZ * wvp._m11, wvp._m12, wvp._m13,
+ wvp._m20, ReverseZ * wvp._m21, wvp._m22, wvp._m23,
+ wvp._m30, ReverseZ * wvp._m31, wvp._m32, wvp._m33);
+
+ SetTexturesFromUnity(m_pRenderTarget->GetNativeHandle(), m_pDepthBuffer->GetNativeHandle());
+
+ // Call the plugin
+ RenderEventFunc(0);
+ }
+
+ // We need to invalidate the context state since the plugin has used d3d11 context
+ pCtx->InvalidateState();
+ pCtx->SetRenderTargets(0, nullptr, nullptr);
+ pCtx->SetPipelineState(m_pMirrorPSO);
+ pCtx->CommitShaderResources(nullptr, COMMIT_SHADER_RESOURCES_FLAG_TRANSITION_RESOURCES);
+
+ {
+ float4x4 MirrorWorldView = scaleMatrix(5,5,5) * rotationX(PI_F*0.6f) * translationMatrix(0.f, -3.0f, 10.0f);
+ float NearPlane = 0.3f;
+ float FarPlane = 1000.f;
+ if (ReverseZ)
+ std::swap(NearPlane, FarPlane);
+ float AspectRatio = static_cast<float>(m_WindowWidth) / static_cast<float>(std::max(m_WindowHeight, 1));
+ float4x4 MainCameraProj = Projection(PI_F / 3.f, AspectRatio, NearPlane, FarPlane, IsDX);
+ auto wvp = MirrorWorldView * MainCameraProj;
+ MapHelper<float4x4> CBConstants(pCtx, m_pMirrorVSConstants, MAP_WRITE, MAP_FLAG_DISCARD);
+ *CBConstants = transposeMatrix(wvp);
+ }
+
+ DrawAttribs DrawAttrs;
+ DrawAttrs.NumVertices = 4;
+ DrawAttrs.Topology = PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP;
+ pCtx->Draw(DrawAttrs);
+}
diff --git a/unityplugin/GhostCubeScene/src/GhostCubeScene.h b/unityplugin/GhostCubeScene/src/GhostCubeScene.h
new file mode 100644
index 0000000..546acaf
--- /dev/null
+++ b/unityplugin/GhostCubeScene/src/GhostCubeScene.h
@@ -0,0 +1,58 @@
+/* Copyright 2015-2017 Egor Yusov
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF ANY PROPRIETARY RIGHTS.
+ *
+ * In no event and under no legal theory, whether in tort (including negligence),
+ * contract, or otherwise, unless required by applicable law (such as deliberate
+ * and grossly negligent acts) or agreed to in writing, shall any Contributor be
+ * liable for any damages, including any direct, indirect, special, incidental,
+ * or consequential damages of any character arising as a result of this License or
+ * out of the use or inability to use the software (including but not limited to damages
+ * for loss of goodwill, work stoppage, computer failure or malfunction, or any and
+ * all other commercial damages or losses), even if such Contributor has been advised
+ * of the possibility of such damages.
+ */
+
+#include "UnitySceneBase.h"
+#include "IUnityInterface.h"
+
+using TSetMatrixFromUnity = void (UNITY_INTERFACE_API *) (float m00, float m01, float m02, float m03,
+ float m10, float m11, float m12, float m13,
+ float m20, float m21, float m22, float m23,
+ float m30, float m31, float m32, float m33);
+using TSetTexturesFromUnity = void (UNITY_INTERFACE_API *)(void* renderTargetHandle, void *depthBufferHandle);
+
+class GhostCubeScene : public UnitySceneBase
+{
+public:
+ virtual void OnPluginLoad(TLoadPluginFunction LoadPluginFunctionCallback)override final;
+
+ virtual void OnPluginUnload()override final;
+
+ virtual void OnGraphicsInitialized()override final;
+
+ virtual void Render(UnityRenderingEvent RenderEventFunc, double CurrTime, double ElapsedTime)override final;
+
+ virtual const char* GetSceneName()override final { return "Ghost Cube Scene"; }
+
+ virtual const char* GetPluginName()override final { return "GhostCubePlugin"; }
+
+private:
+ friend class GhostCubeSceneResTrsnHelper;
+
+ TSetMatrixFromUnity SetMatrixFromUnity;
+ TSetTexturesFromUnity SetTexturesFromUnity;
+
+ Diligent::RefCntAutoPtr<Diligent::ITexture> m_pRenderTarget;
+ Diligent::RefCntAutoPtr<Diligent::ITexture> m_pDepthBuffer;
+ Diligent::RefCntAutoPtr<Diligent::IBuffer> m_pMirrorVSConstants;
+ Diligent::RefCntAutoPtr<Diligent::IPipelineState> m_pMirrorPSO;
+}; \ No newline at end of file
diff --git a/unityplugin/GhostCubeScene/src/GhostCubeSceneResTrsnHelper.cpp b/unityplugin/GhostCubeScene/src/GhostCubeSceneResTrsnHelper.cpp
new file mode 100644
index 0000000..504a633
--- /dev/null
+++ b/unityplugin/GhostCubeScene/src/GhostCubeSceneResTrsnHelper.cpp
@@ -0,0 +1,62 @@
+/* Copyright 2015-2017 Egor Yusov
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF ANY PROPRIETARY RIGHTS.
+ *
+ * In no event and under no legal theory, whether in tort (including negligence),
+ * contract, or otherwise, unless required by applicable law (such as deliberate
+ * and grossly negligent acts) or agreed to in writing, shall any Contributor be
+ * liable for any damages, including any direct, indirect, special, incidental,
+ * or consequential damages of any character arising as a result of this License or
+ * out of the use or inability to use the software (including but not limited to damages
+ * for loss of goodwill, work stoppage, computer failure or malfunction, or any and
+ * all other commercial damages or losses), even if such Contributor has been advised
+ * of the possibility of such damages.
+ */
+#include <d3d12.h>
+
+#include "GhostCubeSceneResTrsnHelper.h"
+#include "GhostCubeScene.h"
+#include "IUnityGraphicsD3D12.h"
+#include "TextureD3D12.h"
+#include "DeviceContextD3D12.h"
+#include "ValidatedCast.h"
+
+
+using namespace Diligent;
+
+void GhostCubeSceneResTrsnHelper::TransitionResources(int stateCount, UnityGraphicsD3D12ResourceState* states)
+{
+ if (stateCount == 0)
+ return;
+
+ auto *pCtx = ValidatedCast<IDeviceContextD3D12>(m_TheScene.m_DiligentGraphics->GetContext());
+ for (int i = 0; i < stateCount; ++i)
+ {
+ auto &ResState = states[i];
+ ITextureD3D12 *pMirrorRT = ValidatedCast<ITextureD3D12>(m_TheScene.m_pRenderTarget.RawPtr());
+ ITextureD3D12 *pMirrorDepth = ValidatedCast<ITextureD3D12>(m_TheScene.m_pDepthBuffer.RawPtr());
+ ITextureD3D12 *pResToTransition = nullptr;
+ if (ResState.resource == pMirrorRT->GetD3D12Texture())
+ pResToTransition = pMirrorRT;
+ else if(ResState.resource == pMirrorDepth->GetD3D12Texture())
+ pResToTransition = pMirrorDepth;
+ else
+ {
+ UNEXPECTED("Unexpected resource to transition")
+ }
+ if (pResToTransition)
+ {
+ pCtx->TransitionTextureState(pResToTransition, ResState.expected);
+ pResToTransition->SetD3D12ResourceState(ResState.current);
+ }
+ }
+ pCtx->Flush();
+}
diff --git a/unityplugin/GhostCubeScene/src/GhostCubeSceneResTrsnHelper.h b/unityplugin/GhostCubeScene/src/GhostCubeSceneResTrsnHelper.h
new file mode 100644
index 0000000..794c2de
--- /dev/null
+++ b/unityplugin/GhostCubeScene/src/GhostCubeSceneResTrsnHelper.h
@@ -0,0 +1,38 @@
+/* Copyright 2015-2017 Egor Yusov
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF ANY PROPRIETARY RIGHTS.
+ *
+ * In no event and under no legal theory, whether in tort (including negligence),
+ * contract, or otherwise, unless required by applicable law (such as deliberate
+ * and grossly negligent acts) or agreed to in writing, shall any Contributor be
+ * liable for any damages, including any direct, indirect, special, incidental,
+ * or consequential damages of any character arising as a result of this License or
+ * out of the use or inability to use the software (including but not limited to damages
+ * for loss of goodwill, work stoppage, computer failure or malfunction, or any and
+ * all other commercial damages or losses), even if such Contributor has been advised
+ * of the possibility of such damages.
+ */
+
+#include "ResourceStateTransitionHandler.h"
+
+class GhostCubeScene;
+class GhostCubeSceneResTrsnHelper : public IResourceStateTransitionHandler
+{
+public:
+ GhostCubeSceneResTrsnHelper(GhostCubeScene& TheScene) :
+ m_TheScene(TheScene)
+ {}
+ virtual ~GhostCubeSceneResTrsnHelper()override {}
+ virtual void TransitionResources(int stateCount, UnityGraphicsD3D12ResourceState* states)override final;
+
+private:
+ GhostCubeScene& m_TheScene;
+};
diff --git a/unityplugin/UnityEmulator/build/UWP.Shared/UnityEmulatorUWP.Shared.vcxitems b/unityplugin/UnityEmulator/build/UWP.Shared/UnityEmulatorUWP.Shared.vcxitems
new file mode 100644
index 0000000..a0d4048
--- /dev/null
+++ b/unityplugin/UnityEmulator/build/UWP.Shared/UnityEmulatorUWP.Shared.vcxitems
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup Label="Globals">
+ <MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
+ <HasSharedItems>true</HasSharedItems>
+ <ItemsProjectGuid>{FBE96ADC-7C36-45B2-BE6D-F173413EB1C6}</ItemsProjectGuid>
+ <ItemsRootNamespace>AtmosphereSample</ItemsRootNamespace>
+ <ItemsProjectName>UnityEmulatorUWP.Shared</ItemsProjectName>
+ <SharedGUID>2c11e612-847b-48ac-a5dd-fd953e773442</SharedGUID>
+ </PropertyGroup>
+ <ItemDefinitionGroup>
+ <ClCompile>
+ <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);$(MSBuildThisFileDirectory)</AdditionalIncludeDirectories>
+ </ClCompile>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ProjectCapability Include="SourceItemsFromImports" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="$(MSBuildThisFileDirectory)..\..\src\UWP\App.cpp" />
+ <ClCompile Include="$(MSBuildThisFileDirectory)..\..\src\UWP\DeviceResources.cpp" />
+ <ClCompile Include="$(MSBuildThisFileDirectory)..\..\src\UWP\UnityEmulatorAppMain.cpp" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="$(MSBuildThisFileDirectory)..\..\src\UWP\App.h" />
+ <ClInclude Include="$(MSBuildThisFileDirectory)..\..\src\UWP\DeviceResources.h" />
+ <ClInclude Include="$(MSBuildThisFileDirectory)..\..\src\UWP\DirectXHelper.h" />
+ <ClInclude Include="$(MSBuildThisFileDirectory)..\..\src\UWP\pch2.h" />
+ <ClInclude Include="$(MSBuildThisFileDirectory)..\..\src\UWP\UnityEmulatorAppMain.h" />
+ <ClInclude Include="$(MSBuildThisFileDirectory)..\..\src\UWP\StepTimer.h" />
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/unityplugin/UnityEmulator/build/UWP.Shared/UnityEmulatorUWP.Shared.vcxitems.filters b/unityplugin/UnityEmulator/build/UWP.Shared/UnityEmulatorUWP.Shared.vcxitems.filters
new file mode 100644
index 0000000..6763a1b
--- /dev/null
+++ b/unityplugin/UnityEmulator/build/UWP.Shared/UnityEmulatorUWP.Shared.vcxitems.filters
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <ClCompile Include="$(MSBuildThisFileDirectory)..\..\src\UWP\App.cpp" />
+ <ClCompile Include="$(MSBuildThisFileDirectory)..\..\src\UWP\DeviceResources.cpp" />
+ <ClCompile Include="$(MSBuildThisFileDirectory)..\..\src\UWP\UnityEmulatorAppMain.cpp" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="$(MSBuildThisFileDirectory)..\..\src\UWP\App.h" />
+ <ClInclude Include="$(MSBuildThisFileDirectory)..\..\src\UWP\pch2.h" />
+ <ClInclude Include="$(MSBuildThisFileDirectory)..\..\src\UWP\DeviceResources.h" />
+ <ClInclude Include="$(MSBuildThisFileDirectory)..\..\src\UWP\DirectXHelper.h" />
+ <ClInclude Include="$(MSBuildThisFileDirectory)..\..\src\UWP\StepTimer.h" />
+ <ClInclude Include="$(MSBuildThisFileDirectory)..\..\src\UWP\UnityEmulatorAppMain.h" />
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/unityplugin/UnityEmulator/build/UWP/UnityEmulator.vcxproj b/unityplugin/UnityEmulator/build/UWP/UnityEmulator.vcxproj
new file mode 100644
index 0000000..074fade
--- /dev/null
+++ b/unityplugin/UnityEmulator/build/UWP/UnityEmulator.vcxproj
@@ -0,0 +1,200 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|ARM">
+ <Configuration>Debug</Configuration>
+ <Platform>ARM</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|ARM">
+ <Configuration>Release</Configuration>
+ <Platform>ARM</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{17597734-2FBF-481F-99D4-3315B70FE3E2}</ProjectGuid>
+ <Keyword>StaticLibrary</Keyword>
+ <RootNamespace>UnityEmulator</RootNamespace>
+ <DefaultLanguage>en-US</DefaultLanguage>
+ <MinimumVisualStudioVersion>14.0</MinimumVisualStudioVersion>
+ <AppContainerApplication>true</AppContainerApplication>
+ <ApplicationType>Windows Store</ApplicationType>
+ <WindowsTargetPlatformVersion>10.0.10586.0</WindowsTargetPlatformVersion>
+ <WindowsTargetPlatformMinVersion>10.0.10240.0</WindowsTargetPlatformMinVersion>
+ <ApplicationTypeRevision>10.0</ApplicationTypeRevision>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v140</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v140</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v140</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <PlatformToolset>v140</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <PlatformToolset>v140</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <PlatformToolset>v140</PlatformToolset>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Label="Shared">
+ <Import Project="..\Windows.Shared\UnityEmulator.Shared.vcxitems" Label="Shared" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="..\..\..\..\diligentcore\Shared\build\UWP\UWP_Win32Dbg.props" />
+ <Import Project="..\Windows.Shared\UnityEmulator.props" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="..\..\..\..\diligentcore\Shared\build\UWP\UWP_Win32Rel.props" />
+ <Import Project="..\Windows.Shared\UnityEmulator.props" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="..\..\..\..\diligentcore\Shared\build\UWP\UWP_ArmDbg.props" />
+ <Import Project="..\Windows.Shared\UnityEmulator.props" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="..\..\..\..\diligentcore\Shared\build\UWP\UWP_ArmRel.props" />
+ <Import Project="..\Windows.Shared\UnityEmulator.props" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="..\..\..\..\diligentcore\Shared\build\UWP\UWP_X64Dbg.props" />
+ <Import Project="..\Windows.Shared\UnityEmulator.props" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="..\..\..\..\diligentcore\Shared\build\UWP\UWP_X64Rel.props" />
+ <Import Project="..\Windows.Shared\UnityEmulator.props" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <GenerateManifest>false</GenerateManifest>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <GenerateManifest>false</GenerateManifest>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
+ <GenerateManifest>false</GenerateManifest>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
+ <GenerateManifest>false</GenerateManifest>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <GenerateManifest>false</GenerateManifest>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <GenerateManifest>false</GenerateManifest>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <CompileAsWinRT>false</CompileAsWinRT>
+ <SDLCheck>true</SDLCheck>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
+ <GenerateWindowsMetadata>false</GenerateWindowsMetadata>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <CompileAsWinRT>false</CompileAsWinRT>
+ <SDLCheck>true</SDLCheck>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
+ <GenerateWindowsMetadata>false</GenerateWindowsMetadata>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|arm'">
+ <ClCompile>
+ <CompileAsWinRT>false</CompileAsWinRT>
+ <SDLCheck>true</SDLCheck>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
+ <GenerateWindowsMetadata>false</GenerateWindowsMetadata>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|arm'">
+ <ClCompile>
+ <CompileAsWinRT>false</CompileAsWinRT>
+ <SDLCheck>true</SDLCheck>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
+ <GenerateWindowsMetadata>false</GenerateWindowsMetadata>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <CompileAsWinRT>false</CompileAsWinRT>
+ <SDLCheck>true</SDLCheck>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
+ <GenerateWindowsMetadata>false</GenerateWindowsMetadata>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <CompileAsWinRT>false</CompileAsWinRT>
+ <SDLCheck>true</SDLCheck>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
+ <GenerateWindowsMetadata>false</GenerateWindowsMetadata>
+ </Link>
+ </ItemDefinitionGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project> \ No newline at end of file
diff --git a/unityplugin/UnityEmulator/build/UWP/UnityEmulator.vcxproj.filters b/unityplugin/UnityEmulator/build/UWP/UnityEmulator.vcxproj.filters
new file mode 100644
index 0000000..c31757e
--- /dev/null
+++ b/unityplugin/UnityEmulator/build/UWP/UnityEmulator.vcxproj.filters
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" /> \ No newline at end of file
diff --git a/unityplugin/UnityEmulator/build/Win32/UnityEmulator-Debug.vgdbsettings b/unityplugin/UnityEmulator/build/Win32/UnityEmulator-Debug.vgdbsettings
new file mode 100644
index 0000000..3f5b24b
--- /dev/null
+++ b/unityplugin/UnityEmulator/build/Win32/UnityEmulator-Debug.vgdbsettings
@@ -0,0 +1,76 @@
+<?xml version="1.0"?>
+<VisualGDBProjectSettings2 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <ConfigurationName>Debug</ConfigurationName>
+ <Project xsi:type="com.visualgdb.project.android">
+ <CustomSourceDirectories>
+ <Directories />
+ <PathStyle>MinGWWindowsSlash</PathStyle>
+ </CustomSourceDirectories>
+ <AndroidProjectPath>$(ProjectDir)</AndroidProjectPath>
+ </Project>
+ <Build xsi:type="com.visualgdb.build.android">
+ <AndroidPlatform>android-19</AndroidPlatform>
+ <IsDebugConfiguration>true</IsDebugConfiguration>
+ <JNIOnlyBuild>true</JNIOnlyBuild>
+ <AdditionalDirectoriesToDeleteOnClean>bin;obj</AdditionalDirectoriesToDeleteOnClean>
+ <DeleteANTFilesOnClean>false</DeleteANTFilesOnClean>
+ <DoNotEditAndroidManifest>false</DoNotEditAndroidManifest>
+ <CustomActions />
+ </Build>
+ <Debug xsi:type="com.visualgdb.debug.android">
+ <AdditionalStartupCommands />
+ <AdditionalGDBSettings>
+ <FilterSpuriousStoppedNotifications>false</FilterSpuriousStoppedNotifications>
+ <ForceSingleThreadedMode>false</ForceSingleThreadedMode>
+ <PendingBreakpointsSupported>true</PendingBreakpointsSupported>
+ <DisableChildRanges>false</DisableChildRanges>
+ <UseAppleExtensions>false</UseAppleExtensions>
+ <CanAcceptCommandsWhileRunning>false</CanAcceptCommandsWhileRunning>
+ <MakeLogFile>false</MakeLogFile>
+ <IgnoreModuleEventsWhileStepping>true</IgnoreModuleEventsWhileStepping>
+ <UseRelativePathsOnly>false</UseRelativePathsOnly>
+ <ExitAction>KillApp</ExitAction>
+ <Features>
+ <DisableAutoDetection>false</DisableAutoDetection>
+ <UseFrameParameter>false</UseFrameParameter>
+ <SimpleValuesFlagSupported>false</SimpleValuesFlagSupported>
+ <ListLocalsSupported>false</ListLocalsSupported>
+ <ByteLevelMemoryCommandsAvailable>false</ByteLevelMemoryCommandsAvailable>
+ <ThreadInfoSupported>false</ThreadInfoSupported>
+ <PendingBreakpointsSupported>false</PendingBreakpointsSupported>
+ <SupportTargetCommand>false</SupportTargetCommand>
+ </Features>
+ <DisableDisassembly>false</DisableDisassembly>
+ <ExamineMemoryWithXCommand>false</ExamineMemoryWithXCommand>
+ <StepIntoNewInstanceEntry>main</StepIntoNewInstanceEntry>
+ <ExamineRegistersInRawFormat>true</ExamineRegistersInRawFormat>
+ </AdditionalGDBSettings>
+ <LaunchGDBSettings xsi:type="GDBLaunchParametersAndroid" />
+ <GenerateCtrlBreakInsteadOfCtrlC>false</GenerateCtrlBreakInsteadOfCtrlC>
+ <UseDefaultInstallDir>false</UseDefaultInstallDir>
+ <RemotePort>5039</RemotePort>
+ <LocalPort>5039</LocalPort>
+ <GDBServerStartupTimeout>10000</GDBServerStartupTimeout>
+ <AdditionalGDBServerStartupDelay>0</AdditionalGDBServerStartupDelay>
+ <DoubleSlashWorkaround>false</DoubleSlashWorkaround>
+ <AlreadyRunningDecision>Ask</AlreadyRunningDecision>
+ <ShowLogCat>true</ShowLogCat>
+ <EnableThreadNameWatcher>true</EnableThreadNameWatcher>
+ </Debug>
+ <CustomBuild>
+ <PreBuildActions />
+ <PostBuildActions />
+ <PreCleanActions />
+ <PostCleanActions />
+ </CustomBuild>
+ <CustomDebug>
+ <PreDebugActions />
+ <PostDebugActions />
+ <BreakMode>Default</BreakMode>
+ </CustomDebug>
+ <CustomShortcuts>
+ <Shortcuts />
+ <ShowMessageAfterExecuting>true</ShowMessageAfterExecuting>
+ </CustomShortcuts>
+ <UserDefinedVariables />
+</VisualGDBProjectSettings2> \ No newline at end of file
diff --git a/unityplugin/UnityEmulator/build/Win32/UnityEmulator-Release.vgdbsettings b/unityplugin/UnityEmulator/build/Win32/UnityEmulator-Release.vgdbsettings
new file mode 100644
index 0000000..669691f
--- /dev/null
+++ b/unityplugin/UnityEmulator/build/Win32/UnityEmulator-Release.vgdbsettings
@@ -0,0 +1,76 @@
+<?xml version="1.0"?>
+<VisualGDBProjectSettings2 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <ConfigurationName>Release</ConfigurationName>
+ <Project xsi:type="com.visualgdb.project.android">
+ <CustomSourceDirectories>
+ <Directories />
+ <PathStyle>MinGWWindowsSlash</PathStyle>
+ </CustomSourceDirectories>
+ <AndroidProjectPath>$(ProjectDir)</AndroidProjectPath>
+ </Project>
+ <Build xsi:type="com.visualgdb.build.android">
+ <AndroidPlatform>android-19</AndroidPlatform>
+ <IsDebugConfiguration>false</IsDebugConfiguration>
+ <JNIOnlyBuild>true</JNIOnlyBuild>
+ <AdditionalDirectoriesToDeleteOnClean>bin;obj</AdditionalDirectoriesToDeleteOnClean>
+ <DeleteANTFilesOnClean>false</DeleteANTFilesOnClean>
+ <DoNotEditAndroidManifest>false</DoNotEditAndroidManifest>
+ <CustomActions />
+ </Build>
+ <Debug xsi:type="com.visualgdb.debug.android">
+ <AdditionalStartupCommands />
+ <AdditionalGDBSettings>
+ <FilterSpuriousStoppedNotifications>false</FilterSpuriousStoppedNotifications>
+ <ForceSingleThreadedMode>false</ForceSingleThreadedMode>
+ <PendingBreakpointsSupported>true</PendingBreakpointsSupported>
+ <DisableChildRanges>false</DisableChildRanges>
+ <UseAppleExtensions>false</UseAppleExtensions>
+ <CanAcceptCommandsWhileRunning>false</CanAcceptCommandsWhileRunning>
+ <MakeLogFile>false</MakeLogFile>
+ <IgnoreModuleEventsWhileStepping>true</IgnoreModuleEventsWhileStepping>
+ <UseRelativePathsOnly>false</UseRelativePathsOnly>
+ <ExitAction>KillApp</ExitAction>
+ <Features>
+ <DisableAutoDetection>false</DisableAutoDetection>
+ <UseFrameParameter>false</UseFrameParameter>
+ <SimpleValuesFlagSupported>false</SimpleValuesFlagSupported>
+ <ListLocalsSupported>false</ListLocalsSupported>
+ <ByteLevelMemoryCommandsAvailable>false</ByteLevelMemoryCommandsAvailable>
+ <ThreadInfoSupported>false</ThreadInfoSupported>
+ <PendingBreakpointsSupported>false</PendingBreakpointsSupported>
+ <SupportTargetCommand>false</SupportTargetCommand>
+ </Features>
+ <DisableDisassembly>false</DisableDisassembly>
+ <ExamineMemoryWithXCommand>false</ExamineMemoryWithXCommand>
+ <StepIntoNewInstanceEntry>main</StepIntoNewInstanceEntry>
+ <ExamineRegistersInRawFormat>true</ExamineRegistersInRawFormat>
+ </AdditionalGDBSettings>
+ <LaunchGDBSettings xsi:type="GDBLaunchParametersAndroid" />
+ <GenerateCtrlBreakInsteadOfCtrlC>false</GenerateCtrlBreakInsteadOfCtrlC>
+ <UseDefaultInstallDir>false</UseDefaultInstallDir>
+ <RemotePort>5039</RemotePort>
+ <LocalPort>5039</LocalPort>
+ <GDBServerStartupTimeout>10000</GDBServerStartupTimeout>
+ <AdditionalGDBServerStartupDelay>0</AdditionalGDBServerStartupDelay>
+ <DoubleSlashWorkaround>false</DoubleSlashWorkaround>
+ <AlreadyRunningDecision>Ask</AlreadyRunningDecision>
+ <ShowLogCat>true</ShowLogCat>
+ <EnableThreadNameWatcher>true</EnableThreadNameWatcher>
+ </Debug>
+ <CustomBuild>
+ <PreBuildActions />
+ <PostBuildActions />
+ <PreCleanActions />
+ <PostCleanActions />
+ </CustomBuild>
+ <CustomDebug>
+ <PreDebugActions />
+ <PostDebugActions />
+ <BreakMode>Default</BreakMode>
+ </CustomDebug>
+ <CustomShortcuts>
+ <Shortcuts />
+ <ShowMessageAfterExecuting>true</ShowMessageAfterExecuting>
+ </CustomShortcuts>
+ <UserDefinedVariables />
+</VisualGDBProjectSettings2> \ No newline at end of file
diff --git a/unityplugin/UnityEmulator/build/Win32/UnityEmulator.vcxproj b/unityplugin/UnityEmulator/build/Win32/UnityEmulator.vcxproj
new file mode 100644
index 0000000..d3dd0b6
--- /dev/null
+++ b/unityplugin/UnityEmulator/build/Win32/UnityEmulator.vcxproj
@@ -0,0 +1,265 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|ARM">
+ <Configuration>Debug</Configuration>
+ <Platform>ARM</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|ARM">
+ <Configuration>Release</Configuration>
+ <Platform>ARM</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{F40021AC-6D7B-4828-81C4-2D04F946A88E}</ProjectGuid>
+ <RootNamespace>UnityEmulator</RootNamespace>
+ <WindowsTargetPlatformVersion>10.0.10240.0</WindowsTargetPlatformVersion>
+ <ProjectName>UnityEmulator</ProjectName>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v140</PlatformToolset>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v140</PlatformToolset>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v140</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v140</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
+ <PlatformToolset>v120</PlatformToolset>
+ <ConfigurationType>Makefile</ConfigurationType>
+ </PropertyGroup>
+ <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
+ <PlatformToolset>v120</PlatformToolset>
+ <ConfigurationType>Makefile</ConfigurationType>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ <Import Project="..\Windows.Shared\UnityEmulator.Shared.vcxitems" Label="Shared" Condition="Exists('..\WindowsStore\UnityEmulator.Shared\UnityEmulator.Shared.vcxitems')" />
+ </ImportGroup>
+ <ImportGroup Label="Shared">
+ <Import Project="..\Windows.Shared\UnityEmulator.Shared.vcxitems" Label="Shared" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="..\..\..\..\diligentcore\Shared\build\Windows\Win32d.props" />
+ <Import Project="..\Windows.Shared\UnityEmulator.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="..\..\..\..\diligentcore\Shared\build\Windows\Win64d.props" />
+ <Import Project="..\Windows.Shared\UnityEmulator.props" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="..\..\..\..\diligentcore\Shared\build\Windows\Win32r.props" />
+ <Import Project="..\Windows.Shared\UnityEmulator.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="..\..\..\..\diligentcore\Shared\build\Windows\Win64r.props" />
+ <Import Project="..\Windows.Shared\UnityEmulator.props" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
+ <Import Project="..\..\..\..\diligentcore\Shared\build\Windows\Android32d.props" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
+ <Import Project="..\..\..\..\diligentcore\Shared\build\Windows\Android32r.props" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
+ <NMakeForcedIncludes>$(ProjectDir)..\..\..\..\Common\Android\gcc_Debug.h;$(NMakeForcedIncludes)</NMakeForcedIncludes>
+ <NMakeOutput>
+ </NMakeOutput>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
+ <NMakeForcedIncludes>$(ProjectDir)..\..\..\..\Common\Android\gcc_Release.h;$(NMakeForcedIncludes)</NMakeForcedIncludes>
+ <NMakeOutput>
+ </NMakeOutput>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>Disabled</Optimization>
+ <SDLCheck>true</SDLCheck>
+ <PreprocessorDefinitions>_WINDOWS;PLATFORM_WIN32;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ <Link>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Windows</SubSystem>
+ </Link>
+ <PostBuildEvent>
+ <Message>Copying D3DCompiler_47.dll to $(TargetDir)...</Message>
+ <Command>copy "$(VC_ExecutablePath_x86_x86)\D3Dcompiler_47.dll" "$(TargetDir)"</Command>
+ </PostBuildEvent>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>Disabled</Optimization>
+ <SDLCheck>true</SDLCheck>
+ <PreprocessorDefinitions>_WINDOWS;PLATFORM_WIN32;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ <Link>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Windows</SubSystem>
+ </Link>
+ <PostBuildEvent>
+ <Message>Copying D3DCompiler_47.dll to $(TargetDir)...</Message>
+ <Command>copy "$(VC_ExecutablePath_x64_x64)\D3Dcompiler_47.dll" "$(TargetDir)"</Command>
+ </PostBuildEvent>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>MaxSpeed</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <SDLCheck>true</SDLCheck>
+ <PreprocessorDefinitions>_WINDOWS;PLATFORM_WIN32;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ <Link>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <SubSystem>Windows</SubSystem>
+ </Link>
+ <PostBuildEvent>
+ <Message>Copying D3DCompiler_47.dll to $(TargetDir)...</Message>
+ <Command>copy "$(VC_ExecutablePath_x86_x86)\D3Dcompiler_47.dll" "$(TargetDir)"</Command>
+ </PostBuildEvent>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>MaxSpeed</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <SDLCheck>true</SDLCheck>
+ <PreprocessorDefinitions>_WINDOWS;PLATFORM_WIN32;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ <Link>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <SubSystem>Windows</SubSystem>
+ </Link>
+ <PostBuildEvent>
+ <Message>Copying D3DCompiler_47.dll to $(TargetDir)...</Message>
+ <Command>copy "$(VC_ExecutablePath_x64_x64)\D3Dcompiler_47.dll" "$(TargetDir)"</Command>
+ </PostBuildEvent>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\src\Android\AndroidMainImpl.cpp">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+ </ClCompile>
+ <ClCompile Include="..\..\src\Android\UnityGraphicsGLESAndroid_Impl.cpp">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+ </ClCompile>
+ <ClCompile Include="..\..\src\DiligentGraphicsAdapterGL.cpp">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+ </ClCompile>
+ <ClCompile Include="..\..\src\UnityGraphicsEmulator.cpp">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+ </ClCompile>
+ <ClCompile Include="..\..\src\UnityGraphicsGLCoreES_Emulator.cpp">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+ </ClCompile>
+ <ClCompile Include="..\..\src\Windows\WinMain.cpp">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">true</ExcludedFromBuild>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\..\..\diligentcore\Common\build\Win32\Common.vcxproj">
+ <Project>{7380f7e6-315f-4b4e-92eb-e6aeee865298}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\..\..\..\diligentcore\External\glew\build\Win32\glew_static.vcxproj">
+ <Project>{664e6f0d-6784-4760-9565-d54f8eb1edf4}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\..\..\..\diligentcore\Graphics\GraphicsEngineD3D11\build\Win32\GraphicsEngineD3D11.vcxproj">
+ <Project>{fe289cc7-15d6-4a76-b9cb-f61cab3192c9}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\..\..\..\diligentcore\Graphics\GraphicsEngineD3D12\build\Win32\GraphicsEngineD3D12.vcxproj">
+ <Project>{fff8071a-db82-485b-adc3-f0b675296869}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\..\..\..\diligentcore\Graphics\GraphicsEngineOpenGL\build\Win32\GraphicsEngineOpenGL.vcxproj">
+ <Project>{15e346d3-fde6-4b29-88b7-fca14dada501}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\..\..\..\diligentcore\Graphics\GraphicsEngine\build\Win32\GraphicsEngine.vcxproj">
+ <Project>{052dd700-477c-4512-a7f4-b05ebef5c80e}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\..\..\..\diligentcore\Platforms\Basic\build\Win32\BasicPlatform.vcxproj">
+ <Project>{8ada5f93-7a38-4ad8-b8f5-1ffd4d4f630c}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\..\..\..\diligentcore\Platforms\Win32\build\Win32\WindowsPlatform.vcxproj">
+ <Project>{58f32677-436b-412a-bbf8-2b1310d82cd8}</Project>
+ </ProjectReference>
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="..\..\src\Android\Java\helper\NDKHelper.java" />
+ <None Include="..\..\src\Android\Java\UnityEmulator\UnityEmulatorNativeActivity.java" />
+ <None Include="..\..\src\Android\Java\UnityEmulator\UnityEmulatorApplication.java" />
+ <None Include="jni\Android.mk" />
+ <None Include="jni\Application.mk" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="..\..\src\Android\UnityGraphicsGLESAndroid_Impl.h" />
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project> \ No newline at end of file
diff --git a/unityplugin/UnityEmulator/build/Win32/UnityEmulator.vcxproj.filters b/unityplugin/UnityEmulator/build/Win32/UnityEmulator.vcxproj.filters
new file mode 100644
index 0000000..6952802
--- /dev/null
+++ b/unityplugin/UnityEmulator/build/Win32/UnityEmulator.vcxproj.filters
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Android">
+ <UniqueIdentifier>{154722cc-8c82-4869-8e51-fb073a87f966}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="Android\Java">
+ <UniqueIdentifier>{fe07d990-c5ac-488d-b7df-b3c66018d0b3}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="Android\jni">
+ <UniqueIdentifier>{31c218a8-0b04-4224-97ad-909aeff5c135}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="Android\src">
+ <UniqueIdentifier>{90e91db8-8be2-446b-abee-0365b7dc18a8}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="Windows">
+ <UniqueIdentifier>{e9f1e7cd-5112-4fb6-854a-3ebfd5efa88b}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="Windows\src">
+ <UniqueIdentifier>{f1774749-d1e5-4b2c-9f8d-df8ef690d4b5}</UniqueIdentifier>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\src\Windows\WinMain.cpp">
+ <Filter>Windows\src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\src\Android\AndroidMainImpl.cpp">
+ <Filter>Android\src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\src\Android\UnityGraphicsGLESAndroid_Impl.cpp">
+ <Filter>Android\src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\src\UnityGraphicsGLCoreES_Emulator.cpp">
+ <Filter>Android\src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\src\DiligentGraphicsAdapterGL.cpp">
+ <Filter>Android\src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\src\UnityGraphicsEmulator.cpp">
+ <Filter>Android\src</Filter>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="..\..\src\Android\Java\helper\NDKHelper.java">
+ <Filter>Android\Java</Filter>
+ </None>
+ <None Include="jni\Android.mk">
+ <Filter>Android\jni</Filter>
+ </None>
+ <None Include="jni\Application.mk">
+ <Filter>Android\jni</Filter>
+ </None>
+ <None Include="..\..\src\Android\Java\UnityEmulator\UnityEmulatorNativeActivity.java">
+ <Filter>Android\Java</Filter>
+ </None>
+ <None Include="..\..\src\Android\Java\UnityEmulator\UnityEmulatorApplication.java">
+ <Filter>Android\Java</Filter>
+ </None>
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="..\..\src\Android\UnityGraphicsGLESAndroid_Impl.h">
+ <Filter>Android\src</Filter>
+ </ClInclude>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/unityplugin/UnityEmulator/build/Win32/jni/Android.mk b/unityplugin/UnityEmulator/build/Win32/jni/Android.mk
new file mode 100644
index 0000000..45466e4
--- /dev/null
+++ b/unityplugin/UnityEmulator/build/Win32/jni/Android.mk
@@ -0,0 +1,46 @@
+
+DEPENDENCY_PATH := $(call my-dir)
+LOCAL_PATH := $(abspath $(DEPENDENCY_PATH))
+
+include $(CLEAR_VARS)
+# Project configuration
+LOCAL_MODULE := UnityEmulator
+LOCAL_CFLAGS := -std=c++11 -DENGINE_DLL
+LOCAL_CPP_FEATURES := exceptions
+
+LOCAL_STATIC_LIBRARIES := cpufeatures android_native_app_glue ndk_helper
+
+# Include paths
+PROJECT_ROOT := $(LOCAL_PATH)/../../..
+ENGINE_ROOT := $(PROJECT_ROOT)/../..
+CORE_ROOT := $(ENGINE_ROOT)/diligentcore
+TOOLS_ROOT := $(ENGINE_ROOT)/diligenttools
+# include directories for static libraries are declared in corresponding LOCAL_EXPORT_C_INCLUDES sections
+LOCAL_C_INCLUDES += $(PROJECT_ROOT)/include
+LOCAL_C_INCLUDES += $(PROJECT_ROOT)/src
+LOCAL_C_INCLUDES += $(PROJECT_ROOT)/../GhostCubePlugin/PluginSource/src/Unity
+LOCAL_C_INCLUDES += $(CORE_ROOT)/Common/include
+LOCAL_C_INCLUDES += $(CORE_ROOT)/Common/interface
+LOCAL_C_INCLUDES += $(CORE_ROOT)/Platforms/interface
+LOCAL_C_INCLUDES += $(CORE_ROOT)/Graphics/GraphicsEngine/interface
+LOCAL_C_INCLUDES += $(CORE_ROOT)/Graphics/GraphicsEngine/include
+LOCAL_C_INCLUDES += $(CORE_ROOT)/Graphics/GraphicsEngineD3DBase/include
+LOCAL_C_INCLUDES += $(CORE_ROOT)/Graphics/GraphicsEngineOpenGL/interface
+LOCAL_C_INCLUDES += $(CORE_ROOT)/Graphics/HLSL2GLSLConverterLib/interface
+LOCAL_C_INCLUDES += $(TOOLS_ROOT)/Graphics/GraphicsTools/include
+
+# Source files
+#VisualGDBAndroid: AutoUpdateSourcesInNextLine
+LOCAL_SRC_FILES := ../../../src/Android/AndroidMainImpl.cpp ../../../src/Android/UnityGraphicsGLESAndroid_Impl.cpp ../../../src/DiligentGraphicsAdapterGL.cpp ../../../src/UnityGraphicsEmulator.cpp ../../../src/UnityGraphicsGLCoreES_Emulator.cpp ../../../src/Windows/WinMain.cpp
+
+# Build instructions
+#VisualGDBAndroid: VSExcludeListLocation
+VISUALGDB_VS_EXCLUDED_FILES_Release := ../../../Src/Win32/WinMain.cpp
+VISUALGDB_VS_EXCLUDED_FILES_Debug := ../../../src/Windows/WinMain.cpp
+LOCAL_SRC_FILES := $(filter-out $(VISUALGDB_VS_EXCLUDED_FILES_$(VGDB_VSCONFIG)),$(LOCAL_SRC_FILES))
+
+include $(BUILD_STATIC_LIBRARY)
+
+$(call import-module,android/ndk_helper)
+$(call import-module,android/native_app_glue)
+$(call import-module,android/cpufeatures)
diff --git a/unityplugin/UnityEmulator/build/Win32/jni/Application.mk b/unityplugin/UnityEmulator/build/Win32/jni/Application.mk
new file mode 100644
index 0000000..e8ef4b4
--- /dev/null
+++ b/unityplugin/UnityEmulator/build/Win32/jni/Application.mk
@@ -0,0 +1,7 @@
+# Generated by VisualGDB
+
+DEPENDENCY_PATH := $(call my-dir)
+LOCAL_PATH := $(abspath $(DEPENDENCY_PATH))
+include $(LOCAL_PATH)/../../../../../diligentcore/Common/make/AppCommon.mk
+
+APP_MODULES := UnityEmulator \ No newline at end of file
diff --git a/unityplugin/UnityEmulator/build/Windows.Shared/UnityEmulator.Shared.vcxitems b/unityplugin/UnityEmulator/build/Windows.Shared/UnityEmulator.Shared.vcxitems
new file mode 100644
index 0000000..37e73bc
--- /dev/null
+++ b/unityplugin/UnityEmulator/build/Windows.Shared/UnityEmulator.Shared.vcxitems
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup Label="Globals">
+ <MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
+ <HasSharedItems>true</HasSharedItems>
+ <ItemsProjectGuid>{ae83b976-c8ca-4621-9269-bf47c5789018}</ItemsProjectGuid>
+ <ItemsRootNamespace>AtmosphereSample</ItemsRootNamespace>
+ <ItemsProjectName>UnityEmulator.Shared</ItemsProjectName>
+ <SharedGUID>2c11e612-847b-48ac-a5dd-fd953e773442</SharedGUID>
+ </PropertyGroup>
+ <ItemDefinitionGroup>
+ <ClCompile>
+ <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);$(MSBuildThisFileDirectory)</AdditionalIncludeDirectories>
+ </ClCompile>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ProjectCapability Include="SourceItemsFromImports" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="$(MSBuildThisFileDirectory)..\..\include\DiligentGraphicsAdapter.h" />
+ <ClInclude Include="$(MSBuildThisFileDirectory)..\..\include\DiligentGraphicsAdapterD3D11.h" />
+ <ClInclude Include="$(MSBuildThisFileDirectory)..\..\include\DiligentGraphicsAdapterD3D12.h" />
+ <ClInclude Include="$(MSBuildThisFileDirectory)..\..\include\DiligentGraphicsAdapterGL.h" />
+ <ClInclude Include="$(MSBuildThisFileDirectory)..\..\include\ResourceStateTransitionHandler.h" />
+ <ClInclude Include="$(MSBuildThisFileDirectory)..\..\include\UnityGraphicsD3D11Emulator.h" />
+ <ClInclude Include="$(MSBuildThisFileDirectory)..\..\include\UnityGraphicsD3D12Emulator.h" />
+ <ClInclude Include="$(MSBuildThisFileDirectory)..\..\include\UnityGraphicsEmulator.h" />
+ <ClInclude Include="$(MSBuildThisFileDirectory)..\..\include\UnityGraphicsGLCoreES_Emulator.h" />
+ <ClInclude Include="$(MSBuildThisFileDirectory)..\..\include\UnitySceneBase.h" />
+ <ClInclude Include="$(MSBuildThisFileDirectory)..\..\src\UnityGraphicsD3D11Impl.h" />
+ <ClInclude Include="$(MSBuildThisFileDirectory)..\..\src\UnityGraphicsD3D12Impl.h" />
+ <ClInclude Include="$(MSBuildThisFileDirectory)..\..\src\UnityGraphicsGLCore_Impl.h" />
+ <ClInclude Include="$(MSBuildThisFileDirectory)..\..\src\UnityGraphicsGL_Impl.h" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="$(MSBuildThisFileDirectory)..\..\src\UnityGraphicsD3D11Emulator.cpp" />
+ <ClCompile Include="$(MSBuildThisFileDirectory)..\..\src\UnityGraphicsD3D12Emulator.cpp" />
+ <ClCompile Include="$(MSBuildThisFileDirectory)..\..\src\UnityGraphicsEmulator.cpp" />
+ <ClCompile Include="$(MSBuildThisFileDirectory)..\..\src\UnityGraphicsGLCoreES_Emulator.cpp" />
+ <ClCompile Include="$(MSBuildThisFileDirectory)..\..\src\DiligentGraphicsAdapterD3D11.cpp" />
+ <ClCompile Include="$(MSBuildThisFileDirectory)..\..\src\DiligentGraphicsAdapterD3D12.cpp" />
+ <ClCompile Include="$(MSBuildThisFileDirectory)..\..\src\DiligentGraphicsAdapterGL.cpp" />
+ <ClCompile Include="$(MSBuildThisFileDirectory)..\..\src\UnityGraphicsGLCore_Impl.cpp" />
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/unityplugin/UnityEmulator/build/Windows.Shared/UnityEmulator.Shared.vcxitems.filters b/unityplugin/UnityEmulator/build/Windows.Shared/UnityEmulator.Shared.vcxitems.filters
new file mode 100644
index 0000000..4fb2f8d
--- /dev/null
+++ b/unityplugin/UnityEmulator/build/Windows.Shared/UnityEmulator.Shared.vcxitems.filters
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="src">
+ <UniqueIdentifier>{74468132-c052-44c1-9407-963d145244d1}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="include">
+ <UniqueIdentifier>{58f43661-c9a6-48e2-bfaa-818a394b2c36}</UniqueIdentifier>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="$(MSBuildThisFileDirectory)..\..\include\UnitySceneBase.h">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="$(MSBuildThisFileDirectory)..\..\include\DiligentGraphicsAdapter.h">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="$(MSBuildThisFileDirectory)..\..\include\DiligentGraphicsAdapterD3D11.h">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="$(MSBuildThisFileDirectory)..\..\include\DiligentGraphicsAdapterD3D12.h">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="$(MSBuildThisFileDirectory)..\..\include\DiligentGraphicsAdapterGL.h">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="$(MSBuildThisFileDirectory)..\..\src\UnityGraphicsD3D11Impl.h">
+ <Filter>src</Filter>
+ </ClInclude>
+ <ClInclude Include="$(MSBuildThisFileDirectory)..\..\src\UnityGraphicsD3D12Impl.h">
+ <Filter>src</Filter>
+ </ClInclude>
+ <ClInclude Include="$(MSBuildThisFileDirectory)..\..\include\ResourceStateTransitionHandler.h">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="$(MSBuildThisFileDirectory)..\..\include\UnityGraphicsD3D11Emulator.h">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="$(MSBuildThisFileDirectory)..\..\include\UnityGraphicsD3D12Emulator.h">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="$(MSBuildThisFileDirectory)..\..\include\UnityGraphicsEmulator.h">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="$(MSBuildThisFileDirectory)..\..\src\UnityGraphicsGLCore_Impl.h">
+ <Filter>src</Filter>
+ </ClInclude>
+ <ClInclude Include="$(MSBuildThisFileDirectory)..\..\include\UnityGraphicsGLCoreES_Emulator.h">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="$(MSBuildThisFileDirectory)..\..\src\UnityGraphicsGL_Impl.h">
+ <Filter>include</Filter>
+ </ClInclude>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="$(MSBuildThisFileDirectory)..\..\src\UnityGraphicsD3D11Emulator.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="$(MSBuildThisFileDirectory)..\..\src\UnityGraphicsEmulator.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="$(MSBuildThisFileDirectory)..\..\src\UnityGraphicsD3D12Emulator.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="$(MSBuildThisFileDirectory)..\..\src\DiligentGraphicsAdapterD3D11.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="$(MSBuildThisFileDirectory)..\..\src\DiligentGraphicsAdapterD3D12.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="$(MSBuildThisFileDirectory)..\..\src\DiligentGraphicsAdapterGL.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="$(MSBuildThisFileDirectory)..\..\src\UnityGraphicsGLCore_Impl.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="$(MSBuildThisFileDirectory)..\..\src\UnityGraphicsGLCoreES_Emulator.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/unityplugin/UnityEmulator/build/Windows.Shared/UnityEmulator.props b/unityplugin/UnityEmulator/build/Windows.Shared/UnityEmulator.props
new file mode 100644
index 0000000..915b946
--- /dev/null
+++ b/unityplugin/UnityEmulator/build/Windows.Shared/UnityEmulator.props
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ImportGroup Label="PropertySheets" />
+ <PropertyGroup Label="UserMacros">
+ <ProjectRoot>..\..</ProjectRoot>
+ <AssetsPath>$(ProjectRoot)\build\assets</AssetsPath>
+ <EngineRoot>$(ProjectRoot)\..\..</EngineRoot>
+ <CoreRoot>$(EngineRoot)\diligentcore</CoreRoot>
+ <ToolsRoot>$(EngineRoot)\diligenttools</ToolsRoot>
+ </PropertyGroup>
+ <PropertyGroup>
+ <IncludePath>$(ProjectRoot)\include;$(CoreRoot)\Graphics\GraphicsEngine\interface;$(CoreRoot)\Graphics\GraphicsEngine\include;$(CoreRoot)\Graphics\GraphicsEngineD3D11\interface;$(CoreRoot)\Graphics\GraphicsEngineD3D12\interface;$(CoreRoot)\Graphics\GraphicsEngineD3DBase\include;$(CoreRoot)\Graphics\GraphicsEngineOpenGL\interface;$(CoreRoot)\Graphics\HLSL2GLSLConverterLib\interface;$(CoreRoot)\Common\include;$(CoreRoot)\Common\interface;$(CoreRoot)\Platforms\interface;$(CoreRoot)\Graphics\GraphicsTools\include;$(ToolsRoot)\TextureLoader\interface;$(AssetsPath)\shaders;$(ProjectRoot)\..\GhostCubePlugin\PluginSource\src\Unity;$(ProjectRoot)\src;$(ProjectRoot)\src\UWP;$(CoreRoot)\External\glew\include\GL;$(IncludePath)</IncludePath>
+ </PropertyGroup>
+ <ItemDefinitionGroup>
+ <PostBuildEvent />
+ <Link>
+ <AdditionalDependencies>d3d11.lib;d3d12.lib;d3dcompiler.lib;opengl32.lib;dxgi.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ <ClCompile>
+ <PrecompiledHeader>NotUsing</PrecompiledHeader>
+ </ClCompile>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <BuildMacro Include="ProjectRoot">
+ <Value>$(ProjectRoot)</Value>
+ </BuildMacro>
+ <BuildMacro Include="AssetsPath">
+ <Value>$(AssetsPath)</Value>
+ </BuildMacro>
+ <BuildMacro Include="EngineRoot">
+ <Value>$(EngineRoot)</Value>
+ </BuildMacro>
+ <BuildMacro Include="CoreRoot">
+ <Value>$(CoreRoot)</Value>
+ </BuildMacro>
+ <BuildMacro Include="ToolsRoot">
+ <Value>$(ToolsRoot)</Value>
+ </BuildMacro>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/unityplugin/UnityEmulator/include/DiligentGraphicsAdapter.h b/unityplugin/UnityEmulator/include/DiligentGraphicsAdapter.h
new file mode 100644
index 0000000..5af252c
--- /dev/null
+++ b/unityplugin/UnityEmulator/include/DiligentGraphicsAdapter.h
@@ -0,0 +1,50 @@
+/* Copyright 2015-2017 Egor Yusov
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF ANY PROPRIETARY RIGHTS.
+ *
+ * In no event and under no legal theory, whether in tort (including negligence),
+ * contract, or otherwise, unless required by applicable law (such as deliberate
+ * and grossly negligent acts) or agreed to in writing, shall any Contributor be
+ * liable for any damages, including any direct, indirect, special, incidental,
+ * or consequential damages of any character arising as a result of this License or
+ * out of the use or inability to use the software (including but not limited to damages
+ * for loss of goodwill, work stoppage, computer failure or malfunction, or any and
+ * all other commercial damages or losses), even if such Contributor has been advised
+ * of the possibility of such damages.
+ */
+#pragma once
+
+#include "RenderDevice.h"
+#include "DeviceContext.h"
+#include "RefCntAutoPtr.h"
+
+class DiligentGraphicsAdapter
+{
+public:
+ virtual ~DiligentGraphicsAdapter() = 0;
+
+ virtual void BeginFrame() = 0;
+ virtual void EndFrame() = 0;
+ virtual void PreSwapChainResize() {}
+ virtual void PostSwapChainResize() {}
+
+ Diligent::IRenderDevice* GetDevice() { return m_pDevice; }
+ Diligent::IDeviceContext* GetContext() { return m_pDeviceCtx; }
+ Diligent::ISwapChain* GetSwapChain() { return m_pProxySwapChain; }
+ virtual bool UsesReverseZ() = 0;
+
+protected:
+ Diligent::RefCntAutoPtr<Diligent::IRenderDevice> m_pDevice;
+ Diligent::RefCntAutoPtr<Diligent::IDeviceContext> m_pDeviceCtx;
+ Diligent::RefCntAutoPtr<Diligent::ISwapChain> m_pProxySwapChain;
+};
+
+inline DiligentGraphicsAdapter::~DiligentGraphicsAdapter() {}
diff --git a/unityplugin/UnityEmulator/include/DiligentGraphicsAdapterD3D11.h b/unityplugin/UnityEmulator/include/DiligentGraphicsAdapterD3D11.h
new file mode 100644
index 0000000..3e5d64f
--- /dev/null
+++ b/unityplugin/UnityEmulator/include/DiligentGraphicsAdapterD3D11.h
@@ -0,0 +1,41 @@
+/* Copyright 2015-2017 Egor Yusov
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF ANY PROPRIETARY RIGHTS.
+ *
+ * In no event and under no legal theory, whether in tort (including negligence),
+ * contract, or otherwise, unless required by applicable law (such as deliberate
+ * and grossly negligent acts) or agreed to in writing, shall any Contributor be
+ * liable for any damages, including any direct, indirect, special, incidental,
+ * or consequential damages of any character arising as a result of this License or
+ * out of the use or inability to use the software (including but not limited to damages
+ * for loss of goodwill, work stoppage, computer failure or malfunction, or any and
+ * all other commercial damages or losses), even if such Contributor has been advised
+ * of the possibility of such damages.
+ */
+#pragma once
+
+#include "DiligentGraphicsAdapter.h"
+
+class DiligentGraphicsAdapterD3D11 : public DiligentGraphicsAdapter
+{
+public:
+ virtual ~DiligentGraphicsAdapterD3D11()override {}
+
+ DiligentGraphicsAdapterD3D11(const class UnityGraphicsD3D11Emulator& UnityGraphicsD3D11)noexcept;
+ void InitProxySwapChain();
+
+ virtual void BeginFrame()override final;
+ virtual void EndFrame()override final;
+ virtual bool UsesReverseZ()override final;
+
+private:
+ const UnityGraphicsD3D11Emulator& m_UnityGraphicsD3D11;
+};
diff --git a/unityplugin/UnityEmulator/include/DiligentGraphicsAdapterD3D12.h b/unityplugin/UnityEmulator/include/DiligentGraphicsAdapterD3D12.h
new file mode 100644
index 0000000..a9f3cd7
--- /dev/null
+++ b/unityplugin/UnityEmulator/include/DiligentGraphicsAdapterD3D12.h
@@ -0,0 +1,44 @@
+/* Copyright 2015-2017 Egor Yusov
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF ANY PROPRIETARY RIGHTS.
+ *
+ * In no event and under no legal theory, whether in tort (including negligence),
+ * contract, or otherwise, unless required by applicable law (such as deliberate
+ * and grossly negligent acts) or agreed to in writing, shall any Contributor be
+ * liable for any damages, including any direct, indirect, special, incidental,
+ * or consequential damages of any character arising as a result of this License or
+ * out of the use or inability to use the software (including but not limited to damages
+ * for loss of goodwill, work stoppage, computer failure or malfunction, or any and
+ * all other commercial damages or losses), even if such Contributor has been advised
+ * of the possibility of such damages.
+ */
+#pragma once
+
+#include "DiligentGraphicsAdapter.h"
+
+class DiligentGraphicsAdapterD3D12 : public DiligentGraphicsAdapter
+{
+public:
+ virtual ~DiligentGraphicsAdapterD3D12()override {}
+
+ DiligentGraphicsAdapterD3D12(class UnityGraphicsD3D12Emulator& UnityGraphicsD3D12)noexcept;
+ void InitProxySwapChain();
+
+ virtual void BeginFrame()override final;
+ virtual void EndFrame()override final;
+ virtual void PreSwapChainResize()override final;
+ virtual void PostSwapChainResize()override final;
+ virtual bool UsesReverseZ()override final;
+
+private:
+ UnityGraphicsD3D12Emulator& m_UnityGraphicsD3D12;
+
+};
diff --git a/unityplugin/UnityEmulator/include/DiligentGraphicsAdapterGL.h b/unityplugin/UnityEmulator/include/DiligentGraphicsAdapterGL.h
new file mode 100644
index 0000000..28770cb
--- /dev/null
+++ b/unityplugin/UnityEmulator/include/DiligentGraphicsAdapterGL.h
@@ -0,0 +1,46 @@
+/* Copyright 2015-2017 Egor Yusov
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF ANY PROPRIETARY RIGHTS.
+ *
+ * In no event and under no legal theory, whether in tort (including negligence),
+ * contract, or otherwise, unless required by applicable law (such as deliberate
+ * and grossly negligent acts) or agreed to in writing, shall any Contributor be
+ * liable for any damages, including any direct, indirect, special, incidental,
+ * or consequential damages of any character arising as a result of this License or
+ * out of the use or inability to use the software (including but not limited to damages
+ * for loss of goodwill, work stoppage, computer failure or malfunction, or any and
+ * all other commercial damages or losses), even if such Contributor has been advised
+ * of the possibility of such damages.
+ */
+#pragma once
+
+#include "PlatformDefinitions.h"
+
+#if OPENGL_SUPPORTED
+
+#include "DiligentGraphicsAdapter.h"
+
+class DiligentGraphicsAdapterGL : public DiligentGraphicsAdapter
+{
+public:
+ virtual ~DiligentGraphicsAdapterGL()override {}
+
+ DiligentGraphicsAdapterGL(const class UnityGraphicsGLCoreES_Emulator& UnityGraphicsGL)noexcept;
+
+ virtual void BeginFrame()override final;
+ virtual void EndFrame()override final;
+ virtual bool UsesReverseZ()override final;
+
+private:
+ const UnityGraphicsGLCoreES_Emulator& m_UnityGraphicsGL;
+};
+
+#endif // OPENGL_SUPPORTED \ No newline at end of file
diff --git a/unityplugin/UnityEmulator/include/ResourceStateTransitionHandler.h b/unityplugin/UnityEmulator/include/ResourceStateTransitionHandler.h
new file mode 100644
index 0000000..ba1feea
--- /dev/null
+++ b/unityplugin/UnityEmulator/include/ResourceStateTransitionHandler.h
@@ -0,0 +1,31 @@
+/* Copyright 2015-2017 Egor Yusov
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF ANY PROPRIETARY RIGHTS.
+ *
+ * In no event and under no legal theory, whether in tort (including negligence),
+ * contract, or otherwise, unless required by applicable law (such as deliberate
+ * and grossly negligent acts) or agreed to in writing, shall any Contributor be
+ * liable for any damages, including any direct, indirect, special, incidental,
+ * or consequential damages of any character arising as a result of this License or
+ * out of the use or inability to use the software (including but not limited to damages
+ * for loss of goodwill, work stoppage, computer failure or malfunction, or any and
+ * all other commercial damages or losses), even if such Contributor has been advised
+ * of the possibility of such damages.
+ */
+#pragma once
+
+struct UnityGraphicsD3D12ResourceState;
+class IResourceStateTransitionHandler
+{
+public:
+ virtual ~IResourceStateTransitionHandler(){}
+ virtual void TransitionResources(int stateCount, UnityGraphicsD3D12ResourceState* states){}
+};
diff --git a/unityplugin/UnityEmulator/include/UnityGraphicsD3D11Emulator.h b/unityplugin/UnityEmulator/include/UnityGraphicsD3D11Emulator.h
new file mode 100644
index 0000000..5907591
--- /dev/null
+++ b/unityplugin/UnityEmulator/include/UnityGraphicsD3D11Emulator.h
@@ -0,0 +1,29 @@
+#pragma once
+
+#include <memory>
+#include "UnityGraphicsEmulator.h"
+
+class UnityGraphicsD3D11Impl;
+class UnityGraphicsD3D11Emulator : public UnityGraphicsEmulator
+{
+public:
+ static UnityGraphicsD3D11Emulator& GetInstance();
+ void CreateD3D11DeviceAndContext();
+ void CreateSwapChain(void *pNativeWndHandle, unsigned int Width, unsigned int Height);
+
+ virtual void Present()override final;
+ virtual void Release()override final;
+ virtual void BeginFrame()override final;
+ virtual void EndFrame()override final;
+ virtual void ResizeSwapChain(unsigned int Width, unsigned int Height)override final;
+ virtual bool UsesReverseZ()const override final { return true; }
+ virtual IUnityInterface* GetUnityGraphicsAPIInterface()override final;
+ static UnityGraphicsD3D11Impl* GetGraphicsImpl();
+ virtual UnityGfxRenderer GetUnityGfxRenderer()override final;
+ virtual bool SwapChainInitialized()override final;
+ void* GetD3D11Device();
+
+private:
+ UnityGraphicsD3D11Emulator();
+ static std::unique_ptr<UnityGraphicsD3D11Impl> m_GraphicsImpl;
+};
diff --git a/unityplugin/UnityEmulator/include/UnityGraphicsD3D12Emulator.h b/unityplugin/UnityEmulator/include/UnityGraphicsD3D12Emulator.h
new file mode 100644
index 0000000..b668e39
--- /dev/null
+++ b/unityplugin/UnityEmulator/include/UnityGraphicsD3D12Emulator.h
@@ -0,0 +1,32 @@
+#pragma once
+
+#include <memory>
+#include "UnityGraphicsEmulator.h"
+
+class UnityGraphicsD3D12Impl;
+class IResourceStateTransitionHandler;
+
+class UnityGraphicsD3D12Emulator : public UnityGraphicsEmulator
+{
+public:
+ static UnityGraphicsD3D12Emulator& GetInstance();
+ void CreateD3D12DeviceAndCommandQueue();
+ void CreateSwapChain(void *pNativeWndHandle, unsigned int Width, unsigned int Height);
+ void SetTransitionHandler(IResourceStateTransitionHandler *pTransitionHandler);
+
+ virtual void Present()override final;
+ virtual void Release()override final;
+ virtual void BeginFrame()override final;
+ virtual void EndFrame()override final;
+ virtual void ResizeSwapChain(unsigned int Width, unsigned int Height)override final;
+ virtual bool UsesReverseZ()const override final { return true; }
+ virtual IUnityInterface* GetUnityGraphicsAPIInterface()override final;
+ static UnityGraphicsD3D12Impl* GetGraphicsImpl();
+ virtual UnityGfxRenderer GetUnityGfxRenderer()override final;
+ virtual bool SwapChainInitialized()override final;
+ void* GetD3D12Device();
+
+private:
+ UnityGraphicsD3D12Emulator();
+ static std::unique_ptr<UnityGraphicsD3D12Impl> m_GraphicsImpl;
+};
diff --git a/unityplugin/UnityEmulator/include/UnityGraphicsEmulator.h b/unityplugin/UnityEmulator/include/UnityGraphicsEmulator.h
new file mode 100644
index 0000000..d362836
--- /dev/null
+++ b/unityplugin/UnityEmulator/include/UnityGraphicsEmulator.h
@@ -0,0 +1,41 @@
+#pragma once
+
+#include <vector>
+
+#include "IUnityInterface.h"
+#include "IUnityGraphics.h"
+
+
+class UnityGraphicsEmulator
+{
+public:
+ UnityGraphicsEmulator();
+ virtual void Release() = 0;
+ virtual void Present() = 0;
+ virtual void BeginFrame() = 0;
+ virtual void EndFrame() = 0;
+ virtual void ResizeSwapChain(unsigned int Width, unsigned int Height) = 0;
+ virtual bool SwapChainInitialized() = 0;
+ virtual bool UsesReverseZ()const { return false; }
+ virtual IUnityInterface* GetUnityGraphicsAPIInterface() = 0;
+ IUnityInterfaces &GeUnityInterfaces();
+
+ static UnityGraphicsEmulator& GetInstance() { return *m_Instance; }
+ void RegisterInterface(const UnityInterfaceGUID &guid, IUnityInterface* ptr);
+ IUnityInterface* GetInterface(const UnityInterfaceGUID &guid);
+ virtual UnityGfxRenderer GetUnityGfxRenderer() = 0;
+
+ void RegisterDeviceEventCallback(IUnityGraphicsDeviceEventCallback callback);
+ void UnregisterDeviceEventCallback(IUnityGraphicsDeviceEventCallback callback);
+ void InvokeDeviceEventCallback(UnityGfxDeviceEventType eventType);
+
+private:
+ UnityGraphicsEmulator(const UnityGraphicsEmulator&) = delete;
+ UnityGraphicsEmulator(UnityGraphicsEmulator&&) = delete;
+ UnityGraphicsEmulator& operator = (const UnityGraphicsEmulator&) = delete;
+ UnityGraphicsEmulator& operator = (UnityGraphicsEmulator&&) = delete;
+
+ std::vector< std::pair<UnityInterfaceGUID, IUnityInterface*> > m_Interfaces;
+ static UnityGraphicsEmulator *m_Instance;
+ std::vector<IUnityGraphicsDeviceEventCallback> m_DeviceEventCallbacks;
+};
diff --git a/unityplugin/UnityEmulator/include/UnityGraphicsGLCoreES_Emulator.h b/unityplugin/UnityEmulator/include/UnityGraphicsGLCoreES_Emulator.h
new file mode 100644
index 0000000..cc69f93
--- /dev/null
+++ b/unityplugin/UnityEmulator/include/UnityGraphicsGLCoreES_Emulator.h
@@ -0,0 +1,42 @@
+#pragma once
+
+#include "PlatformDefinitions.h"
+
+#if OPENGL_SUPPORTED
+
+#include <memory>
+#include "UnityGraphicsEmulator.h"
+
+#if defined(PLATFORM_ANDROID)
+ class UnityGraphicsGLESAndroid_Impl;
+ using UnityGraphicsGL_Impl = UnityGraphicsGLESAndroid_Impl;
+#elif defined( PLATFORM_WIN32 ) || defined( PLATFORM_UNIVERSAL_WINDOWS )
+ class UnityGraphicsGLCore_Impl;
+ using UnityGraphicsGL_Impl = UnityGraphicsGLCore_Impl;
+#else
+# error Unknown Platform
+#endif
+
+
+class UnityGraphicsGLCoreES_Emulator : public UnityGraphicsEmulator
+{
+public:
+ static UnityGraphicsGLCoreES_Emulator& GetInstance();
+ void InitGLContext(void *pNativeWndHandle, int MajorVersion, int MinorVersion);
+
+ virtual void Present()override final;
+ virtual void Release()override final;
+ virtual void BeginFrame()override final;
+ virtual void EndFrame()override final;
+ virtual void ResizeSwapChain(unsigned int Width, unsigned int Height)override final;
+ virtual IUnityInterface* GetUnityGraphicsAPIInterface()override final;
+ static UnityGraphicsGL_Impl* GetGraphicsImpl();
+ virtual UnityGfxRenderer GetUnityGfxRenderer()override final;
+ virtual bool SwapChainInitialized()override final;
+
+private:
+ UnityGraphicsGLCoreES_Emulator();
+ static std::unique_ptr<UnityGraphicsGL_Impl> m_GraphicsImpl;
+};
+
+#endif // OPENGL_SUPPORTED \ No newline at end of file
diff --git a/unityplugin/UnityEmulator/include/UnitySceneBase.h b/unityplugin/UnityEmulator/include/UnitySceneBase.h
new file mode 100644
index 0000000..81ff6c1
--- /dev/null
+++ b/unityplugin/UnityEmulator/include/UnitySceneBase.h
@@ -0,0 +1,74 @@
+/* Copyright 2015-2017 Egor Yusov
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF ANY PROPRIETARY RIGHTS.
+ *
+ * In no event and under no legal theory, whether in tort (including negligence),
+ * contract, or otherwise, unless required by applicable law (such as deliberate
+ * and grossly negligent acts) or agreed to in writing, shall any Contributor be
+ * liable for any damages, including any direct, indirect, special, incidental,
+ * or consequential damages of any character arising as a result of this License or
+ * out of the use or inability to use the software (including but not limited to damages
+ * for loss of goodwill, work stoppage, computer failure or malfunction, or any and
+ * all other commercial damages or losses), even if such Contributor has been advised
+ * of the possibility of such damages.
+ */
+#pragma once
+
+#include "RenderDevice.h"
+#include "DeviceContext.h"
+#include "RefCntAutoPtr.h"
+#include "IUnityGraphics.h"
+#include "DiligentGraphicsAdapter.h"
+#include "ResourceStateTransitionHandler.h"
+
+typedef void* (*TLoadPluginFunction)(const char *FunctionName);
+
+class UnitySceneBase
+{
+public:
+ virtual ~UnitySceneBase() = 0;
+
+ virtual void OnPluginLoad(TLoadPluginFunction LoadPluginFunctionCallback) = 0;
+
+ virtual void OnPluginUnload() = 0;
+
+ virtual void OnGraphicsInitialized() = 0;
+
+ virtual void OnWindowResize(int NewWidth, int NewHeight)
+ {
+ m_WindowWidth = NewWidth;
+ m_WindowHeight = NewHeight;
+ }
+
+ virtual const char* GetSceneName() = 0;
+
+ virtual const char* GetPluginName() = 0;
+
+ virtual void Render(UnityRenderingEvent RenderEventFunc, double CurrTime, double ElapsedTime) = 0;
+
+ void SetDiligentGraphicsAdapter(DiligentGraphicsAdapter *DiligentGraphics)
+ {
+ m_DiligentGraphics = DiligentGraphics;
+ }
+
+ IResourceStateTransitionHandler* GetStateTransitionHandler() { return m_pStateTransitionHandler.get(); }
+
+protected:
+ DiligentGraphicsAdapter* m_DiligentGraphics;
+ std::unique_ptr<IResourceStateTransitionHandler> m_pStateTransitionHandler;
+
+ int m_WindowWidth = 640;
+ int m_WindowHeight = 480;
+};
+
+inline UnitySceneBase::~UnitySceneBase() {}
+
+extern UnitySceneBase* CreateScene();
diff --git a/unityplugin/UnityEmulator/src/Android/AndroidMainImpl.cpp b/unityplugin/UnityEmulator/src/Android/AndroidMainImpl.cpp
new file mode 100644
index 0000000..6943301
--- /dev/null
+++ b/unityplugin/UnityEmulator/src/Android/AndroidMainImpl.cpp
@@ -0,0 +1,565 @@
+ /* Copyright 2015-2017 Egor Yusov
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF ANY PROPRIETARY RIGHTS.
+ *
+ * In no event and under no legal theory, whether in tort (including negligence),
+ * contract, or otherwise, unless required by applicable law (such as deliberate
+ * and grossly negligent acts) or agreed to in writing, shall any Contributor be
+ * liable for any damages, including any direct, indirect, special, incidental,
+ * or consequential damages of any character arising as a result of this License or
+ * out of the use or inability to use the software (including but not limited to damages
+ * for loss of goodwill, work stoppage, computer failure or malfunction, or any and
+ * all other commercial damages or losses), even if such Contributor has been advised
+ * of the possibility of such damages.
+ */
+
+//--------------------------------------------------------------------------------
+// Include files
+//--------------------------------------------------------------------------------
+#include <jni.h>
+#include <errno.h>
+
+#include <android/sensor.h>
+#include <android/log.h>
+#include <android_native_app_glue.h>
+#include <android/native_window_jni.h>
+#include <cpu-features.h>
+#include <memory>
+
+#include "NDKHelper.h"
+
+#include "Timer.h"
+
+#include "IUnityInterface.h"
+#include "UnityGraphicsGLESAndroid_Impl.h"
+#include "UnityGraphicsGLCoreES_Emulator.h"
+#include "DiligentGraphicsAdapterGL.h"
+#include "UnitySceneBase.h"
+#include "StringTools.h"
+#include "Errors.h"
+
+//-------------------------------------------------------------------------
+//Preprocessor
+//-------------------------------------------------------------------------
+#define HELPER_CLASS_NAME "com/sample/helper/NDKHelper" //Class name of helper function
+//-------------------------------------------------------------------------
+//Shared state for our app.
+//-------------------------------------------------------------------------
+
+extern "C"
+{
+ void __attribute__((visibility("default"))) UNITY_INTERFACE_API UnityPluginLoad(IUnityInterfaces* unityInterfaces);
+ void __attribute__((visibility("default"))) UNITY_INTERFACE_API UnityPluginUnload();
+ UnityRenderingEvent __attribute__((visibility("default"))) UNITY_INTERFACE_API GetRenderEventFunc();
+}
+
+void* LoadPluginFunction(const char* FunctionName);
+
+bool LoadPlugin()
+{
+ // Do nothing. Android automagically sets function pointers
+ return true;
+}
+
+
+struct android_app;
+class Engine
+{
+ bool initialized_resources_;
+ bool has_focus_;
+
+ ndk_helper::DoubletapDetector doubletap_detector_;
+ ndk_helper::PinchDetector pinch_detector_;
+ ndk_helper::DragDetector drag_detector_;
+ ndk_helper::PerfMonitor monitor_;
+
+ //ndk_helper::TapCamera tap_camera_;
+
+ android_app* app_;
+
+ ASensorManager* sensor_manager_;
+ const ASensor* accelerometer_sensor_;
+ ASensorEventQueue* sensor_event_queue_;
+
+ void UpdateFPS( float fFPS );
+ void ShowUI();
+ //void TransformPosition( ndk_helper::Vec2& vec );
+
+ std::unique_ptr<DiligentGraphicsAdapter> diligent_graphics_;
+ std::unique_ptr<UnitySceneBase> scene_;
+ UnityGraphicsGLCoreES_Emulator *unity_graphics_gles_emulator_ = nullptr;
+ UnityRenderingEvent render_event_func_ = nullptr;
+
+public:
+ static void HandleCmd( struct android_app* app,
+ int32_t cmd );
+ static int32_t HandleInput( android_app* app,
+ AInputEvent* event );
+
+ Engine();
+ ~Engine();
+ void SetState( android_app* state );
+ int InitDisplay();
+ void LoadResources();
+ void UnloadResources();
+ void DrawFrame();
+ void TermDisplay();
+ void TrimMemory();
+ bool IsReady();
+ void UnloadPlugin();
+
+ void UpdatePosition( AInputEvent* event,
+ int32_t iIndex,
+ float& fX,
+ float& fY );
+
+ void InitSensors();
+ void ProcessSensors( int32_t id );
+ void SuspendSensors();
+ void ResumeSensors();
+};
+
+//-------------------------------------------------------------------------
+//Ctor
+//-------------------------------------------------------------------------
+Engine::Engine() :
+ initialized_resources_( false ),
+ has_focus_( false ),
+ app_( NULL ),
+ sensor_manager_( NULL ),
+ accelerometer_sensor_( NULL ),
+ sensor_event_queue_( NULL ),
+ scene_(CreateScene())
+{
+ if (!LoadPlugin())
+ {
+ LOG_ERROR_AND_THROW("Failed to load native plugin");
+ }
+ scene_->OnPluginLoad(LoadPluginFunction);
+ render_event_func_ = GetRenderEventFunc();
+}
+
+void Engine::UnloadPlugin()
+{
+ unity_graphics_gles_emulator_->InvokeDeviceEventCallback(kUnityGfxDeviceEventShutdown);
+ UnityPluginUnload();
+}
+
+//-------------------------------------------------------------------------
+//Dtor
+//-------------------------------------------------------------------------
+Engine::~Engine()
+{
+ scene_->OnPluginUnload();
+ scene_.reset();
+ UnloadPlugin();
+ diligent_graphics_.reset();
+ unity_graphics_gles_emulator_->Release();
+}
+
+/**
+* Load resources
+*/
+void Engine::LoadResources()
+{
+ scene_->OnGraphicsInitialized();
+
+ //renderer_.Init();
+ //renderer_.Bind( &tap_camera_ );
+}
+
+/**
+* Unload resources
+*/
+void Engine::UnloadResources()
+{
+ //renderer_.Unload();
+}
+
+/**
+* Initialize an EGL context for the current display.
+*/
+int Engine::InitDisplay()
+{
+ if( !initialized_resources_ )
+ {
+ // Init graphics resources
+ auto &GraphicsGLCoreES_Emulator = UnityGraphicsGLCoreES_Emulator::GetInstance();
+ GraphicsGLCoreES_Emulator.InitGLContext(app_->window, 3, 1);
+ unity_graphics_gles_emulator_ = &GraphicsGLCoreES_Emulator;
+ diligent_graphics_.reset(new DiligentGraphicsAdapterGL(GraphicsGLCoreES_Emulator));
+
+ scene_->SetDiligentGraphicsAdapter(diligent_graphics_.get());
+
+ LoadResources();
+ initialized_resources_ = true;
+ }
+ else
+ {
+ // initialize OpenGL ES and EGL
+ if( EGL_SUCCESS != unity_graphics_gles_emulator_->GetGraphicsImpl()->Resume( app_->window ) )
+ {
+ UnloadResources();
+ LoadResources();
+ }
+ }
+
+ UnityPluginLoad(&unity_graphics_gles_emulator_->GeUnityInterfaces());
+
+ ShowUI();
+
+
+ auto *graphics_impl = unity_graphics_gles_emulator_->GetGraphicsImpl();
+ auto width = graphics_impl->GetBackBufferWidth();
+ auto height = graphics_impl->GetBackBufferHeight();
+
+ scene_->OnWindowResize(width, height);
+
+ //tap_camera_.SetFlip( 1.f, -1.f, -1.f );
+ //tap_camera_.SetPinchTransformFactor( 2.f, 2.f, 8.f );
+
+ return 0;
+}
+
+/**
+* Just the current frame in the display.
+*/
+void Engine::DrawFrame()
+{
+ float fFPS;
+ if( monitor_.Update( fFPS ) )
+ {
+ UpdateFPS( fFPS );
+ }
+
+ unity_graphics_gles_emulator_->BeginFrame();
+ diligent_graphics_->BeginFrame();
+
+ static Diligent::Timer timer;
+ static double prev_time = timer.GetElapsedTime();
+ auto curr_time = timer.GetElapsedTime();
+ auto elapsed_time = curr_time - prev_time;
+ prev_time = curr_time;
+
+ scene_->Render(render_event_func_, curr_time, elapsed_time);
+
+ diligent_graphics_->EndFrame();
+ unity_graphics_gles_emulator_->EndFrame();
+
+ unity_graphics_gles_emulator_->Present();
+ //if( EGL_SUCCESS != pRenderDevice_->Present() )
+ //{
+ // UnloadResources();
+ // LoadResources();
+ //}
+}
+
+/**
+* Tear down the EGL context currently associated with the display.
+*/
+void Engine::TermDisplay()
+{
+ unity_graphics_gles_emulator_->GetGraphicsImpl()->Suspend();
+}
+
+void Engine::TrimMemory()
+{
+ LOGI( "Trimming memory" );
+ unity_graphics_gles_emulator_->GetGraphicsImpl()->Invalidate();
+}
+
+/**
+* Process the next input event.
+*/
+int32_t Engine::HandleInput( android_app* app,
+ AInputEvent* event )
+{
+ Engine* eng = (Engine*)app->userData;
+ if( AInputEvent_getType( event ) == AINPUT_EVENT_TYPE_MOTION )
+ {
+ ndk_helper::GESTURE_STATE doubleTapState = eng->doubletap_detector_.Detect( event );
+ ndk_helper::GESTURE_STATE dragState = eng->drag_detector_.Detect( event );
+ ndk_helper::GESTURE_STATE pinchState = eng->pinch_detector_.Detect( event );
+
+ //Double tap detector has a priority over other detectors
+ if( doubleTapState == ndk_helper::GESTURE_STATE_ACTION )
+ {
+ //Detect double tap
+ //eng->tap_camera_.Reset( true );
+ }
+ else
+ {
+ //Handle drag state
+ if( dragState & ndk_helper::GESTURE_STATE_START )
+ {
+ //Otherwise, start dragging
+ ndk_helper::Vec2 v;
+ eng->drag_detector_.GetPointer( v );
+ float fX = 0, fY = 0;
+ v.Value(fX, fY);
+
+ //eng->TransformPosition( v );
+ //eng->tap_camera_.BeginDrag( v );
+ }
+ else if( dragState & ndk_helper::GESTURE_STATE_MOVE )
+ {
+ ndk_helper::Vec2 v;
+ eng->drag_detector_.GetPointer( v );
+ float fX = 0, fY = 0;
+ v.Value(fX, fY);
+
+ //eng->TransformPosition( v );
+ //eng->tap_camera_.Drag( v );
+ }
+ else if( dragState & ndk_helper::GESTURE_STATE_END )
+ {
+ //eng->tap_camera_.EndDrag();
+ }
+
+ //Handle pinch state
+ if( pinchState & ndk_helper::GESTURE_STATE_START )
+ {
+ //Start new pinch
+ ndk_helper::Vec2 v1;
+ ndk_helper::Vec2 v2;
+ eng->pinch_detector_.GetPointers( v1, v2 );
+ //eng->TransformPosition( v1 );
+ //eng->TransformPosition( v2 );
+ //eng->tap_camera_.BeginPinch( v1, v2 );
+ }
+ else if( pinchState & ndk_helper::GESTURE_STATE_MOVE )
+ {
+ //Multi touch
+ //Start new pinch
+ ndk_helper::Vec2 v1;
+ ndk_helper::Vec2 v2;
+ eng->pinch_detector_.GetPointers( v1, v2 );
+ //eng->TransformPosition( v1 );
+ //eng->TransformPosition( v2 );
+ //eng->tap_camera_.Pinch( v1, v2 );
+ }
+ }
+ return 1;
+ }
+ return 0;
+}
+
+/**
+* Process the next main command.
+*/
+void Engine::HandleCmd( struct android_app* app,
+ int32_t cmd )
+{
+ Engine* eng = (Engine*)app->userData;
+ switch( cmd )
+ {
+ case APP_CMD_SAVE_STATE:
+ break;
+ case APP_CMD_INIT_WINDOW:
+ // The window is being shown, get it ready.
+ if( app->window != NULL )
+ {
+ eng->InitDisplay();
+ eng->DrawFrame();
+ }
+ break;
+ case APP_CMD_TERM_WINDOW:
+ // The window is being hidden or closed, clean it up.
+ eng->TermDisplay();
+ eng->has_focus_ = false;
+ break;
+ case APP_CMD_STOP:
+ break;
+ case APP_CMD_GAINED_FOCUS:
+ eng->ResumeSensors();
+ //Start animation
+ eng->has_focus_ = true;
+ break;
+ case APP_CMD_LOST_FOCUS:
+ eng->SuspendSensors();
+ // Also stop animating.
+ eng->has_focus_ = false;
+ eng->DrawFrame();
+ break;
+ case APP_CMD_LOW_MEMORY:
+ //Free up GL resources
+ eng->TrimMemory();
+ break;
+ }
+}
+
+//-------------------------------------------------------------------------
+//Sensor handlers
+//-------------------------------------------------------------------------
+void Engine::InitSensors()
+{
+ sensor_manager_ = ASensorManager_getInstance();
+ accelerometer_sensor_ = ASensorManager_getDefaultSensor( sensor_manager_,
+ ASENSOR_TYPE_ACCELEROMETER );
+ sensor_event_queue_ = ASensorManager_createEventQueue( sensor_manager_, app_->looper,
+ LOOPER_ID_USER, NULL, NULL );
+}
+
+void Engine::ProcessSensors( int32_t id )
+{
+ // If a sensor has data, process it now.
+ if( id == LOOPER_ID_USER )
+ {
+ if( accelerometer_sensor_ != NULL )
+ {
+ ASensorEvent event;
+ while( ASensorEventQueue_getEvents( sensor_event_queue_, &event, 1 ) > 0 )
+ {
+ }
+ }
+ }
+}
+
+void Engine::ResumeSensors()
+{
+ // When our app gains focus, we start monitoring the accelerometer.
+ if( accelerometer_sensor_ != NULL )
+ {
+ ASensorEventQueue_enableSensor( sensor_event_queue_, accelerometer_sensor_ );
+ // We'd like to get 60 events per second (in us).
+ ASensorEventQueue_setEventRate( sensor_event_queue_, accelerometer_sensor_,
+ (1000L / 60) * 1000 );
+ }
+}
+
+void Engine::SuspendSensors()
+{
+ // When our app loses focus, we stop monitoring the accelerometer.
+ // This is to avoid consuming battery while not being used.
+ if( accelerometer_sensor_ != NULL )
+ {
+ ASensorEventQueue_disableSensor( sensor_event_queue_, accelerometer_sensor_ );
+ }
+}
+
+//-------------------------------------------------------------------------
+//Misc
+//-------------------------------------------------------------------------
+void Engine::SetState( android_app* state )
+{
+ app_ = state;
+ doubletap_detector_.SetConfiguration( app_->config );
+ drag_detector_.SetConfiguration( app_->config );
+ pinch_detector_.SetConfiguration( app_->config );
+}
+
+bool Engine::IsReady()
+{
+ if( has_focus_ )
+ return true;
+
+ return false;
+}
+
+//void Engine::TransformPosition( ndk_helper::Vec2& vec )
+//{
+// vec = ndk_helper::Vec2( 2.0f, 2.0f ) * vec
+// / ndk_helper::Vec2( pDeviceContext_->GetMainBackBufferDesc().Width, pDeviceContext_->GetMainBackBufferDesc().Height )
+// - ndk_helper::Vec2( 1.f, 1.f );
+//}
+
+void Engine::ShowUI()
+{
+ JNIEnv *jni;
+ app_->activity->vm->AttachCurrentThread( &jni, NULL );
+
+ //Default class retrieval
+ jclass clazz = jni->GetObjectClass( app_->activity->clazz );
+ jmethodID methodID = jni->GetMethodID( clazz, "showUI", "()V" );
+ jni->CallVoidMethod( app_->activity->clazz, methodID );
+
+ app_->activity->vm->DetachCurrentThread();
+ return;
+}
+
+void Engine::UpdateFPS( float fFPS )
+{
+ JNIEnv *jni;
+ app_->activity->vm->AttachCurrentThread( &jni, NULL );
+
+ //Default class retrieval
+ jclass clazz = jni->GetObjectClass( app_->activity->clazz );
+ jmethodID methodID = jni->GetMethodID( clazz, "updateFPS", "(F)V" );
+ jni->CallVoidMethod( app_->activity->clazz, methodID, fFPS );
+
+ app_->activity->vm->DetachCurrentThread();
+ return;
+}
+
+Engine g_engine;
+
+/**
+* This is the main entry point of a native application that is using
+* android_native_app_glue. It runs in its own thread, with its own
+* event loop for receiving input events and doing other things.
+*/
+
+// The actual android_main() must be defined in the application project
+void android_main_impl( android_app* state )
+{
+ app_dummy();
+
+ g_engine.SetState( state );
+
+ //Init helper functions
+ ndk_helper::JNIHelper::Init( state->activity, HELPER_CLASS_NAME );
+
+ state->userData = &g_engine;
+ state->onAppCmd = Engine::HandleCmd;
+ state->onInputEvent = Engine::HandleInput;
+
+#ifdef USE_NDK_PROFILER
+ monstartup( "libEngineSandbox.so" );
+#endif
+
+ // Prepare to monitor accelerometer
+ g_engine.InitSensors();
+
+ // loop waiting for stuff to do.
+ while( 1 )
+ {
+ // Read all pending events.
+ int id;
+ int events;
+ android_poll_source* source;
+
+ // If not animating, we will block forever waiting for events.
+ // If animating, we loop until all events are read, then continue
+ // to draw the next frame of animation.
+ while( (id = ALooper_pollAll( g_engine.IsReady() ? 0 : -1, NULL, &events, (void**)&source )) >= 0 )
+ {
+ // Process this event.
+ if( source != NULL )
+ source->process( state, source );
+
+ g_engine.ProcessSensors( id );
+
+ // Check if we are exiting.
+ if( state->destroyRequested != 0 )
+ {
+ g_engine.TermDisplay();
+ return;
+ }
+ }
+
+ if( g_engine.IsReady() )
+ {
+ // Drawing is throttled to the screen update rate, so there
+ // is no need to do timing here.
+ g_engine.DrawFrame();
+ }
+ }
+}
diff --git a/unityplugin/UnityEmulator/src/Android/Java/UnityEmulator/UnityEmulatorApplication.java b/unityplugin/UnityEmulator/src/Android/Java/UnityEmulator/UnityEmulatorApplication.java
new file mode 100644
index 0000000..249f291
--- /dev/null
+++ b/unityplugin/UnityEmulator/src/Android/Java/UnityEmulator/UnityEmulatorApplication.java
@@ -0,0 +1,47 @@
+/*
+ * Copyright 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.DiligentGrpahics.UnityEmulator;
+
+import javax.microedition.khronos.opengles.GL10;
+
+import android.app.Application;
+import android.content.Context;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageManager;
+import android.content.pm.PackageManager.NameNotFoundException;
+import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
+import android.graphics.Matrix;
+import android.opengl.GLUtils;
+import android.util.Log;
+import android.widget.Toast;
+
+public class UnityEmulatorApplication extends Application {
+ public void onCreate(){
+ Log.w("native-activity", "onCreate");
+
+ final PackageManager pm = getApplicationContext().getPackageManager();
+ ApplicationInfo ai;
+ try {
+ ai = pm.getApplicationInfo( this.getPackageName(), 0);
+ } catch (final NameNotFoundException e) {
+ ai = null;
+ }
+ final String applicationName = (String) (ai != null ? pm.getApplicationLabel(ai) : "(unknown)");
+ Toast.makeText(this, applicationName, Toast.LENGTH_SHORT).show();
+ }
+}
diff --git a/unityplugin/UnityEmulator/src/Android/Java/UnityEmulator/UnityEmulatorNativeActivity.java b/unityplugin/UnityEmulator/src/Android/Java/UnityEmulator/UnityEmulatorNativeActivity.java
new file mode 100644
index 0000000..e30e106
--- /dev/null
+++ b/unityplugin/UnityEmulator/src/Android/Java/UnityEmulator/UnityEmulatorNativeActivity.java
@@ -0,0 +1,164 @@
+/*
+ * Copyright 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.DiligentGrpahics.UnityEmulator;
+
+import android.app.NativeActivity;
+import android.os.Bundle;
+import android.view.Gravity;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup.MarginLayoutParams;
+import android.view.WindowManager.LayoutParams;
+import android.widget.LinearLayout;
+import android.widget.PopupWindow;
+import android.widget.TextView;
+import android.util.Log;
+
+public class UnityEmulatorNativeActivity extends NativeActivity {
+
+ static
+ {
+ try{
+ System.loadLibrary("GraphicsEngineOpenGL");
+ Log.i("native-activity", "Loaded GraphicsEngineOpenGL library\n");
+ } catch (UnsatisfiedLinkError e) {
+ Log.e("native-activity", "Failed to load GraphicsEngineOpenGL library\n" + e);
+ }
+ }
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+
+ String pluginName = getString(R.string.plugin_name);
+ try{
+ System.loadLibrary(pluginName);
+ Log.i("native-activity", "Loaded " + pluginName + " plugin\n");
+ } catch (UnsatisfiedLinkError e) {
+ Log.e("native-activity", "Failed to load " + pluginName + " plugin\n" + e);
+ }
+
+ //Hide toolbar
+ int SDK_INT = android.os.Build.VERSION.SDK_INT;
+ if(SDK_INT >= 19)
+ {
+ setImmersiveSticky();
+
+ View decorView = getWindow().getDecorView();
+ decorView.setOnSystemUiVisibilityChangeListener
+ (new View.OnSystemUiVisibilityChangeListener() {
+ @Override
+ public void onSystemUiVisibilityChange(int visibility) {
+ setImmersiveSticky();
+ }
+ });
+ }
+ }
+
+ protected void onResume() {
+ super.onResume();
+
+ //Hide toolbar
+ int SDK_INT = android.os.Build.VERSION.SDK_INT;
+ if(SDK_INT >= 11 && SDK_INT < 14)
+ {
+ getWindow().getDecorView().setSystemUiVisibility(View.STATUS_BAR_HIDDEN);
+ }
+ else if(SDK_INT >= 14 && SDK_INT < 19)
+ {
+ getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_LOW_PROFILE);
+ }
+ else if(SDK_INT >= 19)
+ {
+ setImmersiveSticky();
+ }
+
+ }
+ // Our popup window, you will call it from your C/C++ code later
+
+ void setImmersiveSticky() {
+ View decorView = getWindow().getDecorView();
+ decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN
+ | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
+ | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
+ | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
+ | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
+ | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
+ }
+
+ UnityEmulatorNativeActivity _activity;
+ PopupWindow _popupWindow;
+ TextView _label;
+
+ public void showUI()
+ {
+ if( _popupWindow != null )
+ return;
+
+ _activity = this;
+
+ this.runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ LayoutInflater layoutInflater
+ = (LayoutInflater)getBaseContext()
+ .getSystemService(LAYOUT_INFLATER_SERVICE);
+ View popupView = layoutInflater.inflate(R.layout.widgets, null);
+ _popupWindow = new PopupWindow(
+ popupView,
+ LayoutParams.WRAP_CONTENT,
+ LayoutParams.WRAP_CONTENT);
+
+ LinearLayout mainLayout = new LinearLayout(_activity);
+ MarginLayoutParams params = new MarginLayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
+ params.setMargins(0, 0, 0, 0);
+ _activity.setContentView(mainLayout, params);
+
+ // Show our UI over NativeActivity window
+ _popupWindow.showAtLocation(mainLayout, Gravity.TOP | Gravity.LEFT, 10, 10);
+ _popupWindow.update();
+
+ _label = (TextView)popupView.findViewById(R.id.textViewFPS);
+
+ }});
+ }
+
+ protected void onPause()
+ {
+ super.onPause();
+ if (_popupWindow != null) {
+ _popupWindow.dismiss();
+ _popupWindow = null;
+ }
+ }
+
+ public void updateFPS(final float fFPS)
+ {
+ if( _label == null )
+ return;
+
+ _activity = this;
+ this.runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ _label.setText(String.format("%2.2f FPS", fFPS));
+
+ }});
+ }
+}
+
+
diff --git a/unityplugin/UnityEmulator/src/Android/Java/helper/NDKHelper.java b/unityplugin/UnityEmulator/src/Android/Java/helper/NDKHelper.java
new file mode 100644
index 0000000..3385a5d
--- /dev/null
+++ b/unityplugin/UnityEmulator/src/Android/Java/helper/NDKHelper.java
@@ -0,0 +1,203 @@
+/*
+ * Copyright 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.sample.helper;
+
+import java.io.File;
+import java.io.FileInputStream;
+
+import javax.microedition.khronos.opengles.GL10;
+
+import android.content.Context;
+import android.content.pm.ApplicationInfo;
+import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
+import android.graphics.Matrix;
+import android.media.AudioManager;
+import android.media.AudioTrack;
+import android.opengl.GLUtils;
+import android.util.Log;
+
+public class NDKHelper
+{
+ private static Context context;
+
+ public static void setContext(Context c)
+ {
+ Log.i("NDKHelper", "setContext:" + c);
+ context = c;
+ }
+
+ //
+ // Load Bitmap
+ // Java helper is useful decoding PNG, TIFF etc rather than linking libPng
+ // etc separately
+ //
+ private int nextPOT(int i)
+ {
+ int pot = 1;
+ while (pot < i)
+ pot <<= 1;
+ return pot;
+ }
+
+ private Bitmap scaleBitmap(Bitmap bitmapToScale, float newWidth, float newHeight)
+ {
+ if (bitmapToScale == null)
+ return null;
+ // get the original width and height
+ int width = bitmapToScale.getWidth();
+ int height = bitmapToScale.getHeight();
+ // create a matrix for the manipulation
+ Matrix matrix = new Matrix();
+
+ // resize the bit map
+ matrix.postScale(newWidth / width, newHeight / height);
+
+ // recreate the new Bitmap and set it back
+ return Bitmap.createBitmap(bitmapToScale, 0, 0, bitmapToScale.getWidth(),
+ bitmapToScale.getHeight(), matrix, true);
+ }
+
+ public boolean loadTexture(String path)
+ {
+ Bitmap bitmap = null;
+ try
+ {
+ String str = path;
+ if (!path.startsWith("/"))
+ {
+ str = "/" + path;
+ }
+
+ File file = new File(context.getExternalFilesDir(null), str);
+ if (file.canRead())
+ {
+ bitmap = BitmapFactory.decodeStream(new FileInputStream(file));
+ } else
+ {
+ bitmap = BitmapFactory.decodeStream(context.getResources().getAssets()
+ .open(path));
+ }
+ // Matrix matrix = new Matrix();
+ // // resize the bit map
+ // matrix.postScale(-1F, 1F);
+ //
+ // // recreate the new Bitmap and set it back
+ // bitmap = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(),
+ // bitmap.getHeight(), matrix, true);
+
+ } catch (Exception e)
+ {
+ Log.w("NDKHelper", "Coundn't load a file:" + path);
+ return false;
+ }
+
+ if (bitmap != null)
+ {
+ GLUtils.texImage2D(GL10.GL_TEXTURE_2D, 0, bitmap, 0);
+ }
+ return true;
+
+ }
+
+ public Bitmap openBitmap(String path, boolean iScalePOT)
+ {
+ Bitmap bitmap = null;
+ try
+ {
+ bitmap = BitmapFactory.decodeStream(context.getResources().getAssets()
+ .open(path));
+ if (iScalePOT)
+ {
+ int originalWidth = getBitmapWidth(bitmap);
+ int originalHeight = getBitmapHeight(bitmap);
+ int width = nextPOT(originalWidth);
+ int height = nextPOT(originalHeight);
+ if (originalWidth != width || originalHeight != height)
+ {
+ // Scale it
+ bitmap = scaleBitmap(bitmap, width, height);
+ }
+ }
+
+ } catch (Exception e)
+ {
+ Log.w("NDKHelper", "Coundn't load a file:" + path);
+ }
+
+ return bitmap;
+ }
+
+ public int getBitmapWidth(Bitmap bmp)
+ {
+ return bmp.getWidth();
+ }
+
+ public int getBitmapHeight(Bitmap bmp)
+ {
+ return bmp.getHeight();
+ }
+
+ public void getBitmapPixels(Bitmap bmp, int[] pixels)
+ {
+ int w = bmp.getWidth();
+ int h = bmp.getHeight();
+ bmp.getPixels(pixels, 0, w, 0, 0, w, h);
+ }
+
+ public void closeBitmap(Bitmap bmp)
+ {
+ bmp.recycle();
+ }
+
+ public static String getNativeLibraryDirectory(Context appContext)
+ {
+ ApplicationInfo ai = context.getApplicationInfo();
+
+ Log.w("NDKHelper", "ai.nativeLibraryDir:" + ai.nativeLibraryDir);
+
+ if ((ai.flags & ApplicationInfo.FLAG_UPDATED_SYSTEM_APP) != 0
+ || (ai.flags & ApplicationInfo.FLAG_SYSTEM) == 0)
+ {
+ return ai.nativeLibraryDir;
+ }
+ return "/system/lib/";
+ }
+
+ public int getNativeAudioBufferSize()
+ {
+ int SDK_INT = android.os.Build.VERSION.SDK_INT;
+ if (SDK_INT >= 17)
+ {
+ AudioManager am = (AudioManager) context
+ .getSystemService(Context.AUDIO_SERVICE);
+ String framesPerBuffer = am
+ .getProperty(AudioManager.PROPERTY_OUTPUT_FRAMES_PER_BUFFER);
+ return Integer.parseInt(framesPerBuffer);
+ } else
+ {
+ return 0;
+ }
+ }
+
+ public int getNativeAudioSampleRate()
+ {
+ return AudioTrack.getNativeOutputSampleRate(AudioManager.STREAM_SYSTEM);
+
+ }
+
+}
diff --git a/unityplugin/UnityEmulator/src/Android/UnityGraphicsGLESAndroid_Impl.cpp b/unityplugin/UnityEmulator/src/Android/UnityGraphicsGLESAndroid_Impl.cpp
new file mode 100644
index 0000000..176d501
--- /dev/null
+++ b/unityplugin/UnityEmulator/src/Android/UnityGraphicsGLESAndroid_Impl.cpp
@@ -0,0 +1,326 @@
+/* Copyright 2015-2017 Egor Yusov
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF ANY PROPRIETARY RIGHTS.
+ *
+ * In no event and under no legal theory, whether in tort (including negligence),
+ * contract, or otherwise, unless required by applicable law (such as deliberate
+ * and grossly negligent acts) or agreed to in writing, shall any Contributor be
+ * liable for any damages, including any direct, indirect, special, incidental,
+ * or consequential damages of any character arising as a result of this License or
+ * out of the use or inability to use the software (including but not limited to damages
+ * for loss of goodwill, work stoppage, computer failure or malfunction, or any and
+ * all other commercial damages or losses), even if such Contributor has been advised
+ * of the possibility of such damages.
+ */
+
+#include "UnityGraphicsGLESAndroid_Impl.h"
+#include "Errors.h"
+
+#ifndef EGL_CONTEXT_MINOR_VERSION_KHR
+# define EGL_CONTEXT_MINOR_VERSION_KHR 0x30FB
+#endif
+
+#ifndef EGL_CONTEXT_MAJOR_VERSION_KHR
+# define EGL_CONTEXT_MAJOR_VERSION_KHR EGL_CONTEXT_CLIENT_VERSION
+#endif
+
+#ifndef GL_FRAMEBUFFER_SRGB
+# define GL_FRAMEBUFFER_SRGB 0x8DB9
+#endif
+
+bool UnityGraphicsGLESAndroid_Impl::InitEGLSurface()
+{
+ display_ = eglGetDisplay( EGL_DEFAULT_DISPLAY );
+ if( display_ == EGL_NO_DISPLAY )
+ {
+ LOG_ERROR_AND_THROW( "No EGL display found" );
+ }
+
+ auto success = eglInitialize( display_, 0, 0 );
+ if( !success )
+ {
+ LOG_ERROR_AND_THROW( "Failed to initialise EGL" );
+ }
+
+ /*
+ * Here specify the attributes of the desired configuration.
+ * Below, we select an EGLConfig with at least 8 bits per color
+ * component compatible with on-screen windows
+ */
+ const EGLint attribs[] =
+ {
+ EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT, //Request opengl ES2.0
+ EGL_SURFACE_TYPE, EGL_WINDOW_BIT,
+ //EGL_COLORSPACE, EGL_COLORSPACE_sRGB, // does not work
+ EGL_BLUE_SIZE, 8,
+ EGL_GREEN_SIZE, 8,
+ EGL_RED_SIZE, 8,
+ EGL_ALPHA_SIZE, 8,
+ EGL_DEPTH_SIZE, 24,
+ //EGL_SAMPLE_BUFFERS , 1,
+ //EGL_SAMPLES , 4,
+ EGL_NONE
+ };
+ color_size_ = 8;
+ depth_size_ = 24;
+
+ // Get a list of EGL frame buffer configurations that match specified attributes
+ EGLint num_configs;
+ success = eglChooseConfig( display_, attribs, &config_, 1, &num_configs );
+ if( !success )
+ {
+ LOG_ERROR_AND_THROW( "Failed to choose config" );
+ }
+
+ if( !num_configs )
+ {
+ //Fall back to 16bit depth buffer
+ const EGLint attribs[] =
+ {
+ EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT, //Request opengl ES2.0
+ EGL_SURFACE_TYPE, EGL_WINDOW_BIT,
+ EGL_BLUE_SIZE, 8,
+ EGL_GREEN_SIZE, 8,
+ EGL_RED_SIZE, 8,
+ EGL_ALPHA_SIZE, 8,
+ EGL_DEPTH_SIZE, 16,
+ EGL_NONE
+ };
+ success = eglChooseConfig( display_, attribs, &config_, 1, &num_configs );
+ if( !success )
+ {
+ LOG_ERROR_AND_THROW( "Failed to choose 16-bit depth config" );
+ }
+
+ depth_size_ = 16;
+ }
+
+ if( !num_configs )
+ {
+ LOG_ERROR_AND_THROW( "Unable to retrieve EGL config" );
+ }
+
+ surface_ = eglCreateWindowSurface( display_, config_, window_, NULL );
+ if( surface_ == EGL_NO_SURFACE )
+ {
+ LOG_ERROR_AND_THROW( "Failed to create EGLSurface" );
+ }
+
+ screen_width_ = 0;
+ screen_height_ = 0;
+ eglQuerySurface( display_, surface_, EGL_WIDTH, &screen_width_ );
+ eglQuerySurface( display_, surface_, EGL_HEIGHT, &screen_height_ );
+
+ /* EGL_NATIVE_VISUAL_ID is an attribute of the EGLConfig that is
+ * guaranteed to be accepted by ANativeWindow_setBuffersGeometry().
+ * As soon as we picked a EGLConfig, we can safely reconfigure the
+ * ANativeWindow buffers to match, using EGL_NATIVE_VISUAL_ID. */
+ EGLint format;
+ eglGetConfigAttrib( display_, config_, EGL_NATIVE_VISUAL_ID, &format );
+ ANativeWindow_setBuffersGeometry( window_, 0, 0, format );
+
+ return true;
+}
+
+bool UnityGraphicsGLESAndroid_Impl::InitEGLContext()
+{
+ const EGLint context_attribs[] =
+ {
+ EGL_CONTEXT_CLIENT_VERSION, major_version_,
+ EGL_CONTEXT_MINOR_VERSION_KHR, minor_version_,
+ EGL_NONE
+ };
+
+ LOG_INFO_MESSAGE( "contextAttribs: ", context_attribs[0], ' ', context_attribs[1], '\n' );
+ LOG_INFO_MESSAGE( "contextAttribs: ", context_attribs[2], ' ', context_attribs[3], '\n' );
+
+ context_ = eglCreateContext( display_, config_, NULL, context_attribs );
+ if( context_ == EGL_NO_CONTEXT )
+ {
+ LOG_ERROR_AND_THROW( "Failed to create EUnityGraphicsGLESAndroid_Impl" );
+ }
+
+ if( eglMakeCurrent( display_, surface_, surface_, context_ ) == EGL_FALSE )
+ {
+ LOG_ERROR_AND_THROW( "Unable to eglMakeCurrent" );
+ }
+
+ context_valid_ = true;
+ return true;
+}
+
+void UnityGraphicsGLESAndroid_Impl::InitGLES()
+{
+ if( gles_initialized_ )
+ return;
+
+ // When GL_FRAMEBUFFER_SRGB is enabled, and if the destination image is in the sRGB colorspace
+ // then OpenGL will assume the shader's output is in the linear RGB colorspace. It will therefore
+ // convert the output from linear RGB to sRGB.
+ // Any writes to images that are not in the sRGB format should not be affected.
+ // Thus this setting should be just set once and left that way
+ glEnable(GL_FRAMEBUFFER_SRGB);
+ if( glGetError() != GL_NO_ERROR )
+ LOG_ERROR_MESSAGE("Failed to enable SRGB framebuffers");
+
+ gles_initialized_ = true;
+}
+
+void UnityGraphicsGLESAndroid_Impl::InitGLContext(void *native_wnd_handle, int major_version, int minor_version)
+{
+ major_version_ = major_version;
+ minor_version_ = minor_version;
+ Init(reinterpret_cast<ANativeWindow*>(native_wnd_handle));
+}
+
+bool UnityGraphicsGLESAndroid_Impl::Init( ANativeWindow* window )
+{
+ if( egl_context_initialized_ )
+ return true;
+
+ //
+ //Initialize EGL
+ //
+ window_ = window;
+ InitEGLSurface();
+ InitEGLContext();
+ InitGLES();
+
+ egl_context_initialized_ = true;
+
+ return true;
+}
+
+UnityGraphicsGLESAndroid_Impl::~UnityGraphicsGLESAndroid_Impl()
+{
+ Terminate();
+}
+
+void UnityGraphicsGLESAndroid_Impl::ResizeSwapchain(int new_width, int new_height)
+{
+ screen_width_ = new_width;
+ screen_height_ = new_height;
+ // Nothing more needs to be done in GLES
+}
+
+void UnityGraphicsGLESAndroid_Impl::SwapBuffers()
+{
+ bool b = eglSwapBuffers( display_, surface_ );
+ if( !b )
+ {
+ EGLint err = eglGetError();
+ if( err == EGL_BAD_SURFACE )
+ {
+ //Recreate surface
+ InitEGLSurface();
+ //return EGL_SUCCESS; //Still consider UnityGraphicsGLESAndroid_Impl is valid
+ }
+ else if( err == EGL_CONTEXT_LOST || err == EGL_BAD_CONTEXT )
+ {
+ //Context has been lost!!
+ context_valid_ = false;
+ Terminate();
+ InitEGLContext();
+ }
+ //return err;
+ }
+ //return EGL_SUCCESS;
+}
+
+void UnityGraphicsGLESAndroid_Impl::Terminate()
+{
+ if( display_ != EGL_NO_DISPLAY )
+ {
+ eglMakeCurrent( display_, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT );
+ if( context_ != EGL_NO_CONTEXT )
+ {
+ eglDestroyContext( display_, context_ );
+ }
+
+ if( surface_ != EGL_NO_SURFACE )
+ {
+ eglDestroySurface( display_, surface_ );
+ }
+ eglTerminate( display_ );
+ }
+
+ display_ = EGL_NO_DISPLAY;
+ context_ = EGL_NO_CONTEXT;
+ surface_ = EGL_NO_SURFACE;
+ context_valid_ = false;
+}
+
+
+EGLint UnityGraphicsGLESAndroid_Impl::Resume( ANativeWindow* window )
+{
+ if( egl_context_initialized_ == false )
+ {
+ Init( window );
+ return EGL_SUCCESS;
+ }
+
+
+ //Create surface
+ window_ = window;
+ surface_ = eglCreateWindowSurface( display_, config_, window_, NULL );
+ int32_t new_screen_width = 0;
+ int32_t new_screen_height = 0;
+ eglQuerySurface( display_, surface_, EGL_WIDTH, &new_screen_width );
+ eglQuerySurface( display_, surface_, EGL_HEIGHT, &new_screen_height );
+
+ if( new_screen_width != screen_width_ || new_screen_height != screen_height_ )
+ {
+ screen_width_ = new_screen_width;
+ screen_height_ = new_screen_height;
+ //Screen resized
+ LOG_INFO_MESSAGE( "Screen resized\n" );
+ }
+
+ if( eglMakeCurrent( display_, surface_, surface_, context_ ) == EGL_TRUE )
+ return EGL_SUCCESS;
+
+ EGLint err = eglGetError();
+ LOG_WARNING_MESSAGE( "Unable to eglMakeCurrent ", err, '\n' );
+
+ if( err == EGL_CONTEXT_LOST )
+ {
+ //Recreate context
+ LOG_INFO_MESSAGE( "Re-creating egl context\n" );
+ InitEGLContext();
+ }
+ else
+ {
+ //Recreate surface
+ Terminate();
+ InitEGLSurface();
+ InitEGLContext();
+ }
+
+ return err;
+
+}
+
+void UnityGraphicsGLESAndroid_Impl::Suspend()
+{
+ if( surface_ != EGL_NO_SURFACE )
+ {
+ eglDestroySurface( display_, surface_ );
+ surface_ = EGL_NO_SURFACE;
+ }
+}
+
+bool UnityGraphicsGLESAndroid_Impl::Invalidate()
+{
+ Terminate();
+
+ egl_context_initialized_ = false;
+ return true;
+}
diff --git a/unityplugin/UnityEmulator/src/Android/UnityGraphicsGLESAndroid_Impl.h b/unityplugin/UnityEmulator/src/Android/UnityGraphicsGLESAndroid_Impl.h
new file mode 100644
index 0000000..1ea7df1
--- /dev/null
+++ b/unityplugin/UnityEmulator/src/Android/UnityGraphicsGLESAndroid_Impl.h
@@ -0,0 +1,91 @@
+/* Copyright 2015-2017 Egor Yusov
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF ANY PROPRIETARY RIGHTS.
+ *
+ * In no event and under no legal theory, whether in tort (including negligence),
+ * contract, or otherwise, unless required by applicable law (such as deliberate
+ * and grossly negligent acts) or agreed to in writing, shall any Contributor be
+ * liable for any damages, including any direct, indirect, special, incidental,
+ * or consequential damages of any character arising as a result of this License or
+ * out of the use or inability to use the software (including but not limited to damages
+ * for loss of goodwill, work stoppage, computer failure or malfunction, or any and
+ * all other commercial damages or losses), even if such Contributor has been advised
+ * of the possibility of such damages.
+ */
+
+#include <GLES3/gl3.h>
+#include <GLES3/gl3ext.h>
+
+#include <EGL/egl.h>
+#include <android/native_window.h>
+
+class UnityGraphicsGLESAndroid_Impl
+{
+public:
+ void InitGLContext(void *native_wnd_handle, int major_version, int minor_version);
+ ~UnityGraphicsGLESAndroid_Impl();
+
+ bool Init(ANativeWindow* window);
+
+ void ResizeSwapchain(int NewWidth, int NewHeight);
+
+ void SwapBuffers();
+
+ int GetBackBufferWidth()const { return screen_width_; }
+ int GetBackBufferHeight()const { return screen_height_; }
+ GLenum GetBackBufferFormat()const { return GL_RGBA8; }
+ GLenum GetDepthBufferFormat()const
+ {
+ if (depth_size_ == 32)
+ GL_DEPTH_COMPONENT32F;
+ else if (depth_size_ == 24)
+ return GL_DEPTH_COMPONENT24;
+ else if(depth_size_ == 16)
+ return GL_DEPTH_COMPONENT16;
+ else
+ return 0;
+ }
+ EGLContext GetContext() { return context_; }
+
+ bool Invalidate();
+
+ void Suspend();
+ EGLint Resume( ANativeWindow* window );
+
+private:
+ //EGL configurations
+ ANativeWindow* window_ = nullptr;
+ EGLDisplay display_ = EGL_NO_DISPLAY;
+ EGLSurface surface_ = EGL_NO_SURFACE;
+ EGLContext context_ = EGL_NO_CONTEXT;
+ EGLConfig config_;
+
+ //Screen parameters
+ int32_t color_size_ = 0;
+ int32_t depth_size_ = 0;
+ int32_t major_version_ = 0;
+ int32_t minor_version_ = 0;
+
+ //Flags
+ bool gles_initialized_ = false;
+ bool egl_context_initialized_ = false;
+ bool es3_supported_ = false;
+ float gl_version_ = 0;
+ bool context_valid_ = false;
+
+ int screen_width_ = 0;
+ int screen_height_ = 0;
+
+ void InitGLES();
+ void Terminate();
+ bool InitEGLSurface();
+ bool InitEGLContext();
+};
diff --git a/unityplugin/UnityEmulator/src/DiligentGraphicsAdapterD3D11.cpp b/unityplugin/UnityEmulator/src/DiligentGraphicsAdapterD3D11.cpp
new file mode 100644
index 0000000..4b02965
--- /dev/null
+++ b/unityplugin/UnityEmulator/src/DiligentGraphicsAdapterD3D11.cpp
@@ -0,0 +1,127 @@
+#include <d3d11.h>
+#include <dxgi1_2.h>
+
+#include "DiligentGraphicsAdapterD3D11.h"
+#include "UnityGraphicsD3D11Emulator.h"
+#include "RenderDeviceFactoryD3D11.h"
+#include "SwapChainBase.h"
+#include "SwapChainD3D11.h"
+#include "DefaultRawMemoryAllocator.h"
+#include "UnityGraphicsD3D11Impl.h"
+#include "DXGITypeConversions.h"
+
+using namespace Diligent;
+
+namespace
+{
+
+class ProxySwapChainD3D11 : public SwapChainBase<ISwapChainD3D11>
+{
+public:
+ using TBase = SwapChainBase<ISwapChainD3D11>;
+
+ ProxySwapChainD3D11( IReferenceCounters *pRefCounters,
+ IRenderDevice *pDevice,
+ IDeviceContext *pDeviceContext,
+ const SwapChainDesc& SCDesc ) :
+ TBase(pRefCounters, pDevice, pDeviceContext,SCDesc)
+ {}
+
+ IMPLEMENT_QUERY_INTERFACE_IN_PLACE(IID_SwapChainD3D11, TBase)
+
+ virtual IDXGISwapChain *GetDXGISwapChain()override final
+ {
+ UNEXPECTED("DXGI swap chain cannot be requested through the proxy swap chain")
+ return nullptr;
+ }
+
+ virtual ID3D11RenderTargetView *GetRTV()override final{ return m_pRTV; }
+
+ virtual ID3D11DepthStencilView *GetDSV()override final { return m_pDSV; }
+
+ virtual void Present()override final
+ {
+ UNEXPECTED("Present is not expected to be called directly")
+ }
+
+ virtual void Resize(Uint32 NewWidth, Uint32 NewHeight)override final
+ {
+ TBase::Resize(NewWidth, NewHeight, 0);
+ }
+
+ void SetSwapChainAttribs(ID3D11RenderTargetView *pRTV, ID3D11DepthStencilView *pDSV, Uint32 Width, Uint32 Height)
+ {
+ TBase::Resize(Width, Height, 0);
+ m_pRTV = pRTV;
+ m_pDSV = pDSV;
+ }
+
+ void ResetSwapChainAttribs()
+ {
+ m_pRTV = nullptr;
+ m_pDSV = nullptr;
+ }
+
+private:
+ ID3D11RenderTargetView *m_pRTV = nullptr;
+ ID3D11DepthStencilView *m_pDSV = nullptr;
+};
+
+}
+
+DiligentGraphicsAdapterD3D11::DiligentGraphicsAdapterD3D11(const UnityGraphicsD3D11Emulator& UnityGraphicsD3D11)noexcept :
+ m_UnityGraphicsD3D11(UnityGraphicsD3D11)
+{
+ auto *GraphicsD3D11Impl = m_UnityGraphicsD3D11.GetGraphicsImpl();
+ ID3D11Device *pd3d11Device = GraphicsD3D11Impl->GetD3D11Device();
+ ID3D11DeviceContext *pd3d11Context = GraphicsD3D11Impl->GetD3D11Context();
+ auto *pFactoryD3d11 = GetEngineFactoryD3D11();
+ EngineD3D11Attribs Attribs;
+ pFactoryD3d11->AttachToD3D11Device(pd3d11Device, pd3d11Context, Attribs, &m_pDevice, &m_pDeviceCtx, 0);
+}
+
+void DiligentGraphicsAdapterD3D11::InitProxySwapChain()
+{
+ auto *GraphicsD3D11Impl = m_UnityGraphicsD3D11.GetGraphicsImpl();
+ D3D11_RENDER_TARGET_VIEW_DESC RTVDesc;
+ GraphicsD3D11Impl->GetRTV()->GetDesc(&RTVDesc);
+ D3D11_DEPTH_STENCIL_VIEW_DESC DSVDesc;
+ GraphicsD3D11Impl->GetDSV()->GetDesc(&DSVDesc);
+
+ SwapChainDesc SCDesc;
+ SCDesc.ColorBufferFormat = DXGI_FormatToTexFormat(RTVDesc.Format);
+ SCDesc.DepthBufferFormat = DXGI_FormatToTexFormat(DSVDesc.Format);
+ SCDesc.Width = GraphicsD3D11Impl->GetBackBufferWidth();
+ SCDesc.Height = GraphicsD3D11Impl->GetBackBufferHeight();
+ // These fields are irrelevant
+ SCDesc.SamplesCount = 0;
+ SCDesc.BufferCount = 0;
+
+ auto &DefaultAllocator = DefaultRawMemoryAllocator::GetAllocator();
+ auto pProxySwapChainD3D11 = NEW_RC_OBJ(DefaultAllocator, "ProxySwapChainD3D11 instance", ProxySwapChainD3D11)(m_pDevice, m_pDeviceCtx, SCDesc);
+ pProxySwapChainD3D11->QueryInterface(IID_SwapChain, reinterpret_cast<IObject**>(static_cast<ISwapChain**>(&m_pProxySwapChain)));
+
+ m_pDeviceCtx->SetSwapChain(m_pProxySwapChain);
+}
+
+void DiligentGraphicsAdapterD3D11::BeginFrame()
+{
+ auto *UnityGraphicsD3D11Impl = m_UnityGraphicsD3D11.GetGraphicsImpl();
+ auto *pRTV = UnityGraphicsD3D11Impl->GetRTV();
+ auto *pDSV = UnityGraphicsD3D11Impl->GetDSV();
+ auto Width = UnityGraphicsD3D11Impl->GetBackBufferWidth();
+ auto Height = UnityGraphicsD3D11Impl->GetBackBufferHeight();
+ VERIFY_EXPR(pRTV != nullptr && pDSV != nullptr && Width != 0 && Height != 0);
+ ValidatedCast<ProxySwapChainD3D11>(m_pProxySwapChain.RawPtr())->SetSwapChainAttribs(pRTV, pDSV, Width, Height);
+}
+
+void DiligentGraphicsAdapterD3D11::EndFrame()
+{
+ ValidatedCast<ProxySwapChainD3D11>(m_pProxySwapChain.RawPtr())->ResetSwapChainAttribs();
+ m_pDeviceCtx->InvalidateState();
+}
+
+bool DiligentGraphicsAdapterD3D11::UsesReverseZ()
+{
+ return m_UnityGraphicsD3D11.UsesReverseZ();
+} \ No newline at end of file
diff --git a/unityplugin/UnityEmulator/src/DiligentGraphicsAdapterD3D12.cpp b/unityplugin/UnityEmulator/src/DiligentGraphicsAdapterD3D12.cpp
new file mode 100644
index 0000000..9aea25d
--- /dev/null
+++ b/unityplugin/UnityEmulator/src/DiligentGraphicsAdapterD3D12.cpp
@@ -0,0 +1,254 @@
+
+#define NOMINMAX
+#include <D3D12.h>
+#include <dxgi1_4.h>
+#include <atlbase.h>
+#include "UnityGraphicsD3D12Impl.h"
+#include "DiligentGraphicsAdapterD3D12.h"
+#include "UnityGraphicsD3D12Emulator.h"
+#include "SwapChainD3D12.h"
+#include "TextureD3D12.h"
+#include "RenderDeviceD3D12.h"
+#include "DeviceContextD3D12.h"
+#include "CommandQueueD3D12.h"
+#include "RenderDeviceFactoryD3D12.h"
+#include "SwapChainBase.h"
+#include "DefaultRawMemoryAllocator.h"
+#include "DXGITypeConversions.h"
+
+using namespace Diligent;
+
+namespace
+{
+
+class ProxyCommandQueueD3D12 : public ObjectBase<ICommandQueueD3D12>
+{
+public:
+ using TBase = ObjectBase<ICommandQueueD3D12>;
+ ProxyCommandQueueD3D12(IReferenceCounters *pRefCounters, UnityGraphicsD3D12Impl& GraphicsD3D12Impl) :
+ TBase(pRefCounters),
+ m_GraphicsD3D12Impl(GraphicsD3D12Impl)
+ {
+ }
+
+ ~ProxyCommandQueueD3D12()
+ {
+ }
+
+ IMPLEMENT_QUERY_INTERFACE_IN_PLACE( IID_CommandQueueD3D12, TBase )
+
+ // Returns the fence value that will be signaled next time
+ virtual UINT64 GetNextFenceValue()override final
+ {
+ return m_GraphicsD3D12Impl.GetNextFenceValue();
+ }
+
+ // Executes a given command list
+ virtual UINT64 ExecuteCommandList(ID3D12GraphicsCommandList* commandList)override final
+ {
+ return m_GraphicsD3D12Impl.ExecuteCommandList(commandList);
+ }
+
+ // Returns D3D12 command queue. May return null if queue is anavailable
+ virtual ID3D12CommandQueue* GetD3D12CommandQueue()
+ {
+ return nullptr;
+ }
+
+ /// Returns value of the last completed fence
+ virtual Uint64 GetCompletedFenceValue()
+ {
+ return m_GraphicsD3D12Impl.GetCompletedFenceValue();
+ }
+
+ /// Blocks execution until all pending GPU commands are complete
+ virtual void IdleGPU()
+ {
+ m_GraphicsD3D12Impl.IdleGPU();
+ }
+
+private:
+ UnityGraphicsD3D12Impl& m_GraphicsD3D12Impl;
+};
+
+
+class ProxySwapChainD3D12 : public SwapChainBase<ISwapChainD3D12>
+{
+public:
+ using TBase = SwapChainBase<ISwapChainD3D12>;
+
+ ProxySwapChainD3D12( IReferenceCounters *pRefCounters,
+ IRenderDevice *pDevice,
+ IDeviceContext *pDeviceContext,
+ const SwapChainDesc& SCDesc ) :
+ TBase(pRefCounters, pDevice, pDeviceContext,SCDesc)
+ {
+ }
+
+ IMPLEMENT_QUERY_INTERFACE_IN_PLACE(IID_SwapChainD3D12, TBase)
+
+ virtual IDXGISwapChain *GetDXGISwapChain()override final
+ {
+ UNEXPECTED("DXGI swap chain cannot be requested through the proxy swap chain")
+ return nullptr;
+ }
+
+ virtual ITextureViewD3D12* GetCurrentBackBufferRTV()
+ {
+ return m_RTVs[m_CurrentBackBufferIndex];
+ }
+
+ virtual ITextureViewD3D12* GetDepthBufferDSV()
+ {
+ return m_DSV;
+ }
+
+ virtual void Present()override final
+ {
+ UNEXPECTED("Present is not expected to be called directly")
+ }
+
+ virtual void Resize(Uint32 NewWidth, Uint32 NewHeight)override final
+ {
+ TBase::Resize(NewWidth, NewHeight, 0);
+ }
+
+ void ReleaseBuffers()
+ {
+ m_BackBuffers.clear();
+ m_RTVs.clear();
+ m_DepthBuffer.Release();
+ m_DSV.Release();
+ }
+
+ void SetBackBufferIndex(Uint32 BackBufferIndex) { m_CurrentBackBufferIndex = BackBufferIndex; }
+
+ void CreateBuffers(IDXGISwapChain3 *pDXGISwapChain, ID3D12Resource *pd3d12DepthBuffer)
+ {
+ DXGI_SWAP_CHAIN_DESC1 SwapChainDesc;
+ pDXGISwapChain->GetDesc1(&SwapChainDesc);
+ m_SwapChainDesc.BufferCount = SwapChainDesc.BufferCount;
+ m_SwapChainDesc.SamplesCount = SwapChainDesc.SampleDesc.Count;
+ m_SwapChainDesc.Width = SwapChainDesc.Width;
+ m_SwapChainDesc.Height = SwapChainDesc.Height;
+ m_SwapChainDesc.ColorBufferFormat = DXGI_FormatToTexFormat(SwapChainDesc.Format);
+ const auto DepthBufferDesc = pd3d12DepthBuffer->GetDesc();
+ m_SwapChainDesc.DepthBufferFormat = DXGI_FormatToTexFormat(DepthBufferDesc.Format);
+
+ RefCntAutoPtr<IRenderDeviceD3D12> pRenderDeviceD3D12(m_pRenderDevice, IID_RenderDeviceD3D12);
+
+ m_BackBuffers.reserve(m_SwapChainDesc.BufferCount);
+ m_RTVs.reserve(m_SwapChainDesc.BufferCount);
+ for(Uint32 backbuff = 0; backbuff < m_SwapChainDesc.BufferCount; ++backbuff)
+ {
+ CComPtr<ID3D12Resource> pd3d12BackBuffer;
+ auto hr = pDXGISwapChain->GetBuffer(backbuff, __uuidof(pd3d12BackBuffer), reinterpret_cast<void**>( static_cast<ID3D12Resource**>(&pd3d12BackBuffer) ));
+ if(FAILED(hr))
+ LOG_ERROR_AND_THROW("Failed to get back buffer ", backbuff," from the swap chain");
+ RefCntAutoPtr<ITexture> pBackBuffer;
+ pRenderDeviceD3D12->CreateTextureFromD3DResource(pd3d12BackBuffer, &pBackBuffer);
+ m_BackBuffers.emplace_back( RefCntAutoPtr<ITextureD3D12>(pBackBuffer, IID_TextureD3D12) );
+ TextureViewDesc TexViewDesc;
+ TexViewDesc.ViewType = TEXTURE_VIEW_RENDER_TARGET;
+ TexViewDesc.Format = TEX_FORMAT_RGBA8_UNORM_SRGB;
+ RefCntAutoPtr<ITextureView> pRTV;
+ pBackBuffer->CreateView(TexViewDesc, &pRTV);
+ m_RTVs.emplace_back(RefCntAutoPtr<ITextureViewD3D12>(pRTV, IID_TextureViewD3D12));
+ }
+
+ RefCntAutoPtr<ITexture> pDepthBuffer;
+ pRenderDeviceD3D12->CreateTextureFromD3DResource(pd3d12DepthBuffer, &pDepthBuffer);
+ m_DepthBuffer = RefCntAutoPtr<ITextureD3D12>(pDepthBuffer, IID_TextureD3D12);
+ auto *pDSV = m_DepthBuffer->GetDefaultView(TEXTURE_VIEW_DEPTH_STENCIL);
+ m_DSV = RefCntAutoPtr<ITextureViewD3D12>(pDSV, IID_TextureViewD3D12);
+ }
+
+ ITextureD3D12* GetCurrentBackBuffer() { return m_BackBuffers[m_CurrentBackBufferIndex]; }
+ ITextureD3D12* GetDepthBuffer() { return m_DepthBuffer; }
+
+private:
+ std::vector<RefCntAutoPtr<ITextureD3D12>> m_BackBuffers;
+ std::vector<RefCntAutoPtr<ITextureViewD3D12>> m_RTVs;
+ RefCntAutoPtr<ITextureD3D12> m_DepthBuffer;
+ RefCntAutoPtr<ITextureViewD3D12> m_DSV;
+ Uint32 m_CurrentBackBufferIndex = 0;
+};
+
+}
+
+
+DiligentGraphicsAdapterD3D12::DiligentGraphicsAdapterD3D12(UnityGraphicsD3D12Emulator& UnityGraphicsD3D12)noexcept :
+ m_UnityGraphicsD3D12(UnityGraphicsD3D12)
+{
+ auto *GraphicsImpl = UnityGraphicsD3D12.GetGraphicsImpl();
+ auto *d3d12Device = GraphicsImpl->GetD3D12Device();
+
+ auto &DefaultAllocator = DefaultRawMemoryAllocator::GetAllocator();
+ auto CmdQueue = NEW_RC_OBJ(DefaultAllocator, "UnityCommandQueueImpl instance", ProxyCommandQueueD3D12)(*GraphicsImpl);
+
+ auto *pFactoryD3D12 = GetEngineFactoryD3D12();
+ EngineD3D12Attribs Attribs;
+ pFactoryD3D12->AttachToD3D12Device(d3d12Device, CmdQueue, Attribs, &m_pDevice, &m_pDeviceCtx, 0);
+}
+
+void DiligentGraphicsAdapterD3D12::InitProxySwapChain()
+{
+ auto *GraphicsImpl = m_UnityGraphicsD3D12.GetGraphicsImpl();
+ auto &DefaultAllocator = DefaultRawMemoryAllocator::GetAllocator();
+ SwapChainDesc SCDesc;
+ auto ProxySwapChain = NEW_RC_OBJ(DefaultAllocator, "UnityCommandQueueImpl instance", ProxySwapChainD3D12)(m_pDevice, m_pDeviceCtx, SCDesc);
+ ProxySwapChain->CreateBuffers(GraphicsImpl->GetDXGISwapChain(), GraphicsImpl->GetDepthBuffer());
+ m_pProxySwapChain = ProxySwapChain;
+ m_pDeviceCtx->SetSwapChain(ProxySwapChain);
+}
+
+void DiligentGraphicsAdapterD3D12::PreSwapChainResize()
+{
+ auto *pProxySwapChainD3D12 = ValidatedCast<ProxySwapChainD3D12>(m_pProxySwapChain.RawPtr());
+ auto *pDeviceD3D12 = ValidatedCast<IRenderDeviceD3D12>(m_pDevice.RawPtr());
+ pProxySwapChainD3D12->ReleaseBuffers();
+ auto *GraphicsImpl = m_UnityGraphicsD3D12.GetGraphicsImpl();
+ pDeviceD3D12->FinishFrame();
+ // We must idle GPU
+ GraphicsImpl->IdleGPU();
+ // And call FinishFrame() to release references to swap chain resources
+ pDeviceD3D12->FinishFrame();
+}
+
+void DiligentGraphicsAdapterD3D12::PostSwapChainResize()
+{
+ auto *GraphicsImpl = m_UnityGraphicsD3D12.GetGraphicsImpl();
+ auto *pProxySwapChainD3D12 = ValidatedCast<ProxySwapChainD3D12>(m_pProxySwapChain.RawPtr());
+ pProxySwapChainD3D12->CreateBuffers(GraphicsImpl->GetDXGISwapChain(), GraphicsImpl->GetDepthBuffer());
+}
+
+void DiligentGraphicsAdapterD3D12::BeginFrame()
+{
+ auto *GraphicsImpl = m_UnityGraphicsD3D12.GetGraphicsImpl();
+ auto *pProxySwapChainD3D12 = ValidatedCast<ProxySwapChainD3D12>(m_pProxySwapChain.RawPtr());
+ pProxySwapChainD3D12->SetBackBufferIndex(GraphicsImpl->GetCurrentBackBufferIndex());
+ // Unity graphics emulator transitions render target to D3D12_RESOURCE_STATE_RENDER_TARGET,
+ // and depth buffer to D3D12_RESOURCE_STATE_DEPTH_WRITE state
+ pProxySwapChainD3D12->GetCurrentBackBuffer()->SetD3D12ResourceState(D3D12_RESOURCE_STATE_RENDER_TARGET);
+ pProxySwapChainD3D12->GetDepthBuffer()->SetD3D12ResourceState(D3D12_RESOURCE_STATE_DEPTH_WRITE);
+}
+
+void DiligentGraphicsAdapterD3D12::EndFrame()
+{
+ // Unity graphics emulator expects render target to be D3D12_RESOURCE_STATE_RENDER_TARGET,
+ // and depth buffer to be in D3D12_RESOURCE_STATE_DEPTH_WRITE state
+ auto *pCtxD3D12 = ValidatedCast<IDeviceContextD3D12>(m_pDeviceCtx.RawPtr());
+ auto *pProxySwapChainD3D12 = ValidatedCast<ProxySwapChainD3D12>(m_pProxySwapChain.RawPtr());
+ auto *pCurrentBackBuffer = pProxySwapChainD3D12->GetCurrentBackBuffer();
+ auto *pDepthBuffer = pProxySwapChainD3D12->GetDepthBuffer();
+ pCtxD3D12->TransitionTextureState(pCurrentBackBuffer, D3D12_RESOURCE_STATE_RENDER_TARGET);
+ pCtxD3D12->TransitionTextureState(pDepthBuffer, D3D12_RESOURCE_STATE_DEPTH_WRITE);
+ m_pDeviceCtx->Flush();
+ m_pDeviceCtx->InvalidateState();
+ ValidatedCast<IRenderDeviceD3D12>(m_pDevice.RawPtr())->FinishFrame();
+}
+
+bool DiligentGraphicsAdapterD3D12::UsesReverseZ()
+{
+ return m_UnityGraphicsD3D12.UsesReverseZ();
+}
diff --git a/unityplugin/UnityEmulator/src/DiligentGraphicsAdapterGL.cpp b/unityplugin/UnityEmulator/src/DiligentGraphicsAdapterGL.cpp
new file mode 100644
index 0000000..4b5ecb1
--- /dev/null
+++ b/unityplugin/UnityEmulator/src/DiligentGraphicsAdapterGL.cpp
@@ -0,0 +1,103 @@
+#include "DiligentGraphicsAdapterGL.h"
+
+#if OPENGL_SUPPORTED
+
+#include "UnityGraphicsGLCoreES_Emulator.h"
+#include "RenderDeviceFactoryOpenGL.h"
+#include "SwapChainBase.h"
+#include "DefaultRawMemoryAllocator.h"
+#include "UnityGraphicsGL_Impl.h"
+
+using namespace Diligent;
+
+namespace
+{
+
+class ProxySwapChainGL : public SwapChainBase<ISwapChain>
+{
+public:
+ using TBase = SwapChainBase<ISwapChain>;
+
+ ProxySwapChainGL( IReferenceCounters *pRefCounters,
+ IRenderDevice *pDevice,
+ IDeviceContext *pDeviceContext,
+ const SwapChainDesc& SCDesc ) :
+ TBase(pRefCounters, pDevice, pDeviceContext,SCDesc)
+ {}
+
+ virtual void Present()override final
+ {
+ UNEXPECTED("Present is not expected to be called directly")
+ }
+
+ virtual void Resize(Uint32 NewWidth, Uint32 NewHeight)override final
+ {
+ TBase::Resize(NewWidth, NewHeight, 0);
+ }
+};
+
+}
+
+DiligentGraphicsAdapterGL::DiligentGraphicsAdapterGL(const UnityGraphicsGLCoreES_Emulator& UnityGraphicsGL)noexcept :
+ m_UnityGraphicsGL(UnityGraphicsGL)
+{
+ auto *UnityGraphicsGLImpl = UnityGraphicsGL.GetGraphicsImpl();
+
+ auto *pFactoryGL = GetEngineFactoryOpenGL();
+ EngineCreationAttribs Attribs;
+ pFactoryGL->AttachToActiveGLContext(Attribs, &m_pDevice, &m_pDeviceCtx);
+
+ auto BackBufferGLFormat = UnityGraphicsGLImpl->GetBackBufferFormat();
+ auto DepthBufferGLFormat = UnityGraphicsGLImpl->GetDepthBufferFormat();
+
+ SwapChainDesc SCDesc;
+ if(BackBufferGLFormat == GL_RGBA8)
+ SCDesc.ColorBufferFormat = TEX_FORMAT_RGBA8_UNORM_SRGB;
+ else
+ {
+ UNEXPECTED("Unexpected back buffer format")
+ }
+
+ if (DepthBufferGLFormat == GL_DEPTH_COMPONENT32F)
+ SCDesc.DepthBufferFormat = TEX_FORMAT_D32_FLOAT;
+ else if (DepthBufferGLFormat == GL_DEPTH_COMPONENT24)
+ SCDesc.DepthBufferFormat = TEX_FORMAT_D24_UNORM_S8_UINT;
+ else if (DepthBufferGLFormat == GL_DEPTH_COMPONENT16)
+ SCDesc.DepthBufferFormat = TEX_FORMAT_D16_UNORM;
+ else
+ {
+ UNEXPECTED("Unexpected depth buffer format")
+ }
+
+ SCDesc.Width = UnityGraphicsGLImpl->GetBackBufferWidth();
+ SCDesc.Height = UnityGraphicsGLImpl->GetBackBufferHeight();
+ // These fields are irrelevant
+ SCDesc.SamplesCount = 0;
+ SCDesc.BufferCount = 0;
+
+ auto &DefaultAllocator = DefaultRawMemoryAllocator::GetAllocator();
+ auto pProxySwapChainGL = NEW_RC_OBJ(DefaultAllocator, "ProxySwapChainGL instance", ProxySwapChainGL)(m_pDevice, m_pDeviceCtx, SCDesc);
+ pProxySwapChainGL->QueryInterface(IID_SwapChain, reinterpret_cast<IObject**>(static_cast<ISwapChain**>(&m_pProxySwapChain)));
+
+ m_pDeviceCtx->SetSwapChain(m_pProxySwapChain);
+}
+
+void DiligentGraphicsAdapterGL::BeginFrame()
+{
+ auto *UnityGraphicsGLImpl = m_UnityGraphicsGL.GetGraphicsImpl();
+ Uint32 Width = UnityGraphicsGLImpl->GetBackBufferWidth();
+ Uint32 Height = UnityGraphicsGLImpl->GetBackBufferHeight();
+ ValidatedCast<ProxySwapChainGL>(m_pProxySwapChain.RawPtr())->Resize(Width, Height);
+}
+
+void DiligentGraphicsAdapterGL::EndFrame()
+{
+ m_pDeviceCtx->InvalidateState();
+}
+
+bool DiligentGraphicsAdapterGL::UsesReverseZ()
+{
+ return m_UnityGraphicsGL.UsesReverseZ();
+}
+
+#endif // OPENGL_SUPPORTED \ No newline at end of file
diff --git a/unityplugin/UnityEmulator/src/UWP/App.cpp b/unityplugin/UnityEmulator/src/UWP/App.cpp
new file mode 100644
index 0000000..7bd098f
--- /dev/null
+++ b/unityplugin/UnityEmulator/src/UWP/App.cpp
@@ -0,0 +1,252 @@
+/* Copyright 2015-2016 Egor Yusov
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF ANY PROPRIETARY RIGHTS.
+ *
+ * In no event and under no legal theory, whether in tort (including negligence),
+ * contract, or otherwise, unless required by applicable law (such as deliberate
+ * and grossly negligent acts) or agreed to in writing, shall any Contributor be
+ * liable for any damages, including any direct, indirect, special, incidental,
+ * or consequential damages of any character arising as a result of this License or
+ * out of the use or inability to use the software (including but not limited to damages
+ * for loss of goodwill, work stoppage, computer failure or malfunction, or any and
+ * all other commercial damages or losses), even if such Contributor has been advised
+ * of the possibility of such damages.
+ */
+
+#include "pch2.h"
+#include "App.h"
+
+#include <ppltasks.h>
+
+using namespace UnityEmulatorApp;
+
+using namespace concurrency;
+using namespace Windows::ApplicationModel;
+using namespace Windows::ApplicationModel::Core;
+using namespace Windows::ApplicationModel::Activation;
+using namespace Windows::UI::Core;
+using namespace Windows::UI::Input;
+using namespace Windows::System;
+using namespace Windows::Foundation;
+using namespace Windows::Graphics::Display;
+
+using Microsoft::WRL::ComPtr;
+
+
+// The main function is only used to initialize our IFrameworkView class.
+[Platform::MTAThread]
+int main(Platform::Array<Platform::String^>^)
+{
+ auto direct3DApplicationSource = ref new Direct3DApplicationSource();
+ CoreApplication::Run(direct3DApplicationSource);
+ return 0;
+}
+
+IFrameworkView^ Direct3DApplicationSource::CreateView()
+{
+ return ref new App();
+}
+
+App::App() :
+ m_windowClosed(false),
+ m_windowVisible(true)
+{
+}
+
+// The first method called when the IFrameworkView is being created.
+void App::Initialize(CoreApplicationView^ applicationView)
+{
+ // Register event handlers for app lifecycle. This example includes Activated, so that we
+ // can make the CoreWindow active and start rendering on the window.
+ applicationView->Activated +=
+ ref new TypedEventHandler<CoreApplicationView^, IActivatedEventArgs^>(this, &App::OnActivated);
+
+ CoreApplication::Suspending +=
+ ref new EventHandler<SuspendingEventArgs^>(this, &App::OnSuspending);
+
+ CoreApplication::Resuming +=
+ ref new EventHandler<Platform::Object^>(this, &App::OnResuming);
+}
+
+// Called when the CoreWindow object is created (or re-created).
+void App::SetWindow(CoreWindow^ window)
+{
+ window->SizeChanged +=
+ ref new TypedEventHandler<CoreWindow^, WindowSizeChangedEventArgs^>(this, &App::OnWindowSizeChanged);
+
+ window->VisibilityChanged +=
+ ref new TypedEventHandler<CoreWindow^, VisibilityChangedEventArgs^>(this, &App::OnVisibilityChanged);
+
+ window->Closed +=
+ ref new TypedEventHandler<CoreWindow^, CoreWindowEventArgs^>(this, &App::OnWindowClosed);
+
+ DisplayInformation^ currentDisplayInformation = DisplayInformation::GetForCurrentView();
+
+ currentDisplayInformation->DpiChanged +=
+ ref new TypedEventHandler<DisplayInformation^, Object^>(this, &App::OnDpiChanged);
+
+ currentDisplayInformation->OrientationChanged +=
+ ref new TypedEventHandler<DisplayInformation^, Object^>(this, &App::OnOrientationChanged);
+
+ DisplayInformation::DisplayContentsInvalidated +=
+ ref new TypedEventHandler<DisplayInformation^, Object^>(this, &App::OnDisplayContentsInvalidated);
+}
+
+// Initializes scene resources, or loads a previously saved app state.
+void App::Load(Platform::String^ entryPoint)
+{
+ if (m_main == nullptr)
+ {
+ m_main = std::unique_ptr<UnityEmulatorAppMain>(new UnityEmulatorAppMain());
+ }
+}
+
+// This method is called after the window becomes active.
+void App::Run()
+{
+ while (!m_windowClosed)
+ {
+ if (m_windowVisible)
+ {
+ CoreWindow::GetForCurrentThread()->Dispatcher->ProcessEvents(CoreProcessEventsOption::ProcessAllIfPresent);
+
+ //auto commandQueue = GetDeviceResources()->GetCommandQueue();
+ //PIXBeginEvent(commandQueue, 0, L"Update");
+ {
+ m_main->Update();
+ }
+ //PIXEndEvent(commandQueue);
+
+ //PIXBeginEvent(commandQueue, 0, L"Render");
+ {
+ GetDeviceResources()->BeginFrame();
+
+ m_main->Render();
+
+ GetDeviceResources()->EndFrame();
+ GetDeviceResources()->Present();
+ }
+ //PIXEndEvent(commandQueue);
+ }
+ else
+ {
+ CoreWindow::GetForCurrentThread()->Dispatcher->ProcessEvents(CoreProcessEventsOption::ProcessOneAndAllPending);
+ }
+ }
+}
+
+// Required for IFrameworkView.
+// Terminate events do not cause Uninitialize to be called. It will be called if your IFrameworkView
+// class is torn down while the app is in the foreground.
+void App::Uninitialize()
+{
+}
+
+// Application lifecycle event handlers.
+
+void App::OnActivated(CoreApplicationView^ applicationView, IActivatedEventArgs^ args)
+{
+ // Run() won't start until the CoreWindow is activated.
+ CoreWindow::GetForCurrentThread()->Activate();
+}
+
+void App::OnSuspending(Platform::Object^ sender, SuspendingEventArgs^ args)
+{
+ // Save app state asynchronously after requesting a deferral. Holding a deferral
+ // indicates that the application is busy performing suspending operations. Be
+ // aware that a deferral may not be held indefinitely. After about five seconds,
+ // the app will be forced to exit.
+ SuspendingDeferral^ deferral = args->SuspendingOperation->GetDeferral();
+
+ create_task([this, deferral]()
+ {
+ m_main->OnSuspending();
+ deferral->Complete();
+ });
+}
+
+void App::OnResuming(Platform::Object^ sender, Platform::Object^ args)
+{
+ // Restore any data or state that was unloaded on suspend. By default, data
+ // and state are persisted when resuming from suspend. Note that this event
+ // does not occur if the app was previously terminated.
+
+ m_main->OnResuming();
+}
+
+// Window event handlers.
+
+void App::OnWindowSizeChanged(CoreWindow^ sender, WindowSizeChangedEventArgs^ args)
+{
+ GetDeviceResources()->SetLogicalSize(Size(sender->Bounds.Width, sender->Bounds.Height));
+ m_main->OnWindowSizeChanged();
+}
+
+void App::OnVisibilityChanged(CoreWindow^ sender, VisibilityChangedEventArgs^ args)
+{
+ m_windowVisible = args->Visible;
+}
+
+void App::OnWindowClosed(CoreWindow^ sender, CoreWindowEventArgs^ args)
+{
+ m_windowClosed = true;
+}
+
+// DisplayInformation event handlers.
+
+void App::OnDpiChanged(DisplayInformation^ sender, Object^ args)
+{
+ // Note: The value for LogicalDpi retrieved here may not match the effective DPI of the app
+ // if it is being scaled for high resolution devices. Once the DPI is set on DeviceResources,
+ // you should always retrieve it using the GetDpi method.
+ // See DeviceResources.cpp for more details.
+ GetDeviceResources()->SetDpi(sender->LogicalDpi);
+ m_main->OnWindowSizeChanged();
+}
+
+void App::OnOrientationChanged(DisplayInformation^ sender, Object^ args)
+{
+ GetDeviceResources()->SetCurrentOrientation(sender->CurrentOrientation);
+ m_main->OnWindowSizeChanged();
+}
+
+void App::OnDisplayContentsInvalidated(DisplayInformation^ sender, Object^ args)
+{
+ GetDeviceResources()->ValidateDevice();
+}
+
+std::shared_ptr<DX::DeviceResources> App::GetDeviceResources()
+{
+ if (m_deviceResources != nullptr && m_deviceResources->IsDeviceRemoved())
+ {
+ // All references to the existing D3D device must be released before a new device
+ // can be created.
+
+ m_deviceResources = nullptr;
+ m_main->OnDeviceRemoved();
+
+#if defined(_DEBUG)
+ ComPtr<IDXGIDebug1> dxgiDebug;
+ if (SUCCEEDED(DXGIGetDebugInterface1(0, IID_PPV_ARGS(&dxgiDebug))))
+ {
+ dxgiDebug->ReportLiveObjects(DXGI_DEBUG_ALL, DXGI_DEBUG_RLO_FLAGS(DXGI_DEBUG_RLO_SUMMARY | DXGI_DEBUG_RLO_IGNORE_INTERNAL));
+ }
+#endif
+ }
+
+ if (m_deviceResources == nullptr)
+ {
+ m_deviceResources = std::make_shared<DX::DeviceResources>();
+ m_deviceResources->SetWindow(CoreWindow::GetForCurrentThread());
+ m_main->CreateRenderers(m_deviceResources);
+ }
+ return m_deviceResources;
+}
diff --git a/unityplugin/UnityEmulator/src/UWP/App.h b/unityplugin/UnityEmulator/src/UWP/App.h
new file mode 100644
index 0000000..e762e8f
--- /dev/null
+++ b/unityplugin/UnityEmulator/src/UWP/App.h
@@ -0,0 +1,75 @@
+/* Copyright 2015-2016 Egor Yusov
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF ANY PROPRIETARY RIGHTS.
+ *
+ * In no event and under no legal theory, whether in tort (including negligence),
+ * contract, or otherwise, unless required by applicable law (such as deliberate
+ * and grossly negligent acts) or agreed to in writing, shall any Contributor be
+ * liable for any damages, including any direct, indirect, special, incidental,
+ * or consequential damages of any character arising as a result of this License or
+ * out of the use or inability to use the software (including but not limited to damages
+ * for loss of goodwill, work stoppage, computer failure or malfunction, or any and
+ * all other commercial damages or losses), even if such Contributor has been advised
+ * of the possibility of such damages.
+ */
+
+#pragma once
+
+#include "pch.h"
+#include "DeviceResources.h"
+#include "UnityEmulatorAppMain.h"
+
+namespace UnityEmulatorApp
+{
+ // Main entry point for our app. Connects the app with the Windows shell and handles application lifecycle events.
+ ref class App sealed : public Windows::ApplicationModel::Core::IFrameworkView
+ {
+ public:
+ App();
+
+ // IFrameworkView methods.
+ virtual void Initialize(Windows::ApplicationModel::Core::CoreApplicationView^ applicationView);
+ virtual void SetWindow(Windows::UI::Core::CoreWindow^ window);
+ virtual void Load(Platform::String^ entryPoint);
+ virtual void Run();
+ virtual void Uninitialize();
+
+ protected:
+ // Application lifecycle event handlers.
+ void OnActivated(Windows::ApplicationModel::Core::CoreApplicationView^ applicationView, Windows::ApplicationModel::Activation::IActivatedEventArgs^ args);
+ void OnSuspending(Platform::Object^ sender, Windows::ApplicationModel::SuspendingEventArgs^ args);
+ void OnResuming(Platform::Object^ sender, Platform::Object^ args);
+
+ // Window event handlers.
+ void OnWindowSizeChanged(Windows::UI::Core::CoreWindow^ sender, Windows::UI::Core::WindowSizeChangedEventArgs^ args);
+ void OnVisibilityChanged(Windows::UI::Core::CoreWindow^ sender, Windows::UI::Core::VisibilityChangedEventArgs^ args);
+ void OnWindowClosed(Windows::UI::Core::CoreWindow^ sender, Windows::UI::Core::CoreWindowEventArgs^ args);
+
+ // DisplayInformation event handlers.
+ void OnDpiChanged(Windows::Graphics::Display::DisplayInformation^ sender, Platform::Object^ args);
+ void OnOrientationChanged(Windows::Graphics::Display::DisplayInformation^ sender, Platform::Object^ args);
+ void OnDisplayContentsInvalidated(Windows::Graphics::Display::DisplayInformation^ sender, Platform::Object^ args);
+
+ private:
+ std::shared_ptr<DX::DeviceResources> GetDeviceResources();
+
+ std::shared_ptr<DX::DeviceResources> m_deviceResources;
+ std::unique_ptr<UnityEmulatorAppMain> m_main;
+ bool m_windowClosed;
+ bool m_windowVisible;
+ };
+}
+
+ref class Direct3DApplicationSource sealed : Windows::ApplicationModel::Core::IFrameworkViewSource
+{
+public:
+ virtual Windows::ApplicationModel::Core::IFrameworkView^ CreateView();
+};
diff --git a/unityplugin/UnityEmulator/src/UWP/DeviceResources.cpp b/unityplugin/UnityEmulator/src/UWP/DeviceResources.cpp
new file mode 100644
index 0000000..c38b510
--- /dev/null
+++ b/unityplugin/UnityEmulator/src/UWP/DeviceResources.cpp
@@ -0,0 +1,459 @@
+#include "pch2.h"
+#include "DeviceResources.h"
+#include "DirectXHelper.h"
+
+#include "IUnityInterface.h"
+#include "UnityGraphicsD3D11Emulator.h"
+#include "UnityGraphicsD3D12Emulator.h"
+#include "DiligentGraphicsAdapterD3D11.h"
+#include "DiligentGraphicsAdapterD3D12.h"
+#include "ValidatedCast.h"
+
+#include "UnitySceneBase.h"
+#include "StringTools.h"
+#include "Errors.h"
+
+using namespace DirectX;
+using namespace Microsoft::WRL;
+using namespace Windows::Foundation;
+using namespace Windows::Graphics::Display;
+using namespace Windows::UI::Core;
+using namespace Windows::UI::Xaml::Controls;
+using namespace Platform;
+using namespace Diligent;
+
+namespace DisplayMetrics
+{
+ // High resolution displays can require a lot of GPU and battery power to render.
+ // High resolution phones, for example, may suffer from poor battery life if
+ // games attempt to render at 60 frames per second at full fidelity.
+ // The decision to render at full fidelity across all platforms and form factors
+ // should be deliberate.
+ static const bool SupportHighResolutions = false;
+
+ // The default thresholds that define a "high resolution" display. If the thresholds
+ // are exceeded and SupportHighResolutions is false, the dimensions will be scaled
+ // by 50%.
+ static const float DpiThreshold = 192.0f; // 200% of standard desktop display.
+ static const float WidthThreshold = 1920.0f; // 1080p width.
+ static const float HeightThreshold = 1080.0f; // 1080p height.
+};
+
+// Constants used to calculate screen rotations.
+namespace ScreenRotation
+{
+ // 0-degree Z-rotation
+ static const XMFLOAT4X4 Rotation0(
+ 1.0f, 0.0f, 0.0f, 0.0f,
+ 0.0f, 1.0f, 0.0f, 0.0f,
+ 0.0f, 0.0f, 1.0f, 0.0f,
+ 0.0f, 0.0f, 0.0f, 1.0f
+ );
+
+ // 90-degree Z-rotation
+ static const XMFLOAT4X4 Rotation90(
+ 0.0f, 1.0f, 0.0f, 0.0f,
+ -1.0f, 0.0f, 0.0f, 0.0f,
+ 0.0f, 0.0f, 1.0f, 0.0f,
+ 0.0f, 0.0f, 0.0f, 1.0f
+ );
+
+ // 180-degree Z-rotation
+ static const XMFLOAT4X4 Rotation180(
+ -1.0f, 0.0f, 0.0f, 0.0f,
+ 0.0f, -1.0f, 0.0f, 0.0f,
+ 0.0f, 0.0f, 1.0f, 0.0f,
+ 0.0f, 0.0f, 0.0f, 1.0f
+ );
+
+ // 270-degree Z-rotation
+ static const XMFLOAT4X4 Rotation270(
+ 0.0f, -1.0f, 0.0f, 0.0f,
+ 1.0f, 0.0f, 0.0f, 0.0f,
+ 0.0f, 0.0f, 1.0f, 0.0f,
+ 0.0f, 0.0f, 0.0f, 1.0f
+ );
+};
+
+// Constructor for DeviceResources.
+DX::DeviceResources::DeviceResources() :
+ m_d3dRenderTargetSize(),
+ m_outputSize(),
+ m_logicalSize(),
+ m_nativeOrientation(DisplayOrientations::None),
+ m_currentOrientation(DisplayOrientations::None),
+ m_dpi(-1.0f),
+ m_deviceRemoved(false)
+{
+ CreateDeviceResources();
+}
+
+// Configures the Direct3D device, and stores handles to it and the device context.
+void DX::DeviceResources::CreateDeviceResources()
+{
+ switch (m_DeviceType)
+ {
+ case DeviceType::D3D11:
+ {
+ auto &GraphicsD3D11Emulator = UnityGraphicsD3D11Emulator::GetInstance();
+ GraphicsD3D11Emulator.CreateD3D11DeviceAndContext();
+ m_UnityGraphicsEmulator = &GraphicsD3D11Emulator;
+ m_DiligentGraphics.reset(new DiligentGraphicsAdapterD3D11(GraphicsD3D11Emulator));
+ }
+ break;
+
+ case DeviceType::D3D12:
+ {
+ auto &GraphicsD3D12Emulator = UnityGraphicsD3D12Emulator::GetInstance();
+ GraphicsD3D12Emulator.CreateD3D12DeviceAndCommandQueue();
+ m_UnityGraphicsEmulator = &GraphicsD3D12Emulator;
+ m_DiligentGraphics.reset(new DiligentGraphicsAdapterD3D12(GraphicsD3D12Emulator));
+ }
+ break;
+
+ default:
+ LOG_ERROR_AND_THROW("Unsupported device type");
+ }
+}
+
+DX::DeviceResources::~DeviceResources()
+{
+ m_DiligentGraphics.reset();
+ m_UnityGraphicsEmulator->Release();
+}
+
+// These resources need to be recreated every time the window size is changed.
+void DX::DeviceResources::CreateWindowSizeDependentResources()
+{
+ UpdateRenderTargetSize();
+
+ // The width and height of the swap chain must be based on the window's
+ // natively-oriented width and height. If the window is not in the native
+ // orientation, the dimensions must be reversed.
+ DXGI_MODE_ROTATION displayRotation = ComputeDisplayRotation();
+
+ bool swapDimensions = displayRotation == DXGI_MODE_ROTATION_ROTATE90 || displayRotation == DXGI_MODE_ROTATION_ROTATE270;
+ auto fWidth = swapDimensions ? m_outputSize.Height : m_outputSize.Width;
+ auto fHeight = swapDimensions ? m_outputSize.Width : m_outputSize.Height;
+
+ UINT backBufferWidth = lround(fWidth);
+ UINT backBufferHeight = lround(fHeight);
+
+ if (m_UnityGraphicsEmulator->SwapChainInitialized())
+ {
+ m_DiligentGraphics->PreSwapChainResize();
+ // If the swap chain already exists, resize it.
+ m_UnityGraphicsEmulator->ResizeSwapChain(backBufferWidth, backBufferHeight);
+
+ m_DiligentGraphics->PostSwapChainResize();
+
+#if 0
+ if (hr == DXGI_ERROR_DEVICE_REMOVED || hr == DXGI_ERROR_DEVICE_RESET)
+ {
+ // If the device was removed for any reason, a new device and swap chain will need to be created.
+ m_deviceRemoved = true;
+
+ // Do not continue execution of this method. DeviceResources will be destroyed and re-created.
+ return;
+ }
+ else
+ {
+ DX::ThrowIfFailed(hr);
+ }
+#endif
+ }
+ else
+ {
+ auto NativeWndHandle = reinterpret_cast<IUnknown*>(m_window.Get());
+ switch (m_DeviceType)
+ {
+ case DeviceType::D3D11:
+ {
+ auto &GraphicsD3D11Emulator = UnityGraphicsD3D11Emulator::GetInstance();
+ GraphicsD3D11Emulator.CreateSwapChain(NativeWndHandle, backBufferWidth, backBufferHeight);
+ ValidatedCast<DiligentGraphicsAdapterD3D11>(m_DiligentGraphics.get())->InitProxySwapChain();
+ }
+ break;
+
+ case DeviceType::D3D12:
+ {
+ auto &GraphicsD3D12Emulator = UnityGraphicsD3D12Emulator::GetInstance();
+ GraphicsD3D12Emulator.CreateSwapChain(NativeWndHandle, backBufferWidth, backBufferHeight);
+ ValidatedCast<DiligentGraphicsAdapterD3D12>(m_DiligentGraphics.get())->InitProxySwapChain();
+ }
+ break;
+
+ default:
+ UNEXPECTED("Unsupported device type");
+ }
+ }
+
+ // Set the proper orientation for the swap chain, and generate
+ // 3D matrix transformations for rendering to the rotated swap chain.
+ // The 3D matrix is specified explicitly to avoid rounding errors.
+
+ switch (displayRotation)
+ {
+ case DXGI_MODE_ROTATION_IDENTITY:
+ m_orientationTransform3D = ScreenRotation::Rotation0;
+ break;
+
+ case DXGI_MODE_ROTATION_ROTATE90:
+ m_orientationTransform3D = ScreenRotation::Rotation270;
+ break;
+
+ case DXGI_MODE_ROTATION_ROTATE180:
+ m_orientationTransform3D = ScreenRotation::Rotation180;
+ break;
+
+ case DXGI_MODE_ROTATION_ROTATE270:
+ m_orientationTransform3D = ScreenRotation::Rotation90;
+ break;
+
+ default:
+ throw ref new FailureException();
+ }
+#if 0
+ DX::ThrowIfFailed(
+ m_swapChain->SetRotation(displayRotation)
+ );
+#endif
+
+
+}
+
+// Determine the dimensions of the render target and whether it will be scaled down.
+void DX::DeviceResources::UpdateRenderTargetSize()
+{
+ m_effectiveDpi = m_dpi;
+
+ // To improve battery life on high resolution devices, render to a smaller render target
+ // and allow the GPU to scale the output when it is presented.
+ if (!DisplayMetrics::SupportHighResolutions && m_dpi > DisplayMetrics::DpiThreshold)
+ {
+ float width = DX::ConvertDipsToPixels(m_logicalSize.Width, m_dpi);
+ float height = DX::ConvertDipsToPixels(m_logicalSize.Height, m_dpi);
+
+ // When the device is in portrait orientation, height > width. Compare the
+ // larger dimension against the width threshold and the smaller dimension
+ // against the height threshold.
+ if (max(width, height) > DisplayMetrics::WidthThreshold && min(width, height) > DisplayMetrics::HeightThreshold)
+ {
+ // To scale the app we change the effective DPI. Logical size does not change.
+ m_effectiveDpi /= 2.0f;
+ }
+ }
+
+ // Calculate the necessary render target size in pixels.
+ m_outputSize.Width = DX::ConvertDipsToPixels(m_logicalSize.Width, m_effectiveDpi);
+ m_outputSize.Height = DX::ConvertDipsToPixels(m_logicalSize.Height, m_effectiveDpi);
+
+ // Prevent zero size DirectX content from being created.
+ m_outputSize.Width = max(m_outputSize.Width, 1);
+ m_outputSize.Height = max(m_outputSize.Height, 1);
+}
+
+// This method is called when the CoreWindow is created (or re-created).
+void DX::DeviceResources::SetWindow(CoreWindow^ window)
+{
+ DisplayInformation^ currentDisplayInformation = DisplayInformation::GetForCurrentView();
+
+ m_window = window;
+ m_logicalSize = Windows::Foundation::Size(window->Bounds.Width, window->Bounds.Height);
+ m_nativeOrientation = currentDisplayInformation->NativeOrientation;
+ m_currentOrientation = currentDisplayInformation->CurrentOrientation;
+ m_dpi = currentDisplayInformation->LogicalDpi;
+
+ CreateWindowSizeDependentResources();
+}
+
+// This method is called in the event handler for the SizeChanged event.
+void DX::DeviceResources::SetLogicalSize(Windows::Foundation::Size logicalSize)
+{
+ if (m_logicalSize != logicalSize)
+ {
+ m_logicalSize = logicalSize;
+ CreateWindowSizeDependentResources();
+ }
+}
+
+// This method is called in the event handler for the DpiChanged event.
+void DX::DeviceResources::SetDpi(float dpi)
+{
+ if (dpi != m_dpi)
+ {
+ m_dpi = dpi;
+
+ // When the display DPI changes, the logical size of the window (measured in Dips) also changes and needs to be updated.
+ m_logicalSize = Windows::Foundation::Size(m_window->Bounds.Width, m_window->Bounds.Height);
+
+ CreateWindowSizeDependentResources();
+ }
+}
+
+// This method is called in the event handler for the OrientationChanged event.
+void DX::DeviceResources::SetCurrentOrientation(DisplayOrientations currentOrientation)
+{
+ if (m_currentOrientation != currentOrientation)
+ {
+ m_currentOrientation = currentOrientation;
+ CreateWindowSizeDependentResources();
+ }
+}
+
+// This method is called in the event handler for the DisplayContentsInvalidated event.
+void DX::DeviceResources::ValidateDevice()
+{
+ // The D3D Device is no longer valid if the default adapter changed since the device
+ // was created or if the device has been removed.
+
+ ComPtr<IDXGIDevice3> dxgiDevice;
+ ComPtr<ID3D11Device> d3d11Device;
+ ComPtr<ID3D12Device> d3d12Device;
+
+ if (m_DeviceType == DeviceType::D3D11)
+ {
+ auto &GraphicsD3D11Emulator = UnityGraphicsD3D11Emulator::GetInstance();
+ d3d11Device = reinterpret_cast<ID3D11Device*>(GraphicsD3D11Emulator.GetGraphicsImpl());
+ DX::ThrowIfFailed(d3d11Device.As(&dxgiDevice));
+ }
+ else if (m_DeviceType == DeviceType::D3D12)
+ {
+ auto &GraphicsD3D12Emulator = UnityGraphicsD3D12Emulator::GetInstance();
+ d3d12Device = reinterpret_cast<ID3D12Device*>(GraphicsD3D12Emulator.GetGraphicsImpl());
+ DX::ThrowIfFailed(d3d12Device.As(&dxgiDevice));
+ }
+
+ ComPtr<IDXGIAdapter> deviceAdapter;
+ DX::ThrowIfFailed(dxgiDevice->GetAdapter(&deviceAdapter));
+
+ ComPtr<IDXGIFactory2> deviceFactory;
+ DX::ThrowIfFailed(deviceAdapter->GetParent(IID_PPV_ARGS(&deviceFactory)));
+
+ // First, get the LUID for the default adapter from when the device was created.
+
+ DXGI_ADAPTER_DESC previousDesc;
+ {
+ ComPtr<IDXGIAdapter1> previousDefaultAdapter;
+ DX::ThrowIfFailed(deviceFactory->EnumAdapters1(0, &previousDefaultAdapter));
+
+ DX::ThrowIfFailed(previousDefaultAdapter->GetDesc(&previousDesc));
+ }
+
+ // Next, get the information for the current default adapter.
+
+ DXGI_ADAPTER_DESC currentDesc;
+ {
+ ComPtr<IDXGIFactory4> currentDxgiFactory;
+ DX::ThrowIfFailed(CreateDXGIFactory1(IID_PPV_ARGS(&currentDxgiFactory)));
+
+ ComPtr<IDXGIAdapter1> currentDefaultAdapter;
+ DX::ThrowIfFailed(currentDxgiFactory->EnumAdapters1(0, &currentDefaultAdapter));
+
+ DX::ThrowIfFailed(currentDefaultAdapter->GetDesc(&currentDesc));
+ }
+
+ // If the adapter LUIDs don't match, or if the device reports that it has been removed,
+ // a new D3D device must be created.
+
+ if (previousDesc.AdapterLuid.LowPart != currentDesc.AdapterLuid.LowPart ||
+ previousDesc.AdapterLuid.HighPart != currentDesc.AdapterLuid.HighPart ||
+ d3d11Device && FAILED(d3d11Device->GetDeviceRemovedReason()) ||
+ d3d12Device && FAILED(d3d12Device->GetDeviceRemovedReason()))
+ {
+ m_deviceRemoved = true;
+ }
+}
+
+void DX::DeviceResources::SetResourceStateTransitionHandler(IResourceStateTransitionHandler *pHandler)
+{
+ if (GetDeviceType() == DeviceType::D3D12)
+ {
+ UnityGraphicsD3D12Emulator::GetInstance().SetTransitionHandler(pHandler);
+ }
+}
+
+void DX::DeviceResources::BeginFrame()
+{
+ m_UnityGraphicsEmulator->BeginFrame();
+ m_DiligentGraphics->BeginFrame();
+}
+
+void DX::DeviceResources::EndFrame()
+{
+ m_DiligentGraphics->EndFrame();
+ m_UnityGraphicsEmulator->EndFrame();
+}
+
+// Present the contents of the swap chain to the screen.
+void DX::DeviceResources::Present()
+{
+ m_UnityGraphicsEmulator->Present();
+
+ //// If the device was removed either by a disconnection or a driver upgrade, we
+ //// must recreate all device resources.
+ //if (hr == DXGI_ERROR_DEVICE_REMOVED || hr == DXGI_ERROR_DEVICE_RESET)
+ //{
+ // m_deviceRemoved = true;
+ //}
+ //else
+ //{
+ // DX::ThrowIfFailed(hr);
+ //}
+}
+
+
+// This method determines the rotation between the display device's native Orientation and the
+// current display orientation.
+DXGI_MODE_ROTATION DX::DeviceResources::ComputeDisplayRotation()
+{
+ DXGI_MODE_ROTATION rotation = DXGI_MODE_ROTATION_UNSPECIFIED;
+
+ // Note: NativeOrientation can only be Landscape or Portrait even though
+ // the DisplayOrientations enum has other values.
+ switch (m_nativeOrientation)
+ {
+ case DisplayOrientations::Landscape:
+ switch (m_currentOrientation)
+ {
+ case DisplayOrientations::Landscape:
+ rotation = DXGI_MODE_ROTATION_IDENTITY;
+ break;
+
+ case DisplayOrientations::Portrait:
+ rotation = DXGI_MODE_ROTATION_ROTATE270;
+ break;
+
+ case DisplayOrientations::LandscapeFlipped:
+ rotation = DXGI_MODE_ROTATION_ROTATE180;
+ break;
+
+ case DisplayOrientations::PortraitFlipped:
+ rotation = DXGI_MODE_ROTATION_ROTATE90;
+ break;
+ }
+ break;
+
+ case DisplayOrientations::Portrait:
+ switch (m_currentOrientation)
+ {
+ case DisplayOrientations::Landscape:
+ rotation = DXGI_MODE_ROTATION_ROTATE90;
+ break;
+
+ case DisplayOrientations::Portrait:
+ rotation = DXGI_MODE_ROTATION_IDENTITY;
+ break;
+
+ case DisplayOrientations::LandscapeFlipped:
+ rotation = DXGI_MODE_ROTATION_ROTATE270;
+ break;
+
+ case DisplayOrientations::PortraitFlipped:
+ rotation = DXGI_MODE_ROTATION_ROTATE180;
+ break;
+ }
+ break;
+ }
+ return rotation;
+}
diff --git a/unityplugin/UnityEmulator/src/UWP/DeviceResources.h b/unityplugin/UnityEmulator/src/UWP/DeviceResources.h
new file mode 100644
index 0000000..c91b055
--- /dev/null
+++ b/unityplugin/UnityEmulator/src/UWP/DeviceResources.h
@@ -0,0 +1,71 @@
+#pragma once
+
+#include "UnityGraphicsEmulator.h"
+#include "DiligentGraphicsAdapter.h"
+#include "ResourceStateTransitionHandler.h"
+
+namespace DX
+{
+ // Controls all the DirectX device resources.
+ class DeviceResources
+ {
+ public:
+ DeviceResources();
+ ~DeviceResources();
+ void SetWindow(Windows::UI::Core::CoreWindow^ window);
+ void SetLogicalSize(Windows::Foundation::Size logicalSize);
+ void SetCurrentOrientation(Windows::Graphics::Display::DisplayOrientations currentOrientation);
+ void SetDpi(float dpi);
+ void ValidateDevice();
+ void BeginFrame();
+ void Present();
+ void EndFrame();
+ DiligentGraphicsAdapter* GetDiligentGraphicsAdapter() { return m_DiligentGraphics.get(); }
+ UnityGraphicsEmulator* GetUnityGraphicsEmulator() { return m_UnityGraphicsEmulator;}
+
+ Diligent::DeviceType GetDeviceType()const {return m_DeviceType;}
+
+ // The size of the render target, in pixels.
+ Windows::Foundation::Size GetOutputSize() const { return m_outputSize; }
+
+ // The size of the render target, in dips.
+ Windows::Foundation::Size GetLogicalSize() const { return m_logicalSize; }
+
+ float GetDpi() const { return m_effectiveDpi; }
+ bool IsDeviceRemoved() const { return m_deviceRemoved; }
+ void SetResourceStateTransitionHandler(IResourceStateTransitionHandler *pHandler);
+ // D3D Accessors.
+ DirectX::XMFLOAT4X4 GetOrientationTransform3D() const { return m_orientationTransform3D; }
+
+ private:
+ void CreateDeviceResources();
+ void CreateWindowSizeDependentResources();
+ void UpdateRenderTargetSize();
+ DXGI_MODE_ROTATION ComputeDisplayRotation();
+
+ bool m_deviceRemoved = false;
+
+ UnityGraphicsEmulator* m_UnityGraphicsEmulator = nullptr;
+
+ std::unique_ptr<DiligentGraphicsAdapter> m_DiligentGraphics;
+
+ // Cached reference to the Window.
+ Platform::Agile<Windows::UI::Core::CoreWindow> m_window;
+
+ // Cached device properties.
+ Windows::Foundation::Size m_d3dRenderTargetSize;
+ Windows::Foundation::Size m_outputSize;
+ Windows::Foundation::Size m_logicalSize;
+ Windows::Graphics::Display::DisplayOrientations m_nativeOrientation;
+ Windows::Graphics::Display::DisplayOrientations m_currentOrientation;
+ float m_dpi;
+
+ // This is the DPI that will be reported back to the app. It takes into account whether the app supports high resolution screens or not.
+ float m_effectiveDpi;
+
+ // Transforms used for display orientation.
+ DirectX::XMFLOAT4X4 m_orientationTransform3D;
+
+ Diligent::DeviceType m_DeviceType = Diligent::DeviceType::D3D12;
+ };
+}
diff --git a/unityplugin/UnityEmulator/src/UWP/DirectXHelper.h b/unityplugin/UnityEmulator/src/UWP/DirectXHelper.h
new file mode 100644
index 0000000..958b355
--- /dev/null
+++ b/unityplugin/UnityEmulator/src/UWP/DirectXHelper.h
@@ -0,0 +1,58 @@
+#pragma once
+
+#include <ppltasks.h> // For create_task
+
+namespace DX
+{
+ inline void ThrowIfFailed(HRESULT hr)
+ {
+ if (FAILED(hr))
+ {
+ // Set a breakpoint on this line to catch Win32 API errors.
+ throw Platform::Exception::CreateException(hr);
+ }
+ }
+
+ // Function that reads from a binary file asynchronously.
+ inline Concurrency::task<std::vector<byte>> ReadDataAsync(const std::wstring& filename)
+ {
+ using namespace Windows::Storage;
+ using namespace Concurrency;
+
+ auto folder = Windows::ApplicationModel::Package::Current->InstalledLocation;
+
+ return create_task(folder->GetFileAsync(Platform::StringReference(filename.c_str()))).then([](StorageFile^ file)
+ {
+ return FileIO::ReadBufferAsync(file);
+ }).then([](Streams::IBuffer^ fileBuffer) -> std::vector<byte>
+ {
+ std::vector<byte> returnBuffer;
+ returnBuffer.resize(fileBuffer->Length);
+ Streams::DataReader::FromBuffer(fileBuffer)->ReadBytes(Platform::ArrayReference<byte>(returnBuffer.data(), fileBuffer->Length));
+ return returnBuffer;
+ });
+ }
+
+ // Converts a length in device-independent pixels (DIPs) to a length in physical pixels.
+ inline float ConvertDipsToPixels(float dips, float dpi)
+ {
+ static const float dipsPerInch = 96.0f;
+ return floorf(dips * dpi / dipsPerInch + 0.5f); // Round to nearest integer.
+ }
+
+ // Assign a name to the object to aid with debugging.
+#if defined(_DEBUG)
+ inline void SetName(ID3D12Object* pObject, LPCWSTR name)
+ {
+ pObject->SetName(name);
+ }
+#else
+ inline void SetName(ID3D12Object*, LPCWSTR)
+ {
+ }
+#endif
+}
+
+// Naming helper function for ComPtr<T>.
+// Assigns the name of the variable as the name of the object.
+#define NAME_D3D12_OBJECT(x) DX::SetName(x.Get(), L#x)
diff --git a/unityplugin/UnityEmulator/src/UWP/StepTimer.h b/unityplugin/UnityEmulator/src/UWP/StepTimer.h
new file mode 100644
index 0000000..286710c
--- /dev/null
+++ b/unityplugin/UnityEmulator/src/UWP/StepTimer.h
@@ -0,0 +1,183 @@
+#pragma once
+
+#include <wrl.h>
+
+namespace DX
+{
+ // Helper class for animation and simulation timing.
+ class StepTimer
+ {
+ public:
+ StepTimer() :
+ m_elapsedTicks(0),
+ m_totalTicks(0),
+ m_leftOverTicks(0),
+ m_frameCount(0),
+ m_framesPerSecond(0),
+ m_framesThisSecond(0),
+ m_qpcSecondCounter(0),
+ m_isFixedTimeStep(false),
+ m_targetElapsedTicks(TicksPerSecond / 60)
+ {
+ if (!QueryPerformanceFrequency(&m_qpcFrequency))
+ {
+ throw ref new Platform::FailureException();
+ }
+
+ if (!QueryPerformanceCounter(&m_qpcLastTime))
+ {
+ throw ref new Platform::FailureException();
+ }
+
+ // Initialize max delta to 1/10 of a second.
+ m_qpcMaxDelta = m_qpcFrequency.QuadPart / 10;
+ }
+
+ // Get elapsed time since the previous Update call.
+ uint64 GetElapsedTicks() const { return m_elapsedTicks; }
+ double GetElapsedSeconds() const { return TicksToSeconds(m_elapsedTicks); }
+
+ // Get total time since the start of the program.
+ uint64 GetTotalTicks() const { return m_totalTicks; }
+ double GetTotalSeconds() const { return TicksToSeconds(m_totalTicks); }
+
+ // Get total number of updates since start of the program.
+ uint32 GetFrameCount() const { return m_frameCount; }
+
+ // Get the current framerate.
+ uint32 GetFramesPerSecond() const { return m_framesPerSecond; }
+
+ // Set whether to use fixed or variable timestep mode.
+ void SetFixedTimeStep(bool isFixedTimestep) { m_isFixedTimeStep = isFixedTimestep; }
+
+ // Set how often to call Update when in fixed timestep mode.
+ void SetTargetElapsedTicks(uint64 targetElapsed) { m_targetElapsedTicks = targetElapsed; }
+ void SetTargetElapsedSeconds(double targetElapsed) { m_targetElapsedTicks = SecondsToTicks(targetElapsed); }
+
+ // Integer format represents time using 10,000,000 ticks per second.
+ static const uint64 TicksPerSecond = 10000000;
+
+ static double TicksToSeconds(uint64 ticks) { return static_cast<double>(ticks) / TicksPerSecond; }
+ static uint64 SecondsToTicks(double seconds) { return static_cast<uint64>(seconds * TicksPerSecond); }
+
+ // After an intentional timing discontinuity (for instance a blocking IO operation)
+ // call this to avoid having the fixed timestep logic attempt a set of catch-up
+ // Update calls.
+
+ void ResetElapsedTime()
+ {
+ if (!QueryPerformanceCounter(&m_qpcLastTime))
+ {
+ throw ref new Platform::FailureException();
+ }
+
+ m_leftOverTicks = 0;
+ m_framesPerSecond = 0;
+ m_framesThisSecond = 0;
+ m_qpcSecondCounter = 0;
+ }
+
+ // Update timer state, calling the specified Update function the appropriate number of times.
+ template<typename TUpdate>
+ void Tick(const TUpdate& update)
+ {
+ // Query the current time.
+ LARGE_INTEGER currentTime;
+
+ if (!QueryPerformanceCounter(&currentTime))
+ {
+ throw ref new Platform::FailureException();
+ }
+
+ uint64 timeDelta = currentTime.QuadPart - m_qpcLastTime.QuadPart;
+
+ m_qpcLastTime = currentTime;
+ m_qpcSecondCounter += timeDelta;
+
+ // Clamp excessively large time deltas (e.g. after paused in the debugger).
+ if (timeDelta > m_qpcMaxDelta)
+ {
+ timeDelta = m_qpcMaxDelta;
+ }
+
+ // Convert QPC units into a canonical tick format. This cannot overflow due to the previous clamp.
+ timeDelta *= TicksPerSecond;
+ timeDelta /= m_qpcFrequency.QuadPart;
+
+ uint32 lastFrameCount = m_frameCount;
+
+ if (m_isFixedTimeStep)
+ {
+ // Fixed timestep update logic
+
+ // If the app is running very close to the target elapsed time (within 1/4 of a millisecond) just clamp
+ // the clock to exactly match the target value. This prevents tiny and irrelevant errors
+ // from accumulating over time. Without this clamping, a game that requested a 60 fps
+ // fixed update, running with vsync enabled on a 59.94 NTSC display, would eventually
+ // accumulate enough tiny errors that it would drop a frame. It is better to just round
+ // small deviations down to zero to leave things running smoothly.
+
+ if (abs(static_cast<int64>(timeDelta - m_targetElapsedTicks)) < TicksPerSecond / 4000)
+ {
+ timeDelta = m_targetElapsedTicks;
+ }
+
+ m_leftOverTicks += timeDelta;
+
+ while (m_leftOverTicks >= m_targetElapsedTicks)
+ {
+ m_elapsedTicks = m_targetElapsedTicks;
+ m_totalTicks += m_targetElapsedTicks;
+ m_leftOverTicks -= m_targetElapsedTicks;
+ m_frameCount++;
+
+ update();
+ }
+ }
+ else
+ {
+ // Variable timestep update logic.
+ m_elapsedTicks = timeDelta;
+ m_totalTicks += timeDelta;
+ m_leftOverTicks = 0;
+ m_frameCount++;
+
+ update();
+ }
+
+ // Track the current framerate.
+ if (m_frameCount != lastFrameCount)
+ {
+ m_framesThisSecond++;
+ }
+
+ if (m_qpcSecondCounter >= static_cast<uint64>(m_qpcFrequency.QuadPart))
+ {
+ m_framesPerSecond = m_framesThisSecond;
+ m_framesThisSecond = 0;
+ m_qpcSecondCounter %= m_qpcFrequency.QuadPart;
+ }
+ }
+
+ private:
+ // Source timing data uses QPC units.
+ LARGE_INTEGER m_qpcFrequency;
+ LARGE_INTEGER m_qpcLastTime;
+ uint64 m_qpcMaxDelta;
+
+ // Derived timing data uses a canonical tick format.
+ uint64 m_elapsedTicks;
+ uint64 m_totalTicks;
+ uint64 m_leftOverTicks;
+
+ // Members for tracking the framerate.
+ uint32 m_frameCount;
+ uint32 m_framesPerSecond;
+ uint32 m_framesThisSecond;
+ uint64 m_qpcSecondCounter;
+
+ // Members for configuring fixed timestep mode.
+ bool m_isFixedTimeStep;
+ uint64 m_targetElapsedTicks;
+ };
+}
diff --git a/unityplugin/UnityEmulator/src/UWP/UnityEmulatorAppMain.cpp b/unityplugin/UnityEmulator/src/UWP/UnityEmulatorAppMain.cpp
new file mode 100644
index 0000000..ea19b7c
--- /dev/null
+++ b/unityplugin/UnityEmulator/src/UWP/UnityEmulatorAppMain.cpp
@@ -0,0 +1,209 @@
+/* Copyright 2015-2016 Egor Yusov
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF ANY PROPRIETARY RIGHTS.
+ *
+ * In no event and under no legal theory, whether in tort (including negligence),
+ * contract, or otherwise, unless required by applicable law (such as deliberate
+ * and grossly negligent acts) or agreed to in writing, shall any Contributor be
+ * liable for any damages, including any direct, indirect, special, incidental,
+ * or consequential damages of any character arising as a result of this License or
+ * out of the use or inability to use the software (including but not limited to damages
+ * for loss of goodwill, work stoppage, computer failure or malfunction, or any and
+ * all other commercial damages or losses), even if such Contributor has been advised
+ * of the possibility of such damages.
+ */
+
+#include "pch2.h"
+#include "UnityEmulatorAppMain.h"
+#include "DirectXHelper.h"
+#include "StringTools.h"
+#include "Errors.h"
+
+using namespace UnityEmulatorApp;
+using namespace Windows::Foundation;
+using namespace Windows::System::Threading;
+using namespace Concurrency;
+using namespace Diligent;
+
+// The DirectX 12 Application template is documented at http://go.microsoft.com/fwlink/?LinkID=613670&clcid=0x409
+
+HMODULE UnityEmulatorAppMain::m_DLLHandle;
+UnityEmulatorAppMain::TUnityPluginLoad UnityEmulatorAppMain::UnityPluginLoad;
+UnityEmulatorAppMain::TUnityPluginUnload UnityEmulatorAppMain::UnityPluginUnload;
+UnityEmulatorAppMain::TGetRenderEventFunc UnityEmulatorAppMain::GetRenderEventFunc;
+UnityRenderingEvent UnityEmulatorAppMain::RenderEventFunc;
+
+void* UnityEmulatorAppMain::LoadPluginFunction(const char* FunctionName)
+{
+ auto Func = GetProcAddress(m_DLLHandle, FunctionName);
+ VERIFY( Func != nullptr, "Failed to import plugin function \"", FunctionName, "\"." );
+ return Func;
+}
+
+
+bool UnityEmulatorAppMain::LoadPlugin(const char* LibPath)
+{
+ auto wLibPath = WidenString(LibPath);
+ m_DLLHandle = LoadPackagedLibrary( wLibPath.c_str(), 0);
+ if( m_DLLHandle == NULL )
+ {
+ LOG_ERROR_MESSAGE( "Failed to load ", LibPath, " library." );
+ return false;
+ }
+
+ UnityPluginLoad = reinterpret_cast<TUnityPluginLoad>( GetProcAddress(m_DLLHandle, "UnityPluginLoad") );
+ UnityPluginUnload = reinterpret_cast<TUnityPluginUnload>( GetProcAddress(m_DLLHandle, "UnityPluginUnload") );
+ GetRenderEventFunc = reinterpret_cast<TGetRenderEventFunc>( GetProcAddress(m_DLLHandle, "GetRenderEventFunc") );
+ if( UnityPluginLoad == nullptr || UnityPluginUnload == nullptr || GetRenderEventFunc == nullptr )
+ {
+ LOG_ERROR_MESSAGE( "Failed to import plugin functions from ", LibPath, " library." );
+ FreeLibrary( m_DLLHandle );
+ return false;
+ }
+
+ return true;
+}
+
+
+// Loads and initializes application assets when the application is loaded.
+UnityEmulatorAppMain::UnityEmulatorAppMain() :
+ m_scene(CreateScene())
+{
+#if defined(PLATFORM_UNIVERSAL_WINDOWS)
+ FileSystem::SetWorkingDirectory("assets");
+#endif
+
+ std::string LibName = "Assets\\";
+ LibName.append(m_scene->GetPluginName());
+
+#if _WIN64
+# if _M_ARM >= 7
+ LibName += "_arm";
+# else
+ LibName += "_64";
+# endif
+#else
+# if _M_ARM >= 7
+ LibName += "_arm";
+# else
+ LibName += "_32";
+# endif
+#endif
+
+#ifdef _DEBUG
+ LibName += "d";
+#else
+ LibName += "r";
+#endif
+
+ LibName.append(".dll");
+ if (!LoadPlugin(LibName.c_str()))
+ throw std::runtime_error("Failed to load plugin");
+
+ m_scene->OnPluginLoad(LoadPluginFunction);
+
+ // TODO: Change the timer settings if you want something other than the default variable timestep mode.
+ // e.g. for 60 FPS fixed timestep update logic, call:
+ m_timer.SetFixedTimeStep(true);
+ m_timer.SetTargetElapsedSeconds(1.0 / 60);
+}
+
+void UnityEmulatorAppMain::UnloadPlugin()
+{
+ m_deviceResources->GetUnityGraphicsEmulator()->InvokeDeviceEventCallback(kUnityGfxDeviceEventShutdown);
+ UnityPluginUnload();
+ FreeLibrary(m_DLLHandle);
+ m_DLLHandle = NULL;
+}
+
+
+UnityEmulatorAppMain::~UnityEmulatorAppMain()
+{
+ m_scene->OnPluginUnload();
+ m_scene.reset();
+ UnloadPlugin();
+}
+
+// Creates and initializes the renderers.
+void UnityEmulatorAppMain::CreateRenderers(const std::shared_ptr<DX::DeviceResources>& deviceResources)
+{
+ m_deviceResources = deviceResources;
+ m_scene->SetDiligentGraphicsAdapter(m_deviceResources->GetDiligentGraphicsAdapter());
+ m_scene->OnGraphicsInitialized();
+ m_deviceResources->SetResourceStateTransitionHandler(m_scene->GetStateTransitionHandler());
+ UnityPluginLoad(&m_deviceResources->GetUnityGraphicsEmulator()->GeUnityInterfaces());
+ RenderEventFunc = GetRenderEventFunc();
+
+ OnWindowSizeChanged();
+}
+
+// Updates the application state once per frame.
+void UnityEmulatorAppMain::Update()
+{
+ // Update scene objects.
+ m_timer.Tick([&]()
+ {
+
+ });
+}
+
+// Renders the current frame according to the current application state.
+// Returns true if the frame was rendered and is ready to be displayed.
+bool UnityEmulatorAppMain::Render()
+{
+ // Don't try to render anything before the first Update.
+ if (m_timer.GetFrameCount() == 0)
+ {
+ return false;
+ }
+
+ float CurrTime = static_cast<float>(m_timer.GetTotalSeconds());
+ float ElapsedTime = static_cast<float>(m_timer.GetElapsedSeconds());
+ m_scene->Render(RenderEventFunc, CurrTime, ElapsedTime);
+
+ return true;
+}
+
+// Updates application state when the window's size changes (e.g. device orientation change)
+void UnityEmulatorAppMain::OnWindowSizeChanged()
+{
+ auto Size = m_deviceResources->GetOutputSize();
+ m_scene->OnWindowResize(static_cast<int>(Size.Width), static_cast<int>(Size.Height));
+}
+
+// Notifies the app that it is being suspended.
+void UnityEmulatorAppMain::OnSuspending()
+{
+ // TODO: Replace this with your app's suspending logic.
+
+ // Process lifetime management may terminate suspended apps at any time, so it is
+ // good practice to save any state that will allow the app to restart where it left off.
+
+ //m_sceneRenderer->SaveState();
+
+ // If your application uses video memory allocations that are easy to re-create,
+ // consider releasing that memory to make it available to other applications.
+}
+
+// Notifes the app that it is no longer suspended.
+void UnityEmulatorAppMain::OnResuming()
+{
+ // TODO: Replace this with your app's resuming logic.
+}
+
+// Notifies renderers that device resources need to be released.
+void UnityEmulatorAppMain::OnDeviceRemoved()
+{
+ // TODO: Save any necessary application or renderer state and release the renderer
+ // and its resources which are no longer valid.
+ //m_sceneRenderer->SaveState();
+ //m_pSample = nullptr;
+}
diff --git a/unityplugin/UnityEmulator/src/UWP/UnityEmulatorAppMain.h b/unityplugin/UnityEmulator/src/UWP/UnityEmulatorAppMain.h
new file mode 100644
index 0000000..e722907
--- /dev/null
+++ b/unityplugin/UnityEmulator/src/UWP/UnityEmulatorAppMain.h
@@ -0,0 +1,70 @@
+
+/* Copyright 2015-2016 Egor Yusov
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF ANY PROPRIETARY RIGHTS.
+ *
+ * In no event and under no legal theory, whether in tort (including negligence),
+ * contract, or otherwise, unless required by applicable law (such as deliberate
+ * and grossly negligent acts) or agreed to in writing, shall any Contributor be
+ * liable for any damages, including any direct, indirect, special, incidental,
+ * or consequential damages of any character arising as a result of this License or
+ * out of the use or inability to use the software (including but not limited to damages
+ * for loss of goodwill, work stoppage, computer failure or malfunction, or any and
+ * all other commercial damages or losses), even if such Contributor has been advised
+ * of the possibility of such damages.
+ */
+
+#pragma once
+
+#include "StepTimer.h"
+#include "DeviceResources.h"
+#include "UnitySceneBase.h"
+#include "IUnityInterface.h"
+
+namespace UnityEmulatorApp
+{
+ class UnityEmulatorAppMain
+ {
+ public:
+ UnityEmulatorAppMain();
+ ~UnityEmulatorAppMain();
+ void CreateRenderers(const std::shared_ptr<DX::DeviceResources>& deviceResources);
+ void Update();
+ bool Render();
+
+ void OnWindowSizeChanged();
+ void OnSuspending();
+ void OnResuming();
+ void OnDeviceRemoved();
+
+ private:
+ using TUnityPluginLoad = void (UNITY_INTERFACE_API *)(IUnityInterfaces* unityInterfaces);
+ using TUnityPluginUnload = void (UNITY_INTERFACE_API *)();
+ using TGetRenderEventFunc = UnityRenderingEvent(UNITY_INTERFACE_API *)();
+
+ static HMODULE m_DLLHandle;
+ static TUnityPluginLoad UnityPluginLoad;
+ static TUnityPluginUnload UnityPluginUnload;
+ static TGetRenderEventFunc GetRenderEventFunc;
+ static UnityRenderingEvent RenderEventFunc;
+ static void* LoadPluginFunction(const char* FunctionName);
+
+ static bool LoadPlugin(const char* LibName);
+ void UnloadPlugin();
+
+ // Cached pointer to device resources.
+ std::shared_ptr<DX::DeviceResources> m_deviceResources;
+ std::unique_ptr<UnitySceneBase> m_scene;
+
+ // Rendering loop timer.
+ DX::StepTimer m_timer;
+ };
+}
diff --git a/unityplugin/UnityEmulator/src/UWP/pch2.h b/unityplugin/UnityEmulator/src/UWP/pch2.h
new file mode 100644
index 0000000..b90e80e
--- /dev/null
+++ b/unityplugin/UnityEmulator/src/UWP/pch2.h
@@ -0,0 +1,20 @@
+#pragma once
+
+#define NOMINIMAX
+
+#include <wrl.h>
+#include <wrl/client.h>
+#include <dxgi1_4.h>
+#include <d3d12.h>
+#include <d3d11.h>
+#include <pix.h>
+#include <DirectXColors.h>
+#include <DirectXMath.h>
+#include <memory>
+#include <vector>
+#include <agile.h>
+#include <concrt.h>
+
+#if defined(_DEBUG)
+#include <dxgidebug.h>
+#endif
diff --git a/unityplugin/UnityEmulator/src/UnityGraphicsD3D11Emulator.cpp b/unityplugin/UnityEmulator/src/UnityGraphicsD3D11Emulator.cpp
new file mode 100644
index 0000000..f6dc7e2
--- /dev/null
+++ b/unityplugin/UnityEmulator/src/UnityGraphicsD3D11Emulator.cpp
@@ -0,0 +1,370 @@
+
+#include <stdexcept>
+
+#include "UnityGraphicsD3D11Impl.h"
+
+#include "UnityGraphicsD3D11Emulator.h"
+#include "IUnityGraphicsD3D11.h"
+#include "DebugUtilities.h"
+#include "Errors.h"
+
+
+#if defined(_DEBUG)
+// Check for SDK Layer support.
+inline bool SdkLayersAvailable()
+{
+ HRESULT hr = D3D11CreateDevice(
+ nullptr,
+ D3D_DRIVER_TYPE_NULL, // There is no need to create a real hardware device.
+ 0,
+ D3D11_CREATE_DEVICE_DEBUG, // Check for the SDK layers.
+ nullptr, // Any feature level will do.
+ 0,
+ D3D11_SDK_VERSION, // Always set this to D3D11_SDK_VERSION for Windows Store apps.
+ nullptr, // No need to keep the D3D device reference.
+ nullptr, // No need to know the feature level.
+ nullptr // No need to keep the D3D device context reference.
+ );
+
+ return SUCCEEDED(hr);
+}
+#endif
+
+void UnityGraphicsD3D11Impl::CreateDeviceAndContext()
+{
+ // This flag adds support for surfaces with a different color channel ordering
+ // than the API default. It is required for compatibility with Direct2D.
+ // D3D11_CREATE_DEVICE_BGRA_SUPPORT;
+ UINT creationFlags = 0;
+
+#if defined(_DEBUG)
+ if (SdkLayersAvailable())
+ {
+ // If the project is in a debug build, enable debugging via SDK Layers with this flag.
+ creationFlags |= D3D11_CREATE_DEVICE_DEBUG;
+ }
+#endif
+
+ // This array defines the set of DirectX hardware feature levels this app will support.
+ // Note the ordering should be preserved.
+ // Don't forget to declare your application's minimum required feature level in its
+ // description. All applications are assumed to support 9.1 unless otherwise stated.
+ D3D_FEATURE_LEVEL featureLevels[] =
+ {
+#ifdef PLATFORM_UNIVERSAL_WINDOWS
+ D3D_FEATURE_LEVEL_11_1,
+#endif
+ D3D_FEATURE_LEVEL_11_0,
+ D3D_FEATURE_LEVEL_10_1,
+ D3D_FEATURE_LEVEL_10_0,
+ D3D_FEATURE_LEVEL_9_3,
+ D3D_FEATURE_LEVEL_9_2,
+ D3D_FEATURE_LEVEL_9_1
+ };
+
+ // Create the Direct3D 11 API device object and a corresponding context.
+ D3D_FEATURE_LEVEL d3dFeatureLevel = D3D_FEATURE_LEVEL_11_0;
+ HRESULT hr = D3D11CreateDevice(
+ nullptr, // Specify nullptr to use the default adapter.
+ D3D_DRIVER_TYPE_HARDWARE, // Create a device using the hardware graphics driver.
+ 0, // Should be 0 unless the driver is D3D_DRIVER_TYPE_SOFTWARE.
+ creationFlags, // Set debug and Direct2D compatibility flags.
+ featureLevels, // List of feature levels this app can support.
+ ARRAYSIZE(featureLevels), // Size of the list above.
+ D3D11_SDK_VERSION, // Always set this to D3D11_SDK_VERSION for Windows Store apps.
+ &m_d3d11Device, // Returns the Direct3D device created.
+ &d3dFeatureLevel, // Returns feature level of device created.
+ &m_d3d11Context // Returns the device immediate context.
+ );
+
+ if (FAILED(hr))
+ {
+ // If the initialization fails, fall back to the WARP device.
+ // For more information on WARP, see:
+ // http://go.microsoft.com/fwlink/?LinkId=286690
+ hr = D3D11CreateDevice(
+ nullptr,
+ D3D_DRIVER_TYPE_WARP, // Create a WARP device instead of a hardware device.
+ 0,
+ creationFlags,
+ featureLevels,
+ ARRAYSIZE(featureLevels),
+ D3D11_SDK_VERSION,
+ &m_d3d11Device,
+ &d3dFeatureLevel,
+ &m_d3d11Context
+ );
+ throw std::runtime_error("Failed to create D3D11 native device and immediate context");
+ return;
+ }
+}
+
+void UnityGraphicsD3D11Impl::CreateSwapChain(void* pNativeWndHandle, unsigned int Width, unsigned int Height)
+{
+ m_BackBufferWidth = 0;
+ m_BackBufferHeight = 0;
+
+#ifdef PLATFORM_WIN32
+ auto hWnd = reinterpret_cast<HWND>(pNativeWndHandle);
+ RECT rc;
+ GetClientRect( hWnd, &rc );
+ VERIFY_EXPR(Width = rc.right - rc.left);
+ VERIFY_EXPR(Height = rc.bottom - rc.top);
+#endif
+
+ DXGI_SWAP_CHAIN_DESC1 swapChainDesc = {};
+ swapChainDesc.Width = m_BackBufferWidth = Width;
+ swapChainDesc.Height = m_BackBufferHeight = Height;
+ // Flip model swapchains (DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL and DXGI_SWAP_EFFECT_FLIP_DISCARD) only support the following Formats:
+ // - DXGI_FORMAT_R16G16B16A16_FLOAT
+ // - DXGI_FORMAT_B8G8R8A8_UNORM
+ // - DXGI_FORMAT_R8G8B8A8_UNORM
+ // - DXGI_FORMAT_R10G10B10A2_UNORM
+ // If RGBA8_UNORM_SRGB swap chain is required, we will create RGBA8_UNORM swap chain, but
+ // create RGBA8_UNORM_SRGB render target view
+ swapChainDesc.Format = DXGI_FORMAT_R8G8B8A8_UNORM;
+ swapChainDesc.Stereo = FALSE;
+ swapChainDesc.SampleDesc.Count = 1;
+ swapChainDesc.SampleDesc.Quality = 0;
+ swapChainDesc.BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT;
+ swapChainDesc.BufferCount = 2;
+ swapChainDesc.Scaling = DXGI_SCALING_NONE;
+ swapChainDesc.SwapEffect = DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL;
+ swapChainDesc.AlphaMode = DXGI_ALPHA_MODE_UNSPECIFIED; // Not used
+ swapChainDesc.Flags = 0;
+
+ CComPtr<IDXGISwapChain1> pSwapChain1;
+
+#if defined( PLATFORM_WIN32 )
+ // This sequence obtains the DXGI factory that was used to create the Direct3D device above.
+ CComPtr<IDXGIDevice> pDXGIDevice;
+ m_d3d11Device->QueryInterface(__uuidof(IDXGIDevice), reinterpret_cast<void**>( static_cast<IDXGIDevice**>(&pDXGIDevice) ) );
+ CComPtr<IDXGIAdapter> pDXGIAdapter;
+ pDXGIDevice->GetAdapter(&pDXGIAdapter);
+ CComPtr<IDXGIFactory2> pDXGIFactory;
+ pDXGIAdapter->GetParent(__uuidof(pDXGIFactory), reinterpret_cast<void**>( static_cast<IDXGIFactory2**>(&pDXGIFactory) ));
+
+ auto hr = pDXGIFactory->CreateSwapChainForHwnd(m_d3d11Device, hWnd, &swapChainDesc, nullptr, nullptr, &pSwapChain1);
+ if(FAILED(hr))
+ throw std::runtime_error( "Failed to create DXGI swap chain" );
+
+#elif defined( PLATFORM_UNIVERSAL_WINDOWS )
+
+ CComPtr<IDXGIDevice3> pDXGIDevice;
+ m_d3d11Device->QueryInterface(__uuidof(IDXGIDevice3), reinterpret_cast<void**>(static_cast<IDXGIDevice3**>(&pDXGIDevice)));
+ CComPtr<IDXGIAdapter> pDXGIAdapter;
+ pDXGIDevice->GetAdapter(&pDXGIAdapter);
+ CComPtr<IDXGIFactory2> pDXGIFactory;
+ pDXGIAdapter->GetParent(__uuidof(pDXGIFactory), reinterpret_cast<void**>(static_cast<IDXGIFactory2**>(&pDXGIFactory)));
+
+ HRESULT hr = pDXGIFactory->CreateSwapChainForCoreWindow(
+ m_d3d11Device,
+ reinterpret_cast<IUnknown*>(pNativeWndHandle),
+ &swapChainDesc,
+ nullptr,
+ &pSwapChain1);
+ if(FAILED(hr))
+ throw std::runtime_error( "Failed to create DXGI swap chain" );
+
+ // Ensure that DXGI does not queue more than one frame at a time. This both reduces latency and
+ // ensures that the application will only render after each VSync, minimizing power consumption.
+ pDXGIDevice->SetMaximumFrameLatency( 1 );
+
+#endif
+
+ pSwapChain1->QueryInterface( __uuidof(m_SwapChain), reinterpret_cast<void**>(static_cast<IDXGISwapChain**>(&m_SwapChain)) );
+
+ CreateRTVandDSV();
+}
+
+void UnityGraphicsD3D11Impl::CreateRTVandDSV()
+{
+ m_BackBufferRTV.Release();
+ m_DepthBufferDSV.Release();
+
+ // Create a render target view
+ CComPtr<ID3D11Texture2D> pBackBuffer;
+ auto hr = m_SwapChain->GetBuffer(0, __uuidof(ID3D11Texture2D), reinterpret_cast<void**>(static_cast<ID3D11Texture2D**>(&pBackBuffer)));
+ VERIFY_EXPR(SUCCEEDED(hr));
+
+ D3D11_RENDER_TARGET_VIEW_DESC RTVDesc = {};
+ RTVDesc.ViewDimension = D3D11_RTV_DIMENSION_TEXTURE2D;
+ // We need to explicitly specify RTV format, as we may need to create RGBA8_UNORM_SRGB RTV for
+ // a RGBA8_UNORM swap chain
+ RTVDesc.Format = DXGI_FORMAT_R8G8B8A8_UNORM_SRGB;
+ RTVDesc.Texture2D.MipSlice = 0;
+ hr = m_d3d11Device->CreateRenderTargetView(pBackBuffer, &RTVDesc, &m_BackBufferRTV);
+ VERIFY_EXPR(SUCCEEDED(hr));
+
+ DXGI_SWAP_CHAIN_DESC SwapChainDesc;
+ m_SwapChain->GetDesc(&SwapChainDesc);
+ // Create depth buffer
+ D3D11_TEXTURE2D_DESC DepthBufferDesc;
+ DepthBufferDesc.Width = m_BackBufferWidth;
+ DepthBufferDesc.Height = m_BackBufferHeight;
+ DepthBufferDesc.MipLevels = 1;
+ DepthBufferDesc.ArraySize = 1;
+ auto DepthFormat = DXGI_FORMAT_D32_FLOAT;
+ DepthBufferDesc.Format = DepthFormat;
+ DepthBufferDesc.SampleDesc.Count = 1;
+ DepthBufferDesc.SampleDesc.Quality = 0;
+ DepthBufferDesc.Usage = D3D11_USAGE_DEFAULT;
+ DepthBufferDesc.BindFlags = D3D11_BIND_DEPTH_STENCIL;
+ DepthBufferDesc.CPUAccessFlags = 0;
+ DepthBufferDesc.MiscFlags = 0;
+ CComPtr<ID3D11Texture2D> ptex2DDepthBuffer;
+ hr = m_d3d11Device->CreateTexture2D(&DepthBufferDesc, NULL, &ptex2DDepthBuffer);
+ VERIFY_EXPR(SUCCEEDED(hr));
+
+ // Create DSV
+ m_d3d11Device->CreateDepthStencilView(ptex2DDepthBuffer, NULL, &m_DepthBufferDSV);
+ VERIFY_EXPR(SUCCEEDED(hr));
+
+ ID3D11RenderTargetView *DefaultRTV[] = { GetRTV() };
+ m_d3d11Context->OMSetRenderTargets(1, DefaultRTV, GetDSV());
+}
+
+
+void UnityGraphicsD3D11Impl::Present()
+{
+ UINT SyncInterval = 1; // 0
+#ifdef PLATFORM_UNIVERSAL_WINDOWS
+ SyncInterval = 1; // Interval 0 is not supported on Windows Phone
+#endif
+
+ ID3D11RenderTargetView *NullTRV[] = { nullptr };
+ m_d3d11Context->OMSetRenderTargets(1, NullTRV, nullptr);
+
+ m_SwapChain->Present( SyncInterval, 0 );
+ // A successful Present call for DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL SwapChains unbinds
+ // backbuffer 0 from all GPU writeable bind points.
+ // We need to rebind all render targets to make sure that
+ // the back buffer is not unbound
+}
+
+void UnityGraphicsD3D11Impl::ResizeSwapChain( UINT NewWidth, UINT NewHeight )
+{
+ if (NewWidth == 0 || NewHeight == 0)
+ return;
+
+ ID3D11RenderTargetView *NullTRV[] = { nullptr };
+ m_d3d11Context->OMSetRenderTargets(1, NullTRV, nullptr);
+ // Swap chain cannot be resized until all references are released
+ m_BackBufferRTV.Release();
+ m_DepthBufferDSV.Release();
+ try
+ {
+ m_BackBufferWidth = NewWidth;
+ m_BackBufferHeight = NewHeight;
+ DXGI_SWAP_CHAIN_DESC SCDes;
+ memset( &SCDes, 0, sizeof( SCDes ) );
+ m_SwapChain->GetDesc( &SCDes );
+ auto hr = m_SwapChain->ResizeBuffers(SCDes.BufferCount, m_BackBufferWidth, m_BackBufferHeight, SCDes.BufferDesc.Format,
+ SCDes.Flags);
+ if(FAILED(hr))
+ throw std::runtime_error("Failed to resize the DXGI swap chain");
+
+
+ CreateRTVandDSV();
+ }
+ catch( const std::runtime_error & )
+ {
+ LOG_ERROR( "Failed to resize the swap chain" );
+ }
+}
+
+
+std::unique_ptr<UnityGraphicsD3D11Impl> UnityGraphicsD3D11Emulator::m_GraphicsImpl;
+
+UnityGraphicsD3D11Emulator::UnityGraphicsD3D11Emulator()
+{
+ VERIFY(!m_GraphicsImpl, "Another emulator has already been initialized");
+ m_GraphicsImpl.reset( new UnityGraphicsD3D11Impl );
+ GeUnityInterfaces().RegisterInterface(IUnityGraphicsD3D11_GUID, GetUnityGraphicsAPIInterface());
+}
+
+UnityGraphicsD3D11Emulator& UnityGraphicsD3D11Emulator::GetInstance()
+{
+ static UnityGraphicsD3D11Emulator TheInstance;
+ return TheInstance;
+}
+
+void UnityGraphicsD3D11Emulator::CreateD3D11DeviceAndContext()
+{
+ m_GraphicsImpl->CreateDeviceAndContext();
+}
+
+void UnityGraphicsD3D11Emulator::CreateSwapChain(void *pNativeWndHandle, unsigned int Width, unsigned int Height)
+{
+ m_GraphicsImpl->CreateSwapChain(pNativeWndHandle, Width, Height);
+}
+
+void UnityGraphicsD3D11Emulator::Present()
+{
+ m_GraphicsImpl->Present();
+}
+
+void UnityGraphicsD3D11Emulator::Release()
+{
+ m_GraphicsImpl.reset();
+}
+
+void UnityGraphicsD3D11Emulator::ResizeSwapChain(unsigned int Width, unsigned int Height)
+{
+ m_GraphicsImpl->ResizeSwapChain(Width, Height);
+}
+
+bool UnityGraphicsD3D11Emulator::SwapChainInitialized()
+{
+ return m_GraphicsImpl->GetSwapChain() != nullptr;
+}
+
+void* UnityGraphicsD3D11Emulator::GetD3D11Device()
+{
+ return m_GraphicsImpl->GetD3D11Device();
+}
+
+static ID3D11Device* UNITY_INTERFACE_API UnityGraphicsD3D11_GetDevice()
+{
+ auto *GraphicsImpl = UnityGraphicsD3D11Emulator::GetGraphicsImpl();
+ return GraphicsImpl != nullptr ? GraphicsImpl->GetD3D11Device() : nullptr;
+}
+
+UnityGraphicsD3D11Impl* UnityGraphicsD3D11Emulator::GetGraphicsImpl()
+{
+ return m_GraphicsImpl.get();
+}
+
+IUnityInterface* UnityGraphicsD3D11Emulator::GetUnityGraphicsAPIInterface()
+{
+ static IUnityGraphicsD3D11 UnityGraphicsD3D11;
+ UnityGraphicsD3D11.GetDevice = UnityGraphicsD3D11_GetDevice;
+ return &UnityGraphicsD3D11;
+}
+
+UnityGfxRenderer UnityGraphicsD3D11Emulator::GetUnityGfxRenderer()
+{
+ return kUnityGfxRendererD3D11;
+}
+
+void UnityGraphicsD3D11Emulator::BeginFrame()
+{
+ auto d3d11Ctx = m_GraphicsImpl->GetD3D11Context();
+ ID3D11RenderTargetView *DefaultRTV[] = { m_GraphicsImpl->GetRTV() };
+ d3d11Ctx->OMSetRenderTargets(1, DefaultRTV, m_GraphicsImpl->GetDSV());
+ D3D11_VIEWPORT Viewport;
+ Viewport.TopLeftX = 0;
+ Viewport.TopLeftY = 0;
+ Viewport.Width = static_cast<float>( m_GraphicsImpl->GetBackBufferWidth() );
+ Viewport.Height = static_cast<float>( m_GraphicsImpl->GetBackBufferHeight() );
+ Viewport.MinDepth = 0;
+ Viewport.MaxDepth = 1;
+ d3d11Ctx->RSSetViewports(1, &Viewport);
+ float ClearColor[] = { 0, 0, 0.5f, 1 };
+ d3d11Ctx->ClearRenderTargetView(DefaultRTV[0], ClearColor);
+ d3d11Ctx->ClearDepthStencilView(m_GraphicsImpl->GetDSV(), D3D11_CLEAR_DEPTH, UsesReverseZ() ? 0.f : 1.f, 0);
+}
+
+void UnityGraphicsD3D11Emulator::EndFrame()
+{
+}
diff --git a/unityplugin/UnityEmulator/src/UnityGraphicsD3D11Impl.h b/unityplugin/UnityEmulator/src/UnityGraphicsD3D11Impl.h
new file mode 100644
index 0000000..183522f
--- /dev/null
+++ b/unityplugin/UnityEmulator/src/UnityGraphicsD3D11Impl.h
@@ -0,0 +1,39 @@
+#pragma once
+
+#if defined(PLATFORM_WIN32)
+ #include <d3d11.h>
+#elif defined(PLATFORM_UNIVERSAL_WINDOWS)
+ #include <d3d11_2.h>
+#endif
+
+#include <dxgi1_2.h>
+#include <atlbase.h>
+
+#include <memory>
+
+class UnityGraphicsD3D11Impl
+{
+public:
+ void CreateDeviceAndContext();
+ void CreateSwapChain(void* pNativeWndHandle, unsigned int Width, unsigned int Height);
+ void CreateRTVandDSV();
+ void Present();
+ void ResizeSwapChain(UINT NewWidth, UINT NewHeight);
+
+
+ ID3D11Device* GetD3D11Device() { return m_d3d11Device; }
+ ID3D11DeviceContext* GetD3D11Context() { return m_d3d11Context; }
+ ID3D11RenderTargetView* GetRTV() { return m_BackBufferRTV; }
+ ID3D11DepthStencilView* GetDSV() { return m_DepthBufferDSV; }
+ UINT GetBackBufferWidth()const { return m_BackBufferWidth; }
+ UINT GetBackBufferHeight()const { return m_BackBufferHeight; }
+ IDXGISwapChain* GetSwapChain(){ return m_SwapChain; }
+
+private:
+ UINT m_BackBufferWidth = 0, m_BackBufferHeight = 0;
+ CComPtr<ID3D11Device> m_d3d11Device;
+ CComPtr<ID3D11DeviceContext> m_d3d11Context;
+ CComPtr<IDXGISwapChain> m_SwapChain;
+ CComPtr<ID3D11RenderTargetView> m_BackBufferRTV;
+ CComPtr<ID3D11DepthStencilView> m_DepthBufferDSV;
+};
diff --git a/unityplugin/UnityEmulator/src/UnityGraphicsD3D12Emulator.cpp b/unityplugin/UnityEmulator/src/UnityGraphicsD3D12Emulator.cpp
new file mode 100644
index 0000000..45b7332
--- /dev/null
+++ b/unityplugin/UnityEmulator/src/UnityGraphicsD3D12Emulator.cpp
@@ -0,0 +1,558 @@
+
+#include "UnityGraphicsD3D12Impl.h"
+#include "UnityGraphicsD3D12Emulator.h"
+#include "IUnityGraphicsD3D12.h"
+#include "DebugUtilities.h"
+#include "Errors.h"
+
+UnityGraphicsD3D12Impl::UnityGraphicsD3D12Impl() :
+ m_WaitForGPUEventHandle( CreateEvent(nullptr, false, false, nullptr) )
+{
+ VERIFY_EXPR(m_WaitForGPUEventHandle != INVALID_HANDLE_VALUE);
+}
+
+UnityGraphicsD3D12Impl::~UnityGraphicsD3D12Impl()
+{
+ IdleGPU();
+ CloseHandle(m_WaitForGPUEventHandle);
+}
+
+static void GetHardwareAdapter(IDXGIFactory2* pFactory, IDXGIAdapter1** ppAdapter)
+{
+ CComPtr<IDXGIAdapter1> adapter;
+ *ppAdapter = nullptr;
+
+ for (UINT adapterIndex = 0; DXGI_ERROR_NOT_FOUND != pFactory->EnumAdapters1(adapterIndex, &adapter); ++adapterIndex)
+ {
+ DXGI_ADAPTER_DESC1 desc;
+ adapter->GetDesc1(&desc);
+
+ if (desc.Flags & DXGI_ADAPTER_FLAG_SOFTWARE)
+ {
+ // Don't select the Basic Render Driver adapter.
+ // If you want a software adapter, pass in "/warp" on the command line.
+ continue;
+ }
+
+ // Check to see if the adapter supports Direct3D 12, but don't create the
+ // actual device yet.
+ if (SUCCEEDED(D3D12CreateDevice(adapter, D3D_FEATURE_LEVEL_11_0, _uuidof(ID3D12Device), nullptr)))
+ {
+ break;
+ }
+ }
+
+ *ppAdapter = adapter.Detach();
+}
+
+
+void UnityGraphicsD3D12Impl::CreateDeviceAndCommandQueue()
+{
+#if defined(_DEBUG)
+ // Enable the D3D12 debug layer.
+ {
+ CComPtr<ID3D12Debug> debugController;
+ if (SUCCEEDED(D3D12GetDebugInterface(__uuidof(debugController), reinterpret_cast<void**>(static_cast<ID3D12Debug**>(&debugController)) )))
+ {
+ debugController->EnableDebugLayer();
+ }
+ }
+#endif
+
+ CComPtr<IDXGIFactory4> factory;
+ HRESULT hr = CreateDXGIFactory1(__uuidof(factory), reinterpret_cast<void**>(static_cast<IDXGIFactory4**>(&factory)) );
+ if(FAILED(hr)) LOG_ERROR_AND_THROW("Failed to create DXGI factory")
+
+ CComPtr<IDXGIAdapter1> hardwareAdapter;
+ GetHardwareAdapter(factory, &hardwareAdapter);
+
+ hr = D3D12CreateDevice(hardwareAdapter, D3D_FEATURE_LEVEL_11_0, __uuidof(m_D3D12Device), reinterpret_cast<void**>(static_cast<ID3D12Device**>(&m_D3D12Device)) );
+ if( FAILED(hr))
+ {
+ LOG_WARNING_MESSAGE("Failed to create hardware device. Attempting to create WARP device")
+
+ CComPtr<IDXGIAdapter> warpAdapter;
+ hr = factory->EnumWarpAdapter( __uuidof(warpAdapter), reinterpret_cast<void**>(static_cast<IDXGIAdapter**>(&warpAdapter)) );
+ if(FAILED(hr)) LOG_ERROR_AND_THROW("Failed to enum warp adapter")
+
+ hr = D3D12CreateDevice( warpAdapter, D3D_FEATURE_LEVEL_11_0, __uuidof(m_D3D12Device), reinterpret_cast<void**>(static_cast<ID3D12Device**>(&m_D3D12Device)) );
+ if(FAILED(hr)) LOG_ERROR_AND_THROW("Failed to crate warp device")
+ }
+
+#if _DEBUG
+ {
+ CComPtr<ID3D12InfoQueue> pInfoQueue;
+ hr = m_D3D12Device->QueryInterface(__uuidof(pInfoQueue), reinterpret_cast<void**>(static_cast<ID3D12InfoQueue**>(&pInfoQueue)));
+ if( SUCCEEDED(hr) )
+ {
+ // Suppress whole categories of messages
+ //D3D12_MESSAGE_CATEGORY Categories[] = {};
+
+ // Suppress messages based on their severity level
+ D3D12_MESSAGE_SEVERITY Severities[] =
+ {
+ D3D12_MESSAGE_SEVERITY_INFO
+ };
+
+ // Suppress individual messages by their ID
+ //D3D12_MESSAGE_ID DenyIds[] = {};
+
+ D3D12_INFO_QUEUE_FILTER NewFilter = {};
+ //NewFilter.DenyList.NumCategories = _countof(Categories);
+ //NewFilter.DenyList.pCategoryList = Categories;
+ NewFilter.DenyList.NumSeverities = _countof(Severities);
+ NewFilter.DenyList.pSeverityList = Severities;
+ //NewFilter.DenyList.NumIDs = _countof(DenyIds);
+ //NewFilter.DenyList.pIDList = DenyIds;
+
+ hr = pInfoQueue->PushStorageFilter(&NewFilter);
+ VERIFY(SUCCEEDED(hr), "Failed to push storage filter");
+ }
+ }
+#endif
+
+ {
+ auto hr = m_D3D12Device->CreateFence(0, D3D12_FENCE_FLAG_NONE, __uuidof(m_D3D12FrameFence), reinterpret_cast<void**>(static_cast<ID3D12Fence**>(&m_D3D12FrameFence)));
+ VERIFY(SUCCEEDED(hr), "Failed to create the fence");
+ m_D3D12FrameFence->SetName(L"Completed Frame Fence fence");
+ m_D3D12FrameFence->Signal(m_CompletedFenceValue); // 0 cmd lists are completed
+ }
+
+#ifndef RELEASE
+ // Prevent the GPU from overclocking or underclocking to get consistent timings
+ //d3d12Device->SetStablePowerState(TRUE);
+#endif
+
+ // Describe and create the command queue.
+ D3D12_COMMAND_QUEUE_DESC queueDesc = {};
+ queueDesc.Flags = D3D12_COMMAND_QUEUE_FLAG_NONE;
+ queueDesc.Type = D3D12_COMMAND_LIST_TYPE_DIRECT;
+
+ hr = m_D3D12Device->CreateCommandQueue(&queueDesc, __uuidof(m_D3D12CmdQueue), reinterpret_cast<void**>(static_cast<ID3D12CommandQueue**>(&m_D3D12CmdQueue)));
+ if(FAILED(hr)) LOG_ERROR_AND_THROW("Failed to create command queue")
+
+ hr = m_D3D12Device->SetName(L"Main Command Queue");
+ VERIFY_EXPR(SUCCEEDED(hr));
+}
+
+void UnityGraphicsD3D12Impl::CreateSwapChain(void* pNativeWndHandle, unsigned int Width, unsigned int Height)
+{
+#ifdef PLATFORM_WIN32
+ auto hWnd = reinterpret_cast<HWND>(pNativeWndHandle);
+ RECT rc;
+ GetClientRect( hWnd, &rc );
+ VERIFY_EXPR(Width = rc.right - rc.left);
+ VERIFY_EXPR(Height = rc.bottom - rc.top);
+#endif
+
+ DXGI_SWAP_CHAIN_DESC1 swapChainDesc = {};
+ swapChainDesc.Width = m_BackBufferWidth = Width;
+ swapChainDesc.Height = m_BackBufferHeight = Height;
+ // Flip model swapchains (DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL and DXGI_SWAP_EFFECT_FLIP_DISCARD) only support the following Formats:
+ // - DXGI_FORMAT_R16G16B16A16_FLOAT
+ // - DXGI_FORMAT_B8G8R8A8_UNORM
+ // - DXGI_FORMAT_R8G8B8A8_UNORM
+ // - DXGI_FORMAT_R10G10B10A2_UNORM
+ // We will create RGBA8_UNORM swap chain, but RGBA8_UNORM_SRGB render target view
+ swapChainDesc.Format = DXGI_FORMAT_R8G8B8A8_UNORM;
+ swapChainDesc.Stereo = FALSE;
+ swapChainDesc.SampleDesc.Count = 1;
+ swapChainDesc.SampleDesc.Quality = 0;
+ swapChainDesc.BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT;
+ swapChainDesc.BufferCount = m_BackBuffersCount;
+ swapChainDesc.Scaling = DXGI_SCALING_NONE;
+ swapChainDesc.SwapEffect = DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL;
+ swapChainDesc.AlphaMode = DXGI_ALPHA_MODE_UNSPECIFIED; // Not used
+ swapChainDesc.Flags = 0;
+
+ CComPtr<IDXGISwapChain1> pSwapChain1;
+ CComPtr<IDXGIFactory4> factory;
+ HRESULT hr = CreateDXGIFactory1(__uuidof(factory), reinterpret_cast<void**>(static_cast<IDXGIFactory4**>(&factory)) );
+ if(FAILED(hr))LOG_ERROR_AND_THROW("Failed to create DXGI factory")
+
+#if defined( PLATFORM_WIN32 )
+ hr = factory->CreateSwapChainForHwnd(m_D3D12CmdQueue, hWnd, &swapChainDesc, nullptr, nullptr, &pSwapChain1);
+ if(FAILED(hr))LOG_ERROR_AND_THROW("Failed to create Swap Chain" );
+
+ // This sample does not support fullscreen transitions.
+ hr = factory->MakeWindowAssociation(hWnd, DXGI_MWA_NO_WINDOW_CHANGES | DXGI_MWA_NO_ALT_ENTER);
+
+#elif defined( PLATFORM_UNIVERSAL_WINDOWS )
+
+ hr = factory->CreateSwapChainForCoreWindow(
+ m_D3D12CmdQueue,
+ reinterpret_cast<IUnknown*>(pNativeWndHandle),
+ &swapChainDesc,
+ nullptr,
+ &pSwapChain1);
+ if(FAILED(hr))LOG_ERROR_AND_THROW("Failed to create DXGI swap chain" );
+
+ // Ensure that DXGI does not queue more than one frame at a time. This both reduces latency and
+ // ensures that the application will only render after each VSync, minimizing power consumption.
+ //pDXGIDevice->SetMaximumFrameLatency( 1 );
+#endif
+
+ pSwapChain1->QueryInterface(__uuidof(m_SwapChain), reinterpret_cast<void**>( static_cast<IDXGISwapChain3**>(&m_SwapChain) ));
+
+ m_FrameIndex = m_SwapChain->GetCurrentBackBufferIndex();
+
+ InitBuffersAndViews();
+}
+
+void UnityGraphicsD3D12Impl::InitBuffersAndViews()
+{
+ // Create RTV descriptor heap
+ if (!m_RTVDescriptorHeap)
+ {
+ // Describe and create a render target view (RTV) descriptor heap.
+ D3D12_DESCRIPTOR_HEAP_DESC rtvHeapDesc = {};
+ rtvHeapDesc.NumDescriptors = m_BackBuffersCount;
+ rtvHeapDesc.Type = D3D12_DESCRIPTOR_HEAP_TYPE_RTV;
+ rtvHeapDesc.Flags = D3D12_DESCRIPTOR_HEAP_FLAG_NONE;
+ auto hr = m_D3D12Device->CreateDescriptorHeap(&rtvHeapDesc, IID_PPV_ARGS(&m_RTVDescriptorHeap));
+ if (FAILED(hr))LOG_ERROR_AND_THROW("Failed to create RTV descriptor heap")
+
+ m_rtvDescriptorSize = m_D3D12Device->GetDescriptorHandleIncrementSize(D3D12_DESCRIPTOR_HEAP_TYPE_RTV);
+ }
+
+ // Create DSV descriptor heap
+ if (!m_DSVDescriptorHeap)
+ {
+ D3D12_DESCRIPTOR_HEAP_DESC rtvHeapDesc = {};
+ rtvHeapDesc.NumDescriptors = 1;
+ rtvHeapDesc.Type = D3D12_DESCRIPTOR_HEAP_TYPE_DSV;
+ rtvHeapDesc.Flags = D3D12_DESCRIPTOR_HEAP_FLAG_NONE;
+ auto hr = m_D3D12Device->CreateDescriptorHeap(&rtvHeapDesc, IID_PPV_ARGS(&m_DSVDescriptorHeap));
+ if (FAILED(hr))LOG_ERROR_AND_THROW("Failed to create DSV descriptor heap")
+ }
+
+ {
+ // Create render target views
+ D3D12_CPU_DESCRIPTOR_HANDLE rtvHandle = m_RTVDescriptorHeap->GetCPUDescriptorHandleForHeapStart();
+ // Create a RTV for each frame.
+ for (UINT n = 0; n < m_BackBuffersCount; n++)
+ {
+ auto hr = m_SwapChain->GetBuffer(n, IID_PPV_ARGS(&m_RenderTargets[n]));
+
+ D3D12_RENDER_TARGET_VIEW_DESC RTVDesc = {};
+ RTVDesc.ViewDimension = D3D12_RTV_DIMENSION_TEXTURE2D;
+ RTVDesc.Format = DXGI_FORMAT_R8G8B8A8_UNORM_SRGB;
+ RTVDesc.Texture2D.MipSlice = 0;
+ RTVDesc.Texture2D.PlaneSlice = 0;
+ m_D3D12Device->CreateRenderTargetView(m_RenderTargets[n], &RTVDesc, rtvHandle);
+ rtvHandle.ptr += m_rtvDescriptorSize;
+ }
+ }
+
+ // Create depth-stencil buffer
+ {
+ D3D12_HEAP_PROPERTIES HeapProps;
+ HeapProps.Type = D3D12_HEAP_TYPE_DEFAULT;
+ HeapProps.CPUPageProperty = D3D12_CPU_PAGE_PROPERTY_UNKNOWN;
+ HeapProps.MemoryPoolPreference = D3D12_MEMORY_POOL_UNKNOWN;
+ HeapProps.CreationNodeMask = 1;
+ HeapProps.VisibleNodeMask = 1;
+
+ D3D12_RESOURCE_DESC Desc = {};
+ Desc.Dimension = D3D12_RESOURCE_DIMENSION_TEXTURE2D;
+ Desc.Alignment = 0;
+ Desc.Width = m_BackBufferWidth;
+ Desc.Height = m_BackBufferHeight;
+ Desc.DepthOrArraySize = 1;
+ Desc.MipLevels = 1;
+ Desc.Format = DXGI_FORMAT_D32_FLOAT;
+ Desc.SampleDesc.Count = 1;
+ Desc.Layout = D3D12_TEXTURE_LAYOUT_UNKNOWN;
+ Desc.Flags = D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL;
+
+ D3D12_CLEAR_VALUE ClearValue = {};
+ ClearValue.DepthStencil.Depth = 0.f;
+ ClearValue.Format = Desc.Format;
+ auto hr = m_D3D12Device->CreateCommittedResource( &HeapProps, D3D12_HEAP_FLAG_NONE,
+ &Desc, D3D12_RESOURCE_STATE_DEPTH_WRITE, &ClearValue, __uuidof(m_DepthStencilBuffer), reinterpret_cast<void**>(static_cast<ID3D12Resource**>(&m_DepthStencilBuffer)) );
+ if(FAILED(hr))LOG_ERROR_AND_THROW("Failed to create depth-stencil buffer")
+
+ // Create depth-stencil view
+ D3D12_CPU_DESCRIPTOR_HANDLE dsvHandle = m_DSVDescriptorHeap->GetCPUDescriptorHandleForHeapStart();
+ m_D3D12Device->CreateDepthStencilView(m_DepthStencilBuffer, nullptr, dsvHandle);
+ }
+}
+
+void UnityGraphicsD3D12Impl::Present()
+{
+ UINT SyncInterval = 0;
+#ifdef PLATFORM_UNIVERSAL_WINDOWS
+ SyncInterval = 1; // Interval 0 is not supported on Windows Phone
+#endif
+
+ //pImmediateCtxD3D12->Flush();
+
+ auto hr = m_SwapChain->Present( SyncInterval, 0 );
+ VERIFY(SUCCEEDED(hr), "Present failed");
+
+ //auto *pDeviceD3D12 = ValidatedCast<RenderDeviceD3D12Impl>( pImmediateCtxD3D12->GetDevice() );
+ //pDeviceD3D12->FinishFrame();
+ m_FrameIndex = m_SwapChain->GetCurrentBackBufferIndex();
+}
+
+void UnityGraphicsD3D12Impl::ResizeSwapChain( UINT NewWidth, UINT NewHeight )
+{
+ if (NewWidth == 0 || NewHeight == 0)
+ return;
+
+ IdleGPU();
+
+ for (auto &rtv : m_RenderTargets) rtv.Release();
+ m_DepthStencilBuffer.Release();
+
+ m_BackBufferWidth = NewWidth;
+ m_BackBufferHeight = NewHeight;
+
+ DXGI_SWAP_CHAIN_DESC SCDes;
+ memset( &SCDes, 0, sizeof( SCDes ) );
+ m_SwapChain->GetDesc( &SCDes );
+ auto hr = m_SwapChain->ResizeBuffers(SCDes.BufferCount, NewWidth, NewHeight, SCDes.BufferDesc.Format, SCDes.Flags);
+ if(FAILED(hr))
+ LOG_ERROR_MESSAGE("Failed to resize swap chain")
+
+ m_FrameIndex = m_SwapChain->GetCurrentBackBufferIndex();
+
+ InitBuffersAndViews();
+}
+
+bool UnityGraphicsD3D12Emulator::SwapChainInitialized()
+{
+ return m_GraphicsImpl->GetSwapChain() != nullptr;
+}
+
+void* UnityGraphicsD3D12Emulator::GetD3D12Device()
+{
+ return m_GraphicsImpl->GetD3D12Device();
+}
+
+
+CComPtr<ID3D12CommandAllocator> UnityGraphicsD3D12Impl::GetCommandAllocator()
+{
+ if (m_CmdAllocator)
+ return m_CmdAllocator;
+
+ if (!m_DiscardedAllocators.empty())
+ {
+ auto& AllocatorPair = m_DiscardedAllocators.front();
+ if ( IsFenceCompleted(AllocatorPair.first) )
+ {
+ m_CmdAllocator = AllocatorPair.second;
+ auto hr = m_CmdAllocator->Reset();
+ VERIFY_EXPR(SUCCEEDED(hr));
+ m_DiscardedAllocators.pop_front();
+ }
+ }
+
+ // If no allocators were ready to be reused, create a new one
+ if (!m_CmdAllocator)
+ {
+ auto hr = m_D3D12Device->CreateCommandAllocator(D3D12_COMMAND_LIST_TYPE_DIRECT, __uuidof(m_CmdAllocator), reinterpret_cast<void**>(&m_CmdAllocator));
+ VERIFY(SUCCEEDED(hr), "Failed to create command allocator")
+ m_CmdAllocator->SetName(L"UnityGraphicsD3D12Impl: cmd list allocator");
+ }
+
+ return m_CmdAllocator;
+}
+
+void UnityGraphicsD3D12Impl::DiscardCommandAllocator()
+{
+ VERIFY_EXPR(m_CmdAllocator);
+ m_DiscardedAllocators.emplace_back( m_NextFenceValue, m_CmdAllocator );
+ m_CmdAllocator.Release();
+}
+
+bool UnityGraphicsD3D12Impl::IsFenceCompleted(UINT64 FenceValue)
+{
+ m_CompletedFenceValue = m_D3D12FrameFence->GetCompletedValue();
+ return FenceValue <= m_CompletedFenceValue;
+}
+
+void UnityGraphicsD3D12Impl::IdleGPU()
+{
+ auto SignaledValue = m_NextFenceValue;
+ m_D3D12CmdQueue->Signal(m_D3D12FrameFence, SignaledValue);
+ ++m_NextFenceValue;
+
+ if (m_D3D12FrameFence->GetCompletedValue() < SignaledValue)
+ {
+ // Wait for the fence
+ m_D3D12FrameFence->SetEventOnCompletion(SignaledValue, m_WaitForGPUEventHandle);
+ WaitForSingleObject(m_WaitForGPUEventHandle, INFINITE);
+ }
+}
+
+UINT64 UnityGraphicsD3D12Impl::ExecuteCommandList(ID3D12CommandList *pCmdList)
+{
+ ID3D12CommandList *CmdLists[] = { pCmdList };
+ m_D3D12CmdQueue->ExecuteCommandLists(1, CmdLists);
+ auto FenceValue = m_NextFenceValue;
+ m_D3D12CmdQueue->Signal(m_D3D12FrameFence, m_NextFenceValue++);
+ return FenceValue;
+}
+
+void UnityGraphicsD3D12Impl::TransitonResourceStates(int stateCount, UnityGraphicsD3D12ResourceState* states)
+{
+ if (stateCount >= 0)
+ {
+ VERIFY(m_pStateTransitionHandler != nullptr, "State transition handler is not set")
+ m_pStateTransitionHandler->TransitionResources(stateCount, states);
+ }
+}
+
+
+std::unique_ptr<UnityGraphicsD3D12Impl> UnityGraphicsD3D12Emulator::m_GraphicsImpl;
+
+UnityGraphicsD3D12Emulator::UnityGraphicsD3D12Emulator()
+{
+ VERIFY(!m_GraphicsImpl, "Another emulator has already been initialized");
+ m_GraphicsImpl.reset( new UnityGraphicsD3D12Impl );
+ GeUnityInterfaces().RegisterInterface(IUnityGraphicsD3D12v2_GUID, GetUnityGraphicsAPIInterface());
+}
+
+UnityGraphicsD3D12Emulator& UnityGraphicsD3D12Emulator::GetInstance()
+{
+ static UnityGraphicsD3D12Emulator TheInstance;
+ return TheInstance;
+}
+
+void UnityGraphicsD3D12Emulator::CreateD3D12DeviceAndCommandQueue()
+{
+ m_GraphicsImpl->CreateDeviceAndCommandQueue();
+}
+
+void UnityGraphicsD3D12Emulator::CreateSwapChain(void *pNativeWndHandle, unsigned int Width, unsigned int Height)
+{
+ m_GraphicsImpl->CreateSwapChain(pNativeWndHandle, Width, Height);
+}
+
+void UnityGraphicsD3D12Emulator::SetTransitionHandler(IResourceStateTransitionHandler *pTransitionHandler)
+{
+ m_GraphicsImpl->SetTransitionHandler(pTransitionHandler);
+}
+
+void UnityGraphicsD3D12Emulator::Present()
+{
+ m_GraphicsImpl->Present();
+}
+
+void UnityGraphicsD3D12Emulator::Release()
+{
+ m_GraphicsImpl.reset();
+}
+
+void UnityGraphicsD3D12Emulator::ResizeSwapChain(unsigned int Width, unsigned int Height)
+{
+ m_GraphicsImpl->ResizeSwapChain(Width, Height);
+}
+
+static ID3D12Device* UNITY_INTERFACE_API UnityGraphicsD3D12_GetDevice()
+{
+ auto *GraphicsImpl = UnityGraphicsD3D12Emulator::GetGraphicsImpl();
+ return GraphicsImpl != nullptr ? GraphicsImpl->GetD3D12Device() : nullptr;
+}
+
+static UINT64 UNITY_INTERFACE_API UnityGraphicsD3D12_ExecuteCommandList(ID3D12GraphicsCommandList* commandList, int stateCount, UnityGraphicsD3D12ResourceState* states)
+{
+ auto *GraphicsImpl = UnityGraphicsD3D12Emulator::GetGraphicsImpl();
+ if (GraphicsImpl != nullptr)
+ {
+ if (stateCount > 0)
+ GraphicsImpl->TransitonResourceStates(stateCount, states);
+ return GraphicsImpl->ExecuteCommandList(commandList);
+ }
+ return 0;
+}
+
+UINT64 UNITY_INTERFACE_API UnityGraphicsD3D12_GetNextFrameFenceValue()
+{
+ auto *GraphicsImpl = UnityGraphicsD3D12Emulator::GetGraphicsImpl();
+ return GraphicsImpl != nullptr ? GraphicsImpl->GetNextFenceValue() : 0;
+}
+
+static ID3D12Fence* UNITY_INTERFACE_API UnityGraphicsD3D12_GetFrameFence()
+{
+ auto *GraphicsImpl = UnityGraphicsD3D12Emulator::GetGraphicsImpl();
+ return GraphicsImpl != nullptr ? GraphicsImpl->GetFrameFence() : nullptr;
+}
+
+UnityGraphicsD3D12Impl* UnityGraphicsD3D12Emulator::GetGraphicsImpl()
+{
+ return m_GraphicsImpl.get();
+}
+
+IUnityInterface* UnityGraphicsD3D12Emulator::GetUnityGraphicsAPIInterface()
+{
+ static IUnityGraphicsD3D12v2 UnityGraphicsD3D12;
+ UnityGraphicsD3D12.GetDevice = UnityGraphicsD3D12_GetDevice;
+ UnityGraphicsD3D12.ExecuteCommandList = UnityGraphicsD3D12_ExecuteCommandList;
+ UnityGraphicsD3D12.GetFrameFence = UnityGraphicsD3D12_GetFrameFence;
+ UnityGraphicsD3D12.GetNextFrameFenceValue = UnityGraphicsD3D12_GetNextFrameFenceValue;
+ return &UnityGraphicsD3D12;
+}
+
+UnityGfxRenderer UnityGraphicsD3D12Emulator::GetUnityGfxRenderer()
+{
+ return kUnityGfxRendererD3D12;
+}
+
+void UnityGraphicsD3D12Emulator::BeginFrame()
+{
+ auto Device = m_GraphicsImpl->GetD3D12Device();
+ auto CmdListAllocator = m_GraphicsImpl->GetCommandAllocator();
+ ID3D12GraphicsCommandList* CmdList;
+ auto hr = Device->CreateCommandList(1, D3D12_COMMAND_LIST_TYPE_DIRECT, CmdListAllocator, nullptr, __uuidof(CmdList), reinterpret_cast<void**>(&CmdList) );
+ VERIFY(SUCCEEDED(hr), "Failed to create command list");
+
+ D3D12_CPU_DESCRIPTOR_HANDLE RTV = m_GraphicsImpl->GetRTV();
+ D3D12_CPU_DESCRIPTOR_HANDLE DSV = m_GraphicsImpl->GetDSV();
+ CmdList->OMSetRenderTargets(1, &RTV, FALSE, &DSV);
+ D3D12_VIEWPORT Viewport;
+ Viewport.TopLeftX = 0;
+ Viewport.TopLeftY = 0;
+ Viewport.Width = static_cast<float>( m_GraphicsImpl->GetBackBufferWidth() );
+ Viewport.Height = static_cast<float>( m_GraphicsImpl->GetBackBufferHeight() );
+ Viewport.MinDepth = 0;
+ Viewport.MaxDepth = 1;
+ CmdList->RSSetViewports(1, &Viewport);
+ float ClearColor[] = { 0, 0, 0.5f, 1 };
+ D3D12_RESOURCE_BARRIER RTVBarrier = {};
+ RTVBarrier.Type = D3D12_RESOURCE_BARRIER_TYPE_TRANSITION;
+ RTVBarrier.Transition.pResource = m_GraphicsImpl->GetCurrentBackBuffer();
+ RTVBarrier.Transition.Subresource = D3D12_RESOURCE_BARRIER_ALL_SUBRESOURCES;
+ RTVBarrier.Transition.StateBefore = D3D12_RESOURCE_STATE_PRESENT;
+ RTVBarrier.Transition.StateAfter = D3D12_RESOURCE_STATE_RENDER_TARGET;
+ CmdList->ResourceBarrier(1, &RTVBarrier);
+ CmdList->ClearRenderTargetView(RTV, ClearColor, 0, nullptr);
+ CmdList->ClearDepthStencilView(DSV, D3D12_CLEAR_FLAG_DEPTH, UsesReverseZ() ? 0.f : 1.f, 0, 0, nullptr);
+
+ CmdList->Close();
+ m_GraphicsImpl->ExecuteCommandList(CmdList);
+ CmdList->Release();
+}
+
+void UnityGraphicsD3D12Emulator::EndFrame()
+{
+ auto CmdListAllocator = m_GraphicsImpl->GetCommandAllocator();
+ ID3D12GraphicsCommandList* CmdList = nullptr;
+ auto Device = m_GraphicsImpl->GetD3D12Device();
+ auto hr = Device->CreateCommandList(1, D3D12_COMMAND_LIST_TYPE_DIRECT, CmdListAllocator, nullptr, __uuidof(CmdList), reinterpret_cast<void**>(&CmdList) );
+ VERIFY(SUCCEEDED(hr), "Failed to create command list");
+
+ D3D12_RESOURCE_BARRIER RTVBarrier = {};
+ RTVBarrier.Type = D3D12_RESOURCE_BARRIER_TYPE_TRANSITION;
+ RTVBarrier.Transition.pResource = m_GraphicsImpl->GetCurrentBackBuffer();
+ RTVBarrier.Transition.Subresource = D3D12_RESOURCE_BARRIER_ALL_SUBRESOURCES;
+ RTVBarrier.Transition.StateBefore = D3D12_RESOURCE_STATE_RENDER_TARGET;
+ RTVBarrier.Transition.StateAfter = D3D12_RESOURCE_STATE_PRESENT;
+ CmdList->ResourceBarrier(1, &RTVBarrier);
+ CmdList->Close();
+ m_GraphicsImpl->ExecuteCommandList(CmdList);
+ CmdList->Release();
+
+ m_GraphicsImpl->DiscardCommandAllocator();
+}
diff --git a/unityplugin/UnityEmulator/src/UnityGraphicsD3D12Impl.h b/unityplugin/UnityEmulator/src/UnityGraphicsD3D12Impl.h
new file mode 100644
index 0000000..df496c7
--- /dev/null
+++ b/unityplugin/UnityEmulator/src/UnityGraphicsD3D12Impl.h
@@ -0,0 +1,84 @@
+#pragma once
+
+#include <stdexcept>
+#include <deque>
+
+#define NOMINMAX
+#include <D3D12.h>
+#include <dxgi1_4.h>
+#include <atlbase.h>
+
+#include "IUnityGraphicsD3D12.h"
+#include "ResourceStateTransitionHandler.h"
+
+class UnityGraphicsD3D12Impl
+{
+public:
+
+ UnityGraphicsD3D12Impl();
+ ~UnityGraphicsD3D12Impl();
+
+ void CreateDeviceAndCommandQueue();
+
+ void CreateSwapChain(void* pNativeWndHandle, unsigned int Width, unsigned int Height);
+
+ void InitBuffersAndViews();
+
+ void Present();
+ void ResizeSwapChain( UINT NewWidth, UINT NewHeight );
+
+ CComPtr<ID3D12CommandAllocator> GetCommandAllocator();
+
+ void DiscardCommandAllocator();
+
+ bool IsFenceCompleted(UINT64 FenceValue);
+
+ void IdleGPU();
+
+ IDXGISwapChain3* GetDXGISwapChain() { return m_SwapChain; }
+ ID3D12Resource* GetDepthBuffer() { return m_DepthStencilBuffer; }
+ ID3D12Device* GetD3D12Device() { return m_D3D12Device; }
+ ID3D12CommandQueue* GetCommandQueue() { return m_D3D12CmdQueue; }
+ ID3D12Fence* GetFrameFence() { return m_D3D12FrameFence; }
+ ID3D12Resource *GetCurrentBackBuffer() { return m_RenderTargets[m_FrameIndex]; }
+ UINT GetCurrentBackBufferIndex() { return m_FrameIndex; }
+
+ UINT GetBackBufferWidth()const { return m_BackBufferWidth; }
+ UINT GetBackBufferHeight()const { return m_BackBufferHeight; }
+ D3D12_CPU_DESCRIPTOR_HANDLE GetDSV() { return m_DSVDescriptorHeap->GetCPUDescriptorHandleForHeapStart(); }
+ D3D12_CPU_DESCRIPTOR_HANDLE GetRTV()
+ {
+ auto RTVHandle = m_RTVDescriptorHeap->GetCPUDescriptorHandleForHeapStart();
+ RTVHandle.ptr += m_rtvDescriptorSize * m_FrameIndex;
+ return RTVHandle;
+ }
+ UINT64 GetNextFenceValue() { return m_NextFenceValue; }
+ UINT64 GetCompletedFenceValue() { return m_D3D12FrameFence->GetCompletedValue(); }
+ UINT64 ExecuteCommandList(ID3D12CommandList *pCmdList);
+ void SetTransitionHandler(IResourceStateTransitionHandler *pTransitionHandler) { m_pStateTransitionHandler = pTransitionHandler; }
+ void TransitonResourceStates(int stateCount, UnityGraphicsD3D12ResourceState* states);
+ IDXGISwapChain3* GetSwapChain(){ return m_SwapChain; }
+
+private:
+
+ UINT m_BackBufferWidth, m_BackBufferHeight;
+ static const UINT m_BackBuffersCount = 3;
+
+ UINT m_FrameIndex = 0;
+ CComPtr<ID3D12Device> m_D3D12Device;
+ CComPtr<ID3D12CommandQueue> m_D3D12CmdQueue;
+ CComPtr<IDXGISwapChain3> m_SwapChain;
+ CComPtr<ID3D12Fence> m_D3D12FrameFence;
+ UINT64 m_NextFenceValue = 1;
+ UINT64 m_CompletedFenceValue = 0;
+ UINT m_rtvDescriptorSize;
+ CComPtr<ID3D12DescriptorHeap> m_RTVDescriptorHeap;
+ CComPtr<ID3D12DescriptorHeap> m_DSVDescriptorHeap;
+ CComPtr<ID3D12Resource> m_RenderTargets[m_BackBuffersCount];
+ CComPtr<ID3D12Resource> m_DepthStencilBuffer;
+ CComPtr<ID3D12CommandAllocator> m_CmdAllocator;
+ HANDLE m_WaitForGPUEventHandle = {};
+
+ std::deque< std::pair<UINT64, CComPtr<ID3D12CommandAllocator> > > m_DiscardedAllocators;
+ IResourceStateTransitionHandler *m_pStateTransitionHandler = nullptr;
+};
diff --git a/unityplugin/UnityEmulator/src/UnityGraphicsEmulator.cpp b/unityplugin/UnityEmulator/src/UnityGraphicsEmulator.cpp
new file mode 100644
index 0000000..cb21cfb
--- /dev/null
+++ b/unityplugin/UnityEmulator/src/UnityGraphicsEmulator.cpp
@@ -0,0 +1,90 @@
+#include "UnityGraphicsEmulator.h"
+#include "DebugUtilities.h"
+#include "IUnityGraphics.h"
+
+UnityGraphicsEmulator *UnityGraphicsEmulator::m_Instance = nullptr;
+
+UnityGfxRenderer UNITY_INTERFACE_API GetUnityRenderer()
+{
+ return UnityGraphicsEmulator::GetInstance().GetUnityGfxRenderer();
+}
+
+void UNITY_INTERFACE_API RegisterUnityDeviceEventCallback(IUnityGraphicsDeviceEventCallback callback)
+{
+ UnityGraphicsEmulator::GetInstance().RegisterDeviceEventCallback(callback);
+}
+
+void UNITY_INTERFACE_API UnregisterUnityDeviceEventCallback(IUnityGraphicsDeviceEventCallback callback)
+{
+ UnityGraphicsEmulator::GetInstance().UnregisterDeviceEventCallback(callback);
+}
+
+void UnityGraphicsEmulator::RegisterDeviceEventCallback(IUnityGraphicsDeviceEventCallback callback)
+{
+ m_DeviceEventCallbacks.emplace_back(callback);
+}
+
+void UnityGraphicsEmulator::UnregisterDeviceEventCallback(IUnityGraphicsDeviceEventCallback callback)
+{
+ size_t i = 0;
+ while (i < m_DeviceEventCallbacks.size())
+ {
+ if (m_DeviceEventCallbacks[i] == callback)
+ m_DeviceEventCallbacks.erase(m_DeviceEventCallbacks.begin() + i);
+ else
+ ++i;
+ }
+}
+
+void UnityGraphicsEmulator::InvokeDeviceEventCallback(UnityGfxDeviceEventType eventType)
+{
+ for (auto callback : m_DeviceEventCallbacks)
+ (*callback)(eventType);
+}
+
+//static void Get
+UnityGraphicsEmulator::UnityGraphicsEmulator()
+{
+ VERIFY(m_Instance == nullptr, "Only single instance of UnityGraphicsEmulator must be initialized")
+ m_Instance = this;
+ static IUnityGraphics UnityGraphics;
+ UnityGraphics.GetRenderer = GetUnityRenderer;
+ UnityGraphics.RegisterDeviceEventCallback = RegisterUnityDeviceEventCallback;
+ UnityGraphics.UnregisterDeviceEventCallback = UnregisterUnityDeviceEventCallback;
+ RegisterInterface(IUnityGraphics_GUID, &UnityGraphics);
+}
+
+static IUnityInterface* UNITY_INTERFACE_API GetUnityInterface(UnityInterfaceGUID guid)
+{
+ return UnityGraphicsEmulator::GetInstance().GetInterface(guid);
+}
+
+static void UNITY_INTERFACE_API RegisterUnityInterface(UnityInterfaceGUID guid, IUnityInterface* ptr)
+{
+ return UnityGraphicsEmulator::GetInstance().RegisterInterface(guid, ptr);
+}
+
+void UnityGraphicsEmulator::RegisterInterface(const UnityInterfaceGUID &guid, IUnityInterface* ptr)
+{
+ m_Interfaces.emplace_back(guid, ptr);
+}
+
+IUnityInterface* UnityGraphicsEmulator::GetInterface(const UnityInterfaceGUID &guid)
+{
+ for (auto &ifaces : m_Interfaces)
+ {
+ if (ifaces.first == guid)
+ return ifaces.second;
+ }
+ return nullptr;
+}
+
+
+IUnityInterfaces &UnityGraphicsEmulator::GeUnityInterfaces()
+{
+ static IUnityInterfaces UnityInterfaces;
+ UnityInterfaces.GetInterface = GetUnityInterface;
+ UnityInterfaces.RegisterInterface = RegisterUnityInterface;
+
+ return UnityInterfaces;
+}
diff --git a/unityplugin/UnityEmulator/src/UnityGraphicsGLCoreES_Emulator.cpp b/unityplugin/UnityEmulator/src/UnityGraphicsGLCoreES_Emulator.cpp
new file mode 100644
index 0000000..5047b32
--- /dev/null
+++ b/unityplugin/UnityEmulator/src/UnityGraphicsGLCoreES_Emulator.cpp
@@ -0,0 +1,87 @@
+#include "UnityGraphicsGL_Impl.h"
+
+#include "UnityGraphicsGLCoreES_Emulator.h"
+
+#if OPENGL_SUPPORTED
+
+#include "DebugUtilities.h"
+#include "Errors.h"
+
+std::unique_ptr<UnityGraphicsGL_Impl> UnityGraphicsGLCoreES_Emulator::m_GraphicsImpl;
+
+UnityGraphicsGLCoreES_Emulator::UnityGraphicsGLCoreES_Emulator()
+{
+ VERIFY(!m_GraphicsImpl, "Another emulator has already been initialized");
+ m_GraphicsImpl.reset( new UnityGraphicsGL_Impl );
+ //GeUnityInterfaces().RegisterInterface(IUnityGraphicsGLCoreES__GUID, GetUnityGraphicsAPIInterface());
+}
+
+void UnityGraphicsGLCoreES_Emulator::InitGLContext(void *pNativeWndHandle, int MajorVersion, int MinorVersion)
+{
+ m_GraphicsImpl->InitGLContext(pNativeWndHandle, MajorVersion, MinorVersion);
+}
+
+UnityGraphicsGLCoreES_Emulator& UnityGraphicsGLCoreES_Emulator::GetInstance()
+{
+ static UnityGraphicsGLCoreES_Emulator TheInstance;
+ return TheInstance;
+}
+
+void UnityGraphicsGLCoreES_Emulator::Present()
+{
+ m_GraphicsImpl->SwapBuffers();
+}
+
+void UnityGraphicsGLCoreES_Emulator::Release()
+{
+ m_GraphicsImpl.reset();
+}
+
+void UnityGraphicsGLCoreES_Emulator::ResizeSwapChain(unsigned int Width, unsigned int Height)
+{
+ m_GraphicsImpl->ResizeSwapchain(Width, Height);
+}
+
+bool UnityGraphicsGLCoreES_Emulator::SwapChainInitialized()
+{
+ return m_GraphicsImpl->GetContext() != NULL;
+}
+
+
+UnityGraphicsGL_Impl* UnityGraphicsGLCoreES_Emulator::GetGraphicsImpl()
+{
+ return m_GraphicsImpl.get();
+}
+
+IUnityInterface* UnityGraphicsGLCoreES_Emulator::GetUnityGraphicsAPIInterface()
+{
+ return nullptr;
+}
+
+UnityGfxRenderer UnityGraphicsGLCoreES_Emulator::GetUnityGfxRenderer()
+{
+ return kUnityGfxRendererOpenGLCore;
+}
+
+void UnityGraphicsGLCoreES_Emulator::BeginFrame()
+{
+ glBindFramebuffer( GL_DRAW_FRAMEBUFFER, 0 );
+ glBindFramebuffer( GL_READ_FRAMEBUFFER, 0 );
+ glClearDepthf( UsesReverseZ() ? 0.f : 1.f );
+ static const float ClearColor[4] = { 0, 0, 0.5f, 1 };
+ glClearColor(ClearColor[0], ClearColor[1], ClearColor[2], ClearColor[3]);
+ glColorMask( GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE);
+ glDisable( GL_SCISSOR_TEST );
+ glViewport(0, 0, m_GraphicsImpl->GetBackBufferWidth(), m_GraphicsImpl->GetBackBufferHeight() );
+ glClear(GL_DEPTH_BUFFER_BIT | GL_COLOR_BUFFER_BIT);
+ glDepthRangef( 0, 1 );
+ auto err = glGetError();
+ if( err != GL_NO_ERROR)
+ LOG_ERROR_MESSAGE("GL Error: ", err)
+}
+
+void UnityGraphicsGLCoreES_Emulator::EndFrame()
+{
+}
+
+#endif // OPENGL_SUPPORTED \ No newline at end of file
diff --git a/unityplugin/UnityEmulator/src/UnityGraphicsGLCore_Impl.cpp b/unityplugin/UnityEmulator/src/UnityGraphicsGLCore_Impl.cpp
new file mode 100644
index 0000000..7a3d8c2
--- /dev/null
+++ b/unityplugin/UnityEmulator/src/UnityGraphicsGLCore_Impl.cpp
@@ -0,0 +1,189 @@
+
+#include "UnityGraphicsGLCore_Impl.h"
+
+#if OPENGL_SUPPORTED
+
+#include "DebugUtilities.h"
+#include "Errors.h"
+
+void APIENTRY openglCallbackFunction( GLenum source,
+ GLenum type,
+ GLuint id,
+ GLenum severity,
+ GLsizei length,
+ const GLchar* message,
+ const void* userParam )
+{
+ std::stringstream MessageSS;
+
+ MessageSS << std::endl << "OPENGL DEBUG MESSAGE: " << message << std::endl;
+ MessageSS << "Type: ";
+ switch( type ) {
+ case GL_DEBUG_TYPE_ERROR:
+ MessageSS << "ERROR";
+ break;
+ case GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR:
+ MessageSS << "DEPRECATED_BEHAVIOR";
+ break;
+ case GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR:
+ MessageSS << "UNDEFINED_BEHAVIOR";
+ break;
+ case GL_DEBUG_TYPE_PORTABILITY:
+ MessageSS << "PORTABILITY";
+ break;
+ case GL_DEBUG_TYPE_PERFORMANCE:
+ MessageSS << "PERFORMANCE";
+ break;
+ case GL_DEBUG_TYPE_OTHER:
+ MessageSS << "OTHER";
+ break;
+ }
+ MessageSS << std::endl;
+
+ MessageSS << "Severity: ";
+ switch( severity ){
+ case GL_DEBUG_SEVERITY_LOW:
+ MessageSS << "LOW";
+ break;
+ case GL_DEBUG_SEVERITY_MEDIUM:
+ MessageSS << "MEDIUM";
+ break;
+ case GL_DEBUG_SEVERITY_HIGH:
+ MessageSS << "HIGH";
+ break;
+ }
+ MessageSS << std::endl;
+
+ //MessageSS << "Id: "<< id << std::endl;
+
+ OutputDebugStringA( MessageSS.str().c_str() );
+}
+
+
+UnityGraphicsGLCore_Impl::~UnityGraphicsGLCore_Impl()
+{
+ if( m_Context )
+ {
+ wglMakeCurrent( m_WindowHandleToDeviceContext, 0 );
+ wglDeleteContext( m_Context );
+ }
+}
+
+void UnityGraphicsGLCore_Impl::InitGLContext(void *pNativeWndHandle, int MajorVersion, int MinorVersion )
+{
+ HWND hWnd = reinterpret_cast<HWND>(pNativeWndHandle);
+ RECT rc;
+ GetClientRect( hWnd, &rc );
+ m_BackBufferWidth = rc.right - rc.left;
+ m_BackBufferHeight = rc.bottom - rc.top;
+
+ // See http://www.opengl.org/wiki/Tutorial:_OpenGL_3.1_The_First_Triangle_(C%2B%2B/Win)
+ // http://www.opengl.org/wiki/Creating_an_OpenGL_Context_(WGL)
+ PIXELFORMATDESCRIPTOR pfd;
+ memset( &pfd, 0, sizeof( PIXELFORMATDESCRIPTOR ) );
+ pfd.nSize = sizeof( PIXELFORMATDESCRIPTOR );
+ pfd.nVersion = 1;
+ pfd.dwFlags = PFD_DOUBLEBUFFER | PFD_SUPPORT_OPENGL | PFD_DRAW_TO_WINDOW;
+ pfd.iPixelType = PFD_TYPE_RGBA;
+ pfd.cColorBits = 32;
+ pfd.cDepthBits = 32;
+ pfd.iLayerType = PFD_MAIN_PLANE;
+
+ m_WindowHandleToDeviceContext = GetDC( hWnd );
+ int nPixelFormat = ChoosePixelFormat( m_WindowHandleToDeviceContext, &pfd );
+
+ if( nPixelFormat == 0 )
+ LOG_ERROR_AND_THROW( "Invalid Pixel Format" );
+
+ BOOL bResult = SetPixelFormat( m_WindowHandleToDeviceContext, nPixelFormat, &pfd );
+ if( !bResult )
+ LOG_ERROR_AND_THROW( "Failed to set Pixel Format" );
+
+ // Create standard OpenGL (2.1) rendering context which will be used only temporarily,
+ HGLRC tempContext = wglCreateContext( m_WindowHandleToDeviceContext );
+ // and make it current
+ wglMakeCurrent( m_WindowHandleToDeviceContext, tempContext );
+
+ // Initialize GLEW
+ GLenum err = glewInit();
+ if( GLEW_OK != err )
+ LOG_ERROR_AND_THROW( "Failed to initialize GLEW" );
+
+ if( wglewIsSupported( "WGL_ARB_create_context" ) == 1 )
+ {
+ // Setup attributes for a new OpenGL rendering context
+ int attribs[] =
+ {
+ WGL_CONTEXT_MAJOR_VERSION_ARB, MajorVersion,
+ WGL_CONTEXT_MINOR_VERSION_ARB, MinorVersion,
+ WGL_CONTEXT_FLAGS_ARB, WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB,
+ GL_CONTEXT_PROFILE_MASK, GL_CONTEXT_CORE_PROFILE_BIT,
+ 0, 0
+ };
+
+#ifdef _DEBUG
+ attribs[5] |= WGL_CONTEXT_DEBUG_BIT_ARB;
+#endif
+
+ // Create new rendering context
+ // In order to create new OpenGL rendering context we have to call function wglCreateContextAttribsARB(),
+ // which is an OpenGL function and requires OpenGL to be active when it is called.
+ // The only way is to create an old context, activate it, and while it is active create a new one.
+ // Very inconsistent, but we have to live with it!
+ m_Context = wglCreateContextAttribsARB( m_WindowHandleToDeviceContext, 0, attribs );
+
+ // Delete tempContext
+ wglMakeCurrent( NULL, NULL );
+ wglDeleteContext( tempContext );
+ //
+ wglMakeCurrent( m_WindowHandleToDeviceContext, m_Context );
+ wglSwapIntervalEXT( 0 );
+ }
+ else
+ { //It's not possible to make a GL 3.x context. Use the old style context (GL 2.1 and before)
+ m_Context = tempContext;
+ }
+
+ //Checking GL version
+ const GLubyte *GLVersionString = glGetString( GL_VERSION );
+
+ //Or better yet, use the GL3 way to get the version number
+ glGetIntegerv( GL_MAJOR_VERSION, &MajorVersion );
+ glGetIntegerv( GL_MINOR_VERSION, &MinorVersion );
+ LOG_INFO_MESSAGE("Initialized OpenGL ", MajorVersion, '.', MinorVersion, " context")
+
+ if( glDebugMessageCallback )
+ {
+ glEnable( GL_DEBUG_OUTPUT_SYNCHRONOUS );
+ glDebugMessageCallback( openglCallbackFunction, nullptr );
+ GLuint unusedIds = 0;
+ glDebugMessageControl( GL_DONT_CARE,
+ GL_DONT_CARE,
+ GL_DONT_CARE,
+ 0,
+ &unusedIds,
+ true );
+ }
+
+ glEnable(GL_TEXTURE_CUBE_MAP_SEAMLESS);
+ if( glGetError() != GL_NO_ERROR )
+ LOG_ERROR_MESSAGE("Failed to enable seamless cubemap filtering");
+
+ glEnable(GL_FRAMEBUFFER_SRGB);
+ if( glGetError() != GL_NO_ERROR )
+ LOG_ERROR_MESSAGE("Failed to enable SRGB framebuffers");
+}
+
+void UnityGraphicsGLCore_Impl::ResizeSwapchain(int NewWidth, int NewHeight)
+{
+ m_BackBufferWidth = NewWidth;
+ m_BackBufferHeight = NewHeight;
+ // Nothing more needs to be done in GL
+}
+
+void UnityGraphicsGLCore_Impl::SwapBuffers()
+{
+ ::SwapBuffers( m_WindowHandleToDeviceContext );
+}
+
+#endif // OPENGL_SUPPORTED \ No newline at end of file
diff --git a/unityplugin/UnityEmulator/src/UnityGraphicsGLCore_Impl.h b/unityplugin/UnityEmulator/src/UnityGraphicsGLCore_Impl.h
new file mode 100644
index 0000000..d1bd531
--- /dev/null
+++ b/unityplugin/UnityEmulator/src/UnityGraphicsGLCore_Impl.h
@@ -0,0 +1,37 @@
+#pragma once
+
+#include "PlatformDefinitions.h"
+
+#if OPENGL_SUPPORTED
+
+#define GLEW_STATIC
+#include "glew.h"
+#define NOMINMAX
+#include "wglew.h"
+#include <GL/GL.h>
+
+class UnityGraphicsGLCore_Impl
+{
+public:
+ ~UnityGraphicsGLCore_Impl();
+
+ void InitGLContext(void *pNativeWndHandle, int MajorVersion, int MinorVersion);
+
+ void ResizeSwapchain(int NewWidth, int NewHeight);
+
+ void SwapBuffers();
+
+ int GetBackBufferWidth()const { return m_BackBufferWidth; }
+ int GetBackBufferHeight()const { return m_BackBufferHeight; }
+ GLenum GetBackBufferFormat()const { return GL_RGBA8; }
+ GLenum GetDepthBufferFormat()const { return GL_DEPTH_COMPONENT32F; }
+ HGLRC GetContext() { return m_Context; }
+
+private:
+ int m_BackBufferWidth = 0;
+ int m_BackBufferHeight = 0;
+ HDC m_WindowHandleToDeviceContext;
+ HGLRC m_Context;
+};
+
+#endif //OPENGL_SUPPORTED
diff --git a/unityplugin/UnityEmulator/src/UnityGraphicsGL_Impl.h b/unityplugin/UnityEmulator/src/UnityGraphicsGL_Impl.h
new file mode 100644
index 0000000..b9f5105
--- /dev/null
+++ b/unityplugin/UnityEmulator/src/UnityGraphicsGL_Impl.h
@@ -0,0 +1,11 @@
+#pragma once
+
+#include "PlatformDefinitions.h"
+
+#if defined(PLATFORM_ANDROID)
+# include "Android\UnityGraphicsGLESAndroid_Impl.h"
+#elif defined( PLATFORM_WIN32 ) || defined( PLATFORM_UNIVERSAL_WINDOWS )
+# include "UnityGraphicsGLCore_Impl.h"
+#else
+# error Unknown Platform
+#endif
diff --git a/unityplugin/UnityEmulator/src/Windows/WinMain.cpp b/unityplugin/UnityEmulator/src/Windows/WinMain.cpp
new file mode 100644
index 0000000..9d3ea78
--- /dev/null
+++ b/unityplugin/UnityEmulator/src/Windows/WinMain.cpp
@@ -0,0 +1,344 @@
+/* Copyright 2015-2017 Egor Yusov
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF ANY PROPRIETARY RIGHTS.
+ *
+ * In no event and under no legal theory, whether in tort (including negligence),
+ * contract, or otherwise, unless required by applicable law (such as deliberate
+ * and grossly negligent acts) or agreed to in writing, shall any Contributor be
+ * liable for any damages, including any direct, indirect, special, incidental,
+ * or consequential damages of any character arising as a result of this License or
+ * out of the use or inability to use the software (including but not limited to damages
+ * for loss of goodwill, work stoppage, computer failure or malfunction, or any and
+ * all other commercial damages or losses), even if such Contributor has been advised
+ * of the possibility of such damages.
+ */
+
+#include <memory>
+#include <iomanip>
+
+#define NOMINMAX
+#include <Windows.h>
+
+#include "DeviceCaps.h"
+#include "Errors.h"
+#include "Timer.h"
+
+#include "IUnityInterface.h"
+#include "UnityGraphicsD3D11Emulator.h"
+#include "UnityGraphicsD3D12Emulator.h"
+#include "UnityGraphicsGLCoreES_Emulator.h"
+#include "DiligentGraphicsAdapterD3D11.h"
+#include "DiligentGraphicsAdapterD3D12.h"
+#include "DiligentGraphicsAdapterGL.h"
+#include "UnitySceneBase.h"
+#include "StringTools.h"
+
+using namespace Diligent;
+
+LRESULT CALLBACK MessageProc(HWND, UINT, WPARAM, LPARAM);
+
+UnityGraphicsEmulator *g_GraphicsEmulator = nullptr;
+
+typedef void (UNITY_INTERFACE_API *TUnityPluginLoad)(IUnityInterfaces* unityInterfaces);
+typedef void (UNITY_INTERFACE_API *TUnityPluginUnload)();
+typedef UnityRenderingEvent(UNITY_INTERFACE_API *TGetRenderEventFunc)();
+
+TUnityPluginLoad UnityPluginLoad;
+TUnityPluginUnload UnityPluginUnload;
+TGetRenderEventFunc GetRenderEventFunc;
+
+std::unique_ptr<DiligentGraphicsAdapter> g_pDiligentGraphics;
+std::unique_ptr<UnitySceneBase> g_pScene;
+
+HMODULE g_DLLHandle;
+
+static UINT g_WindowWidth = 1024;
+static UINT g_WindowHeight = 768;
+
+static void* LoadPluginFunction(const char* FunctionName)
+{
+ auto Func = GetProcAddress(g_DLLHandle, FunctionName);
+ VERIFY( Func != nullptr, "Failed to import plugin function \"", FunctionName, "\"." );
+ return Func;
+}
+
+bool LoadPlugin()
+{
+ std::string LibName = g_pScene->GetPluginName();
+#if _WIN64
+ LibName += "_64";
+#else
+ LibName += "_32";
+#endif
+
+#ifdef _DEBUG
+ LibName += "d";
+#else
+ LibName += "r";
+#endif
+
+ LibName += ".dll";
+ g_DLLHandle = LoadLibraryA( LibName.c_str() );
+ if( g_DLLHandle == NULL )
+ {
+ LOG_ERROR_MESSAGE( "Failed to load ", LibName, " library." );
+ return false;
+ }
+
+ UnityPluginLoad = reinterpret_cast<TUnityPluginLoad>( GetProcAddress(g_DLLHandle, "UnityPluginLoad") );
+ UnityPluginUnload = reinterpret_cast<TUnityPluginUnload>( GetProcAddress(g_DLLHandle, "UnityPluginUnload") );
+ GetRenderEventFunc = reinterpret_cast<TGetRenderEventFunc>( GetProcAddress(g_DLLHandle, "GetRenderEventFunc") );
+ if( UnityPluginLoad == nullptr || UnityPluginUnload == nullptr || GetRenderEventFunc == nullptr )
+ {
+ LOG_ERROR_MESSAGE( "Failed to import plugin functions from ", LibName, " library." );
+ FreeLibrary( g_DLLHandle );
+ return false;
+ }
+
+ return true;
+}
+
+
+void UnloadPlugin()
+{
+ g_GraphicsEmulator->InvokeDeviceEventCallback(kUnityGfxDeviceEventShutdown);
+ UnityPluginUnload();
+ FreeLibrary(g_DLLHandle);
+}
+
+// Main
+int WINAPI WinMain(HINSTANCE instance, HINSTANCE, LPSTR, int cmdShow)
+{
+#if defined(_DEBUG) || defined(DEBUG)
+ _CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF );
+#endif
+
+ g_pScene.reset(CreateScene());
+
+ std::wstring Title = WidenString(g_pScene->GetSceneName());
+
+ DeviceType DevType = DeviceType::Undefined;
+ std::wstring CmdLine = GetCommandLine();
+ std::wstring Key = L"mode=";
+ auto pos = CmdLine.find( Key );
+ if( pos != std::string::npos )
+ {
+ pos += Key.length();
+ auto Val = CmdLine.substr( pos );
+ if(Val == L"D3D11")
+ {
+ DevType = DeviceType::D3D11;
+ Title.append( L" (D3D11)" );
+ }
+ else if(Val == L"D3D12")
+ {
+ DevType = DeviceType::D3D12;
+ Title.append( L" (D3D12)" );
+ }
+ else if(Val == L"GL")
+ {
+ DevType = DeviceType::OpenGL;
+ Title.append( L" (OpenGL)" );
+ }
+ else
+ {
+ LOG_ERROR("Unknown device type. Only the following types are supported: D3D11, D3D12, GL")
+ return -1;
+ }
+ }
+ else
+ {
+ LOG_INFO_MESSAGE("Device type is not specified. Using D3D11 device");
+ DevType = DeviceType::D3D11;
+ Title.append( L" (D3D11)" );
+ }
+ // Register our window class
+ WNDCLASSEX wcex = { sizeof(WNDCLASSEX), CS_HREDRAW|CS_VREDRAW, MessageProc,
+ 0L, 0L, instance, NULL, NULL, NULL, NULL, L"SampleApp", NULL };
+ RegisterClassEx(&wcex);
+
+ // Create a window
+ UINT ClientAreaWidth = 1280;
+ UINT ClientAreaHeight = 1024;
+ RECT rc = { 0, 0, static_cast<LONG>(ClientAreaWidth), static_cast<LONG>(ClientAreaHeight) };
+ AdjustWindowRect(&rc, WS_OVERLAPPEDWINDOW, FALSE);
+ HWND wnd = CreateWindow(L"SampleApp", Title.c_str(),
+ WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT,
+ rc.right-rc.left, rc.bottom-rc.top, NULL, NULL, instance, NULL);
+ if (!wnd)
+ {
+ MessageBox(NULL, L"Cannot create window", L"Error", MB_OK|MB_ICONERROR);
+ return -1;
+ }
+ ShowWindow(wnd, cmdShow);
+ UpdateWindow(wnd);
+
+ bool IsDX = false;
+ try
+ {
+ switch (DevType)
+ {
+ case DeviceType::D3D11:
+ {
+ auto &GraphicsD3D11Emulator = UnityGraphicsD3D11Emulator::GetInstance();
+ GraphicsD3D11Emulator.CreateD3D11DeviceAndContext();
+ GraphicsD3D11Emulator.CreateSwapChain(wnd, ClientAreaWidth, ClientAreaHeight);
+ g_GraphicsEmulator = &GraphicsD3D11Emulator;
+ IsDX = true;
+ auto *pDiligentAdapterD3D11 = new DiligentGraphicsAdapterD3D11(GraphicsD3D11Emulator);
+ g_pDiligentGraphics.reset(pDiligentAdapterD3D11);
+ pDiligentAdapterD3D11->InitProxySwapChain();
+ }
+ break;
+
+ case DeviceType::D3D12:
+ {
+ auto &GraphicsD3D12Emulator = UnityGraphicsD3D12Emulator::GetInstance();
+ GraphicsD3D12Emulator.CreateD3D12DeviceAndCommandQueue();
+ GraphicsD3D12Emulator.CreateSwapChain(wnd, ClientAreaWidth, ClientAreaHeight);
+ g_GraphicsEmulator = &GraphicsD3D12Emulator;
+ IsDX = true;
+ auto *pDiligentAdapterD3D12 = new DiligentGraphicsAdapterD3D12(GraphicsD3D12Emulator);
+ g_pDiligentGraphics.reset(pDiligentAdapterD3D12);
+ pDiligentAdapterD3D12->InitProxySwapChain();
+ }
+ break;
+
+ case DeviceType::OpenGL:
+ {
+ auto &GraphicsGLCoreES_Emulator = UnityGraphicsGLCoreES_Emulator::GetInstance();
+ GraphicsGLCoreES_Emulator.InitGLContext(wnd, 4, 4);
+ g_GraphicsEmulator = &GraphicsGLCoreES_Emulator;
+ g_pDiligentGraphics.reset(new DiligentGraphicsAdapterGL(GraphicsGLCoreES_Emulator));
+ }
+ break;
+
+ default:
+ LOG_ERROR("Unsupported device type");
+ return -1;
+ }
+ }
+ catch (std::runtime_error &err)
+ {
+ LOG_ERROR("Failed to initialize unity graphics emulator: ", err.what());
+ return -1;
+ }
+
+ g_pScene->SetDiligentGraphicsAdapter(g_pDiligentGraphics.get());
+ g_pScene->OnGraphicsInitialized();
+ if (DevType == DeviceType::D3D12)
+ {
+ UnityGraphicsD3D12Emulator::GetInstance().SetTransitionHandler(g_pScene->GetStateTransitionHandler());
+ }
+
+ if (!LoadPlugin())
+ {
+ return -1;
+ }
+
+ g_pScene->OnPluginLoad(LoadPluginFunction);
+ UnityPluginLoad(&g_GraphicsEmulator->GeUnityInterfaces());
+
+ auto RenderEventFunc = GetRenderEventFunc();
+
+ Timer timer;
+ auto PrevTime = timer.GetElapsedTime();
+ double filteredFrameTime = 0.0;
+
+ // Main message loop
+ MSG msg = {0};
+ while (WM_QUIT != msg.message)
+ {
+ if (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
+ {
+ TranslateMessage(&msg);
+ DispatchMessage(&msg);
+ }
+ else
+ {
+ g_GraphicsEmulator->BeginFrame();
+ g_pDiligentGraphics->BeginFrame();
+
+ auto CurrTime = timer.GetElapsedTime();
+ auto ElapsedTime = CurrTime - PrevTime;
+ PrevTime = CurrTime;
+ float fTime = static_cast<float>(CurrTime);
+
+ g_pScene->Render(RenderEventFunc, CurrTime, ElapsedTime);
+
+ g_pDiligentGraphics->EndFrame();
+ g_GraphicsEmulator->EndFrame();
+
+ g_GraphicsEmulator->Present();
+
+ double filterScale = 0.2;
+ filteredFrameTime = filteredFrameTime * (1.0 - filterScale) + filterScale * ElapsedTime;
+ std::wstringstream fpsCounterSS;
+ fpsCounterSS << " - " << std::fixed << std::setprecision(1) << filteredFrameTime * 1000;
+ fpsCounterSS << " ms (" << 1.0 / filteredFrameTime << " fps)";
+ SetWindowText(wnd, (Title + fpsCounterSS.str()).c_str());
+ }
+ }
+
+ g_pScene->OnPluginUnload();
+ g_pScene.reset();
+ UnloadPlugin();
+
+ g_pDiligentGraphics.reset();
+ g_GraphicsEmulator->Release();
+
+ return (int)msg.wParam;
+}
+
+// Called every time the application receives a message
+LRESULT CALLBACK MessageProc(HWND wnd, UINT message, WPARAM wParam, LPARAM lParam)
+{
+ // Send event message to AntTweakBar
+ switch (message)
+ {
+ case WM_PAINT:
+ {
+ PAINTSTRUCT ps;
+ BeginPaint(wnd, &ps);
+ EndPaint(wnd, &ps);
+ return 0;
+ }
+ case WM_SIZE: // Window size has been changed
+ if(g_GraphicsEmulator)
+ {
+ g_WindowWidth = LOWORD(lParam);
+ g_WindowHeight = HIWORD(lParam);
+ g_pDiligentGraphics->PreSwapChainResize();
+ g_GraphicsEmulator->ResizeSwapChain(g_WindowWidth, g_WindowHeight);
+ g_pDiligentGraphics->PostSwapChainResize();
+ g_pScene->OnWindowResize(g_WindowWidth, g_WindowHeight);
+ }
+ return 0;
+ case WM_CHAR:
+ if (wParam == VK_ESCAPE)
+ PostQuitMessage(0);
+ return 0;
+ case WM_DESTROY:
+ PostQuitMessage(0);
+ return 0;
+ default:
+ {
+ struct WindowMessageData
+ {
+ HWND hWnd;
+ UINT message;
+ WPARAM wParam;
+ LPARAM lParam;
+ }msg{wnd, message, wParam, lParam};
+ return DefWindowProc(wnd, message, wParam, lParam);
+ }
+ }
+}
diff --git a/unityplugin/build/UWP/UnityPlugin.sln b/unityplugin/build/UWP/UnityPlugin.sln
new file mode 100644
index 0000000..bc1512a
--- /dev/null
+++ b/unityplugin/build/UWP/UnityPlugin.sln
@@ -0,0 +1,264 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+VisualStudioVersion = 14.0.25420.1
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Platforms", "Platforms", "{67F8DD0C-BF22-4B1B-9A48-DFA9C1835676}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PlatformInterface.Shared", "..\..\..\diligentcore\Platforms\interface\build\Windows.Shared\PlatformInterface.Shared.vcxitems", "{C8F281ED-F3B9-4C24-A2D3-40A922363466}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BasicPlatform.Shared", "..\..\..\diligentcore\Platforms\Basic\build\Windows.Shared\BasicPlatform.Shared.vcxitems", "{C50F6528-6A12-49A9-BEC0-E07CF153FCA8}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BasicPlatform", "..\..\..\diligentcore\Platforms\Basic\build\UWP\BasicPlatform.vcxproj", "{FF7D4949-DC3E-488B-8F78-1D32F1CA3B4C}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "UniversalWindowsPlatform", "..\..\..\diligentcore\Platforms\UWP\build\UWP\UniversalWindowsPlatform.vcxproj", "{91ADC1DD-AA8E-492A-AC19-3E0DAB9AD665}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Engine", "Engine", "{6C4F42FC-A0D4-4435-A565-F57AAB7C912E}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Common.Shared", "..\..\..\diligentcore\Common\build\Windows.Shared\Common.Shared.vcxitems", "{D716BF4D-094B-47D7-9137-A01C690C3616}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Common", "..\..\..\diligentcore\Common\build\UWP\Common.vcxproj", "{6DE3EB2B-8A56-4D27-8A39-587F7A70584C}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GraphicsEngine.Shared", "..\..\..\diligentcore\Graphics\GraphicsEngine\build\Windows.Shared\GraphicsEngine.Shared.vcxitems", "{0CDD843C-089D-4FEE-BE9F-C08FA2B51ACB}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GraphicsEngine", "..\..\..\diligentcore\Graphics\GraphicsEngine\build\UWP\GraphicsEngine.vcxproj", "{DFE6435D-CC9D-4CA1-BF4E-5640C522D815}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GraphicsEngineD3DBase.Shared", "..\..\..\diligentcore\Graphics\GraphicsEngineD3DBase\build\Windows.Shared\GraphicsEngineD3DBase.Shared.vcxitems", "{9E0110FC-5339-4196-8397-BA4FA34A4B84}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GraphicsEngineD3DBase", "..\..\..\diligentcore\Graphics\GraphicsEngineD3DBase\build\UWP\GraphicsEngineD3DBase.vcxproj", "{ACD6F956-FF3B-4FE9-8BE3-C0EECFDBBF93}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GraphicsTools.Shared", "..\..\..\diligentcore\Graphics\GraphicsTools\build\Windows.Shared\GraphicsTools.Shared.vcxitems", "{3BB4F2AC-1D2F-4AF6-B9CC-BDC17BB8BC39}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GraphicsTools", "..\..\..\diligentcore\Graphics\GraphicsTools\build\UWP\GraphicsTools.vcxproj", "{7A1A6E2C-3952-4A57-AD30-ABD92AA39C69}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GraphicsEngineD3D11.Shared", "..\..\..\diligentcore\Graphics\GraphicsEngineD3D11\build\Windows.Shared\GraphicsEngineD3D11.Shared.vcxitems", "{3C22010C-99F3-4321-8F55-36DA8F97A980}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GraphicsEngineD3D11", "..\..\..\diligentcore\Graphics\GraphicsEngineD3D11\build\UWP\GraphicsEngineD3D11.vcxproj", "{29ACD2A7-4C49-4973-9673-8F57EF37070F}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GraphicsEngineD3D12.Shared", "..\..\..\diligentcore\Graphics\GraphicsEngineD3D12\build\Windows.Shared\GraphicsEngineD3D12.Shared.vcxitems", "{628CB771-ED9D-4874-A69E-3484343A4890}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GraphicsEngineD3D12", "..\..\..\diligentcore\Graphics\GraphicsEngineD3D12\build\UWP\GraphicsEngineD3D12.vcxproj", "{1A5A1C1D-C717-4680-A929-40E6324FE048}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GhostCubeScene.Assets", "..\..\GhostCubeScene\build\GhostCubeScene.Assets.vcxitems", "{CAF59C31-47E1-4F26-8455-C5E49F75BB3C}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GhostCubeScene.Shared", "..\..\GhostCubeScene\build\Windows.Shared\GhostCubeScene.Shared.vcxitems", "{F26D9028-CFB4-45BC-9AB9-28E332480564}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "UnityEmulator.Shared", "..\..\UnityEmulator\build\Windows.Shared\UnityEmulator.Shared.vcxitems", "{AE83B976-C8CA-4621-9269-BF47C5789018}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GhostCubePlugin.Shared", "..\..\GhostCubePlugin\PluginSource\build\Windows.Shared\GhostCubePlugin.Shared.vcxitems", "{27B0C157-0A7A-46B0-AED3-919E7AF5EF4B}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GhostCubePlugin", "..\..\GhostCubePlugin\PluginSource\build\UWP\GhostCubePlugin.vcxproj", "{0BA2F2AC-6C53-4CE5-AA37-9C6DED067096}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "UnityEmulator", "..\..\UnityEmulator\build\UWP\UnityEmulator.vcxproj", "{17597734-2FBF-481F-99D4-3315B70FE3E2}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "UnityEmulatorUWP.Shared", "..\..\UnityEmulator\build\UWP.Shared\UnityEmulatorUWP.Shared.vcxitems", "{FBE96ADC-7C36-45B2-BE6D-F173413EB1C6}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GhostCubeScene", "..\..\GhostCubeScene\build\UWP\GhostCubeScene.vcxproj", "{BDD3DD22-64FA-4E48-BDF0-FD0B1C28C87F}"
+ ProjectSection(ProjectDependencies) = postProject
+ {0BA2F2AC-6C53-4CE5-AA37-9C6DED067096} = {0BA2F2AC-6C53-4CE5-AA37-9C6DED067096}
+ EndProjectSection
+EndProject
+Global
+ GlobalSection(SharedMSBuildProjectFiles) = preSolution
+ ..\..\GhostCubePlugin\PluginSource\build\Windows.Shared\GhostCubePlugin.Shared.vcxitems*{0ba2f2ac-6c53-4ce5-aa37-9c6ded067096}*SharedItemsImports = 4
+ ..\..\..\diligentcore\Graphics\GraphicsEngine\build\Windows.Shared\GraphicsEngine.Shared.vcxitems*{0cdd843c-089d-4fee-be9f-c08fa2b51acb}*SharedItemsImports = 9
+ ..\..\UnityEmulator\build\Windows.Shared\UnityEmulator.Shared.vcxitems*{17597734-2fbf-481f-99d4-3315b70fe3e2}*SharedItemsImports = 4
+ ..\..\..\diligentcore\Graphics\GraphicsEngineD3D12\build\Windows.Shared\GraphicsEngineD3D12.Shared.vcxitems*{1a5a1c1d-c717-4680-a929-40e6324fe048}*SharedItemsImports = 4
+ ..\..\GhostCubePlugin\PluginSource\build\Windows.Shared\GhostCubePlugin.Shared.vcxitems*{27b0c157-0a7a-46b0-aed3-919e7af5ef4b}*SharedItemsImports = 9
+ ..\..\..\diligentcore\Graphics\GraphicsEngineD3D11\build\Windows.Shared\GraphicsEngineD3D11.Shared.vcxitems*{29acd2a7-4c49-4973-9673-8f57ef37070f}*SharedItemsImports = 4
+ ..\..\..\diligentcore\Graphics\GraphicsTools\build\Windows.Shared\GraphicsTools.Shared.vcxitems*{3bb4f2ac-1d2f-4af6-b9cc-bdc17bb8bc39}*SharedItemsImports = 9
+ ..\..\..\diligentcore\Graphics\GraphicsEngineD3D11\build\Windows.Shared\GraphicsEngineD3D11.Shared.vcxitems*{3c22010c-99f3-4321-8f55-36da8f97a980}*SharedItemsImports = 9
+ ..\..\..\diligentcore\Graphics\GraphicsEngineD3D12\build\Windows.Shared\GraphicsEngineD3D12.Shared.vcxitems*{628cb771-ed9d-4874-a69e-3484343a4890}*SharedItemsImports = 9
+ ..\..\..\diligentcore\Common\build\Windows.Shared\Common.Shared.vcxitems*{6de3eb2b-8a56-4d27-8a39-587f7a70584c}*SharedItemsImports = 4
+ ..\..\..\diligentcore\Graphics\GraphicsTools\build\Windows.Shared\GraphicsTools.Shared.vcxitems*{7a1a6e2c-3952-4a57-ad30-abd92aa39c69}*SharedItemsImports = 4
+ ..\..\..\diligentcore\Graphics\GraphicsEngineD3DBase\build\Windows.Shared\GraphicsEngineD3DBase.Shared.vcxitems*{9e0110fc-5339-4196-8397-ba4fa34a4b84}*SharedItemsImports = 9
+ ..\..\..\diligentcore\Graphics\GraphicsEngineD3DBase\build\Windows.Shared\GraphicsEngineD3DBase.Shared.vcxitems*{acd6f956-ff3b-4fe9-8be3-c0eecfdbbf93}*SharedItemsImports = 4
+ ..\..\UnityEmulator\build\Windows.Shared\UnityEmulator.Shared.vcxitems*{ae83b976-c8ca-4621-9269-bf47c5789018}*SharedItemsImports = 9
+ ..\..\GhostCubeScene\build\GhostCubeScene.Assets.vcxitems*{bdd3dd22-64fa-4e48-bdf0-fd0b1c28c87f}*SharedItemsImports = 4
+ ..\..\GhostCubeScene\build\Windows.Shared\GhostCubeScene.Shared.vcxitems*{bdd3dd22-64fa-4e48-bdf0-fd0b1c28c87f}*SharedItemsImports = 4
+ ..\..\UnityEmulator\build\UWP.Shared\UnityEmulatorUWP.Shared.vcxitems*{bdd3dd22-64fa-4e48-bdf0-fd0b1c28c87f}*SharedItemsImports = 4
+ ..\..\..\diligentcore\Platforms\Basic\build\Windows.Shared\BasicPlatform.Shared.vcxitems*{c50f6528-6a12-49a9-bec0-e07cf153fca8}*SharedItemsImports = 9
+ ..\..\..\diligentcore\Platforms\interface\build\Windows.Shared\PlatformInterface.Shared.vcxitems*{c8f281ed-f3b9-4c24-a2d3-40a922363466}*SharedItemsImports = 9
+ ..\..\GhostCubeScene\build\GhostCubeScene.Assets.vcxitems*{caf59c31-47e1-4f26-8455-c5e49f75bb3c}*SharedItemsImports = 9
+ ..\..\..\diligentcore\Common\build\Windows.Shared\Common.Shared.vcxitems*{d716bf4d-094b-47d7-9137-a01c690c3616}*SharedItemsImports = 9
+ ..\..\..\diligentcore\Graphics\GraphicsEngine\build\Windows.Shared\GraphicsEngine.Shared.vcxitems*{dfe6435d-cc9d-4ca1-bf4e-5640c522d815}*SharedItemsImports = 4
+ ..\..\GhostCubeScene\build\Windows.Shared\GhostCubeScene.Shared.vcxitems*{f26d9028-cfb4-45bc-9ab9-28e332480564}*SharedItemsImports = 9
+ ..\..\UnityEmulator\build\UWP.Shared\UnityEmulatorUWP.Shared.vcxitems*{fbe96adc-7c36-45b2-be6d-f173413eb1c6}*SharedItemsImports = 9
+ ..\..\..\diligentcore\Platforms\Basic\build\Windows.Shared\BasicPlatform.Shared.vcxitems*{ff7d4949-dc3e-488b-8f78-1d32f1ca3b4c}*SharedItemsImports = 4
+ EndGlobalSection
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|ARM = Debug|ARM
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ Release|ARM = Release|ARM
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {FF7D4949-DC3E-488B-8F78-1D32F1CA3B4C}.Debug|ARM.ActiveCfg = Debug|ARM
+ {FF7D4949-DC3E-488B-8F78-1D32F1CA3B4C}.Debug|ARM.Build.0 = Debug|ARM
+ {FF7D4949-DC3E-488B-8F78-1D32F1CA3B4C}.Debug|x64.ActiveCfg = Debug|x64
+ {FF7D4949-DC3E-488B-8F78-1D32F1CA3B4C}.Debug|x64.Build.0 = Debug|x64
+ {FF7D4949-DC3E-488B-8F78-1D32F1CA3B4C}.Debug|x86.ActiveCfg = Debug|Win32
+ {FF7D4949-DC3E-488B-8F78-1D32F1CA3B4C}.Debug|x86.Build.0 = Debug|Win32
+ {FF7D4949-DC3E-488B-8F78-1D32F1CA3B4C}.Release|ARM.ActiveCfg = Release|ARM
+ {FF7D4949-DC3E-488B-8F78-1D32F1CA3B4C}.Release|ARM.Build.0 = Release|ARM
+ {FF7D4949-DC3E-488B-8F78-1D32F1CA3B4C}.Release|x64.ActiveCfg = Release|x64
+ {FF7D4949-DC3E-488B-8F78-1D32F1CA3B4C}.Release|x64.Build.0 = Release|x64
+ {FF7D4949-DC3E-488B-8F78-1D32F1CA3B4C}.Release|x86.ActiveCfg = Release|Win32
+ {FF7D4949-DC3E-488B-8F78-1D32F1CA3B4C}.Release|x86.Build.0 = Release|Win32
+ {91ADC1DD-AA8E-492A-AC19-3E0DAB9AD665}.Debug|ARM.ActiveCfg = Debug|ARM
+ {91ADC1DD-AA8E-492A-AC19-3E0DAB9AD665}.Debug|ARM.Build.0 = Debug|ARM
+ {91ADC1DD-AA8E-492A-AC19-3E0DAB9AD665}.Debug|x64.ActiveCfg = Debug|x64
+ {91ADC1DD-AA8E-492A-AC19-3E0DAB9AD665}.Debug|x64.Build.0 = Debug|x64
+ {91ADC1DD-AA8E-492A-AC19-3E0DAB9AD665}.Debug|x86.ActiveCfg = Debug|Win32
+ {91ADC1DD-AA8E-492A-AC19-3E0DAB9AD665}.Debug|x86.Build.0 = Debug|Win32
+ {91ADC1DD-AA8E-492A-AC19-3E0DAB9AD665}.Release|ARM.ActiveCfg = Release|ARM
+ {91ADC1DD-AA8E-492A-AC19-3E0DAB9AD665}.Release|ARM.Build.0 = Release|ARM
+ {91ADC1DD-AA8E-492A-AC19-3E0DAB9AD665}.Release|x64.ActiveCfg = Release|x64
+ {91ADC1DD-AA8E-492A-AC19-3E0DAB9AD665}.Release|x64.Build.0 = Release|x64
+ {91ADC1DD-AA8E-492A-AC19-3E0DAB9AD665}.Release|x86.ActiveCfg = Release|Win32
+ {91ADC1DD-AA8E-492A-AC19-3E0DAB9AD665}.Release|x86.Build.0 = Release|Win32
+ {6DE3EB2B-8A56-4D27-8A39-587F7A70584C}.Debug|ARM.ActiveCfg = Debug|ARM
+ {6DE3EB2B-8A56-4D27-8A39-587F7A70584C}.Debug|ARM.Build.0 = Debug|ARM
+ {6DE3EB2B-8A56-4D27-8A39-587F7A70584C}.Debug|x64.ActiveCfg = Debug|x64
+ {6DE3EB2B-8A56-4D27-8A39-587F7A70584C}.Debug|x64.Build.0 = Debug|x64
+ {6DE3EB2B-8A56-4D27-8A39-587F7A70584C}.Debug|x86.ActiveCfg = Debug|Win32
+ {6DE3EB2B-8A56-4D27-8A39-587F7A70584C}.Debug|x86.Build.0 = Debug|Win32
+ {6DE3EB2B-8A56-4D27-8A39-587F7A70584C}.Release|ARM.ActiveCfg = Release|ARM
+ {6DE3EB2B-8A56-4D27-8A39-587F7A70584C}.Release|ARM.Build.0 = Release|ARM
+ {6DE3EB2B-8A56-4D27-8A39-587F7A70584C}.Release|x64.ActiveCfg = Release|x64
+ {6DE3EB2B-8A56-4D27-8A39-587F7A70584C}.Release|x64.Build.0 = Release|x64
+ {6DE3EB2B-8A56-4D27-8A39-587F7A70584C}.Release|x86.ActiveCfg = Release|Win32
+ {6DE3EB2B-8A56-4D27-8A39-587F7A70584C}.Release|x86.Build.0 = Release|Win32
+ {DFE6435D-CC9D-4CA1-BF4E-5640C522D815}.Debug|ARM.ActiveCfg = Debug|ARM
+ {DFE6435D-CC9D-4CA1-BF4E-5640C522D815}.Debug|ARM.Build.0 = Debug|ARM
+ {DFE6435D-CC9D-4CA1-BF4E-5640C522D815}.Debug|x64.ActiveCfg = Debug|x64
+ {DFE6435D-CC9D-4CA1-BF4E-5640C522D815}.Debug|x64.Build.0 = Debug|x64
+ {DFE6435D-CC9D-4CA1-BF4E-5640C522D815}.Debug|x86.ActiveCfg = Debug|Win32
+ {DFE6435D-CC9D-4CA1-BF4E-5640C522D815}.Debug|x86.Build.0 = Debug|Win32
+ {DFE6435D-CC9D-4CA1-BF4E-5640C522D815}.Release|ARM.ActiveCfg = Release|ARM
+ {DFE6435D-CC9D-4CA1-BF4E-5640C522D815}.Release|ARM.Build.0 = Release|ARM
+ {DFE6435D-CC9D-4CA1-BF4E-5640C522D815}.Release|x64.ActiveCfg = Release|x64
+ {DFE6435D-CC9D-4CA1-BF4E-5640C522D815}.Release|x64.Build.0 = Release|x64
+ {DFE6435D-CC9D-4CA1-BF4E-5640C522D815}.Release|x86.ActiveCfg = Release|Win32
+ {DFE6435D-CC9D-4CA1-BF4E-5640C522D815}.Release|x86.Build.0 = Release|Win32
+ {ACD6F956-FF3B-4FE9-8BE3-C0EECFDBBF93}.Debug|ARM.ActiveCfg = Debug|ARM
+ {ACD6F956-FF3B-4FE9-8BE3-C0EECFDBBF93}.Debug|ARM.Build.0 = Debug|ARM
+ {ACD6F956-FF3B-4FE9-8BE3-C0EECFDBBF93}.Debug|x64.ActiveCfg = Debug|x64
+ {ACD6F956-FF3B-4FE9-8BE3-C0EECFDBBF93}.Debug|x64.Build.0 = Debug|x64
+ {ACD6F956-FF3B-4FE9-8BE3-C0EECFDBBF93}.Debug|x86.ActiveCfg = Debug|Win32
+ {ACD6F956-FF3B-4FE9-8BE3-C0EECFDBBF93}.Debug|x86.Build.0 = Debug|Win32
+ {ACD6F956-FF3B-4FE9-8BE3-C0EECFDBBF93}.Release|ARM.ActiveCfg = Release|ARM
+ {ACD6F956-FF3B-4FE9-8BE3-C0EECFDBBF93}.Release|ARM.Build.0 = Release|ARM
+ {ACD6F956-FF3B-4FE9-8BE3-C0EECFDBBF93}.Release|x64.ActiveCfg = Release|x64
+ {ACD6F956-FF3B-4FE9-8BE3-C0EECFDBBF93}.Release|x64.Build.0 = Release|x64
+ {ACD6F956-FF3B-4FE9-8BE3-C0EECFDBBF93}.Release|x86.ActiveCfg = Release|Win32
+ {ACD6F956-FF3B-4FE9-8BE3-C0EECFDBBF93}.Release|x86.Build.0 = Release|Win32
+ {7A1A6E2C-3952-4A57-AD30-ABD92AA39C69}.Debug|ARM.ActiveCfg = Debug|ARM
+ {7A1A6E2C-3952-4A57-AD30-ABD92AA39C69}.Debug|ARM.Build.0 = Debug|ARM
+ {7A1A6E2C-3952-4A57-AD30-ABD92AA39C69}.Debug|x64.ActiveCfg = Debug|x64
+ {7A1A6E2C-3952-4A57-AD30-ABD92AA39C69}.Debug|x64.Build.0 = Debug|x64
+ {7A1A6E2C-3952-4A57-AD30-ABD92AA39C69}.Debug|x86.ActiveCfg = Debug|Win32
+ {7A1A6E2C-3952-4A57-AD30-ABD92AA39C69}.Debug|x86.Build.0 = Debug|Win32
+ {7A1A6E2C-3952-4A57-AD30-ABD92AA39C69}.Release|ARM.ActiveCfg = Release|ARM
+ {7A1A6E2C-3952-4A57-AD30-ABD92AA39C69}.Release|ARM.Build.0 = Release|ARM
+ {7A1A6E2C-3952-4A57-AD30-ABD92AA39C69}.Release|x64.ActiveCfg = Release|x64
+ {7A1A6E2C-3952-4A57-AD30-ABD92AA39C69}.Release|x64.Build.0 = Release|x64
+ {7A1A6E2C-3952-4A57-AD30-ABD92AA39C69}.Release|x86.ActiveCfg = Release|Win32
+ {7A1A6E2C-3952-4A57-AD30-ABD92AA39C69}.Release|x86.Build.0 = Release|Win32
+ {29ACD2A7-4C49-4973-9673-8F57EF37070F}.Debug|ARM.ActiveCfg = Debug|ARM
+ {29ACD2A7-4C49-4973-9673-8F57EF37070F}.Debug|ARM.Build.0 = Debug|ARM
+ {29ACD2A7-4C49-4973-9673-8F57EF37070F}.Debug|x64.ActiveCfg = Debug|x64
+ {29ACD2A7-4C49-4973-9673-8F57EF37070F}.Debug|x64.Build.0 = Debug|x64
+ {29ACD2A7-4C49-4973-9673-8F57EF37070F}.Debug|x86.ActiveCfg = Debug|Win32
+ {29ACD2A7-4C49-4973-9673-8F57EF37070F}.Debug|x86.Build.0 = Debug|Win32
+ {29ACD2A7-4C49-4973-9673-8F57EF37070F}.Release|ARM.ActiveCfg = Release|ARM
+ {29ACD2A7-4C49-4973-9673-8F57EF37070F}.Release|ARM.Build.0 = Release|ARM
+ {29ACD2A7-4C49-4973-9673-8F57EF37070F}.Release|x64.ActiveCfg = Release|x64
+ {29ACD2A7-4C49-4973-9673-8F57EF37070F}.Release|x64.Build.0 = Release|x64
+ {29ACD2A7-4C49-4973-9673-8F57EF37070F}.Release|x86.ActiveCfg = Release|Win32
+ {29ACD2A7-4C49-4973-9673-8F57EF37070F}.Release|x86.Build.0 = Release|Win32
+ {1A5A1C1D-C717-4680-A929-40E6324FE048}.Debug|ARM.ActiveCfg = Debug|ARM
+ {1A5A1C1D-C717-4680-A929-40E6324FE048}.Debug|ARM.Build.0 = Debug|ARM
+ {1A5A1C1D-C717-4680-A929-40E6324FE048}.Debug|x64.ActiveCfg = Debug|x64
+ {1A5A1C1D-C717-4680-A929-40E6324FE048}.Debug|x64.Build.0 = Debug|x64
+ {1A5A1C1D-C717-4680-A929-40E6324FE048}.Debug|x86.ActiveCfg = Debug|Win32
+ {1A5A1C1D-C717-4680-A929-40E6324FE048}.Debug|x86.Build.0 = Debug|Win32
+ {1A5A1C1D-C717-4680-A929-40E6324FE048}.Release|ARM.ActiveCfg = Release|ARM
+ {1A5A1C1D-C717-4680-A929-40E6324FE048}.Release|ARM.Build.0 = Release|ARM
+ {1A5A1C1D-C717-4680-A929-40E6324FE048}.Release|x64.ActiveCfg = Release|x64
+ {1A5A1C1D-C717-4680-A929-40E6324FE048}.Release|x64.Build.0 = Release|x64
+ {1A5A1C1D-C717-4680-A929-40E6324FE048}.Release|x86.ActiveCfg = Release|Win32
+ {1A5A1C1D-C717-4680-A929-40E6324FE048}.Release|x86.Build.0 = Release|Win32
+ {0BA2F2AC-6C53-4CE5-AA37-9C6DED067096}.Debug|ARM.ActiveCfg = Debug|ARM
+ {0BA2F2AC-6C53-4CE5-AA37-9C6DED067096}.Debug|ARM.Build.0 = Debug|ARM
+ {0BA2F2AC-6C53-4CE5-AA37-9C6DED067096}.Debug|ARM.Deploy.0 = Debug|ARM
+ {0BA2F2AC-6C53-4CE5-AA37-9C6DED067096}.Debug|x64.ActiveCfg = Debug|x64
+ {0BA2F2AC-6C53-4CE5-AA37-9C6DED067096}.Debug|x64.Build.0 = Debug|x64
+ {0BA2F2AC-6C53-4CE5-AA37-9C6DED067096}.Debug|x64.Deploy.0 = Debug|x64
+ {0BA2F2AC-6C53-4CE5-AA37-9C6DED067096}.Debug|x86.ActiveCfg = Debug|Win32
+ {0BA2F2AC-6C53-4CE5-AA37-9C6DED067096}.Debug|x86.Build.0 = Debug|Win32
+ {0BA2F2AC-6C53-4CE5-AA37-9C6DED067096}.Debug|x86.Deploy.0 = Debug|Win32
+ {0BA2F2AC-6C53-4CE5-AA37-9C6DED067096}.Release|ARM.ActiveCfg = Release|ARM
+ {0BA2F2AC-6C53-4CE5-AA37-9C6DED067096}.Release|ARM.Build.0 = Release|ARM
+ {0BA2F2AC-6C53-4CE5-AA37-9C6DED067096}.Release|ARM.Deploy.0 = Release|ARM
+ {0BA2F2AC-6C53-4CE5-AA37-9C6DED067096}.Release|x64.ActiveCfg = Release|x64
+ {0BA2F2AC-6C53-4CE5-AA37-9C6DED067096}.Release|x64.Build.0 = Release|x64
+ {0BA2F2AC-6C53-4CE5-AA37-9C6DED067096}.Release|x64.Deploy.0 = Release|x64
+ {0BA2F2AC-6C53-4CE5-AA37-9C6DED067096}.Release|x86.ActiveCfg = Release|Win32
+ {0BA2F2AC-6C53-4CE5-AA37-9C6DED067096}.Release|x86.Build.0 = Release|Win32
+ {0BA2F2AC-6C53-4CE5-AA37-9C6DED067096}.Release|x86.Deploy.0 = Release|Win32
+ {17597734-2FBF-481F-99D4-3315B70FE3E2}.Debug|ARM.ActiveCfg = Debug|ARM
+ {17597734-2FBF-481F-99D4-3315B70FE3E2}.Debug|ARM.Build.0 = Debug|ARM
+ {17597734-2FBF-481F-99D4-3315B70FE3E2}.Debug|x64.ActiveCfg = Debug|x64
+ {17597734-2FBF-481F-99D4-3315B70FE3E2}.Debug|x64.Build.0 = Debug|x64
+ {17597734-2FBF-481F-99D4-3315B70FE3E2}.Debug|x86.ActiveCfg = Debug|Win32
+ {17597734-2FBF-481F-99D4-3315B70FE3E2}.Debug|x86.Build.0 = Debug|Win32
+ {17597734-2FBF-481F-99D4-3315B70FE3E2}.Release|ARM.ActiveCfg = Release|ARM
+ {17597734-2FBF-481F-99D4-3315B70FE3E2}.Release|ARM.Build.0 = Release|ARM
+ {17597734-2FBF-481F-99D4-3315B70FE3E2}.Release|x64.ActiveCfg = Release|x64
+ {17597734-2FBF-481F-99D4-3315B70FE3E2}.Release|x64.Build.0 = Release|x64
+ {17597734-2FBF-481F-99D4-3315B70FE3E2}.Release|x86.ActiveCfg = Release|Win32
+ {17597734-2FBF-481F-99D4-3315B70FE3E2}.Release|x86.Build.0 = Release|Win32
+ {BDD3DD22-64FA-4E48-BDF0-FD0B1C28C87F}.Debug|ARM.ActiveCfg = Debug|ARM
+ {BDD3DD22-64FA-4E48-BDF0-FD0B1C28C87F}.Debug|ARM.Build.0 = Debug|ARM
+ {BDD3DD22-64FA-4E48-BDF0-FD0B1C28C87F}.Debug|ARM.Deploy.0 = Debug|ARM
+ {BDD3DD22-64FA-4E48-BDF0-FD0B1C28C87F}.Debug|x64.ActiveCfg = Debug|x64
+ {BDD3DD22-64FA-4E48-BDF0-FD0B1C28C87F}.Debug|x64.Build.0 = Debug|x64
+ {BDD3DD22-64FA-4E48-BDF0-FD0B1C28C87F}.Debug|x64.Deploy.0 = Debug|x64
+ {BDD3DD22-64FA-4E48-BDF0-FD0B1C28C87F}.Debug|x86.ActiveCfg = Debug|Win32
+ {BDD3DD22-64FA-4E48-BDF0-FD0B1C28C87F}.Debug|x86.Build.0 = Debug|Win32
+ {BDD3DD22-64FA-4E48-BDF0-FD0B1C28C87F}.Debug|x86.Deploy.0 = Debug|Win32
+ {BDD3DD22-64FA-4E48-BDF0-FD0B1C28C87F}.Release|ARM.ActiveCfg = Release|ARM
+ {BDD3DD22-64FA-4E48-BDF0-FD0B1C28C87F}.Release|ARM.Build.0 = Release|ARM
+ {BDD3DD22-64FA-4E48-BDF0-FD0B1C28C87F}.Release|ARM.Deploy.0 = Release|ARM
+ {BDD3DD22-64FA-4E48-BDF0-FD0B1C28C87F}.Release|x64.ActiveCfg = Release|x64
+ {BDD3DD22-64FA-4E48-BDF0-FD0B1C28C87F}.Release|x64.Build.0 = Release|x64
+ {BDD3DD22-64FA-4E48-BDF0-FD0B1C28C87F}.Release|x64.Deploy.0 = Release|x64
+ {BDD3DD22-64FA-4E48-BDF0-FD0B1C28C87F}.Release|x86.ActiveCfg = Release|Win32
+ {BDD3DD22-64FA-4E48-BDF0-FD0B1C28C87F}.Release|x86.Build.0 = Release|Win32
+ {BDD3DD22-64FA-4E48-BDF0-FD0B1C28C87F}.Release|x86.Deploy.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(NestedProjects) = preSolution
+ {C8F281ED-F3B9-4C24-A2D3-40A922363466} = {67F8DD0C-BF22-4B1B-9A48-DFA9C1835676}
+ {C50F6528-6A12-49A9-BEC0-E07CF153FCA8} = {67F8DD0C-BF22-4B1B-9A48-DFA9C1835676}
+ {FF7D4949-DC3E-488B-8F78-1D32F1CA3B4C} = {67F8DD0C-BF22-4B1B-9A48-DFA9C1835676}
+ {91ADC1DD-AA8E-492A-AC19-3E0DAB9AD665} = {67F8DD0C-BF22-4B1B-9A48-DFA9C1835676}
+ {D716BF4D-094B-47D7-9137-A01C690C3616} = {6C4F42FC-A0D4-4435-A565-F57AAB7C912E}
+ {6DE3EB2B-8A56-4D27-8A39-587F7A70584C} = {6C4F42FC-A0D4-4435-A565-F57AAB7C912E}
+ {0CDD843C-089D-4FEE-BE9F-C08FA2B51ACB} = {6C4F42FC-A0D4-4435-A565-F57AAB7C912E}
+ {DFE6435D-CC9D-4CA1-BF4E-5640C522D815} = {6C4F42FC-A0D4-4435-A565-F57AAB7C912E}
+ {9E0110FC-5339-4196-8397-BA4FA34A4B84} = {6C4F42FC-A0D4-4435-A565-F57AAB7C912E}
+ {ACD6F956-FF3B-4FE9-8BE3-C0EECFDBBF93} = {6C4F42FC-A0D4-4435-A565-F57AAB7C912E}
+ {3BB4F2AC-1D2F-4AF6-B9CC-BDC17BB8BC39} = {6C4F42FC-A0D4-4435-A565-F57AAB7C912E}
+ {7A1A6E2C-3952-4A57-AD30-ABD92AA39C69} = {6C4F42FC-A0D4-4435-A565-F57AAB7C912E}
+ {3C22010C-99F3-4321-8F55-36DA8F97A980} = {6C4F42FC-A0D4-4435-A565-F57AAB7C912E}
+ {29ACD2A7-4C49-4973-9673-8F57EF37070F} = {6C4F42FC-A0D4-4435-A565-F57AAB7C912E}
+ {628CB771-ED9D-4874-A69E-3484343A4890} = {6C4F42FC-A0D4-4435-A565-F57AAB7C912E}
+ {1A5A1C1D-C717-4680-A929-40E6324FE048} = {6C4F42FC-A0D4-4435-A565-F57AAB7C912E}
+ EndGlobalSection
+EndGlobal
diff --git a/unityplugin/build/Win32/UnityPlugin.sln b/unityplugin/build/Win32/UnityPlugin.sln
new file mode 100644
index 0000000..48a3787
--- /dev/null
+++ b/unityplugin/build/Win32/UnityPlugin.sln
@@ -0,0 +1,300 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+VisualStudioVersion = 14.0.25420.1
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Core", "Core", "{4120EDD0-CBAF-407C-92D2-77D9834D8AFB}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "External", "External", "{1D709544-3FFA-4778-81E4-F1BEFEA67EDF}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Graphics", "Graphics", "{DD203D20-D4F8-499F-8760-DA54238F8E39}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "glew_static", "..\..\..\diligentcore\External\glew\build\Win32\glew_static.vcxproj", "{664E6F0D-6784-4760-9565-D54F8EB1EDF4}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GraphicsEngine.Shared", "..\..\..\diligentcore\Graphics\GraphicsEngine\build\Windows.Shared\GraphicsEngine.Shared.vcxitems", "{0CDD843C-089D-4FEE-BE9F-C08FA2B51ACB}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GraphicsEngine", "..\..\..\diligentcore\Graphics\GraphicsEngine\build\Win32\GraphicsEngine.vcxproj", "{052DD700-477C-4512-A7F4-B05EBEF5C80E}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GraphicsEngineD3D11.Shared", "..\..\..\diligentcore\Graphics\GraphicsEngineD3D11\build\Windows.Shared\GraphicsEngineD3D11.Shared.vcxitems", "{3C22010C-99F3-4321-8F55-36DA8F97A980}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GraphicsEngineD3D11", "..\..\..\diligentcore\Graphics\GraphicsEngineD3D11\build\Win32\GraphicsEngineD3D11.vcxproj", "{FE289CC7-15D6-4A76-B9CB-F61CAB3192C9}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GraphicsEngineD3D12.Shared", "..\..\..\diligentcore\Graphics\GraphicsEngineD3D12\build\Windows.Shared\GraphicsEngineD3D12.Shared.vcxitems", "{628CB771-ED9D-4874-A69E-3484343A4890}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GraphicsEngineD3D12", "..\..\..\diligentcore\Graphics\GraphicsEngineD3D12\build\Win32\GraphicsEngineD3D12.vcxproj", "{FFF8071A-DB82-485B-ADC3-F0B675296869}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GraphicsEngineOpenGL", "..\..\..\diligentcore\Graphics\GraphicsEngineOpenGL\build\Win32\GraphicsEngineOpenGL.vcxproj", "{15E346D3-FDE6-4B29-88B7-FCA14DADA501}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GraphicsTools.Shared", "..\..\..\diligentcore\Graphics\GraphicsTools\build\Windows.Shared\GraphicsTools.Shared.vcxitems", "{3BB4F2AC-1D2F-4AF6-B9CC-BDC17BB8BC39}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GraphicsTools", "..\..\..\diligentcore\Graphics\GraphicsTools\build\Win32\GraphicsTools.vcxproj", "{C6014499-0CF2-43EC-A773-A4E354FB2D74}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "HLSL2GLSLConverterLib", "..\..\..\diligentcore\Graphics\HLSL2GLSLConverterLib\build\Win32\HLSL2GLSLConverterLib.vcxproj", "{1A782154-A5BD-4A05-B837-EFC77F126C84}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GraphicsEngineD3DBase.Shared", "..\..\..\diligentcore\Graphics\GraphicsEngineD3DBase\build\Windows.Shared\GraphicsEngineD3DBase.Shared.vcxitems", "{9E0110FC-5339-4196-8397-BA4FA34A4B84}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GraphicsEngineD3DBase", "..\..\..\diligentcore\Graphics\GraphicsEngineD3DBase\build\Win32\GraphicsEngineD3DBase.vcxproj", "{40FD58ED-AABC-4CBD-BEE4-33116995A626}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Common.Shared", "..\..\..\diligentcore\Common\build\Windows.Shared\Common.Shared.vcxitems", "{D716BF4D-094B-47D7-9137-A01C690C3616}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Common", "..\..\..\diligentcore\Common\build\Win32\Common.vcxproj", "{7380F7E6-315F-4B4E-92EB-E6AEEE865298}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Platforms", "Platforms", "{1A93BE77-E0C0-48BC-83FB-96518008B148}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PlatformInterface.Shared", "..\..\..\diligentcore\Platforms\interface\build\Windows.Shared\PlatformInterface.Shared.vcxitems", "{C8F281ED-F3B9-4C24-A2D3-40A922363466}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BasicPlatform.Shared", "..\..\..\diligentcore\Platforms\Basic\build\Windows.Shared\BasicPlatform.Shared.vcxitems", "{C50F6528-6A12-49A9-BEC0-E07CF153FCA8}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BasicPlatform", "..\..\..\diligentcore\Platforms\Basic\build\Win32\BasicPlatform.vcxproj", "{8ADA5F93-7A38-4AD8-B8F5-1FFD4D4F630C}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Win32Platform", "..\..\..\diligentcore\Platforms\Win32\build\Win32\WindowsPlatform.vcxproj", "{58F32677-436B-412A-BBF8-2B1310D82CD8}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AndroidPlatform", "..\..\..\diligentcore\Platforms\Android\build\Windows\AndroidPlatform.vcxproj", "{E333476E-15E3-4D43-A4CF-8748058B3BE9}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GhostCubePlugin", "..\..\GhostCubePlugin\PluginSource\build\Win32\GhostCubePlugin.vcxproj", "{EDA960FC-AA6C-44B3-8ABB-90765DA4D516}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GhostCubePlugin.Shared", "..\..\GhostCubePlugin\PluginSource\build\Windows.Shared\GhostCubePlugin.Shared.vcxitems", "{27B0C157-0A7A-46B0-AED3-919E7AF5EF4B}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "UnityEmulator", "..\..\UnityEmulator\build\Win32\UnityEmulator.vcxproj", "{F40021AC-6D7B-4828-81C4-2D04F946A88E}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "UnityEmulator.Shared", "..\..\UnityEmulator\build\Windows.Shared\UnityEmulator.Shared.vcxitems", "{AE83B976-C8CA-4621-9269-BF47C5789018}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GhostCubeScene.Shared", "..\..\GhostCubeScene\build\Windows.Shared\GhostCubeScene.Shared.vcxitems", "{F26D9028-CFB4-45BC-9AB9-28E332480564}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GhostCubeScene", "..\..\GhostCubeScene\build\Win32\GhostCubeScene.vcxproj", "{516AA088-64B1-4DCF-9631-59F91F0E849A}"
+ ProjectSection(ProjectDependencies) = postProject
+ {EDA960FC-AA6C-44B3-8ABB-90765DA4D516} = {EDA960FC-AA6C-44B3-8ABB-90765DA4D516}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GhostCubeScene.Assets", "..\..\GhostCubeScene\build\GhostCubeScene.Assets.vcxitems", "{CAF59C31-47E1-4F26-8455-C5E49F75BB3C}"
+EndProject
+Global
+ GlobalSection(SharedMSBuildProjectFiles) = preSolution
+ ..\..\..\diligentcore\Graphics\GraphicsEngine\build\Windows.Shared\GraphicsEngine.Shared.vcxitems*{052dd700-477c-4512-a7f4-b05ebef5c80e}*SharedItemsImports = 4
+ ..\..\..\diligentcore\Graphics\GraphicsEngine\build\Windows.Shared\GraphicsEngine.Shared.vcxitems*{0cdd843c-089d-4fee-be9f-c08fa2b51acb}*SharedItemsImports = 9
+ ..\..\GhostCubePlugin\PluginSource\build\Windows.Shared\GhostCubePlugin.Shared.vcxitems*{27b0c157-0a7a-46b0-aed3-919e7af5ef4b}*SharedItemsImports = 9
+ ..\..\..\diligentcore\Graphics\GraphicsTools\build\Windows.Shared\GraphicsTools.Shared.vcxitems*{3bb4f2ac-1d2f-4af6-b9cc-bdc17bb8bc39}*SharedItemsImports = 9
+ ..\..\..\diligentcore\Graphics\GraphicsEngineD3D11\build\Windows.Shared\GraphicsEngineD3D11.Shared.vcxitems*{3c22010c-99f3-4321-8f55-36da8f97a980}*SharedItemsImports = 9
+ ..\..\..\diligentcore\Graphics\GraphicsEngineD3DBase\build\Windows.Shared\GraphicsEngineD3DBase.Shared.vcxitems*{40fd58ed-aabc-4cbd-bee4-33116995a626}*SharedItemsImports = 4
+ ..\..\GhostCubeScene\build\Windows.Shared\GhostCubeScene.Shared.vcxitems*{516aa088-64b1-4dcf-9631-59f91f0e849a}*SharedItemsImports = 4
+ ..\..\..\diligentcore\Graphics\GraphicsEngineD3D12\build\Windows.Shared\GraphicsEngineD3D12.Shared.vcxitems*{628cb771-ed9d-4874-a69e-3484343a4890}*SharedItemsImports = 9
+ ..\..\..\diligentcore\Common\build\Windows.Shared\Common.Shared.vcxitems*{7380f7e6-315f-4b4e-92eb-e6aeee865298}*SharedItemsImports = 4
+ ..\..\..\diligentcore\Platforms\Basic\build\Windows.Shared\BasicPlatform.Shared.vcxitems*{8ada5f93-7a38-4ad8-b8f5-1ffd4d4f630c}*SharedItemsImports = 4
+ ..\..\..\diligentcore\Platforms\interface\build\Windows.Shared\PlatformInterface.Shared.vcxitems*{8ada5f93-7a38-4ad8-b8f5-1ffd4d4f630c}*SharedItemsImports = 4
+ ..\..\..\diligentcore\Graphics\GraphicsEngineD3DBase\build\Windows.Shared\GraphicsEngineD3DBase.Shared.vcxitems*{9e0110fc-5339-4196-8397-ba4fa34a4b84}*SharedItemsImports = 9
+ ..\..\UnityEmulator\build\Windows.Shared\UnityEmulator.Shared.vcxitems*{ae83b976-c8ca-4621-9269-bf47c5789018}*SharedItemsImports = 9
+ ..\..\..\diligentcore\Platforms\Basic\build\Windows.Shared\BasicPlatform.Shared.vcxitems*{c50f6528-6a12-49a9-bec0-e07cf153fca8}*SharedItemsImports = 9
+ ..\..\..\diligentcore\Graphics\GraphicsTools\build\Windows.Shared\GraphicsTools.Shared.vcxitems*{c6014499-0cf2-43ec-a773-a4e354fb2d74}*SharedItemsImports = 4
+ ..\..\..\diligentcore\Platforms\interface\build\Windows.Shared\PlatformInterface.Shared.vcxitems*{c8f281ed-f3b9-4c24-a2d3-40a922363466}*SharedItemsImports = 9
+ ..\..\GhostCubeScene\build\GhostCubeScene.Assets.vcxitems*{caf59c31-47e1-4f26-8455-c5e49f75bb3c}*SharedItemsImports = 9
+ ..\..\..\diligentcore\Common\build\Windows.Shared\Common.Shared.vcxitems*{d716bf4d-094b-47d7-9137-a01c690c3616}*SharedItemsImports = 9
+ ..\..\GhostCubePlugin\PluginSource\build\Windows.Shared\GhostCubePlugin.Shared.vcxitems*{eda960fc-aa6c-44b3-8abb-90765da4d516}*SharedItemsImports = 4
+ ..\..\GhostCubeScene\build\Windows.Shared\GhostCubeScene.Shared.vcxitems*{f26d9028-cfb4-45bc-9ab9-28e332480564}*SharedItemsImports = 9
+ ..\..\UnityEmulator\build\Windows.Shared\UnityEmulator.Shared.vcxitems*{f40021ac-6d7b-4828-81c4-2d04f946a88e}*SharedItemsImports = 4
+ ..\..\..\diligentcore\Graphics\GraphicsEngineD3D11\build\Windows.Shared\GraphicsEngineD3D11.Shared.vcxitems*{fe289cc7-15d6-4a76-b9cb-f61cab3192c9}*SharedItemsImports = 4
+ ..\..\..\diligentcore\Graphics\GraphicsEngineD3D12\build\Windows.Shared\GraphicsEngineD3D12.Shared.vcxitems*{fff8071a-db82-485b-adc3-f0b675296869}*SharedItemsImports = 4
+ EndGlobalSection
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|ARM = Debug|ARM
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ Release|ARM = Release|ARM
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {664E6F0D-6784-4760-9565-D54F8EB1EDF4}.Debug|ARM.ActiveCfg = Debug|Win32
+ {664E6F0D-6784-4760-9565-D54F8EB1EDF4}.Debug|x64.ActiveCfg = Debug|x64
+ {664E6F0D-6784-4760-9565-D54F8EB1EDF4}.Debug|x64.Build.0 = Debug|x64
+ {664E6F0D-6784-4760-9565-D54F8EB1EDF4}.Debug|x86.ActiveCfg = Debug|Win32
+ {664E6F0D-6784-4760-9565-D54F8EB1EDF4}.Debug|x86.Build.0 = Debug|Win32
+ {664E6F0D-6784-4760-9565-D54F8EB1EDF4}.Release|ARM.ActiveCfg = Release|Win32
+ {664E6F0D-6784-4760-9565-D54F8EB1EDF4}.Release|x64.ActiveCfg = Release|x64
+ {664E6F0D-6784-4760-9565-D54F8EB1EDF4}.Release|x64.Build.0 = Release|x64
+ {664E6F0D-6784-4760-9565-D54F8EB1EDF4}.Release|x86.ActiveCfg = Release|Win32
+ {664E6F0D-6784-4760-9565-D54F8EB1EDF4}.Release|x86.Build.0 = Release|Win32
+ {052DD700-477C-4512-A7F4-B05EBEF5C80E}.Debug|ARM.ActiveCfg = Debug|ARM
+ {052DD700-477C-4512-A7F4-B05EBEF5C80E}.Debug|ARM.Build.0 = Debug|ARM
+ {052DD700-477C-4512-A7F4-B05EBEF5C80E}.Debug|x64.ActiveCfg = Debug|x64
+ {052DD700-477C-4512-A7F4-B05EBEF5C80E}.Debug|x64.Build.0 = Debug|x64
+ {052DD700-477C-4512-A7F4-B05EBEF5C80E}.Debug|x86.ActiveCfg = Debug|Win32
+ {052DD700-477C-4512-A7F4-B05EBEF5C80E}.Debug|x86.Build.0 = Debug|Win32
+ {052DD700-477C-4512-A7F4-B05EBEF5C80E}.Release|ARM.ActiveCfg = Release|ARM
+ {052DD700-477C-4512-A7F4-B05EBEF5C80E}.Release|ARM.Build.0 = Release|ARM
+ {052DD700-477C-4512-A7F4-B05EBEF5C80E}.Release|x64.ActiveCfg = Release|x64
+ {052DD700-477C-4512-A7F4-B05EBEF5C80E}.Release|x64.Build.0 = Release|x64
+ {052DD700-477C-4512-A7F4-B05EBEF5C80E}.Release|x86.ActiveCfg = Release|Win32
+ {052DD700-477C-4512-A7F4-B05EBEF5C80E}.Release|x86.Build.0 = Release|Win32
+ {FE289CC7-15D6-4A76-B9CB-F61CAB3192C9}.Debug|ARM.ActiveCfg = Debug|Win32
+ {FE289CC7-15D6-4A76-B9CB-F61CAB3192C9}.Debug|x64.ActiveCfg = Debug|x64
+ {FE289CC7-15D6-4A76-B9CB-F61CAB3192C9}.Debug|x64.Build.0 = Debug|x64
+ {FE289CC7-15D6-4A76-B9CB-F61CAB3192C9}.Debug|x86.ActiveCfg = Debug|Win32
+ {FE289CC7-15D6-4A76-B9CB-F61CAB3192C9}.Debug|x86.Build.0 = Debug|Win32
+ {FE289CC7-15D6-4A76-B9CB-F61CAB3192C9}.Release|ARM.ActiveCfg = Release|Win32
+ {FE289CC7-15D6-4A76-B9CB-F61CAB3192C9}.Release|x64.ActiveCfg = Release|x64
+ {FE289CC7-15D6-4A76-B9CB-F61CAB3192C9}.Release|x64.Build.0 = Release|x64
+ {FE289CC7-15D6-4A76-B9CB-F61CAB3192C9}.Release|x86.ActiveCfg = Release|Win32
+ {FE289CC7-15D6-4A76-B9CB-F61CAB3192C9}.Release|x86.Build.0 = Release|Win32
+ {FFF8071A-DB82-485B-ADC3-F0B675296869}.Debug|ARM.ActiveCfg = Debug|Win32
+ {FFF8071A-DB82-485B-ADC3-F0B675296869}.Debug|x64.ActiveCfg = Debug|x64
+ {FFF8071A-DB82-485B-ADC3-F0B675296869}.Debug|x64.Build.0 = Debug|x64
+ {FFF8071A-DB82-485B-ADC3-F0B675296869}.Debug|x86.ActiveCfg = Debug|Win32
+ {FFF8071A-DB82-485B-ADC3-F0B675296869}.Debug|x86.Build.0 = Debug|Win32
+ {FFF8071A-DB82-485B-ADC3-F0B675296869}.Release|ARM.ActiveCfg = Release|Win32
+ {FFF8071A-DB82-485B-ADC3-F0B675296869}.Release|x64.ActiveCfg = Release|x64
+ {FFF8071A-DB82-485B-ADC3-F0B675296869}.Release|x64.Build.0 = Release|x64
+ {FFF8071A-DB82-485B-ADC3-F0B675296869}.Release|x86.ActiveCfg = Release|Win32
+ {FFF8071A-DB82-485B-ADC3-F0B675296869}.Release|x86.Build.0 = Release|Win32
+ {15E346D3-FDE6-4B29-88B7-FCA14DADA501}.Debug|ARM.ActiveCfg = Debug|ARM
+ {15E346D3-FDE6-4B29-88B7-FCA14DADA501}.Debug|ARM.Build.0 = Debug|ARM
+ {15E346D3-FDE6-4B29-88B7-FCA14DADA501}.Debug|x64.ActiveCfg = Debug|x64
+ {15E346D3-FDE6-4B29-88B7-FCA14DADA501}.Debug|x64.Build.0 = Debug|x64
+ {15E346D3-FDE6-4B29-88B7-FCA14DADA501}.Debug|x86.ActiveCfg = Debug|Win32
+ {15E346D3-FDE6-4B29-88B7-FCA14DADA501}.Debug|x86.Build.0 = Debug|Win32
+ {15E346D3-FDE6-4B29-88B7-FCA14DADA501}.Release|ARM.ActiveCfg = Release|ARM
+ {15E346D3-FDE6-4B29-88B7-FCA14DADA501}.Release|ARM.Build.0 = Release|ARM
+ {15E346D3-FDE6-4B29-88B7-FCA14DADA501}.Release|x64.ActiveCfg = Release|x64
+ {15E346D3-FDE6-4B29-88B7-FCA14DADA501}.Release|x64.Build.0 = Release|x64
+ {15E346D3-FDE6-4B29-88B7-FCA14DADA501}.Release|x86.ActiveCfg = Release|Win32
+ {15E346D3-FDE6-4B29-88B7-FCA14DADA501}.Release|x86.Build.0 = Release|Win32
+ {C6014499-0CF2-43EC-A773-A4E354FB2D74}.Debug|ARM.ActiveCfg = Debug|ARM
+ {C6014499-0CF2-43EC-A773-A4E354FB2D74}.Debug|ARM.Build.0 = Debug|ARM
+ {C6014499-0CF2-43EC-A773-A4E354FB2D74}.Debug|x64.ActiveCfg = Debug|x64
+ {C6014499-0CF2-43EC-A773-A4E354FB2D74}.Debug|x64.Build.0 = Debug|x64
+ {C6014499-0CF2-43EC-A773-A4E354FB2D74}.Debug|x86.ActiveCfg = Debug|Win32
+ {C6014499-0CF2-43EC-A773-A4E354FB2D74}.Debug|x86.Build.0 = Debug|Win32
+ {C6014499-0CF2-43EC-A773-A4E354FB2D74}.Release|ARM.ActiveCfg = Release|ARM
+ {C6014499-0CF2-43EC-A773-A4E354FB2D74}.Release|ARM.Build.0 = Release|ARM
+ {C6014499-0CF2-43EC-A773-A4E354FB2D74}.Release|x64.ActiveCfg = Release|x64
+ {C6014499-0CF2-43EC-A773-A4E354FB2D74}.Release|x64.Build.0 = Release|x64
+ {C6014499-0CF2-43EC-A773-A4E354FB2D74}.Release|x86.ActiveCfg = Release|Win32
+ {C6014499-0CF2-43EC-A773-A4E354FB2D74}.Release|x86.Build.0 = Release|Win32
+ {1A782154-A5BD-4A05-B837-EFC77F126C84}.Debug|ARM.ActiveCfg = Debug|ARM
+ {1A782154-A5BD-4A05-B837-EFC77F126C84}.Debug|ARM.Build.0 = Debug|ARM
+ {1A782154-A5BD-4A05-B837-EFC77F126C84}.Debug|x64.ActiveCfg = Debug|x64
+ {1A782154-A5BD-4A05-B837-EFC77F126C84}.Debug|x64.Build.0 = Debug|x64
+ {1A782154-A5BD-4A05-B837-EFC77F126C84}.Debug|x86.ActiveCfg = Debug|Win32
+ {1A782154-A5BD-4A05-B837-EFC77F126C84}.Debug|x86.Build.0 = Debug|Win32
+ {1A782154-A5BD-4A05-B837-EFC77F126C84}.Release|ARM.ActiveCfg = Release|ARM
+ {1A782154-A5BD-4A05-B837-EFC77F126C84}.Release|ARM.Build.0 = Release|ARM
+ {1A782154-A5BD-4A05-B837-EFC77F126C84}.Release|x64.ActiveCfg = Release|x64
+ {1A782154-A5BD-4A05-B837-EFC77F126C84}.Release|x64.Build.0 = Release|x64
+ {1A782154-A5BD-4A05-B837-EFC77F126C84}.Release|x86.ActiveCfg = Release|Win32
+ {1A782154-A5BD-4A05-B837-EFC77F126C84}.Release|x86.Build.0 = Release|Win32
+ {40FD58ED-AABC-4CBD-BEE4-33116995A626}.Debug|ARM.ActiveCfg = Debug|Win32
+ {40FD58ED-AABC-4CBD-BEE4-33116995A626}.Debug|x64.ActiveCfg = Debug|x64
+ {40FD58ED-AABC-4CBD-BEE4-33116995A626}.Debug|x64.Build.0 = Debug|x64
+ {40FD58ED-AABC-4CBD-BEE4-33116995A626}.Debug|x86.ActiveCfg = Debug|Win32
+ {40FD58ED-AABC-4CBD-BEE4-33116995A626}.Debug|x86.Build.0 = Debug|Win32
+ {40FD58ED-AABC-4CBD-BEE4-33116995A626}.Release|ARM.ActiveCfg = Release|Win32
+ {40FD58ED-AABC-4CBD-BEE4-33116995A626}.Release|x64.ActiveCfg = Release|x64
+ {40FD58ED-AABC-4CBD-BEE4-33116995A626}.Release|x64.Build.0 = Release|x64
+ {40FD58ED-AABC-4CBD-BEE4-33116995A626}.Release|x86.ActiveCfg = Release|Win32
+ {40FD58ED-AABC-4CBD-BEE4-33116995A626}.Release|x86.Build.0 = Release|Win32
+ {7380F7E6-315F-4B4E-92EB-E6AEEE865298}.Debug|ARM.ActiveCfg = Debug|ARM
+ {7380F7E6-315F-4B4E-92EB-E6AEEE865298}.Debug|ARM.Build.0 = Debug|ARM
+ {7380F7E6-315F-4B4E-92EB-E6AEEE865298}.Debug|x64.ActiveCfg = Debug|x64
+ {7380F7E6-315F-4B4E-92EB-E6AEEE865298}.Debug|x64.Build.0 = Debug|x64
+ {7380F7E6-315F-4B4E-92EB-E6AEEE865298}.Debug|x86.ActiveCfg = Debug|Win32
+ {7380F7E6-315F-4B4E-92EB-E6AEEE865298}.Debug|x86.Build.0 = Debug|Win32
+ {7380F7E6-315F-4B4E-92EB-E6AEEE865298}.Release|ARM.ActiveCfg = Release|ARM
+ {7380F7E6-315F-4B4E-92EB-E6AEEE865298}.Release|ARM.Build.0 = Release|ARM
+ {7380F7E6-315F-4B4E-92EB-E6AEEE865298}.Release|x64.ActiveCfg = Release|x64
+ {7380F7E6-315F-4B4E-92EB-E6AEEE865298}.Release|x64.Build.0 = Release|x64
+ {7380F7E6-315F-4B4E-92EB-E6AEEE865298}.Release|x86.ActiveCfg = Release|Win32
+ {7380F7E6-315F-4B4E-92EB-E6AEEE865298}.Release|x86.Build.0 = Release|Win32
+ {8ADA5F93-7A38-4AD8-B8F5-1FFD4D4F630C}.Debug|ARM.ActiveCfg = Debug|ARM
+ {8ADA5F93-7A38-4AD8-B8F5-1FFD4D4F630C}.Debug|ARM.Build.0 = Debug|ARM
+ {8ADA5F93-7A38-4AD8-B8F5-1FFD4D4F630C}.Debug|x64.ActiveCfg = Debug|x64
+ {8ADA5F93-7A38-4AD8-B8F5-1FFD4D4F630C}.Debug|x64.Build.0 = Debug|x64
+ {8ADA5F93-7A38-4AD8-B8F5-1FFD4D4F630C}.Debug|x86.ActiveCfg = Debug|Win32
+ {8ADA5F93-7A38-4AD8-B8F5-1FFD4D4F630C}.Debug|x86.Build.0 = Debug|Win32
+ {8ADA5F93-7A38-4AD8-B8F5-1FFD4D4F630C}.Release|ARM.ActiveCfg = Release|ARM
+ {8ADA5F93-7A38-4AD8-B8F5-1FFD4D4F630C}.Release|ARM.Build.0 = Release|ARM
+ {8ADA5F93-7A38-4AD8-B8F5-1FFD4D4F630C}.Release|x64.ActiveCfg = Release|x64
+ {8ADA5F93-7A38-4AD8-B8F5-1FFD4D4F630C}.Release|x64.Build.0 = Release|x64
+ {8ADA5F93-7A38-4AD8-B8F5-1FFD4D4F630C}.Release|x86.ActiveCfg = Release|Win32
+ {8ADA5F93-7A38-4AD8-B8F5-1FFD4D4F630C}.Release|x86.Build.0 = Release|Win32
+ {58F32677-436B-412A-BBF8-2B1310D82CD8}.Debug|ARM.ActiveCfg = Debug|Win32
+ {58F32677-436B-412A-BBF8-2B1310D82CD8}.Debug|x64.ActiveCfg = Debug|x64
+ {58F32677-436B-412A-BBF8-2B1310D82CD8}.Debug|x64.Build.0 = Debug|x64
+ {58F32677-436B-412A-BBF8-2B1310D82CD8}.Debug|x86.ActiveCfg = Debug|Win32
+ {58F32677-436B-412A-BBF8-2B1310D82CD8}.Debug|x86.Build.0 = Debug|Win32
+ {58F32677-436B-412A-BBF8-2B1310D82CD8}.Release|ARM.ActiveCfg = Release|Win32
+ {58F32677-436B-412A-BBF8-2B1310D82CD8}.Release|x64.ActiveCfg = Release|x64
+ {58F32677-436B-412A-BBF8-2B1310D82CD8}.Release|x64.Build.0 = Release|x64
+ {58F32677-436B-412A-BBF8-2B1310D82CD8}.Release|x86.ActiveCfg = Release|Win32
+ {58F32677-436B-412A-BBF8-2B1310D82CD8}.Release|x86.Build.0 = Release|Win32
+ {E333476E-15E3-4D43-A4CF-8748058B3BE9}.Debug|ARM.ActiveCfg = Debug|ARM
+ {E333476E-15E3-4D43-A4CF-8748058B3BE9}.Debug|ARM.Build.0 = Debug|ARM
+ {E333476E-15E3-4D43-A4CF-8748058B3BE9}.Debug|x64.ActiveCfg = Debug|ARM
+ {E333476E-15E3-4D43-A4CF-8748058B3BE9}.Debug|x86.ActiveCfg = Debug|ARM
+ {E333476E-15E3-4D43-A4CF-8748058B3BE9}.Release|ARM.ActiveCfg = Release|ARM
+ {E333476E-15E3-4D43-A4CF-8748058B3BE9}.Release|ARM.Build.0 = Release|ARM
+ {E333476E-15E3-4D43-A4CF-8748058B3BE9}.Release|x64.ActiveCfg = Release|ARM
+ {E333476E-15E3-4D43-A4CF-8748058B3BE9}.Release|x86.ActiveCfg = Release|ARM
+ {EDA960FC-AA6C-44B3-8ABB-90765DA4D516}.Debug|ARM.ActiveCfg = Debug|ARM
+ {EDA960FC-AA6C-44B3-8ABB-90765DA4D516}.Debug|ARM.Build.0 = Debug|ARM
+ {EDA960FC-AA6C-44B3-8ABB-90765DA4D516}.Debug|x64.ActiveCfg = Debug|x64
+ {EDA960FC-AA6C-44B3-8ABB-90765DA4D516}.Debug|x64.Build.0 = Debug|x64
+ {EDA960FC-AA6C-44B3-8ABB-90765DA4D516}.Debug|x86.ActiveCfg = Debug|Win32
+ {EDA960FC-AA6C-44B3-8ABB-90765DA4D516}.Debug|x86.Build.0 = Debug|Win32
+ {EDA960FC-AA6C-44B3-8ABB-90765DA4D516}.Release|ARM.ActiveCfg = Release|ARM
+ {EDA960FC-AA6C-44B3-8ABB-90765DA4D516}.Release|ARM.Build.0 = Release|ARM
+ {EDA960FC-AA6C-44B3-8ABB-90765DA4D516}.Release|x64.ActiveCfg = Release|x64
+ {EDA960FC-AA6C-44B3-8ABB-90765DA4D516}.Release|x64.Build.0 = Release|x64
+ {EDA960FC-AA6C-44B3-8ABB-90765DA4D516}.Release|x86.ActiveCfg = Release|Win32
+ {EDA960FC-AA6C-44B3-8ABB-90765DA4D516}.Release|x86.Build.0 = Release|Win32
+ {F40021AC-6D7B-4828-81C4-2D04F946A88E}.Debug|ARM.ActiveCfg = Debug|ARM
+ {F40021AC-6D7B-4828-81C4-2D04F946A88E}.Debug|ARM.Build.0 = Debug|ARM
+ {F40021AC-6D7B-4828-81C4-2D04F946A88E}.Debug|x64.ActiveCfg = Debug|x64
+ {F40021AC-6D7B-4828-81C4-2D04F946A88E}.Debug|x64.Build.0 = Debug|x64
+ {F40021AC-6D7B-4828-81C4-2D04F946A88E}.Debug|x86.ActiveCfg = Debug|Win32
+ {F40021AC-6D7B-4828-81C4-2D04F946A88E}.Debug|x86.Build.0 = Debug|Win32
+ {F40021AC-6D7B-4828-81C4-2D04F946A88E}.Release|ARM.ActiveCfg = Release|ARM
+ {F40021AC-6D7B-4828-81C4-2D04F946A88E}.Release|ARM.Build.0 = Release|ARM
+ {F40021AC-6D7B-4828-81C4-2D04F946A88E}.Release|x64.ActiveCfg = Release|x64
+ {F40021AC-6D7B-4828-81C4-2D04F946A88E}.Release|x64.Build.0 = Release|x64
+ {F40021AC-6D7B-4828-81C4-2D04F946A88E}.Release|x86.ActiveCfg = Release|Win32
+ {F40021AC-6D7B-4828-81C4-2D04F946A88E}.Release|x86.Build.0 = Release|Win32
+ {516AA088-64B1-4DCF-9631-59F91F0E849A}.Debug|ARM.ActiveCfg = Debug|ARM
+ {516AA088-64B1-4DCF-9631-59F91F0E849A}.Debug|ARM.Build.0 = Debug|ARM
+ {516AA088-64B1-4DCF-9631-59F91F0E849A}.Debug|x64.ActiveCfg = Debug|x64
+ {516AA088-64B1-4DCF-9631-59F91F0E849A}.Debug|x64.Build.0 = Debug|x64
+ {516AA088-64B1-4DCF-9631-59F91F0E849A}.Debug|x86.ActiveCfg = Debug|Win32
+ {516AA088-64B1-4DCF-9631-59F91F0E849A}.Debug|x86.Build.0 = Debug|Win32
+ {516AA088-64B1-4DCF-9631-59F91F0E849A}.Release|ARM.ActiveCfg = Release|ARM
+ {516AA088-64B1-4DCF-9631-59F91F0E849A}.Release|ARM.Build.0 = Release|ARM
+ {516AA088-64B1-4DCF-9631-59F91F0E849A}.Release|x64.ActiveCfg = Release|x64
+ {516AA088-64B1-4DCF-9631-59F91F0E849A}.Release|x64.Build.0 = Release|x64
+ {516AA088-64B1-4DCF-9631-59F91F0E849A}.Release|x86.ActiveCfg = Release|Win32
+ {516AA088-64B1-4DCF-9631-59F91F0E849A}.Release|x86.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(NestedProjects) = preSolution
+ {1D709544-3FFA-4778-81E4-F1BEFEA67EDF} = {4120EDD0-CBAF-407C-92D2-77D9834D8AFB}
+ {DD203D20-D4F8-499F-8760-DA54238F8E39} = {4120EDD0-CBAF-407C-92D2-77D9834D8AFB}
+ {664E6F0D-6784-4760-9565-D54F8EB1EDF4} = {1D709544-3FFA-4778-81E4-F1BEFEA67EDF}
+ {0CDD843C-089D-4FEE-BE9F-C08FA2B51ACB} = {DD203D20-D4F8-499F-8760-DA54238F8E39}
+ {052DD700-477C-4512-A7F4-B05EBEF5C80E} = {DD203D20-D4F8-499F-8760-DA54238F8E39}
+ {3C22010C-99F3-4321-8F55-36DA8F97A980} = {DD203D20-D4F8-499F-8760-DA54238F8E39}
+ {FE289CC7-15D6-4A76-B9CB-F61CAB3192C9} = {DD203D20-D4F8-499F-8760-DA54238F8E39}
+ {628CB771-ED9D-4874-A69E-3484343A4890} = {DD203D20-D4F8-499F-8760-DA54238F8E39}
+ {FFF8071A-DB82-485B-ADC3-F0B675296869} = {DD203D20-D4F8-499F-8760-DA54238F8E39}
+ {15E346D3-FDE6-4B29-88B7-FCA14DADA501} = {DD203D20-D4F8-499F-8760-DA54238F8E39}
+ {3BB4F2AC-1D2F-4AF6-B9CC-BDC17BB8BC39} = {DD203D20-D4F8-499F-8760-DA54238F8E39}
+ {C6014499-0CF2-43EC-A773-A4E354FB2D74} = {DD203D20-D4F8-499F-8760-DA54238F8E39}
+ {1A782154-A5BD-4A05-B837-EFC77F126C84} = {DD203D20-D4F8-499F-8760-DA54238F8E39}
+ {9E0110FC-5339-4196-8397-BA4FA34A4B84} = {DD203D20-D4F8-499F-8760-DA54238F8E39}
+ {40FD58ED-AABC-4CBD-BEE4-33116995A626} = {DD203D20-D4F8-499F-8760-DA54238F8E39}
+ {D716BF4D-094B-47D7-9137-A01C690C3616} = {4120EDD0-CBAF-407C-92D2-77D9834D8AFB}
+ {7380F7E6-315F-4B4E-92EB-E6AEEE865298} = {4120EDD0-CBAF-407C-92D2-77D9834D8AFB}
+ {C8F281ED-F3B9-4C24-A2D3-40A922363466} = {1A93BE77-E0C0-48BC-83FB-96518008B148}
+ {C50F6528-6A12-49A9-BEC0-E07CF153FCA8} = {1A93BE77-E0C0-48BC-83FB-96518008B148}
+ {8ADA5F93-7A38-4AD8-B8F5-1FFD4D4F630C} = {1A93BE77-E0C0-48BC-83FB-96518008B148}
+ {58F32677-436B-412A-BBF8-2B1310D82CD8} = {1A93BE77-E0C0-48BC-83FB-96518008B148}
+ {E333476E-15E3-4D43-A4CF-8748058B3BE9} = {1A93BE77-E0C0-48BC-83FB-96518008B148}
+ EndGlobalSection
+EndGlobal