diff --git a/CLEditor.Core/CLEditor.Core.csproj b/CLEditor.Core/CLEditor.Core.csproj index dee59a5edb8c67ee7e2d36b1a58280d3929591ba..1d9b8f696a3836a7ed33fd2f23c6a80a60b8a02d 100644 --- a/CLEditor.Core/CLEditor.Core.csproj +++ b/CLEditor.Core/CLEditor.Core.csproj @@ -18,7 +18,7 @@ full false bin\Debug\ - TRACE;DEBUG;C_PLATFORM_WINDOWS_DESKTOP + TRACE;DEBUG;C_PLATFORM_ANDROID prompt 4 true diff --git a/CLEditor.Core/Diagnostics/ConsoleLogListener.cs b/CLEditor.Core/Diagnostics/ConsoleLogListener.cs index fc3071f5dbc572fd3d1db91409e69bb845b6bb2b..8735050453e5da56bbfc5989bceea4ec3a6afb87 100644 --- a/CLEditor.Core/Diagnostics/ConsoleLogListener.cs +++ b/CLEditor.Core/Diagnostics/ConsoleLogListener.cs @@ -15,43 +15,7 @@ namespace CLEditor.Core.Diagnostics #if C_PLATFORM_WINDOWS_DESKTOP private bool isConsoleActive; #endif - public static void ShowConsole() - { - var handle = GetConsoleWindow(); - var outputRedirected = IsHandleRedirected((IntPtr)StdOutConsoleHandle); - - if (outputRedirected) - { - var originalStream = Console.OpenStandardOutput(); - - FreeConsole(); - AllocConsole(); - - var outputStream = Console.OpenStandardOutput(); - if (originalStream != null) - { - outputStream = new DualStream(originalStream, outputStream); - } - - TextWriter writer = new StreamWriter(outputStream) { AutoFlush = true }; - Console.SetOut(writer); - } - else if (handle != IntPtr.Zero) - { - const int SW_SHOW = 5; - ShowWindow(handle, SW_SHOW); - } - } - private static bool IsHandleRedirected(IntPtr ioHandle) - { - if ((GetFileType(new SafeFileHandle(ioHandle, false)) & 2) != 2) - { - return true; - } - - return false; - } /// /// 获取或设置此侦听器处理的最小日志级别 @@ -124,11 +88,49 @@ namespace CLEditor.Core.Diagnostics #endif #endif } - + #if C_PLATFORM_WINDOWS_DESKTOP private const int StdOutConsoleHandle = -11; + private static bool IsHandleRedirected(IntPtr ioHandle) + { + if ((GetFileType(new SafeFileHandle(ioHandle, false)) & 2) != 2) + { + return true; + } + + return false; + } + + public static void ShowConsole() + { + var handle = GetConsoleWindow(); + var outputRedirected = IsHandleRedirected((IntPtr)StdOutConsoleHandle); + + if (outputRedirected) + { + var originalStream = Console.OpenStandardOutput(); + + FreeConsole(); + AllocConsole(); + + var outputStream = Console.OpenStandardOutput(); + if (originalStream != null) + { + outputStream = new DualStream(originalStream, outputStream); + } + + TextWriter writer = new StreamWriter(outputStream) { AutoFlush = true }; + Console.SetOut(writer); + } + else if (handle != IntPtr.Zero) + { + const int SW_SHOW = 5; + ShowWindow(handle, SW_SHOW); + } + } + public static void HideConsole() { var handle = GetConsoleWindow(); @@ -210,6 +212,10 @@ namespace CLEditor.Core.Diagnostics isConsoleActive = true; } +#else + private void EnsureConsole() + { + } #endif } } \ No newline at end of file diff --git a/CLEditor.Core/Platform.cs b/CLEditor.Core/Platform.cs index d34fdb337e85a6c7576a8f5fab125745a4cc11e2..8423bfcb37cea4ca634507e478b44598a64c917f 100644 --- a/CLEditor.Core/Platform.cs +++ b/CLEditor.Core/Platform.cs @@ -11,6 +11,8 @@ namespace CLEditor.Core { #if C_PLATFORM_WINDOWS_DESKTOP public static readonly PlatformType Type = PlatformType.Windows; +#elif C_PLATFORM_ANDROID + public static readonly PlatformType Type = PlatformType.Android; #endif /// diff --git a/CLEditor.sln b/CLEditor.sln index cdb6d19e3c01bf356e57a21208ca4920672d46cb..a69453a22305f496c21b67798a2afb38dbb52ee4 100644 --- a/CLEditor.sln +++ b/CLEditor.sln @@ -31,140 +31,712 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Game.Desktop", "Game.Deskto EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CLEngine.ScriptEngine", "CLEngine.ScriptEngine\CLEngine.ScriptEngine.csproj", "{DE6B0459-39BA-49B6-8B63-1BB3A8B5105B}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Game.Android", "Game.Android\Game.Android.csproj", "{3B769A4B-5FBB-4FC9-AB04-B5D525E69448}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Game.IOS", "Game.IOS\Game.IOS.csproj", "{E4A7F2B4-26BB-435B-AD80-F8F8336C4A89}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Game.UWP", "Game.UWP\Game.UWP.csproj", "{5ED5C9C6-A6F6-4890-B037-3638A7B9E3F1}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution + Ad-Hoc|Any CPU = Ad-Hoc|Any CPU + Ad-Hoc|ARM = Ad-Hoc|ARM + Ad-Hoc|iPhone = Ad-Hoc|iPhone + Ad-Hoc|iPhoneSimulator = Ad-Hoc|iPhoneSimulator + Ad-Hoc|x64 = Ad-Hoc|x64 + Ad-Hoc|x86 = Ad-Hoc|x86 + AppStore|Any CPU = AppStore|Any CPU + AppStore|ARM = AppStore|ARM + AppStore|iPhone = AppStore|iPhone + AppStore|iPhoneSimulator = AppStore|iPhoneSimulator + AppStore|x64 = AppStore|x64 + AppStore|x86 = AppStore|x86 Debug|Any CPU = Debug|Any CPU + Debug|ARM = Debug|ARM + Debug|iPhone = Debug|iPhone + Debug|iPhoneSimulator = Debug|iPhoneSimulator Debug|x64 = Debug|x64 Debug|x86 = Debug|x86 Release|Any CPU = Release|Any CPU + Release|ARM = Release|ARM + Release|iPhone = Release|iPhone + Release|iPhoneSimulator = Release|iPhoneSimulator Release|x64 = Release|x64 Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution + {054B9F0E-FCDF-4BAE-882A-BA62483BE998}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU + {054B9F0E-FCDF-4BAE-882A-BA62483BE998}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU + {054B9F0E-FCDF-4BAE-882A-BA62483BE998}.Ad-Hoc|ARM.ActiveCfg = Release|Any CPU + {054B9F0E-FCDF-4BAE-882A-BA62483BE998}.Ad-Hoc|ARM.Build.0 = Release|Any CPU + {054B9F0E-FCDF-4BAE-882A-BA62483BE998}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU + {054B9F0E-FCDF-4BAE-882A-BA62483BE998}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU + {054B9F0E-FCDF-4BAE-882A-BA62483BE998}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU + {054B9F0E-FCDF-4BAE-882A-BA62483BE998}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU + {054B9F0E-FCDF-4BAE-882A-BA62483BE998}.Ad-Hoc|x64.ActiveCfg = Release|Any CPU + {054B9F0E-FCDF-4BAE-882A-BA62483BE998}.Ad-Hoc|x64.Build.0 = Release|Any CPU + {054B9F0E-FCDF-4BAE-882A-BA62483BE998}.Ad-Hoc|x86.ActiveCfg = Release|Any CPU + {054B9F0E-FCDF-4BAE-882A-BA62483BE998}.Ad-Hoc|x86.Build.0 = Release|Any CPU + {054B9F0E-FCDF-4BAE-882A-BA62483BE998}.AppStore|Any CPU.ActiveCfg = Release|Any CPU + {054B9F0E-FCDF-4BAE-882A-BA62483BE998}.AppStore|Any CPU.Build.0 = Release|Any CPU + {054B9F0E-FCDF-4BAE-882A-BA62483BE998}.AppStore|ARM.ActiveCfg = Release|Any CPU + {054B9F0E-FCDF-4BAE-882A-BA62483BE998}.AppStore|ARM.Build.0 = Release|Any CPU + {054B9F0E-FCDF-4BAE-882A-BA62483BE998}.AppStore|iPhone.ActiveCfg = Release|Any CPU + {054B9F0E-FCDF-4BAE-882A-BA62483BE998}.AppStore|iPhone.Build.0 = Release|Any CPU + {054B9F0E-FCDF-4BAE-882A-BA62483BE998}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU + {054B9F0E-FCDF-4BAE-882A-BA62483BE998}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU + {054B9F0E-FCDF-4BAE-882A-BA62483BE998}.AppStore|x64.ActiveCfg = Release|Any CPU + {054B9F0E-FCDF-4BAE-882A-BA62483BE998}.AppStore|x64.Build.0 = Release|Any CPU + {054B9F0E-FCDF-4BAE-882A-BA62483BE998}.AppStore|x86.ActiveCfg = Release|Any CPU + {054B9F0E-FCDF-4BAE-882A-BA62483BE998}.AppStore|x86.Build.0 = Release|Any CPU {054B9F0E-FCDF-4BAE-882A-BA62483BE998}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {054B9F0E-FCDF-4BAE-882A-BA62483BE998}.Debug|Any CPU.Build.0 = Debug|Any CPU + {054B9F0E-FCDF-4BAE-882A-BA62483BE998}.Debug|ARM.ActiveCfg = Debug|Any CPU + {054B9F0E-FCDF-4BAE-882A-BA62483BE998}.Debug|ARM.Build.0 = Debug|Any CPU + {054B9F0E-FCDF-4BAE-882A-BA62483BE998}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {054B9F0E-FCDF-4BAE-882A-BA62483BE998}.Debug|iPhone.Build.0 = Debug|Any CPU + {054B9F0E-FCDF-4BAE-882A-BA62483BE998}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {054B9F0E-FCDF-4BAE-882A-BA62483BE998}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU {054B9F0E-FCDF-4BAE-882A-BA62483BE998}.Debug|x64.ActiveCfg = Debug|Any CPU {054B9F0E-FCDF-4BAE-882A-BA62483BE998}.Debug|x64.Build.0 = Debug|Any CPU {054B9F0E-FCDF-4BAE-882A-BA62483BE998}.Debug|x86.ActiveCfg = Debug|Any CPU {054B9F0E-FCDF-4BAE-882A-BA62483BE998}.Debug|x86.Build.0 = Debug|Any CPU {054B9F0E-FCDF-4BAE-882A-BA62483BE998}.Release|Any CPU.ActiveCfg = Release|Any CPU {054B9F0E-FCDF-4BAE-882A-BA62483BE998}.Release|Any CPU.Build.0 = Release|Any CPU + {054B9F0E-FCDF-4BAE-882A-BA62483BE998}.Release|ARM.ActiveCfg = Release|Any CPU + {054B9F0E-FCDF-4BAE-882A-BA62483BE998}.Release|ARM.Build.0 = Release|Any CPU + {054B9F0E-FCDF-4BAE-882A-BA62483BE998}.Release|iPhone.ActiveCfg = Release|Any CPU + {054B9F0E-FCDF-4BAE-882A-BA62483BE998}.Release|iPhone.Build.0 = Release|Any CPU + {054B9F0E-FCDF-4BAE-882A-BA62483BE998}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {054B9F0E-FCDF-4BAE-882A-BA62483BE998}.Release|iPhoneSimulator.Build.0 = Release|Any CPU {054B9F0E-FCDF-4BAE-882A-BA62483BE998}.Release|x64.ActiveCfg = Release|Any CPU {054B9F0E-FCDF-4BAE-882A-BA62483BE998}.Release|x64.Build.0 = Release|Any CPU {054B9F0E-FCDF-4BAE-882A-BA62483BE998}.Release|x86.ActiveCfg = Release|Any CPU {054B9F0E-FCDF-4BAE-882A-BA62483BE998}.Release|x86.Build.0 = Release|Any CPU + {A9459A99-39D8-480B-BF14-A7687ECE7DB1}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU + {A9459A99-39D8-480B-BF14-A7687ECE7DB1}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU + {A9459A99-39D8-480B-BF14-A7687ECE7DB1}.Ad-Hoc|ARM.ActiveCfg = Release|Any CPU + {A9459A99-39D8-480B-BF14-A7687ECE7DB1}.Ad-Hoc|ARM.Build.0 = Release|Any CPU + {A9459A99-39D8-480B-BF14-A7687ECE7DB1}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU + {A9459A99-39D8-480B-BF14-A7687ECE7DB1}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU + {A9459A99-39D8-480B-BF14-A7687ECE7DB1}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU + {A9459A99-39D8-480B-BF14-A7687ECE7DB1}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU + {A9459A99-39D8-480B-BF14-A7687ECE7DB1}.Ad-Hoc|x64.ActiveCfg = Release|Any CPU + {A9459A99-39D8-480B-BF14-A7687ECE7DB1}.Ad-Hoc|x64.Build.0 = Release|Any CPU + {A9459A99-39D8-480B-BF14-A7687ECE7DB1}.Ad-Hoc|x86.ActiveCfg = Release|Any CPU + {A9459A99-39D8-480B-BF14-A7687ECE7DB1}.Ad-Hoc|x86.Build.0 = Release|Any CPU + {A9459A99-39D8-480B-BF14-A7687ECE7DB1}.AppStore|Any CPU.ActiveCfg = Release|Any CPU + {A9459A99-39D8-480B-BF14-A7687ECE7DB1}.AppStore|Any CPU.Build.0 = Release|Any CPU + {A9459A99-39D8-480B-BF14-A7687ECE7DB1}.AppStore|ARM.ActiveCfg = Release|Any CPU + {A9459A99-39D8-480B-BF14-A7687ECE7DB1}.AppStore|ARM.Build.0 = Release|Any CPU + {A9459A99-39D8-480B-BF14-A7687ECE7DB1}.AppStore|iPhone.ActiveCfg = Release|Any CPU + {A9459A99-39D8-480B-BF14-A7687ECE7DB1}.AppStore|iPhone.Build.0 = Release|Any CPU + {A9459A99-39D8-480B-BF14-A7687ECE7DB1}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU + {A9459A99-39D8-480B-BF14-A7687ECE7DB1}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU + {A9459A99-39D8-480B-BF14-A7687ECE7DB1}.AppStore|x64.ActiveCfg = Release|Any CPU + {A9459A99-39D8-480B-BF14-A7687ECE7DB1}.AppStore|x64.Build.0 = Release|Any CPU + {A9459A99-39D8-480B-BF14-A7687ECE7DB1}.AppStore|x86.ActiveCfg = Release|Any CPU + {A9459A99-39D8-480B-BF14-A7687ECE7DB1}.AppStore|x86.Build.0 = Release|Any CPU {A9459A99-39D8-480B-BF14-A7687ECE7DB1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {A9459A99-39D8-480B-BF14-A7687ECE7DB1}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A9459A99-39D8-480B-BF14-A7687ECE7DB1}.Debug|ARM.ActiveCfg = Debug|Any CPU + {A9459A99-39D8-480B-BF14-A7687ECE7DB1}.Debug|ARM.Build.0 = Debug|Any CPU + {A9459A99-39D8-480B-BF14-A7687ECE7DB1}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {A9459A99-39D8-480B-BF14-A7687ECE7DB1}.Debug|iPhone.Build.0 = Debug|Any CPU + {A9459A99-39D8-480B-BF14-A7687ECE7DB1}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {A9459A99-39D8-480B-BF14-A7687ECE7DB1}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU {A9459A99-39D8-480B-BF14-A7687ECE7DB1}.Debug|x64.ActiveCfg = Debug|Any CPU {A9459A99-39D8-480B-BF14-A7687ECE7DB1}.Debug|x64.Build.0 = Debug|Any CPU {A9459A99-39D8-480B-BF14-A7687ECE7DB1}.Debug|x86.ActiveCfg = Debug|Any CPU {A9459A99-39D8-480B-BF14-A7687ECE7DB1}.Debug|x86.Build.0 = Debug|Any CPU {A9459A99-39D8-480B-BF14-A7687ECE7DB1}.Release|Any CPU.ActiveCfg = Release|Any CPU {A9459A99-39D8-480B-BF14-A7687ECE7DB1}.Release|Any CPU.Build.0 = Release|Any CPU + {A9459A99-39D8-480B-BF14-A7687ECE7DB1}.Release|ARM.ActiveCfg = Release|Any CPU + {A9459A99-39D8-480B-BF14-A7687ECE7DB1}.Release|ARM.Build.0 = Release|Any CPU + {A9459A99-39D8-480B-BF14-A7687ECE7DB1}.Release|iPhone.ActiveCfg = Release|Any CPU + {A9459A99-39D8-480B-BF14-A7687ECE7DB1}.Release|iPhone.Build.0 = Release|Any CPU + {A9459A99-39D8-480B-BF14-A7687ECE7DB1}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {A9459A99-39D8-480B-BF14-A7687ECE7DB1}.Release|iPhoneSimulator.Build.0 = Release|Any CPU {A9459A99-39D8-480B-BF14-A7687ECE7DB1}.Release|x64.ActiveCfg = Release|Any CPU {A9459A99-39D8-480B-BF14-A7687ECE7DB1}.Release|x64.Build.0 = Release|Any CPU {A9459A99-39D8-480B-BF14-A7687ECE7DB1}.Release|x86.ActiveCfg = Release|Any CPU {A9459A99-39D8-480B-BF14-A7687ECE7DB1}.Release|x86.Build.0 = Release|Any CPU + {13E5DB9F-4EE0-469F-A861-36F8D685D68E}.Ad-Hoc|Any CPU.ActiveCfg = Release|x86 + {13E5DB9F-4EE0-469F-A861-36F8D685D68E}.Ad-Hoc|Any CPU.Build.0 = Release|x86 + {13E5DB9F-4EE0-469F-A861-36F8D685D68E}.Ad-Hoc|ARM.ActiveCfg = Release|x86 + {13E5DB9F-4EE0-469F-A861-36F8D685D68E}.Ad-Hoc|ARM.Build.0 = Release|x86 + {13E5DB9F-4EE0-469F-A861-36F8D685D68E}.Ad-Hoc|iPhone.ActiveCfg = Release|x86 + {13E5DB9F-4EE0-469F-A861-36F8D685D68E}.Ad-Hoc|iPhone.Build.0 = Release|x86 + {13E5DB9F-4EE0-469F-A861-36F8D685D68E}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|x86 + {13E5DB9F-4EE0-469F-A861-36F8D685D68E}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|x86 + {13E5DB9F-4EE0-469F-A861-36F8D685D68E}.Ad-Hoc|x64.ActiveCfg = Release|x86 + {13E5DB9F-4EE0-469F-A861-36F8D685D68E}.Ad-Hoc|x64.Build.0 = Release|x86 + {13E5DB9F-4EE0-469F-A861-36F8D685D68E}.Ad-Hoc|x86.ActiveCfg = Release|x86 + {13E5DB9F-4EE0-469F-A861-36F8D685D68E}.Ad-Hoc|x86.Build.0 = Release|x86 + {13E5DB9F-4EE0-469F-A861-36F8D685D68E}.AppStore|Any CPU.ActiveCfg = Release|x86 + {13E5DB9F-4EE0-469F-A861-36F8D685D68E}.AppStore|Any CPU.Build.0 = Release|x86 + {13E5DB9F-4EE0-469F-A861-36F8D685D68E}.AppStore|ARM.ActiveCfg = Release|x86 + {13E5DB9F-4EE0-469F-A861-36F8D685D68E}.AppStore|ARM.Build.0 = Release|x86 + {13E5DB9F-4EE0-469F-A861-36F8D685D68E}.AppStore|iPhone.ActiveCfg = Release|x86 + {13E5DB9F-4EE0-469F-A861-36F8D685D68E}.AppStore|iPhone.Build.0 = Release|x86 + {13E5DB9F-4EE0-469F-A861-36F8D685D68E}.AppStore|iPhoneSimulator.ActiveCfg = Release|x86 + {13E5DB9F-4EE0-469F-A861-36F8D685D68E}.AppStore|iPhoneSimulator.Build.0 = Release|x86 + {13E5DB9F-4EE0-469F-A861-36F8D685D68E}.AppStore|x64.ActiveCfg = Release|x86 + {13E5DB9F-4EE0-469F-A861-36F8D685D68E}.AppStore|x64.Build.0 = Release|x86 + {13E5DB9F-4EE0-469F-A861-36F8D685D68E}.AppStore|x86.ActiveCfg = Release|x86 + {13E5DB9F-4EE0-469F-A861-36F8D685D68E}.AppStore|x86.Build.0 = Release|x86 {13E5DB9F-4EE0-469F-A861-36F8D685D68E}.Debug|Any CPU.ActiveCfg = Debug|x86 {13E5DB9F-4EE0-469F-A861-36F8D685D68E}.Debug|Any CPU.Build.0 = Debug|x86 + {13E5DB9F-4EE0-469F-A861-36F8D685D68E}.Debug|ARM.ActiveCfg = Debug|x86 + {13E5DB9F-4EE0-469F-A861-36F8D685D68E}.Debug|iPhone.ActiveCfg = Debug|x86 + {13E5DB9F-4EE0-469F-A861-36F8D685D68E}.Debug|iPhoneSimulator.ActiveCfg = Debug|x86 {13E5DB9F-4EE0-469F-A861-36F8D685D68E}.Debug|x64.ActiveCfg = Debug|x86 {13E5DB9F-4EE0-469F-A861-36F8D685D68E}.Debug|x86.ActiveCfg = Debug|x86 {13E5DB9F-4EE0-469F-A861-36F8D685D68E}.Debug|x86.Build.0 = Debug|x86 {13E5DB9F-4EE0-469F-A861-36F8D685D68E}.Release|Any CPU.ActiveCfg = Release|x86 + {13E5DB9F-4EE0-469F-A861-36F8D685D68E}.Release|ARM.ActiveCfg = Release|x86 + {13E5DB9F-4EE0-469F-A861-36F8D685D68E}.Release|iPhone.ActiveCfg = Release|x86 + {13E5DB9F-4EE0-469F-A861-36F8D685D68E}.Release|iPhoneSimulator.ActiveCfg = Release|x86 {13E5DB9F-4EE0-469F-A861-36F8D685D68E}.Release|x64.ActiveCfg = Release|x86 {13E5DB9F-4EE0-469F-A861-36F8D685D68E}.Release|x86.ActiveCfg = Release|x86 {13E5DB9F-4EE0-469F-A861-36F8D685D68E}.Release|x86.Build.0 = Release|x86 + {09A94A34-9EA3-40B0-9A5F-C9B7B6E8A496}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU + {09A94A34-9EA3-40B0-9A5F-C9B7B6E8A496}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU + {09A94A34-9EA3-40B0-9A5F-C9B7B6E8A496}.Ad-Hoc|ARM.ActiveCfg = Release|Any CPU + {09A94A34-9EA3-40B0-9A5F-C9B7B6E8A496}.Ad-Hoc|ARM.Build.0 = Release|Any CPU + {09A94A34-9EA3-40B0-9A5F-C9B7B6E8A496}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU + {09A94A34-9EA3-40B0-9A5F-C9B7B6E8A496}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU + {09A94A34-9EA3-40B0-9A5F-C9B7B6E8A496}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU + {09A94A34-9EA3-40B0-9A5F-C9B7B6E8A496}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU + {09A94A34-9EA3-40B0-9A5F-C9B7B6E8A496}.Ad-Hoc|x64.ActiveCfg = Release|Any CPU + {09A94A34-9EA3-40B0-9A5F-C9B7B6E8A496}.Ad-Hoc|x64.Build.0 = Release|Any CPU + {09A94A34-9EA3-40B0-9A5F-C9B7B6E8A496}.Ad-Hoc|x86.ActiveCfg = Release|Any CPU + {09A94A34-9EA3-40B0-9A5F-C9B7B6E8A496}.Ad-Hoc|x86.Build.0 = Release|Any CPU + {09A94A34-9EA3-40B0-9A5F-C9B7B6E8A496}.AppStore|Any CPU.ActiveCfg = Release|Any CPU + {09A94A34-9EA3-40B0-9A5F-C9B7B6E8A496}.AppStore|Any CPU.Build.0 = Release|Any CPU + {09A94A34-9EA3-40B0-9A5F-C9B7B6E8A496}.AppStore|ARM.ActiveCfg = Release|Any CPU + {09A94A34-9EA3-40B0-9A5F-C9B7B6E8A496}.AppStore|ARM.Build.0 = Release|Any CPU + {09A94A34-9EA3-40B0-9A5F-C9B7B6E8A496}.AppStore|iPhone.ActiveCfg = Release|Any CPU + {09A94A34-9EA3-40B0-9A5F-C9B7B6E8A496}.AppStore|iPhone.Build.0 = Release|Any CPU + {09A94A34-9EA3-40B0-9A5F-C9B7B6E8A496}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU + {09A94A34-9EA3-40B0-9A5F-C9B7B6E8A496}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU + {09A94A34-9EA3-40B0-9A5F-C9B7B6E8A496}.AppStore|x64.ActiveCfg = Release|Any CPU + {09A94A34-9EA3-40B0-9A5F-C9B7B6E8A496}.AppStore|x64.Build.0 = Release|Any CPU + {09A94A34-9EA3-40B0-9A5F-C9B7B6E8A496}.AppStore|x86.ActiveCfg = Release|Any CPU + {09A94A34-9EA3-40B0-9A5F-C9B7B6E8A496}.AppStore|x86.Build.0 = Release|Any CPU {09A94A34-9EA3-40B0-9A5F-C9B7B6E8A496}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {09A94A34-9EA3-40B0-9A5F-C9B7B6E8A496}.Debug|ARM.ActiveCfg = Debug|Any CPU + {09A94A34-9EA3-40B0-9A5F-C9B7B6E8A496}.Debug|ARM.Build.0 = Debug|Any CPU + {09A94A34-9EA3-40B0-9A5F-C9B7B6E8A496}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {09A94A34-9EA3-40B0-9A5F-C9B7B6E8A496}.Debug|iPhone.Build.0 = Debug|Any CPU + {09A94A34-9EA3-40B0-9A5F-C9B7B6E8A496}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {09A94A34-9EA3-40B0-9A5F-C9B7B6E8A496}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU {09A94A34-9EA3-40B0-9A5F-C9B7B6E8A496}.Debug|x64.ActiveCfg = Debug|Any CPU {09A94A34-9EA3-40B0-9A5F-C9B7B6E8A496}.Debug|x64.Build.0 = Debug|Any CPU {09A94A34-9EA3-40B0-9A5F-C9B7B6E8A496}.Debug|x86.ActiveCfg = Debug|Any CPU {09A94A34-9EA3-40B0-9A5F-C9B7B6E8A496}.Debug|x86.Build.0 = Debug|Any CPU {09A94A34-9EA3-40B0-9A5F-C9B7B6E8A496}.Release|Any CPU.ActiveCfg = Release|Any CPU {09A94A34-9EA3-40B0-9A5F-C9B7B6E8A496}.Release|Any CPU.Build.0 = Release|Any CPU + {09A94A34-9EA3-40B0-9A5F-C9B7B6E8A496}.Release|ARM.ActiveCfg = Release|Any CPU + {09A94A34-9EA3-40B0-9A5F-C9B7B6E8A496}.Release|ARM.Build.0 = Release|Any CPU + {09A94A34-9EA3-40B0-9A5F-C9B7B6E8A496}.Release|iPhone.ActiveCfg = Release|Any CPU + {09A94A34-9EA3-40B0-9A5F-C9B7B6E8A496}.Release|iPhone.Build.0 = Release|Any CPU + {09A94A34-9EA3-40B0-9A5F-C9B7B6E8A496}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {09A94A34-9EA3-40B0-9A5F-C9B7B6E8A496}.Release|iPhoneSimulator.Build.0 = Release|Any CPU {09A94A34-9EA3-40B0-9A5F-C9B7B6E8A496}.Release|x64.ActiveCfg = Release|Any CPU {09A94A34-9EA3-40B0-9A5F-C9B7B6E8A496}.Release|x64.Build.0 = Release|Any CPU {09A94A34-9EA3-40B0-9A5F-C9B7B6E8A496}.Release|x86.ActiveCfg = Release|Any CPU {09A94A34-9EA3-40B0-9A5F-C9B7B6E8A496}.Release|x86.Build.0 = Release|Any CPU + {F49C4C69-3A15-4201-8AA2-29E115A17311}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU + {F49C4C69-3A15-4201-8AA2-29E115A17311}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU + {F49C4C69-3A15-4201-8AA2-29E115A17311}.Ad-Hoc|ARM.ActiveCfg = Release|Any CPU + {F49C4C69-3A15-4201-8AA2-29E115A17311}.Ad-Hoc|ARM.Build.0 = Release|Any CPU + {F49C4C69-3A15-4201-8AA2-29E115A17311}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU + {F49C4C69-3A15-4201-8AA2-29E115A17311}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU + {F49C4C69-3A15-4201-8AA2-29E115A17311}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU + {F49C4C69-3A15-4201-8AA2-29E115A17311}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU + {F49C4C69-3A15-4201-8AA2-29E115A17311}.Ad-Hoc|x64.ActiveCfg = Release|Any CPU + {F49C4C69-3A15-4201-8AA2-29E115A17311}.Ad-Hoc|x64.Build.0 = Release|Any CPU + {F49C4C69-3A15-4201-8AA2-29E115A17311}.Ad-Hoc|x86.ActiveCfg = Release|Any CPU + {F49C4C69-3A15-4201-8AA2-29E115A17311}.Ad-Hoc|x86.Build.0 = Release|Any CPU + {F49C4C69-3A15-4201-8AA2-29E115A17311}.AppStore|Any CPU.ActiveCfg = Release|Any CPU + {F49C4C69-3A15-4201-8AA2-29E115A17311}.AppStore|Any CPU.Build.0 = Release|Any CPU + {F49C4C69-3A15-4201-8AA2-29E115A17311}.AppStore|ARM.ActiveCfg = Release|Any CPU + {F49C4C69-3A15-4201-8AA2-29E115A17311}.AppStore|ARM.Build.0 = Release|Any CPU + {F49C4C69-3A15-4201-8AA2-29E115A17311}.AppStore|iPhone.ActiveCfg = Release|Any CPU + {F49C4C69-3A15-4201-8AA2-29E115A17311}.AppStore|iPhone.Build.0 = Release|Any CPU + {F49C4C69-3A15-4201-8AA2-29E115A17311}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU + {F49C4C69-3A15-4201-8AA2-29E115A17311}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU + {F49C4C69-3A15-4201-8AA2-29E115A17311}.AppStore|x64.ActiveCfg = Release|Any CPU + {F49C4C69-3A15-4201-8AA2-29E115A17311}.AppStore|x64.Build.0 = Release|Any CPU + {F49C4C69-3A15-4201-8AA2-29E115A17311}.AppStore|x86.ActiveCfg = Release|Any CPU + {F49C4C69-3A15-4201-8AA2-29E115A17311}.AppStore|x86.Build.0 = Release|Any CPU {F49C4C69-3A15-4201-8AA2-29E115A17311}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {F49C4C69-3A15-4201-8AA2-29E115A17311}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F49C4C69-3A15-4201-8AA2-29E115A17311}.Debug|ARM.ActiveCfg = Debug|Any CPU + {F49C4C69-3A15-4201-8AA2-29E115A17311}.Debug|ARM.Build.0 = Debug|Any CPU + {F49C4C69-3A15-4201-8AA2-29E115A17311}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {F49C4C69-3A15-4201-8AA2-29E115A17311}.Debug|iPhone.Build.0 = Debug|Any CPU + {F49C4C69-3A15-4201-8AA2-29E115A17311}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {F49C4C69-3A15-4201-8AA2-29E115A17311}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU {F49C4C69-3A15-4201-8AA2-29E115A17311}.Debug|x64.ActiveCfg = Debug|Any CPU {F49C4C69-3A15-4201-8AA2-29E115A17311}.Debug|x64.Build.0 = Debug|Any CPU {F49C4C69-3A15-4201-8AA2-29E115A17311}.Debug|x86.ActiveCfg = Debug|Any CPU {F49C4C69-3A15-4201-8AA2-29E115A17311}.Debug|x86.Build.0 = Debug|Any CPU {F49C4C69-3A15-4201-8AA2-29E115A17311}.Release|Any CPU.ActiveCfg = Release|Any CPU {F49C4C69-3A15-4201-8AA2-29E115A17311}.Release|Any CPU.Build.0 = Release|Any CPU + {F49C4C69-3A15-4201-8AA2-29E115A17311}.Release|ARM.ActiveCfg = Release|Any CPU + {F49C4C69-3A15-4201-8AA2-29E115A17311}.Release|ARM.Build.0 = Release|Any CPU + {F49C4C69-3A15-4201-8AA2-29E115A17311}.Release|iPhone.ActiveCfg = Release|Any CPU + {F49C4C69-3A15-4201-8AA2-29E115A17311}.Release|iPhone.Build.0 = Release|Any CPU + {F49C4C69-3A15-4201-8AA2-29E115A17311}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {F49C4C69-3A15-4201-8AA2-29E115A17311}.Release|iPhoneSimulator.Build.0 = Release|Any CPU {F49C4C69-3A15-4201-8AA2-29E115A17311}.Release|x64.ActiveCfg = Release|Any CPU {F49C4C69-3A15-4201-8AA2-29E115A17311}.Release|x64.Build.0 = Release|Any CPU {F49C4C69-3A15-4201-8AA2-29E115A17311}.Release|x86.ActiveCfg = Release|Any CPU {F49C4C69-3A15-4201-8AA2-29E115A17311}.Release|x86.Build.0 = Release|Any CPU + {14E96242-DA07-4408-BFD5-CEB6D2FE9CCE}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU + {14E96242-DA07-4408-BFD5-CEB6D2FE9CCE}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU + {14E96242-DA07-4408-BFD5-CEB6D2FE9CCE}.Ad-Hoc|ARM.ActiveCfg = Release|Any CPU + {14E96242-DA07-4408-BFD5-CEB6D2FE9CCE}.Ad-Hoc|ARM.Build.0 = Release|Any CPU + {14E96242-DA07-4408-BFD5-CEB6D2FE9CCE}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU + {14E96242-DA07-4408-BFD5-CEB6D2FE9CCE}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU + {14E96242-DA07-4408-BFD5-CEB6D2FE9CCE}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU + {14E96242-DA07-4408-BFD5-CEB6D2FE9CCE}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU + {14E96242-DA07-4408-BFD5-CEB6D2FE9CCE}.Ad-Hoc|x64.ActiveCfg = Release|Any CPU + {14E96242-DA07-4408-BFD5-CEB6D2FE9CCE}.Ad-Hoc|x64.Build.0 = Release|Any CPU + {14E96242-DA07-4408-BFD5-CEB6D2FE9CCE}.Ad-Hoc|x86.ActiveCfg = Release|Any CPU + {14E96242-DA07-4408-BFD5-CEB6D2FE9CCE}.Ad-Hoc|x86.Build.0 = Release|Any CPU + {14E96242-DA07-4408-BFD5-CEB6D2FE9CCE}.AppStore|Any CPU.ActiveCfg = Release|Any CPU + {14E96242-DA07-4408-BFD5-CEB6D2FE9CCE}.AppStore|Any CPU.Build.0 = Release|Any CPU + {14E96242-DA07-4408-BFD5-CEB6D2FE9CCE}.AppStore|ARM.ActiveCfg = Release|Any CPU + {14E96242-DA07-4408-BFD5-CEB6D2FE9CCE}.AppStore|ARM.Build.0 = Release|Any CPU + {14E96242-DA07-4408-BFD5-CEB6D2FE9CCE}.AppStore|iPhone.ActiveCfg = Release|Any CPU + {14E96242-DA07-4408-BFD5-CEB6D2FE9CCE}.AppStore|iPhone.Build.0 = Release|Any CPU + {14E96242-DA07-4408-BFD5-CEB6D2FE9CCE}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU + {14E96242-DA07-4408-BFD5-CEB6D2FE9CCE}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU + {14E96242-DA07-4408-BFD5-CEB6D2FE9CCE}.AppStore|x64.ActiveCfg = Release|Any CPU + {14E96242-DA07-4408-BFD5-CEB6D2FE9CCE}.AppStore|x64.Build.0 = Release|Any CPU + {14E96242-DA07-4408-BFD5-CEB6D2FE9CCE}.AppStore|x86.ActiveCfg = Release|Any CPU + {14E96242-DA07-4408-BFD5-CEB6D2FE9CCE}.AppStore|x86.Build.0 = Release|Any CPU {14E96242-DA07-4408-BFD5-CEB6D2FE9CCE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {14E96242-DA07-4408-BFD5-CEB6D2FE9CCE}.Debug|Any CPU.Build.0 = Debug|Any CPU + {14E96242-DA07-4408-BFD5-CEB6D2FE9CCE}.Debug|ARM.ActiveCfg = Debug|Any CPU + {14E96242-DA07-4408-BFD5-CEB6D2FE9CCE}.Debug|ARM.Build.0 = Debug|Any CPU + {14E96242-DA07-4408-BFD5-CEB6D2FE9CCE}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {14E96242-DA07-4408-BFD5-CEB6D2FE9CCE}.Debug|iPhone.Build.0 = Debug|Any CPU + {14E96242-DA07-4408-BFD5-CEB6D2FE9CCE}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {14E96242-DA07-4408-BFD5-CEB6D2FE9CCE}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU {14E96242-DA07-4408-BFD5-CEB6D2FE9CCE}.Debug|x64.ActiveCfg = Debug|Any CPU {14E96242-DA07-4408-BFD5-CEB6D2FE9CCE}.Debug|x64.Build.0 = Debug|Any CPU {14E96242-DA07-4408-BFD5-CEB6D2FE9CCE}.Debug|x86.ActiveCfg = Debug|Any CPU {14E96242-DA07-4408-BFD5-CEB6D2FE9CCE}.Debug|x86.Build.0 = Debug|Any CPU {14E96242-DA07-4408-BFD5-CEB6D2FE9CCE}.Release|Any CPU.ActiveCfg = Release|Any CPU {14E96242-DA07-4408-BFD5-CEB6D2FE9CCE}.Release|Any CPU.Build.0 = Release|Any CPU + {14E96242-DA07-4408-BFD5-CEB6D2FE9CCE}.Release|ARM.ActiveCfg = Release|Any CPU + {14E96242-DA07-4408-BFD5-CEB6D2FE9CCE}.Release|ARM.Build.0 = Release|Any CPU + {14E96242-DA07-4408-BFD5-CEB6D2FE9CCE}.Release|iPhone.ActiveCfg = Release|Any CPU + {14E96242-DA07-4408-BFD5-CEB6D2FE9CCE}.Release|iPhone.Build.0 = Release|Any CPU + {14E96242-DA07-4408-BFD5-CEB6D2FE9CCE}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {14E96242-DA07-4408-BFD5-CEB6D2FE9CCE}.Release|iPhoneSimulator.Build.0 = Release|Any CPU {14E96242-DA07-4408-BFD5-CEB6D2FE9CCE}.Release|x64.ActiveCfg = Release|Any CPU {14E96242-DA07-4408-BFD5-CEB6D2FE9CCE}.Release|x64.Build.0 = Release|Any CPU {14E96242-DA07-4408-BFD5-CEB6D2FE9CCE}.Release|x86.ActiveCfg = Release|Any CPU {14E96242-DA07-4408-BFD5-CEB6D2FE9CCE}.Release|x86.Build.0 = Release|Any CPU + {FE171BF2-9210-4A24-BCE4-BDB95E6202F5}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU + {FE171BF2-9210-4A24-BCE4-BDB95E6202F5}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU + {FE171BF2-9210-4A24-BCE4-BDB95E6202F5}.Ad-Hoc|ARM.ActiveCfg = Release|Any CPU + {FE171BF2-9210-4A24-BCE4-BDB95E6202F5}.Ad-Hoc|ARM.Build.0 = Release|Any CPU + {FE171BF2-9210-4A24-BCE4-BDB95E6202F5}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU + {FE171BF2-9210-4A24-BCE4-BDB95E6202F5}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU + {FE171BF2-9210-4A24-BCE4-BDB95E6202F5}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU + {FE171BF2-9210-4A24-BCE4-BDB95E6202F5}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU + {FE171BF2-9210-4A24-BCE4-BDB95E6202F5}.Ad-Hoc|x64.ActiveCfg = Release|Any CPU + {FE171BF2-9210-4A24-BCE4-BDB95E6202F5}.Ad-Hoc|x64.Build.0 = Release|Any CPU + {FE171BF2-9210-4A24-BCE4-BDB95E6202F5}.Ad-Hoc|x86.ActiveCfg = Release|Any CPU + {FE171BF2-9210-4A24-BCE4-BDB95E6202F5}.Ad-Hoc|x86.Build.0 = Release|Any CPU + {FE171BF2-9210-4A24-BCE4-BDB95E6202F5}.AppStore|Any CPU.ActiveCfg = Release|Any CPU + {FE171BF2-9210-4A24-BCE4-BDB95E6202F5}.AppStore|Any CPU.Build.0 = Release|Any CPU + {FE171BF2-9210-4A24-BCE4-BDB95E6202F5}.AppStore|ARM.ActiveCfg = Release|Any CPU + {FE171BF2-9210-4A24-BCE4-BDB95E6202F5}.AppStore|ARM.Build.0 = Release|Any CPU + {FE171BF2-9210-4A24-BCE4-BDB95E6202F5}.AppStore|iPhone.ActiveCfg = Release|Any CPU + {FE171BF2-9210-4A24-BCE4-BDB95E6202F5}.AppStore|iPhone.Build.0 = Release|Any CPU + {FE171BF2-9210-4A24-BCE4-BDB95E6202F5}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU + {FE171BF2-9210-4A24-BCE4-BDB95E6202F5}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU + {FE171BF2-9210-4A24-BCE4-BDB95E6202F5}.AppStore|x64.ActiveCfg = Release|Any CPU + {FE171BF2-9210-4A24-BCE4-BDB95E6202F5}.AppStore|x64.Build.0 = Release|Any CPU + {FE171BF2-9210-4A24-BCE4-BDB95E6202F5}.AppStore|x86.ActiveCfg = Release|Any CPU + {FE171BF2-9210-4A24-BCE4-BDB95E6202F5}.AppStore|x86.Build.0 = Release|Any CPU {FE171BF2-9210-4A24-BCE4-BDB95E6202F5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {FE171BF2-9210-4A24-BCE4-BDB95E6202F5}.Debug|Any CPU.Build.0 = Debug|Any CPU + {FE171BF2-9210-4A24-BCE4-BDB95E6202F5}.Debug|ARM.ActiveCfg = Debug|Any CPU + {FE171BF2-9210-4A24-BCE4-BDB95E6202F5}.Debug|ARM.Build.0 = Debug|Any CPU + {FE171BF2-9210-4A24-BCE4-BDB95E6202F5}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {FE171BF2-9210-4A24-BCE4-BDB95E6202F5}.Debug|iPhone.Build.0 = Debug|Any CPU + {FE171BF2-9210-4A24-BCE4-BDB95E6202F5}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {FE171BF2-9210-4A24-BCE4-BDB95E6202F5}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU {FE171BF2-9210-4A24-BCE4-BDB95E6202F5}.Debug|x64.ActiveCfg = Debug|Any CPU {FE171BF2-9210-4A24-BCE4-BDB95E6202F5}.Debug|x64.Build.0 = Debug|Any CPU {FE171BF2-9210-4A24-BCE4-BDB95E6202F5}.Debug|x86.ActiveCfg = Debug|Any CPU {FE171BF2-9210-4A24-BCE4-BDB95E6202F5}.Debug|x86.Build.0 = Debug|Any CPU {FE171BF2-9210-4A24-BCE4-BDB95E6202F5}.Release|Any CPU.ActiveCfg = Release|Any CPU {FE171BF2-9210-4A24-BCE4-BDB95E6202F5}.Release|Any CPU.Build.0 = Release|Any CPU + {FE171BF2-9210-4A24-BCE4-BDB95E6202F5}.Release|ARM.ActiveCfg = Release|Any CPU + {FE171BF2-9210-4A24-BCE4-BDB95E6202F5}.Release|ARM.Build.0 = Release|Any CPU + {FE171BF2-9210-4A24-BCE4-BDB95E6202F5}.Release|iPhone.ActiveCfg = Release|Any CPU + {FE171BF2-9210-4A24-BCE4-BDB95E6202F5}.Release|iPhone.Build.0 = Release|Any CPU + {FE171BF2-9210-4A24-BCE4-BDB95E6202F5}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {FE171BF2-9210-4A24-BCE4-BDB95E6202F5}.Release|iPhoneSimulator.Build.0 = Release|Any CPU {FE171BF2-9210-4A24-BCE4-BDB95E6202F5}.Release|x64.ActiveCfg = Release|Any CPU {FE171BF2-9210-4A24-BCE4-BDB95E6202F5}.Release|x64.Build.0 = Release|Any CPU {FE171BF2-9210-4A24-BCE4-BDB95E6202F5}.Release|x86.ActiveCfg = Release|Any CPU {FE171BF2-9210-4A24-BCE4-BDB95E6202F5}.Release|x86.Build.0 = Release|Any CPU + {64882F3D-F201-43FC-9C9B-F92D7A37F846}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU + {64882F3D-F201-43FC-9C9B-F92D7A37F846}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU + {64882F3D-F201-43FC-9C9B-F92D7A37F846}.Ad-Hoc|ARM.ActiveCfg = Release|Any CPU + {64882F3D-F201-43FC-9C9B-F92D7A37F846}.Ad-Hoc|ARM.Build.0 = Release|Any CPU + {64882F3D-F201-43FC-9C9B-F92D7A37F846}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU + {64882F3D-F201-43FC-9C9B-F92D7A37F846}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU + {64882F3D-F201-43FC-9C9B-F92D7A37F846}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU + {64882F3D-F201-43FC-9C9B-F92D7A37F846}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU + {64882F3D-F201-43FC-9C9B-F92D7A37F846}.Ad-Hoc|x64.ActiveCfg = Release|Any CPU + {64882F3D-F201-43FC-9C9B-F92D7A37F846}.Ad-Hoc|x64.Build.0 = Release|Any CPU + {64882F3D-F201-43FC-9C9B-F92D7A37F846}.Ad-Hoc|x86.ActiveCfg = Release|Any CPU + {64882F3D-F201-43FC-9C9B-F92D7A37F846}.Ad-Hoc|x86.Build.0 = Release|Any CPU + {64882F3D-F201-43FC-9C9B-F92D7A37F846}.AppStore|Any CPU.ActiveCfg = Release|Any CPU + {64882F3D-F201-43FC-9C9B-F92D7A37F846}.AppStore|Any CPU.Build.0 = Release|Any CPU + {64882F3D-F201-43FC-9C9B-F92D7A37F846}.AppStore|ARM.ActiveCfg = Release|Any CPU + {64882F3D-F201-43FC-9C9B-F92D7A37F846}.AppStore|ARM.Build.0 = Release|Any CPU + {64882F3D-F201-43FC-9C9B-F92D7A37F846}.AppStore|iPhone.ActiveCfg = Release|Any CPU + {64882F3D-F201-43FC-9C9B-F92D7A37F846}.AppStore|iPhone.Build.0 = Release|Any CPU + {64882F3D-F201-43FC-9C9B-F92D7A37F846}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU + {64882F3D-F201-43FC-9C9B-F92D7A37F846}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU + {64882F3D-F201-43FC-9C9B-F92D7A37F846}.AppStore|x64.ActiveCfg = Release|Any CPU + {64882F3D-F201-43FC-9C9B-F92D7A37F846}.AppStore|x64.Build.0 = Release|Any CPU + {64882F3D-F201-43FC-9C9B-F92D7A37F846}.AppStore|x86.ActiveCfg = Release|Any CPU + {64882F3D-F201-43FC-9C9B-F92D7A37F846}.AppStore|x86.Build.0 = Release|Any CPU {64882F3D-F201-43FC-9C9B-F92D7A37F846}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {64882F3D-F201-43FC-9C9B-F92D7A37F846}.Debug|Any CPU.Build.0 = Debug|Any CPU + {64882F3D-F201-43FC-9C9B-F92D7A37F846}.Debug|ARM.ActiveCfg = Debug|Any CPU + {64882F3D-F201-43FC-9C9B-F92D7A37F846}.Debug|ARM.Build.0 = Debug|Any CPU + {64882F3D-F201-43FC-9C9B-F92D7A37F846}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {64882F3D-F201-43FC-9C9B-F92D7A37F846}.Debug|iPhone.Build.0 = Debug|Any CPU + {64882F3D-F201-43FC-9C9B-F92D7A37F846}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {64882F3D-F201-43FC-9C9B-F92D7A37F846}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU {64882F3D-F201-43FC-9C9B-F92D7A37F846}.Debug|x64.ActiveCfg = Debug|Any CPU {64882F3D-F201-43FC-9C9B-F92D7A37F846}.Debug|x64.Build.0 = Debug|Any CPU {64882F3D-F201-43FC-9C9B-F92D7A37F846}.Debug|x86.ActiveCfg = Debug|Any CPU {64882F3D-F201-43FC-9C9B-F92D7A37F846}.Debug|x86.Build.0 = Debug|Any CPU {64882F3D-F201-43FC-9C9B-F92D7A37F846}.Release|Any CPU.ActiveCfg = Release|Any CPU {64882F3D-F201-43FC-9C9B-F92D7A37F846}.Release|Any CPU.Build.0 = Release|Any CPU + {64882F3D-F201-43FC-9C9B-F92D7A37F846}.Release|ARM.ActiveCfg = Release|Any CPU + {64882F3D-F201-43FC-9C9B-F92D7A37F846}.Release|ARM.Build.0 = Release|Any CPU + {64882F3D-F201-43FC-9C9B-F92D7A37F846}.Release|iPhone.ActiveCfg = Release|Any CPU + {64882F3D-F201-43FC-9C9B-F92D7A37F846}.Release|iPhone.Build.0 = Release|Any CPU + {64882F3D-F201-43FC-9C9B-F92D7A37F846}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {64882F3D-F201-43FC-9C9B-F92D7A37F846}.Release|iPhoneSimulator.Build.0 = Release|Any CPU {64882F3D-F201-43FC-9C9B-F92D7A37F846}.Release|x64.ActiveCfg = Release|Any CPU {64882F3D-F201-43FC-9C9B-F92D7A37F846}.Release|x64.Build.0 = Release|Any CPU {64882F3D-F201-43FC-9C9B-F92D7A37F846}.Release|x86.ActiveCfg = Release|Any CPU {64882F3D-F201-43FC-9C9B-F92D7A37F846}.Release|x86.Build.0 = Release|Any CPU + {A809253D-AA0F-4856-987F-E1C4CECF6B6F}.Ad-Hoc|Any CPU.ActiveCfg = Release|x86 + {A809253D-AA0F-4856-987F-E1C4CECF6B6F}.Ad-Hoc|Any CPU.Build.0 = Release|x86 + {A809253D-AA0F-4856-987F-E1C4CECF6B6F}.Ad-Hoc|ARM.ActiveCfg = Release|x86 + {A809253D-AA0F-4856-987F-E1C4CECF6B6F}.Ad-Hoc|ARM.Build.0 = Release|x86 + {A809253D-AA0F-4856-987F-E1C4CECF6B6F}.Ad-Hoc|iPhone.ActiveCfg = Release|x86 + {A809253D-AA0F-4856-987F-E1C4CECF6B6F}.Ad-Hoc|iPhone.Build.0 = Release|x86 + {A809253D-AA0F-4856-987F-E1C4CECF6B6F}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|x86 + {A809253D-AA0F-4856-987F-E1C4CECF6B6F}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|x86 + {A809253D-AA0F-4856-987F-E1C4CECF6B6F}.Ad-Hoc|x64.ActiveCfg = Release|x86 + {A809253D-AA0F-4856-987F-E1C4CECF6B6F}.Ad-Hoc|x64.Build.0 = Release|x86 + {A809253D-AA0F-4856-987F-E1C4CECF6B6F}.Ad-Hoc|x86.ActiveCfg = Release|x86 + {A809253D-AA0F-4856-987F-E1C4CECF6B6F}.Ad-Hoc|x86.Build.0 = Release|x86 + {A809253D-AA0F-4856-987F-E1C4CECF6B6F}.AppStore|Any CPU.ActiveCfg = Release|x86 + {A809253D-AA0F-4856-987F-E1C4CECF6B6F}.AppStore|Any CPU.Build.0 = Release|x86 + {A809253D-AA0F-4856-987F-E1C4CECF6B6F}.AppStore|ARM.ActiveCfg = Release|x86 + {A809253D-AA0F-4856-987F-E1C4CECF6B6F}.AppStore|ARM.Build.0 = Release|x86 + {A809253D-AA0F-4856-987F-E1C4CECF6B6F}.AppStore|iPhone.ActiveCfg = Release|x86 + {A809253D-AA0F-4856-987F-E1C4CECF6B6F}.AppStore|iPhone.Build.0 = Release|x86 + {A809253D-AA0F-4856-987F-E1C4CECF6B6F}.AppStore|iPhoneSimulator.ActiveCfg = Release|x86 + {A809253D-AA0F-4856-987F-E1C4CECF6B6F}.AppStore|iPhoneSimulator.Build.0 = Release|x86 + {A809253D-AA0F-4856-987F-E1C4CECF6B6F}.AppStore|x64.ActiveCfg = Release|x86 + {A809253D-AA0F-4856-987F-E1C4CECF6B6F}.AppStore|x64.Build.0 = Release|x86 + {A809253D-AA0F-4856-987F-E1C4CECF6B6F}.AppStore|x86.ActiveCfg = Release|x86 + {A809253D-AA0F-4856-987F-E1C4CECF6B6F}.AppStore|x86.Build.0 = Release|x86 {A809253D-AA0F-4856-987F-E1C4CECF6B6F}.Debug|Any CPU.ActiveCfg = Debug|x86 + {A809253D-AA0F-4856-987F-E1C4CECF6B6F}.Debug|ARM.ActiveCfg = Debug|x86 + {A809253D-AA0F-4856-987F-E1C4CECF6B6F}.Debug|iPhone.ActiveCfg = Debug|x86 + {A809253D-AA0F-4856-987F-E1C4CECF6B6F}.Debug|iPhoneSimulator.ActiveCfg = Debug|x86 {A809253D-AA0F-4856-987F-E1C4CECF6B6F}.Debug|x64.ActiveCfg = Debug|x86 {A809253D-AA0F-4856-987F-E1C4CECF6B6F}.Debug|x86.ActiveCfg = Debug|x86 {A809253D-AA0F-4856-987F-E1C4CECF6B6F}.Debug|x86.Build.0 = Debug|x86 {A809253D-AA0F-4856-987F-E1C4CECF6B6F}.Release|Any CPU.ActiveCfg = Release|x86 + {A809253D-AA0F-4856-987F-E1C4CECF6B6F}.Release|ARM.ActiveCfg = Release|x86 + {A809253D-AA0F-4856-987F-E1C4CECF6B6F}.Release|iPhone.ActiveCfg = Release|x86 + {A809253D-AA0F-4856-987F-E1C4CECF6B6F}.Release|iPhoneSimulator.ActiveCfg = Release|x86 {A809253D-AA0F-4856-987F-E1C4CECF6B6F}.Release|x64.ActiveCfg = Release|x86 {A809253D-AA0F-4856-987F-E1C4CECF6B6F}.Release|x86.ActiveCfg = Release|x86 {A809253D-AA0F-4856-987F-E1C4CECF6B6F}.Release|x86.Build.0 = Release|x86 + {4961F01A-591A-457C-9485-2935A428287A}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU + {4961F01A-591A-457C-9485-2935A428287A}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU + {4961F01A-591A-457C-9485-2935A428287A}.Ad-Hoc|ARM.ActiveCfg = Release|Any CPU + {4961F01A-591A-457C-9485-2935A428287A}.Ad-Hoc|ARM.Build.0 = Release|Any CPU + {4961F01A-591A-457C-9485-2935A428287A}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU + {4961F01A-591A-457C-9485-2935A428287A}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU + {4961F01A-591A-457C-9485-2935A428287A}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU + {4961F01A-591A-457C-9485-2935A428287A}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU + {4961F01A-591A-457C-9485-2935A428287A}.Ad-Hoc|x64.ActiveCfg = Release|Any CPU + {4961F01A-591A-457C-9485-2935A428287A}.Ad-Hoc|x64.Build.0 = Release|Any CPU + {4961F01A-591A-457C-9485-2935A428287A}.Ad-Hoc|x86.ActiveCfg = Release|Any CPU + {4961F01A-591A-457C-9485-2935A428287A}.Ad-Hoc|x86.Build.0 = Release|Any CPU + {4961F01A-591A-457C-9485-2935A428287A}.AppStore|Any CPU.ActiveCfg = Release|Any CPU + {4961F01A-591A-457C-9485-2935A428287A}.AppStore|Any CPU.Build.0 = Release|Any CPU + {4961F01A-591A-457C-9485-2935A428287A}.AppStore|ARM.ActiveCfg = Release|Any CPU + {4961F01A-591A-457C-9485-2935A428287A}.AppStore|ARM.Build.0 = Release|Any CPU + {4961F01A-591A-457C-9485-2935A428287A}.AppStore|iPhone.ActiveCfg = Release|Any CPU + {4961F01A-591A-457C-9485-2935A428287A}.AppStore|iPhone.Build.0 = Release|Any CPU + {4961F01A-591A-457C-9485-2935A428287A}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU + {4961F01A-591A-457C-9485-2935A428287A}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU + {4961F01A-591A-457C-9485-2935A428287A}.AppStore|x64.ActiveCfg = Release|Any CPU + {4961F01A-591A-457C-9485-2935A428287A}.AppStore|x64.Build.0 = Release|Any CPU + {4961F01A-591A-457C-9485-2935A428287A}.AppStore|x86.ActiveCfg = Release|Any CPU + {4961F01A-591A-457C-9485-2935A428287A}.AppStore|x86.Build.0 = Release|Any CPU {4961F01A-591A-457C-9485-2935A428287A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {4961F01A-591A-457C-9485-2935A428287A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {4961F01A-591A-457C-9485-2935A428287A}.Debug|ARM.ActiveCfg = Debug|Any CPU + {4961F01A-591A-457C-9485-2935A428287A}.Debug|ARM.Build.0 = Debug|Any CPU + {4961F01A-591A-457C-9485-2935A428287A}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {4961F01A-591A-457C-9485-2935A428287A}.Debug|iPhone.Build.0 = Debug|Any CPU + {4961F01A-591A-457C-9485-2935A428287A}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {4961F01A-591A-457C-9485-2935A428287A}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU {4961F01A-591A-457C-9485-2935A428287A}.Debug|x64.ActiveCfg = Debug|Any CPU {4961F01A-591A-457C-9485-2935A428287A}.Debug|x64.Build.0 = Debug|Any CPU {4961F01A-591A-457C-9485-2935A428287A}.Debug|x86.ActiveCfg = Debug|Any CPU {4961F01A-591A-457C-9485-2935A428287A}.Debug|x86.Build.0 = Debug|Any CPU {4961F01A-591A-457C-9485-2935A428287A}.Release|Any CPU.ActiveCfg = Release|Any CPU {4961F01A-591A-457C-9485-2935A428287A}.Release|Any CPU.Build.0 = Release|Any CPU + {4961F01A-591A-457C-9485-2935A428287A}.Release|ARM.ActiveCfg = Release|Any CPU + {4961F01A-591A-457C-9485-2935A428287A}.Release|ARM.Build.0 = Release|Any CPU + {4961F01A-591A-457C-9485-2935A428287A}.Release|iPhone.ActiveCfg = Release|Any CPU + {4961F01A-591A-457C-9485-2935A428287A}.Release|iPhone.Build.0 = Release|Any CPU + {4961F01A-591A-457C-9485-2935A428287A}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {4961F01A-591A-457C-9485-2935A428287A}.Release|iPhoneSimulator.Build.0 = Release|Any CPU {4961F01A-591A-457C-9485-2935A428287A}.Release|x64.ActiveCfg = Release|Any CPU {4961F01A-591A-457C-9485-2935A428287A}.Release|x64.Build.0 = Release|Any CPU {4961F01A-591A-457C-9485-2935A428287A}.Release|x86.ActiveCfg = Release|Any CPU {4961F01A-591A-457C-9485-2935A428287A}.Release|x86.Build.0 = Release|Any CPU + {DE6B0459-39BA-49B6-8B63-1BB3A8B5105B}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU + {DE6B0459-39BA-49B6-8B63-1BB3A8B5105B}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU + {DE6B0459-39BA-49B6-8B63-1BB3A8B5105B}.Ad-Hoc|ARM.ActiveCfg = Release|Any CPU + {DE6B0459-39BA-49B6-8B63-1BB3A8B5105B}.Ad-Hoc|ARM.Build.0 = Release|Any CPU + {DE6B0459-39BA-49B6-8B63-1BB3A8B5105B}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU + {DE6B0459-39BA-49B6-8B63-1BB3A8B5105B}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU + {DE6B0459-39BA-49B6-8B63-1BB3A8B5105B}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU + {DE6B0459-39BA-49B6-8B63-1BB3A8B5105B}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU + {DE6B0459-39BA-49B6-8B63-1BB3A8B5105B}.Ad-Hoc|x64.ActiveCfg = Release|Any CPU + {DE6B0459-39BA-49B6-8B63-1BB3A8B5105B}.Ad-Hoc|x64.Build.0 = Release|Any CPU + {DE6B0459-39BA-49B6-8B63-1BB3A8B5105B}.Ad-Hoc|x86.ActiveCfg = Release|Any CPU + {DE6B0459-39BA-49B6-8B63-1BB3A8B5105B}.Ad-Hoc|x86.Build.0 = Release|Any CPU + {DE6B0459-39BA-49B6-8B63-1BB3A8B5105B}.AppStore|Any CPU.ActiveCfg = Release|Any CPU + {DE6B0459-39BA-49B6-8B63-1BB3A8B5105B}.AppStore|Any CPU.Build.0 = Release|Any CPU + {DE6B0459-39BA-49B6-8B63-1BB3A8B5105B}.AppStore|ARM.ActiveCfg = Release|Any CPU + {DE6B0459-39BA-49B6-8B63-1BB3A8B5105B}.AppStore|ARM.Build.0 = Release|Any CPU + {DE6B0459-39BA-49B6-8B63-1BB3A8B5105B}.AppStore|iPhone.ActiveCfg = Release|Any CPU + {DE6B0459-39BA-49B6-8B63-1BB3A8B5105B}.AppStore|iPhone.Build.0 = Release|Any CPU + {DE6B0459-39BA-49B6-8B63-1BB3A8B5105B}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU + {DE6B0459-39BA-49B6-8B63-1BB3A8B5105B}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU + {DE6B0459-39BA-49B6-8B63-1BB3A8B5105B}.AppStore|x64.ActiveCfg = Release|Any CPU + {DE6B0459-39BA-49B6-8B63-1BB3A8B5105B}.AppStore|x64.Build.0 = Release|Any CPU + {DE6B0459-39BA-49B6-8B63-1BB3A8B5105B}.AppStore|x86.ActiveCfg = Release|Any CPU + {DE6B0459-39BA-49B6-8B63-1BB3A8B5105B}.AppStore|x86.Build.0 = Release|Any CPU {DE6B0459-39BA-49B6-8B63-1BB3A8B5105B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {DE6B0459-39BA-49B6-8B63-1BB3A8B5105B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {DE6B0459-39BA-49B6-8B63-1BB3A8B5105B}.Debug|ARM.ActiveCfg = Debug|Any CPU + {DE6B0459-39BA-49B6-8B63-1BB3A8B5105B}.Debug|ARM.Build.0 = Debug|Any CPU + {DE6B0459-39BA-49B6-8B63-1BB3A8B5105B}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {DE6B0459-39BA-49B6-8B63-1BB3A8B5105B}.Debug|iPhone.Build.0 = Debug|Any CPU + {DE6B0459-39BA-49B6-8B63-1BB3A8B5105B}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {DE6B0459-39BA-49B6-8B63-1BB3A8B5105B}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU {DE6B0459-39BA-49B6-8B63-1BB3A8B5105B}.Debug|x64.ActiveCfg = Debug|Any CPU {DE6B0459-39BA-49B6-8B63-1BB3A8B5105B}.Debug|x64.Build.0 = Debug|Any CPU {DE6B0459-39BA-49B6-8B63-1BB3A8B5105B}.Debug|x86.ActiveCfg = Debug|Any CPU {DE6B0459-39BA-49B6-8B63-1BB3A8B5105B}.Debug|x86.Build.0 = Debug|Any CPU {DE6B0459-39BA-49B6-8B63-1BB3A8B5105B}.Release|Any CPU.ActiveCfg = Release|Any CPU {DE6B0459-39BA-49B6-8B63-1BB3A8B5105B}.Release|Any CPU.Build.0 = Release|Any CPU + {DE6B0459-39BA-49B6-8B63-1BB3A8B5105B}.Release|ARM.ActiveCfg = Release|Any CPU + {DE6B0459-39BA-49B6-8B63-1BB3A8B5105B}.Release|ARM.Build.0 = Release|Any CPU + {DE6B0459-39BA-49B6-8B63-1BB3A8B5105B}.Release|iPhone.ActiveCfg = Release|Any CPU + {DE6B0459-39BA-49B6-8B63-1BB3A8B5105B}.Release|iPhone.Build.0 = Release|Any CPU + {DE6B0459-39BA-49B6-8B63-1BB3A8B5105B}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {DE6B0459-39BA-49B6-8B63-1BB3A8B5105B}.Release|iPhoneSimulator.Build.0 = Release|Any CPU {DE6B0459-39BA-49B6-8B63-1BB3A8B5105B}.Release|x64.ActiveCfg = Release|Any CPU {DE6B0459-39BA-49B6-8B63-1BB3A8B5105B}.Release|x64.Build.0 = Release|Any CPU {DE6B0459-39BA-49B6-8B63-1BB3A8B5105B}.Release|x86.ActiveCfg = Release|Any CPU {DE6B0459-39BA-49B6-8B63-1BB3A8B5105B}.Release|x86.Build.0 = Release|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.Ad-Hoc|Any CPU.Deploy.0 = Release|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.Ad-Hoc|ARM.ActiveCfg = Release|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.Ad-Hoc|ARM.Build.0 = Release|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.Ad-Hoc|ARM.Deploy.0 = Release|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.Ad-Hoc|iPhone.Deploy.0 = Release|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.Ad-Hoc|iPhoneSimulator.Deploy.0 = Release|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.Ad-Hoc|x64.ActiveCfg = Release|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.Ad-Hoc|x64.Build.0 = Release|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.Ad-Hoc|x64.Deploy.0 = Release|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.Ad-Hoc|x86.ActiveCfg = Release|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.Ad-Hoc|x86.Build.0 = Release|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.Ad-Hoc|x86.Deploy.0 = Release|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.AppStore|Any CPU.ActiveCfg = Release|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.AppStore|Any CPU.Build.0 = Release|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.AppStore|Any CPU.Deploy.0 = Release|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.AppStore|ARM.ActiveCfg = Release|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.AppStore|ARM.Build.0 = Release|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.AppStore|ARM.Deploy.0 = Release|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.AppStore|iPhone.ActiveCfg = Release|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.AppStore|iPhone.Build.0 = Release|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.AppStore|iPhone.Deploy.0 = Release|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.AppStore|iPhoneSimulator.Deploy.0 = Release|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.AppStore|x64.ActiveCfg = Release|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.AppStore|x64.Build.0 = Release|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.AppStore|x64.Deploy.0 = Release|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.AppStore|x86.ActiveCfg = Release|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.AppStore|x86.Build.0 = Release|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.AppStore|x86.Deploy.0 = Release|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.Debug|Any CPU.Deploy.0 = Debug|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.Debug|ARM.ActiveCfg = Debug|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.Debug|ARM.Build.0 = Debug|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.Debug|ARM.Deploy.0 = Debug|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.Debug|iPhone.Build.0 = Debug|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.Debug|iPhone.Deploy.0 = Debug|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.Debug|iPhoneSimulator.Deploy.0 = Debug|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.Debug|x64.ActiveCfg = Debug|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.Debug|x64.Build.0 = Debug|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.Debug|x64.Deploy.0 = Debug|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.Debug|x86.ActiveCfg = Debug|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.Debug|x86.Build.0 = Debug|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.Debug|x86.Deploy.0 = Debug|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.Release|Any CPU.Build.0 = Release|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.Release|Any CPU.Deploy.0 = Release|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.Release|ARM.ActiveCfg = Release|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.Release|ARM.Build.0 = Release|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.Release|ARM.Deploy.0 = Release|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.Release|iPhone.ActiveCfg = Release|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.Release|iPhone.Build.0 = Release|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.Release|iPhone.Deploy.0 = Release|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.Release|iPhoneSimulator.Build.0 = Release|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.Release|iPhoneSimulator.Deploy.0 = Release|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.Release|x64.ActiveCfg = Release|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.Release|x64.Build.0 = Release|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.Release|x64.Deploy.0 = Release|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.Release|x86.ActiveCfg = Release|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.Release|x86.Build.0 = Release|Any CPU + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448}.Release|x86.Deploy.0 = Release|Any CPU + {E4A7F2B4-26BB-435B-AD80-F8F8336C4A89}.Ad-Hoc|Any CPU.ActiveCfg = Ad-Hoc|iPhone + {E4A7F2B4-26BB-435B-AD80-F8F8336C4A89}.Ad-Hoc|ARM.ActiveCfg = Ad-Hoc|iPhone + {E4A7F2B4-26BB-435B-AD80-F8F8336C4A89}.Ad-Hoc|iPhone.ActiveCfg = Ad-Hoc|iPhone + {E4A7F2B4-26BB-435B-AD80-F8F8336C4A89}.Ad-Hoc|iPhone.Build.0 = Ad-Hoc|iPhone + {E4A7F2B4-26BB-435B-AD80-F8F8336C4A89}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Ad-Hoc|iPhoneSimulator + {E4A7F2B4-26BB-435B-AD80-F8F8336C4A89}.Ad-Hoc|iPhoneSimulator.Build.0 = Ad-Hoc|iPhoneSimulator + {E4A7F2B4-26BB-435B-AD80-F8F8336C4A89}.Ad-Hoc|x64.ActiveCfg = Ad-Hoc|iPhone + {E4A7F2B4-26BB-435B-AD80-F8F8336C4A89}.Ad-Hoc|x86.ActiveCfg = Ad-Hoc|iPhone + {E4A7F2B4-26BB-435B-AD80-F8F8336C4A89}.AppStore|Any CPU.ActiveCfg = AppStore|iPhone + {E4A7F2B4-26BB-435B-AD80-F8F8336C4A89}.AppStore|ARM.ActiveCfg = AppStore|iPhone + {E4A7F2B4-26BB-435B-AD80-F8F8336C4A89}.AppStore|iPhone.ActiveCfg = AppStore|iPhone + {E4A7F2B4-26BB-435B-AD80-F8F8336C4A89}.AppStore|iPhone.Build.0 = AppStore|iPhone + {E4A7F2B4-26BB-435B-AD80-F8F8336C4A89}.AppStore|iPhoneSimulator.ActiveCfg = AppStore|iPhoneSimulator + {E4A7F2B4-26BB-435B-AD80-F8F8336C4A89}.AppStore|iPhoneSimulator.Build.0 = AppStore|iPhoneSimulator + {E4A7F2B4-26BB-435B-AD80-F8F8336C4A89}.AppStore|x64.ActiveCfg = AppStore|iPhone + {E4A7F2B4-26BB-435B-AD80-F8F8336C4A89}.AppStore|x86.ActiveCfg = AppStore|iPhone + {E4A7F2B4-26BB-435B-AD80-F8F8336C4A89}.Debug|Any CPU.ActiveCfg = Debug|iPhone + {E4A7F2B4-26BB-435B-AD80-F8F8336C4A89}.Debug|ARM.ActiveCfg = Debug|iPhone + {E4A7F2B4-26BB-435B-AD80-F8F8336C4A89}.Debug|iPhone.ActiveCfg = Debug|iPhone + {E4A7F2B4-26BB-435B-AD80-F8F8336C4A89}.Debug|iPhone.Build.0 = Debug|iPhone + {E4A7F2B4-26BB-435B-AD80-F8F8336C4A89}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator + {E4A7F2B4-26BB-435B-AD80-F8F8336C4A89}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator + {E4A7F2B4-26BB-435B-AD80-F8F8336C4A89}.Debug|x64.ActiveCfg = Debug|iPhone + {E4A7F2B4-26BB-435B-AD80-F8F8336C4A89}.Debug|x86.ActiveCfg = Debug|iPhone + {E4A7F2B4-26BB-435B-AD80-F8F8336C4A89}.Release|Any CPU.ActiveCfg = Release|iPhone + {E4A7F2B4-26BB-435B-AD80-F8F8336C4A89}.Release|ARM.ActiveCfg = Release|iPhone + {E4A7F2B4-26BB-435B-AD80-F8F8336C4A89}.Release|iPhone.ActiveCfg = Release|iPhone + {E4A7F2B4-26BB-435B-AD80-F8F8336C4A89}.Release|iPhone.Build.0 = Release|iPhone + {E4A7F2B4-26BB-435B-AD80-F8F8336C4A89}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator + {E4A7F2B4-26BB-435B-AD80-F8F8336C4A89}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator + {E4A7F2B4-26BB-435B-AD80-F8F8336C4A89}.Release|x64.ActiveCfg = Release|iPhone + {E4A7F2B4-26BB-435B-AD80-F8F8336C4A89}.Release|x86.ActiveCfg = Release|iPhone + {5ED5C9C6-A6F6-4890-B037-3638A7B9E3F1}.Ad-Hoc|Any CPU.ActiveCfg = Release|x86 + {5ED5C9C6-A6F6-4890-B037-3638A7B9E3F1}.Ad-Hoc|Any CPU.Build.0 = Release|x86 + {5ED5C9C6-A6F6-4890-B037-3638A7B9E3F1}.Ad-Hoc|Any CPU.Deploy.0 = Release|x86 + {5ED5C9C6-A6F6-4890-B037-3638A7B9E3F1}.Ad-Hoc|ARM.ActiveCfg = Release|ARM + {5ED5C9C6-A6F6-4890-B037-3638A7B9E3F1}.Ad-Hoc|ARM.Build.0 = Release|ARM + {5ED5C9C6-A6F6-4890-B037-3638A7B9E3F1}.Ad-Hoc|ARM.Deploy.0 = Release|ARM + {5ED5C9C6-A6F6-4890-B037-3638A7B9E3F1}.Ad-Hoc|iPhone.ActiveCfg = Release|x86 + {5ED5C9C6-A6F6-4890-B037-3638A7B9E3F1}.Ad-Hoc|iPhone.Build.0 = Release|x86 + {5ED5C9C6-A6F6-4890-B037-3638A7B9E3F1}.Ad-Hoc|iPhone.Deploy.0 = Release|x86 + {5ED5C9C6-A6F6-4890-B037-3638A7B9E3F1}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|x86 + {5ED5C9C6-A6F6-4890-B037-3638A7B9E3F1}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|x86 + {5ED5C9C6-A6F6-4890-B037-3638A7B9E3F1}.Ad-Hoc|iPhoneSimulator.Deploy.0 = Release|x86 + {5ED5C9C6-A6F6-4890-B037-3638A7B9E3F1}.Ad-Hoc|x64.ActiveCfg = Release|x64 + {5ED5C9C6-A6F6-4890-B037-3638A7B9E3F1}.Ad-Hoc|x64.Build.0 = Release|x64 + {5ED5C9C6-A6F6-4890-B037-3638A7B9E3F1}.Ad-Hoc|x64.Deploy.0 = Release|x64 + {5ED5C9C6-A6F6-4890-B037-3638A7B9E3F1}.Ad-Hoc|x86.ActiveCfg = Release|x86 + {5ED5C9C6-A6F6-4890-B037-3638A7B9E3F1}.Ad-Hoc|x86.Build.0 = Release|x86 + {5ED5C9C6-A6F6-4890-B037-3638A7B9E3F1}.Ad-Hoc|x86.Deploy.0 = Release|x86 + {5ED5C9C6-A6F6-4890-B037-3638A7B9E3F1}.AppStore|Any CPU.ActiveCfg = Release|x86 + {5ED5C9C6-A6F6-4890-B037-3638A7B9E3F1}.AppStore|Any CPU.Build.0 = Release|x86 + {5ED5C9C6-A6F6-4890-B037-3638A7B9E3F1}.AppStore|Any CPU.Deploy.0 = Release|x86 + {5ED5C9C6-A6F6-4890-B037-3638A7B9E3F1}.AppStore|ARM.ActiveCfg = Release|ARM + {5ED5C9C6-A6F6-4890-B037-3638A7B9E3F1}.AppStore|ARM.Build.0 = Release|ARM + {5ED5C9C6-A6F6-4890-B037-3638A7B9E3F1}.AppStore|ARM.Deploy.0 = Release|ARM + {5ED5C9C6-A6F6-4890-B037-3638A7B9E3F1}.AppStore|iPhone.ActiveCfg = Release|x86 + {5ED5C9C6-A6F6-4890-B037-3638A7B9E3F1}.AppStore|iPhone.Build.0 = Release|x86 + {5ED5C9C6-A6F6-4890-B037-3638A7B9E3F1}.AppStore|iPhone.Deploy.0 = Release|x86 + {5ED5C9C6-A6F6-4890-B037-3638A7B9E3F1}.AppStore|iPhoneSimulator.ActiveCfg = Release|x86 + {5ED5C9C6-A6F6-4890-B037-3638A7B9E3F1}.AppStore|iPhoneSimulator.Build.0 = Release|x86 + {5ED5C9C6-A6F6-4890-B037-3638A7B9E3F1}.AppStore|iPhoneSimulator.Deploy.0 = Release|x86 + {5ED5C9C6-A6F6-4890-B037-3638A7B9E3F1}.AppStore|x64.ActiveCfg = Release|x64 + {5ED5C9C6-A6F6-4890-B037-3638A7B9E3F1}.AppStore|x64.Build.0 = Release|x64 + {5ED5C9C6-A6F6-4890-B037-3638A7B9E3F1}.AppStore|x64.Deploy.0 = Release|x64 + {5ED5C9C6-A6F6-4890-B037-3638A7B9E3F1}.AppStore|x86.ActiveCfg = Release|x86 + {5ED5C9C6-A6F6-4890-B037-3638A7B9E3F1}.AppStore|x86.Build.0 = Release|x86 + {5ED5C9C6-A6F6-4890-B037-3638A7B9E3F1}.AppStore|x86.Deploy.0 = Release|x86 + {5ED5C9C6-A6F6-4890-B037-3638A7B9E3F1}.Debug|Any CPU.ActiveCfg = Debug|x86 + {5ED5C9C6-A6F6-4890-B037-3638A7B9E3F1}.Debug|ARM.ActiveCfg = Debug|ARM + {5ED5C9C6-A6F6-4890-B037-3638A7B9E3F1}.Debug|ARM.Build.0 = Debug|ARM + {5ED5C9C6-A6F6-4890-B037-3638A7B9E3F1}.Debug|ARM.Deploy.0 = Debug|ARM + {5ED5C9C6-A6F6-4890-B037-3638A7B9E3F1}.Debug|iPhone.ActiveCfg = Debug|x86 + {5ED5C9C6-A6F6-4890-B037-3638A7B9E3F1}.Debug|iPhoneSimulator.ActiveCfg = Debug|x86 + {5ED5C9C6-A6F6-4890-B037-3638A7B9E3F1}.Debug|x64.ActiveCfg = Debug|x64 + {5ED5C9C6-A6F6-4890-B037-3638A7B9E3F1}.Debug|x64.Build.0 = Debug|x64 + {5ED5C9C6-A6F6-4890-B037-3638A7B9E3F1}.Debug|x64.Deploy.0 = Debug|x64 + {5ED5C9C6-A6F6-4890-B037-3638A7B9E3F1}.Debug|x86.ActiveCfg = Debug|x86 + {5ED5C9C6-A6F6-4890-B037-3638A7B9E3F1}.Debug|x86.Build.0 = Debug|x86 + {5ED5C9C6-A6F6-4890-B037-3638A7B9E3F1}.Debug|x86.Deploy.0 = Debug|x86 + {5ED5C9C6-A6F6-4890-B037-3638A7B9E3F1}.Release|Any CPU.ActiveCfg = Release|x86 + {5ED5C9C6-A6F6-4890-B037-3638A7B9E3F1}.Release|ARM.ActiveCfg = Release|ARM + {5ED5C9C6-A6F6-4890-B037-3638A7B9E3F1}.Release|ARM.Build.0 = Release|ARM + {5ED5C9C6-A6F6-4890-B037-3638A7B9E3F1}.Release|ARM.Deploy.0 = Release|ARM + {5ED5C9C6-A6F6-4890-B037-3638A7B9E3F1}.Release|iPhone.ActiveCfg = Release|x86 + {5ED5C9C6-A6F6-4890-B037-3638A7B9E3F1}.Release|iPhoneSimulator.ActiveCfg = Release|x86 + {5ED5C9C6-A6F6-4890-B037-3638A7B9E3F1}.Release|x64.ActiveCfg = Release|x64 + {5ED5C9C6-A6F6-4890-B037-3638A7B9E3F1}.Release|x64.Build.0 = Release|x64 + {5ED5C9C6-A6F6-4890-B037-3638A7B9E3F1}.Release|x64.Deploy.0 = Release|x64 + {5ED5C9C6-A6F6-4890-B037-3638A7B9E3F1}.Release|x86.ActiveCfg = Release|x86 + {5ED5C9C6-A6F6-4890-B037-3638A7B9E3F1}.Release|x86.Build.0 = Release|x86 + {5ED5C9C6-A6F6-4890-B037-3638A7B9E3F1}.Release|x86.Deploy.0 = Release|x86 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -175,6 +747,9 @@ Global {FE171BF2-9210-4A24-BCE4-BDB95E6202F5} = {CD40EE54-68B9-47F9-9B40-0D2DD2B18A96} {A809253D-AA0F-4856-987F-E1C4CECF6B6F} = {8C812676-F827-4094-853C-ABB9FA80BE38} {4961F01A-591A-457C-9485-2935A428287A} = {8C812676-F827-4094-853C-ABB9FA80BE38} + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448} = {8C812676-F827-4094-853C-ABB9FA80BE38} + {E4A7F2B4-26BB-435B-AD80-F8F8336C4A89} = {8C812676-F827-4094-853C-ABB9FA80BE38} + {5ED5C9C6-A6F6-4890-B037-3638A7B9E3F1} = {8C812676-F827-4094-853C-ABB9FA80BE38} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {09D24DF9-151B-4065-8E04-AA89C79159C9} diff --git a/CLEditor/CLEditor.csproj b/CLEditor/CLEditor.csproj index c98a15f022ad64fb44f74e1402e534ca3b900c05..09e0b61fded57cabeb3b752f5a6e350fb01683aa 100644 --- a/CLEditor/CLEditor.csproj +++ b/CLEditor/CLEditor.csproj @@ -42,6 +42,9 @@ logo64-64.ico + + + ..\packages\GeonBit.0.1.0.8\lib\geonbit\AnimationImporters.dll diff --git a/CLEngine/CGame.cs b/CLEngine/CGame.cs index fb30bf24b70f2576579ff4d1c392d8afd241ed69..8f6fd9d470edb426546c4998a358fbe3f986ce19 100644 --- a/CLEngine/CGame.cs +++ b/CLEngine/CGame.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.IO; using System.Reflection; +using System.Security.AccessControl; using System.Text; using CLEditor.Core.Diagnostics; using CLEngine.Properties; @@ -56,6 +57,7 @@ namespace CLEngine GlobalLogger.GetLogger("game").ActivateLog(LogMessageType.Debug, true); GlobalLogger.GetLogger("game").Info("监听器启动"); +#if C_PLATFORM_WINDOWS_DESKTOP var lua = new Lua(); lua.LoadCLRPackage(); NoExistAndCreateFile(MainImportEngineFile, Resources.importEngine); @@ -75,7 +77,8 @@ namespace CLEngine LuaLoadContentFunc = FindValueIndex(loadContentIndex); var unloadContentIndex = FindKeyIndex("unLoadContent"); LuaUnLoadContentFunc = FindValueIndex(unloadContentIndex); - +#endif + NoExistAndCreateFile(MainCoreCSFile, Resources.CSCore); var scriptEngine = new ScriptEngine.ScriptEngine(); scriptEngine.CompileFile(MainCoreCSFile.GetScriptPath()); @@ -93,7 +96,12 @@ namespace CLEngine if (!string.IsNullOrEmpty(scriptDir) && !Directory.Exists(scriptDir)) { +#if C_PLATFORM_WINDOWS_DESKTOP Directory.CreateDirectory(scriptDir); +#elif C_PLATFORM_ANDROID + Directory.CreateDirectory(scriptDir, new DirectorySecurity()); +#endif + } @@ -106,6 +114,7 @@ namespace CLEngine } } + /// /// 游戏初始化 /// @@ -116,7 +125,9 @@ namespace CLEngine base.Initialize(); +#if C_PLATFORM_WINDOWS_DESKTOP LuaInitFunc.Call(); +#endif Behaviour.Initialize(); GlobalLogger.GetLogger("game").Info("游戏初始化完毕"); } @@ -129,7 +140,10 @@ namespace CLEngine { base.Draw(gameTime); +#if C_PLATFORM_WINDOWS_DESKTOP LuaDrawFunc.Call(gameTime); +#endif + Behaviour.Draw(gameTime); } @@ -141,7 +155,9 @@ namespace CLEngine { base.Update(gameTime); +#if C_PLATFORM_WINDOWS_DESKTOP LuaUpdateFunc.Call(gameTime); +#endif Behaviour.Update(gameTime); } @@ -153,7 +169,10 @@ namespace CLEngine GlobalLogger.GetLogger("game").Info("游戏开始加载资源"); base.LoadContent(); +#if C_PLATFORM_WINDOWS_DESKTOP LuaLoadContentFunc.Call(); +#endif + Behaviour.LoadContent(); GlobalLogger.GetLogger("game").Info("游戏加载资源完毕"); } @@ -166,7 +185,10 @@ namespace CLEngine GlobalLogger.GetLogger("game").Info("游戏开始卸载资源"); base.UnloadContent(); +#if C_PLATFORM_WINDOWS_DESKTOP LuaUnLoadContentFunc.Call(); +#endif + Behaviour.UnLoadContent(); GlobalLogger.GetLogger("game").Info("游戏卸载资源完毕"); } diff --git a/CLEngine/CLEngine.csproj b/CLEngine/CLEngine.csproj index d4f8013fc633cfd53eb41c308f9e8dc0ead0da59..ac7c94ae3b4ec325257aab58627f190532dccb19 100644 --- a/CLEngine/CLEngine.csproj +++ b/CLEngine/CLEngine.csproj @@ -18,7 +18,7 @@ full false bin\Debug\ - DEBUG;TRACE + TRACE;DEBUG;C_PLATFORM_ANDROID prompt 4 @@ -34,11 +34,14 @@ ..\packages\NLua.1.3.2.1\lib\net45\KeraLua.dll + + ..\packages\NLua_Safe.1.3.2.1\lib\net45\KopiLua.dll + ..\packages\MonoGame.Framework.Portable.3.6.0.1625\lib\portable-net45+win8+wpa81\MonoGame.Framework.dll - ..\packages\NLua.1.3.2.1\lib\net45\NLua.dll + ..\packages\NLua_Safe.1.3.2.1\lib\net45\NLua.dll @@ -63,6 +66,7 @@ + diff --git a/CLEngine/app.config b/CLEngine/app.config new file mode 100644 index 0000000000000000000000000000000000000000..31fd8b02de7b60e7728f717c7ee1320a7d606c43 --- /dev/null +++ b/CLEngine/app.config @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/CLEngine/packages.config b/CLEngine/packages.config index 2c530683ea0a794e46ea84a39ab9a563a9ed64e6..6753d794970507847b51685f150cab7b84805514 100644 --- a/CLEngine/packages.config +++ b/CLEngine/packages.config @@ -2,4 +2,5 @@ + \ No newline at end of file diff --git a/Game.Android/Activity1.cs b/Game.Android/Activity1.cs new file mode 100644 index 0000000000000000000000000000000000000000..51490c4effa9a5852d1bacbe0d2d7aa0d7df99bb --- /dev/null +++ b/Game.Android/Activity1.cs @@ -0,0 +1,28 @@ +using Android.App; +using Android.Content; +using Android.Content.PM; +using Android.OS; +using Android.Views; + +namespace Game.Android +{ + [Activity(Label = "Game.Android" + , MainLauncher = true + , Icon = "@drawable/icon" + , Theme = "@style/Theme.Splash" + , AlwaysRetainTaskState = true + , LaunchMode = LaunchMode.SingleInstance + , ScreenOrientation = ScreenOrientation.FullUser + , ConfigurationChanges = ConfigChanges.Orientation | ConfigChanges.Keyboard | ConfigChanges.KeyboardHidden | ConfigChanges.ScreenSize)] + public class Activity1 : Microsoft.Xna.Framework.AndroidGameActivity + { + protected override void OnCreate(Bundle bundle) + { + base.OnCreate(bundle); + var g = new Game1(); + SetContentView((View)g.Services.GetService(typeof(View))); + g.Run(); + } + } +} + diff --git a/Game.Android/Assets/AboutAssets.txt b/Game.Android/Assets/AboutAssets.txt new file mode 100644 index 0000000000000000000000000000000000000000..ee398862952bafe50d49602ee31bac4283f089ff --- /dev/null +++ b/Game.Android/Assets/AboutAssets.txt @@ -0,0 +1,19 @@ +Any raw assets you want to be deployed with your application can be placed in +this directory (and child directories) and given a Build Action of "AndroidAsset". + +These files will be deployed with you package and will be accessible using Android's +AssetManager, like this: + +public class ReadAsset : Activity +{ + protected override void OnCreate (Bundle bundle) + { + base.OnCreate (bundle); + + InputStream input = Assets.Open ("my_asset.txt"); + } +} + +Additionally, some Android functions will automatically load asset files: + +Typeface tf = Typeface.CreateFromAsset (Context.Assets, "fonts/samplefont.ttf"); \ No newline at end of file diff --git a/Game.Android/Content/Content.mgcb b/Game.Android/Content/Content.mgcb new file mode 100644 index 0000000000000000000000000000000000000000..895694b660a5bd2c1433a6b7f6c9c290affafc88 --- /dev/null +++ b/Game.Android/Content/Content.mgcb @@ -0,0 +1,15 @@ + +#----------------------------- Global Properties ----------------------------# + +/outputDir:bin/$(Platform) +/intermediateDir:obj/$(Platform) +/platform:Android +/config: +/profile:Reach +/compress:False + +#-------------------------------- References --------------------------------# + + +#---------------------------------- Content ---------------------------------# + diff --git a/Game.Android/Game.Android.csproj b/Game.Android/Game.Android.csproj new file mode 100644 index 0000000000000000000000000000000000000000..ee8593f8ec37b016890f8c80ac4b43c3d8140084 --- /dev/null +++ b/Game.Android/Game.Android.csproj @@ -0,0 +1,114 @@ + + + + + Debug + AnyCPU + 8.0.30703 + 2.0 + {3B769A4B-5FBB-4FC9-AB04-B5D525E69448} + {EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + Library + Properties + Game.Android + Game.Android + 512 + true + Resources\Resource.Designer.cs + Off + armeabi-v7a%3bx86 + .m4a + + v8.1 + Android + Properties\AndroidManifest.xml + + + true + full + false + bin\$(MonoGamePlatform)\$(Platform)\$(Configuration)\ + TRACE;DEBUG;ANDROID + prompt + 4 + True + None + false + + + pdbonly + true + bin\$(MonoGamePlatform)\$(Platform)\$(Configuration)\ + TRACE;ANDROID + prompt + 4 + False + SdkOnly + + + + ..\packages\NLua_Android.1.3.2.1\lib\MonoAndroid\KeraLua.Android.dll + + + + ..\packages\MonoGame.Framework.Android.3.6.0.1625\lib\MonoAndroid\MonoGame.Framework.dll + + + + ..\packages\NLua_Android.1.3.2.1\lib\MonoAndroid\NLua.Android.dll + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {64882f3d-f201-43fc-9c9b-f92d7a37f846} + CLEngine + + + + + + \ No newline at end of file diff --git a/Game.Android/Game1.cs b/Game.Android/Game1.cs new file mode 100644 index 0000000000000000000000000000000000000000..b71471076ef67d7c4d3df02169da9b97c1714f2b --- /dev/null +++ b/Game.Android/Game1.cs @@ -0,0 +1,108 @@ +using Android; +using Android.Content.PM; +using Android.OS; +using CLEngine; +using Java.Lang; +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Graphics; +using Microsoft.Xna.Framework.Input; + +namespace Game.Android +{ + /// + /// This is the main type for your game. + /// + public class Game1 : CGame + { + GraphicsDeviceManager graphics; + SpriteBatch spriteBatch; + + public Game1() + { + graphics = new GraphicsDeviceManager(this); + Content.RootDirectory = "Content"; + + graphics.IsFullScreen = true; + graphics.PreferredBackBufferWidth = 800; + graphics.PreferredBackBufferHeight = 480; + graphics.SupportedOrientations = DisplayOrientation.LandscapeLeft | DisplayOrientation.LandscapeRight; + + CheckPermission(); + } + +#if ANDROID + /// + /// ûȨ + /// + private void CheckPermission() + { + if (Build.VERSION.SdkInt >= BuildVersionCodes.M) + { + // Ȩ + } + } +#endif + + /// + /// Allows the game to perform any initialization it needs to before starting to run. + /// This is where it can query for any required services and load any non-graphic + /// related content. Calling base.Initialize will enumerate through any components + /// and initialize them as well. + /// + protected override void Initialize() + { + // TODO: Add your initialization logic here + + base.Initialize(); + } + + /// + /// LoadContent will be called once per game and is the place to load + /// all of your content. + /// + protected override void LoadContent() + { + // Create a new SpriteBatch, which can be used to draw textures. + spriteBatch = new SpriteBatch(GraphicsDevice); + + // TODO: use this.Content to load your game content here + } + + /// + /// UnloadContent will be called once per game and is the place to unload + /// game-specific content. + /// + protected override void UnloadContent() + { + // TODO: Unload any non ContentManager content here + } + + /// + /// Allows the game to run logic such as updating the world, + /// checking for collisions, gathering input, and playing audio. + /// + /// Provides a snapshot of timing values. + protected override void Update(GameTime gameTime) + { + if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed) + Exit(); + + // TODO: Add your update logic here + + base.Update(gameTime); + } + + /// + /// This is called when the game should draw itself. + /// + /// Provides a snapshot of timing values. + protected override void Draw(GameTime gameTime) + { + GraphicsDevice.Clear(Color.CornflowerBlue); + + // TODO: Add your drawing code here + + base.Draw(gameTime); + } + } +} diff --git a/Game.Android/Properties/AndroidManifest.xml b/Game.Android/Properties/AndroidManifest.xml new file mode 100644 index 0000000000000000000000000000000000000000..62902467d138b14c62de39d67fb88628b5062385 --- /dev/null +++ b/Game.Android/Properties/AndroidManifest.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/Game.Android/Properties/AssemblyInfo.cs b/Game.Android/Properties/AssemblyInfo.cs new file mode 100644 index 0000000000000000000000000000000000000000..80c8e74c39cd5f1fb9cbfc3af1d16377d78e97f3 --- /dev/null +++ b/Game.Android/Properties/AssemblyInfo.cs @@ -0,0 +1,41 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using Android.App; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Game.Android")] +[assembly: AssemblyProduct("Game.Android")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyCopyright("Copyright © 2018")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("f9074630-9d24-4a67-8921-438449ee53cb")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] + +// Add some common permissions, these can be removed if not needed +[assembly: UsesPermission(Android.Manifest.Permission.Internet)] +[assembly: UsesPermission(Android.Manifest.Permission.WriteExternalStorage)] diff --git a/Game.Android/Resources/AboutResources.txt b/Game.Android/Resources/AboutResources.txt new file mode 100644 index 0000000000000000000000000000000000000000..b0fc999bdb7c9b5e02cb79654878abcf12bf1d73 --- /dev/null +++ b/Game.Android/Resources/AboutResources.txt @@ -0,0 +1,44 @@ +Images, layout descriptions, binary blobs and string dictionaries can be included +in your application as resource files. Various Android APIs are designed to +operate on the resource IDs instead of dealing with images, strings or binary blobs +directly. + +For example, a sample Android app that contains a user interface layout (Main.xml), +an internationalization string table (Strings.xml) and some icons (drawable/Icon.png) +would keep its resources in the "Resources" directory of the application: + +Resources/ + Drawable/ + Icon.png + + Layout/ + Main.axml + + Values/ + Strings.xml + +In order to get the build system to recognize Android resources, the build action should be set +to "AndroidResource". The native Android APIs do not operate directly with filenames, but +instead operate on resource IDs. When you compile an Android application that uses resources, +the build system will package the resources for distribution and generate a class called +"Resource" that contains the tokens for each one of the resources included. For example, +for the above Resources layout, this is what the Resource class would expose: + +public class Resource { + public class Drawable { + public const int Icon = 0x123; + } + + public class Layout { + public const int Main = 0x456; + } + + public class String { + public const int FirstString = 0xabc; + public const int SecondString = 0xbcd; + } +} + +You would then use Resource.Drawable.Icon to reference the Drawable/Icon.png file, or +Resource.Layout.Main to reference the Layout/Main.axml file, or Resource.String.FirstString +to reference the first string in the dictionary file Values/Strings.xml. \ No newline at end of file diff --git a/Game.Android/Resources/Drawable/Icon.png b/Game.Android/Resources/Drawable/Icon.png new file mode 100644 index 0000000000000000000000000000000000000000..f6f4f411136ab86ead0158ea9b18647f254ba2c6 Binary files /dev/null and b/Game.Android/Resources/Drawable/Icon.png differ diff --git a/Game.Android/Resources/Drawable/Splash.png b/Game.Android/Resources/Drawable/Splash.png new file mode 100644 index 0000000000000000000000000000000000000000..2f8610744f28972ad98c5764d2fdfb129f9c26d6 Binary files /dev/null and b/Game.Android/Resources/Drawable/Splash.png differ diff --git a/Game.Android/Resources/Resource.Designer.cs b/Game.Android/Resources/Resource.Designer.cs new file mode 100644 index 0000000000000000000000000000000000000000..d70b5500d1f9c513165bdacf38008899765dc13c --- /dev/null +++ b/Game.Android/Resources/Resource.Designer.cs @@ -0,0 +1,99 @@ +#pragma warning disable 1591 +//------------------------------------------------------------------------------ +// +// 此代码由工具生成。 +// 运行时版本:4.0.30319.42000 +// +// 对此文件的更改可能会导致不正确的行为,并且如果 +// 重新生成代码,这些更改将会丢失。 +// +//------------------------------------------------------------------------------ + +[assembly: global::Android.Runtime.ResourceDesignerAttribute("Game.Android.Resource", IsApplication=true)] + +namespace Game.Android +{ + + + [System.CodeDom.Compiler.GeneratedCodeAttribute("Xamarin.Android.Build.Tasks", "1.0.0.0")] + public partial class Resource + { + + static Resource() + { + global::Android.Runtime.ResourceIdManager.UpdateIdValues(); + } + + public static void UpdateIdValues() + { + } + + public partial class Attribute + { + + static Attribute() + { + global::Android.Runtime.ResourceIdManager.UpdateIdValues(); + } + + private Attribute() + { + } + } + + public partial class Drawable + { + + // aapt resource value: 0x7f020000 + public const int Icon = 2130837504; + + // aapt resource value: 0x7f020001 + public const int Splash = 2130837505; + + static Drawable() + { + global::Android.Runtime.ResourceIdManager.UpdateIdValues(); + } + + private Drawable() + { + } + } + + public partial class String + { + + // aapt resource value: 0x7f030001 + public const int ApplicationName = 2130903041; + + // aapt resource value: 0x7f030000 + public const int Hello = 2130903040; + + static String() + { + global::Android.Runtime.ResourceIdManager.UpdateIdValues(); + } + + private String() + { + } + } + + public partial class Style + { + + // aapt resource value: 0x7f040000 + public const int Theme_Splash = 2130968576; + + static Style() + { + global::Android.Runtime.ResourceIdManager.UpdateIdValues(); + } + + private Style() + { + } + } + } +} +#pragma warning restore 1591 diff --git a/Game.Android/Resources/Values/Strings.xml b/Game.Android/Resources/Values/Strings.xml new file mode 100644 index 0000000000000000000000000000000000000000..8e54977e78f9d2631ed3e25eeba3adcaa7541497 --- /dev/null +++ b/Game.Android/Resources/Values/Strings.xml @@ -0,0 +1,5 @@ + + + Hello World, Click Me! + Game.Android + diff --git a/Game.Android/Resources/Values/Styles.xml b/Game.Android/Resources/Values/Styles.xml new file mode 100644 index 0000000000000000000000000000000000000000..51021340133fa2c22d2731a4857f7c061db192e0 --- /dev/null +++ b/Game.Android/Resources/Values/Styles.xml @@ -0,0 +1,7 @@ + + + + diff --git a/Game.Android/app.config b/Game.Android/app.config new file mode 100644 index 0000000000000000000000000000000000000000..31fd8b02de7b60e7728f717c7ee1320a7d606c43 --- /dev/null +++ b/Game.Android/app.config @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Game.Android/packages.config b/Game.Android/packages.config new file mode 100644 index 0000000000000000000000000000000000000000..e90e42b8c8de1ec73f907f708e93cd197dc4f973 --- /dev/null +++ b/Game.Android/packages.config @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/Game.Desktop/app.config b/Game.Desktop/app.config index 3dbff35f484e2710a41c17e8c0ac67ff80f48f35..cc038c9b40e634756d190f20160cc02d753dcd09 100644 --- a/Game.Desktop/app.config +++ b/Game.Desktop/app.config @@ -1,3 +1,44 @@ - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Game.IOS/Content/Content.mgcb b/Game.IOS/Content/Content.mgcb new file mode 100644 index 0000000000000000000000000000000000000000..f0e047ff314170b6ed592b9e167b16a69a523cf2 --- /dev/null +++ b/Game.IOS/Content/Content.mgcb @@ -0,0 +1,13 @@ +#----------------------------- Global Properties ----------------------------# + +/outputDir:bin/$(Platform) +/intermediateDir:obj/$(Platform) +/platform:iOS +/config: +/profile:Reach +/compress:False + +#-------------------------------- References --------------------------------# + + +#---------------------------------- Content ---------------------------------# diff --git a/Game.IOS/Default.png b/Game.IOS/Default.png new file mode 100644 index 0000000000000000000000000000000000000000..7b836692e3113f5e3ad432869b1cd0248821ea82 Binary files /dev/null and b/Game.IOS/Default.png differ diff --git a/Game.IOS/Entitlements.plist b/Game.IOS/Entitlements.plist new file mode 100644 index 0000000000000000000000000000000000000000..9ae599370b423483eb3aa8d78aac76449d69691e --- /dev/null +++ b/Game.IOS/Entitlements.plist @@ -0,0 +1,6 @@ + + + + + + diff --git a/Game.IOS/Game.IOS.csproj b/Game.IOS/Game.IOS.csproj new file mode 100644 index 0000000000000000000000000000000000000000..b1f2495aa530004ba42618d56e475ecdaa1d789e --- /dev/null +++ b/Game.IOS/Game.IOS.csproj @@ -0,0 +1,133 @@ + + + + + Debug + iPhoneSimulator + {FEACFBD2-3405-455C-9665-78FE426C6842};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + {E4A7F2B4-26BB-435B-AD80-F8F8336C4A89} + Exe + Game.IOS + Resources + Game.IOS + iOS + + + true + full + false + bin\$(Platform)\$(Configuration) + DEBUG; + prompt + 4 + false + i386, x86_64 + None + true + true + true + true + true + + + none + true + bin\$(Platform)\$(Configuration) + prompt + 4 + false + i386, x86_64 + None + true + true + + + true + full + false + bin\$(Platform)\$(Configuration) + DEBUG; + prompt + 4 + false + ARMv7, ARMv7s, ARM64 + true + true + true + true + true + Entitlements.plist + iPhone Developer + + + none + true + bin\$(Platform)\$(Configuration) + prompt + 4 + false + ARMv7, ARMv7s, ARM64 + true + true + Entitlements.plist + iPhone Developer + + + none + True + bin\$(Platform)\$(Configuration) + prompt + 4 + False + ARMv7, ARMv7s, ARM64 + true + true + Entitlements.plist + True + Automatic:AdHoc + iPhone Distribution + + + none + True + bin\$(Platform)\$(Configuration) + prompt + 4 + False + ARMv7, ARMv7s, ARM64 + true + true + Entitlements.plist + Automatic:AppStore + iPhone Distribution + + + + + + + ..\packages\MonoGame.Framework.iOS.3.6.0.1625\lib\XamariniOS\MonoGame.Framework.dll + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Game.IOS/Game1.cs b/Game.IOS/Game1.cs new file mode 100644 index 0000000000000000000000000000000000000000..4b8b8c10cbb56b6d51f1e769f94513ee8beee495 --- /dev/null +++ b/Game.IOS/Game1.cs @@ -0,0 +1,84 @@ +using System; +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Graphics; +using Microsoft.Xna.Framework.Input; + +namespace Game.IOS +{ + /// + /// This is the main type for your game. + /// + public class Game1 : Microsoft.Xna.Framework.Game + { + GraphicsDeviceManager graphics; + SpriteBatch spriteBatch; + + public Game1() + { + graphics = new GraphicsDeviceManager(this); + Content.RootDirectory = "Content"; + graphics.IsFullScreen = true; + } + + /// + /// Allows the game to perform any initialization it needs to before starting to run. + /// This is where it can query for any required services and load any non-graphic + /// related content. Calling base.Initialize will enumerate through any components + /// and initialize them as well. + /// + protected override void Initialize() + { + // TODO: Add your initialization logic here + base.Initialize(); + + } + + /// + /// LoadContent will be called once per game and is the place to load + /// all of your content. + /// + protected override void LoadContent() + { + // Create a new SpriteBatch, which can be used to draw textures. + spriteBatch = new SpriteBatch(GraphicsDevice); + + //TODO: Use Content to load your game content here + } + + /// + /// Allows the game to run logic such as updating the world, + /// checking for collisions, gathering input, and playing audio. + /// + /// Provides a snapshot of timing values. + protected override void Update(GameTime gameTime) + { + // For Mobile devices, this logic will close the Game when the Back button is pressed. + // Exit() is obsolete on iOS +#if !__IOS__ && !__TVOS__ + if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed || + Keyboard.GetState().IsKeyDown(Keys.Escape)) + { + Exit(); + } +#endif + + // TODO: Add your update logic here + + base.Update(gameTime); + } + + /// + /// This is called when the game should draw itself. + /// + /// Provides a snapshot of timing values. + protected override void Draw(GameTime gameTime) + { + graphics.GraphicsDevice.Clear(Color.CornflowerBlue); + + //TODO: Add your drawing code here + + base.Draw(gameTime); + } + } +} + diff --git a/Game.IOS/GameThumbnail.png b/Game.IOS/GameThumbnail.png new file mode 100644 index 0000000000000000000000000000000000000000..14c929ffde1c85ae21b71f60215a59c243a2ab9e Binary files /dev/null and b/Game.IOS/GameThumbnail.png differ diff --git a/Game.IOS/Info.plist b/Game.IOS/Info.plist new file mode 100644 index 0000000000000000000000000000000000000000..594b799dc0d3287984088183189bc80a15a27ca6 --- /dev/null +++ b/Game.IOS/Info.plist @@ -0,0 +1,23 @@ + + + + + CFBundleDisplayName + Game.IOS + CFBundleIconFiles + + GameThumbnail.png + + CFBundleIdentifier + project.MonoGame.Game.IOS + MinimumOSVersion + 7.0 + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + + diff --git a/Game.IOS/Program.cs b/Game.IOS/Program.cs new file mode 100644 index 0000000000000000000000000000000000000000..63e6d8897bf943e5aa7b08d54cb409672f942b3a --- /dev/null +++ b/Game.IOS/Program.cs @@ -0,0 +1,31 @@ +using System; +using Foundation; +using UIKit; + +namespace Game.IOS +{ + [Register("AppDelegate")] + class Program : UIApplicationDelegate + { + private static Game1 game; + + internal static void RunGame() + { + game = new Game1(); + game.Run(); + } + + /// + /// The main entry point for the application. + /// + static void Main(string[] args) + { + UIApplication.Main(args, null, "AppDelegate"); + } + + public override void FinishedLaunching(UIApplication app) + { + RunGame(); + } + } +} diff --git a/Game.IOS/Properties/AssemblyInfo.cs b/Game.IOS/Properties/AssemblyInfo.cs new file mode 100644 index 0000000000000000000000000000000000000000..d76fb1a5902f83273b06faa91e48bd1f26a775bd --- /dev/null +++ b/Game.IOS/Properties/AssemblyInfo.cs @@ -0,0 +1,34 @@ +using System.Reflection; +using System.Runtime.CompilerServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Game.IOS")] +[assembly: AssemblyProduct("Game.IOS")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyCopyright("Copyright © 2018")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] + +// The following attributes are used to specify the signing key for the assembly, +// if desired. See the Mono documentation for more information about signing. + +//[assembly: AssemblyDelaySign(false)] +//[assembly: AssemblyKeyFile("")] + diff --git a/Game.IOS/packages.config b/Game.IOS/packages.config new file mode 100644 index 0000000000000000000000000000000000000000..1fec60720975d100f7a544829c1d5f17789e8d90 --- /dev/null +++ b/Game.IOS/packages.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/Game.UWP/App.xaml b/Game.UWP/App.xaml new file mode 100644 index 0000000000000000000000000000000000000000..f5e808d74c1265b5dc3b8fd7fbfc9d858b384bcd --- /dev/null +++ b/Game.UWP/App.xaml @@ -0,0 +1,8 @@ + + + diff --git a/Game.UWP/App.xaml.cs b/Game.UWP/App.xaml.cs new file mode 100644 index 0000000000000000000000000000000000000000..2b297a9842c7df75d9651ccb2bec4b1a97b23945 --- /dev/null +++ b/Game.UWP/App.xaml.cs @@ -0,0 +1,134 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Runtime.InteropServices.WindowsRuntime; +using Windows.ApplicationModel; +using Windows.ApplicationModel.Activation; +using Windows.Foundation; +using Windows.Foundation.Collections; +using Windows.UI.ViewManagement; +using Windows.UI.Xaml; +using Windows.UI.Xaml.Controls; +using Windows.UI.Xaml.Controls.Primitives; +using Windows.UI.Xaml.Data; +using Windows.UI.Xaml.Input; +using Windows.UI.Xaml.Media; +using Windows.UI.Xaml.Navigation; + +// The Blank Application template is documented at http://go.microsoft.com/fwlink/?LinkId=402347&clcid=0x409 + +namespace Game.UWP +{ + /// + /// Provides application-specific behavior to supplement the default Application class. + /// + sealed partial class App : Application +{ + static string deviceFamily; + + /// + /// Initializes the singleton application object. This is the first line of authored code + /// executed, and as such is the logical equivalent of main() or WinMain(). + /// + public App() + { + this.InitializeComponent(); + this.Suspending += OnSuspending; + + //API check to ensure the "RequiresPointerMode" property exists, ensuring project is running on build 14393 or later + if (Windows.Foundation.Metadata.ApiInformation.IsPropertyPresent("Windows.UI.Xaml.Application", "RequiresPointerMode")) + { + //If running on the Xbox, disable the default on screen pointer + if (IsXbox()) + { + Application.Current.RequiresPointerMode = ApplicationRequiresPointerMode.WhenRequested; + } + } + } + + /// + /// Detection code in Windows 10 to identify the platform it is being run on + /// This function returns true if the project is running on an XboxOne + /// + public static bool IsXbox() + { + if (deviceFamily == null) + deviceFamily = Windows.System.Profile.AnalyticsInfo.VersionInfo.DeviceFamily; + + return deviceFamily == "Windows.Xbox"; + } + + /// + /// Invoked when the application is launched normally by the end user. Other entry points + /// will be used such as when the application is launched to open a specific file. + /// + /// Details about the launch request and process. + protected override void OnLaunched(LaunchActivatedEventArgs e) + { + // By default we want to fill the entire core window. + ApplicationView.GetForCurrentView().SetDesiredBoundsMode(ApplicationViewBoundsMode.UseCoreWindow); + +#if DEBUG + if (System.Diagnostics.Debugger.IsAttached) + { + this.DebugSettings.EnableFrameRateCounter = true; + } +#endif + + Frame rootFrame = Window.Current.Content as Frame; + + // Do not repeat app initialization when the Window already has content, + // just ensure that the window is active + if (rootFrame == null) + { + // Create a Frame to act as the navigation context and navigate to the first page + rootFrame = new Frame(); + + rootFrame.NavigationFailed += OnNavigationFailed; + + if (e.PreviousExecutionState == ApplicationExecutionState.Terminated) + { + //TODO: Load state from previously suspended application + } + + // Place the frame in the current Window + Window.Current.Content = rootFrame; + } + + if (rootFrame.Content == null) + { + // When the navigation stack isn't restored navigate to the first page, + // configuring the new page by passing required information as a navigation + // parameter + rootFrame.Navigate(typeof(GamePage), e.Arguments); + } + // Ensure the current window is active + Window.Current.Activate(); + } + + /// + /// Invoked when Navigation to a certain page fails + /// + /// The Frame which failed navigation + /// Details about the navigation failure + void OnNavigationFailed(object sender, NavigationFailedEventArgs e) + { + throw new Exception("Failed to load Page " + e.SourcePageType.FullName); + } + + /// + /// Invoked when application execution is being suspended. Application state is saved + /// without knowing whether the application will be terminated or resumed with the contents + /// of memory still intact. + /// + /// The source of the suspend request. + /// Details about the suspend request. + private void OnSuspending(object sender, SuspendingEventArgs e) + { + var deferral = e.SuspendingOperation.GetDeferral(); + //TODO: Save application state and stop any background activity + deferral.Complete(); + } +} +} \ No newline at end of file diff --git a/Game.UWP/Assets/LockScreenLogo.scale-200.png b/Game.UWP/Assets/LockScreenLogo.scale-200.png new file mode 100644 index 0000000000000000000000000000000000000000..735f57adb5dfc01886d137b4e493d7e97cf13af3 Binary files /dev/null and b/Game.UWP/Assets/LockScreenLogo.scale-200.png differ diff --git a/Game.UWP/Assets/SplashScreen.scale-200.png b/Game.UWP/Assets/SplashScreen.scale-200.png new file mode 100644 index 0000000000000000000000000000000000000000..023e7f1feda78d5100569825acedfd213a0d84e9 Binary files /dev/null and b/Game.UWP/Assets/SplashScreen.scale-200.png differ diff --git a/Game.UWP/Assets/Square150x150Logo.scale-200.png b/Game.UWP/Assets/Square150x150Logo.scale-200.png new file mode 100644 index 0000000000000000000000000000000000000000..af49fec1a5484db1d52a7f9b5ec90a27c7030186 Binary files /dev/null and b/Game.UWP/Assets/Square150x150Logo.scale-200.png differ diff --git a/Game.UWP/Assets/Square44x44Logo.scale-200.png b/Game.UWP/Assets/Square44x44Logo.scale-200.png new file mode 100644 index 0000000000000000000000000000000000000000..ce342a2ec8a61291ba76c54604aea7e9d20af11b Binary files /dev/null and b/Game.UWP/Assets/Square44x44Logo.scale-200.png differ diff --git a/Game.UWP/Assets/Square44x44Logo.targetsize-24_altform-unplated.png b/Game.UWP/Assets/Square44x44Logo.targetsize-24_altform-unplated.png new file mode 100644 index 0000000000000000000000000000000000000000..f6c02ce97e0a802b85f6021e822c89f8bf57d5cd Binary files /dev/null and b/Game.UWP/Assets/Square44x44Logo.targetsize-24_altform-unplated.png differ diff --git a/Game.UWP/Assets/StoreLogo.png b/Game.UWP/Assets/StoreLogo.png new file mode 100644 index 0000000000000000000000000000000000000000..7385b56c0e4d3c6b0efe3324aa1194157d837826 Binary files /dev/null and b/Game.UWP/Assets/StoreLogo.png differ diff --git a/Game.UWP/Assets/Wide310x150Logo.scale-200.png b/Game.UWP/Assets/Wide310x150Logo.scale-200.png new file mode 100644 index 0000000000000000000000000000000000000000..288995b397fdbef1fb7e85afd71445d5de1952c5 Binary files /dev/null and b/Game.UWP/Assets/Wide310x150Logo.scale-200.png differ diff --git a/Game.UWP/Content/Content.mgcb b/Game.UWP/Content/Content.mgcb new file mode 100644 index 0000000000000000000000000000000000000000..a7026da36bd25add15d2f899eef1558bbd264e6f --- /dev/null +++ b/Game.UWP/Content/Content.mgcb @@ -0,0 +1,15 @@ + +#----------------------------- Global Properties ----------------------------# + +/outputDir:bin/$(Platform) +/intermediateDir:obj/$(Platform) +/platform:WindowsStoreApp +/config: +/profile:Reach +/compress:False + +#-------------------------------- References --------------------------------# + + +#---------------------------------- Content ---------------------------------# + diff --git a/Game.UWP/Game.UWP.csproj b/Game.UWP/Game.UWP.csproj new file mode 100644 index 0000000000000000000000000000000000000000..33068e28ab81dd4e7cbae8ac317122a1df42265c --- /dev/null +++ b/Game.UWP/Game.UWP.csproj @@ -0,0 +1,157 @@ + + + + + + Debug + x86 + {5ed5c9c6-a6f6-4890-b037-3638a7b9e3f1} + AppContainerExe + Properties + Game.UWP + Game.UWP + zh-CN + UAP + 10.0.14393.0 + 10.0.10240.0 + 14 + true + 512 + {A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + + Game.UWP_TemporaryKey.pfx + + WindowsStoreApp + + + true + bin\WindowsUniversal\$(Platform)\$(Configuration)\ + DEBUG;TRACE;NETFX_CORE;WINDOWS_UAP + ;2008 + full + ARM + false + prompt + true + + + bin\WindowsUniversal\$(Platform)\$(Configuration)\ + TRACE;NETFX_CORE;WINDOWS_UAP + true + ;2008 + pdbonly + ARM + false + prompt + true + true + + + true + bin\WindowsUniversal\$(Platform)\$(Configuration)\ + DEBUG;TRACE;NETFX_CORE;WINDOWS_UAP + ;2008 + full + x64 + false + prompt + true + + + bin\WindowsUniversal\$(Platform)\$(Configuration)\ + TRACE;NETFX_CORE;WINDOWS_UAP + true + ;2008 + pdbonly + x64 + false + prompt + true + true + + + true + bin\WindowsUniversal\$(Platform)\$(Configuration)\ + DEBUG;TRACE;NETFX_CORE;WINDOWS_UAP + ;2008 + full + x86 + false + prompt + true + + + bin\WindowsUniversal\$(Platform)\$(Configuration)\ + TRACE;NETFX_CORE;WINDOWS_UAP + true + ;2008 + pdbonly + x86 + false + prompt + true + true + + + + + $(MonoGameInstallDirectory)\MonoGame\v3.0\Assemblies\WindowsUniversal\MonoGame.Framework.dll + + + + + App.xaml + + + GamePage.xaml + + + + + + + + + + Designer + + + + + + + + + + + + + + + + + + + + + MSBuild:Compile + Designer + + + MSBuild:Compile + Designer + + + + 14.0 + + + + + diff --git a/Game.UWP/Game1.cs b/Game.UWP/Game1.cs new file mode 100644 index 0000000000000000000000000000000000000000..a7339c19d2de2a7aa32e80a4de951f2a8ec1fd35 --- /dev/null +++ b/Game.UWP/Game1.cs @@ -0,0 +1,79 @@ +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Graphics; + +namespace Game.UWP +{ + /// + /// This is the main type for your game. + /// + public class Game1 : Game + { + GraphicsDeviceManager graphics; + SpriteBatch spriteBatch; + + public Game1() + { + graphics = new GraphicsDeviceManager(this); + Content.RootDirectory = "Content"; + } + + /// + /// Allows the game to perform any initialization it needs to before starting to run. + /// This is where it can query for any required services and load any non-graphic + /// related content. Calling base.Initialize will enumerate through any components + /// and initialize them as well. + /// + protected override void Initialize() + { + // TODO: Add your initialization logic here + + base.Initialize(); + } + + /// + /// LoadContent will be called once per game and is the place to load + /// all of your content. + /// + protected override void LoadContent() + { + // Create a new SpriteBatch, which can be used to draw textures. + spriteBatch = new SpriteBatch(GraphicsDevice); + + // TODO: use this.Content to load your game content here + } + + /// + /// UnloadContent will be called once per game and is the place to unload + /// game-specific content. + /// + protected override void UnloadContent() + { + // TODO: Unload any non ContentManager content here + } + + /// + /// Allows the game to run logic such as updating the world, + /// checking for collisions, gathering input, and playing audio. + /// + /// Provides a snapshot of timing values. + protected override void Update(GameTime gameTime) + { + // TODO: Add your update logic here + + base.Update(gameTime); + } + + /// + /// This is called when the game should draw itself. + /// + /// Provides a snapshot of timing values. + protected override void Draw(GameTime gameTime) + { + GraphicsDevice.Clear(Color.CornflowerBlue); + + // TODO: Add your drawing code here + + base.Draw(gameTime); + } + } +} diff --git a/Game.UWP/GamePage.xaml b/Game.UWP/GamePage.xaml new file mode 100644 index 0000000000000000000000000000000000000000..4cfc944b6963a35b735977e817f354b07705c726 --- /dev/null +++ b/Game.UWP/GamePage.xaml @@ -0,0 +1,12 @@ + + + + + diff --git a/Game.UWP/GamePage.xaml.cs b/Game.UWP/GamePage.xaml.cs new file mode 100644 index 0000000000000000000000000000000000000000..ab514933c3321abcdba03f5d01de2bb31e3eae00 --- /dev/null +++ b/Game.UWP/GamePage.xaml.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Runtime.InteropServices.WindowsRuntime; +using Windows.Foundation; +using Windows.Foundation.Collections; +using Windows.UI.Xaml; +using Windows.UI.Xaml.Controls; +using Windows.UI.Xaml.Controls.Primitives; +using Windows.UI.Xaml.Data; +using Windows.UI.Xaml.Input; +using Windows.UI.Xaml.Media; +using Windows.UI.Xaml.Navigation; + +// The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=402352&clcid=0x409 + +namespace Game.UWP +{ + /// + /// An empty page that can be used on its own or navigated to within a Frame. + /// + public sealed partial class GamePage : Page + { + readonly Game1 _game; + + public GamePage() + { + this.InitializeComponent(); + + // Create the game. + var launchArguments = string.Empty; + _game = MonoGame.Framework.XamlGame.Create(launchArguments, Window.Current.CoreWindow, swapChainPanel); + } + } +} diff --git a/Game.UWP/Package.appxmanifest b/Game.UWP/Package.appxmanifest new file mode 100644 index 0000000000000000000000000000000000000000..838e0c867d64c0f41b14b7d60d4102c874e7a037 --- /dev/null +++ b/Game.UWP/Package.appxmanifest @@ -0,0 +1,48 @@ + + + + + + + + + + Game.UWP + yhh + Assets\StoreLogo.png + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Game.UWP/Properties/AssemblyInfo.cs b/Game.UWP/Properties/AssemblyInfo.cs new file mode 100644 index 0000000000000000000000000000000000000000..f858ecbfade69c3ba5ecc3739a101cc7ee3ee496 --- /dev/null +++ b/Game.UWP/Properties/AssemblyInfo.cs @@ -0,0 +1,29 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Game.UWP")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Game.UWP")] +[assembly: AssemblyCopyright("Copyright © 2018")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] +[assembly: ComVisible(false)] \ No newline at end of file diff --git a/Game.UWP/Properties/Default.rd.xml b/Game.UWP/Properties/Default.rd.xml new file mode 100644 index 0000000000000000000000000000000000000000..80a960ce32fcc503dffc46277a02f0ba2679d315 --- /dev/null +++ b/Game.UWP/Properties/Default.rd.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/Game.Windows/app.config b/Game.Windows/app.config index 3dbff35f484e2710a41c17e8c0ac67ff80f48f35..cc038c9b40e634756d190f20160cc02d753dcd09 100644 --- a/Game.Windows/app.config +++ b/Game.Windows/app.config @@ -1,3 +1,44 @@ - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +