diff --git a/VXMusic/Img/VXLogo/VXMLogoSquare.png b/VXMusic/Img/VXLogo/VXMLogoSquare.png new file mode 100644 index 00000000..06600363 Binary files /dev/null and b/VXMusic/Img/VXLogo/VXMLogoSquare.png differ diff --git a/VXMusicDesktop/Overlay/bin/VXMOverlay_Data/Managed/Assembly-CSharp-firstpass.dll b/VXMusicDesktop/Overlay/bin/VXMOverlay_Data/Managed/Assembly-CSharp-firstpass.dll index 36c1e239..46740bb7 100644 Binary files a/VXMusicDesktop/Overlay/bin/VXMOverlay_Data/Managed/Assembly-CSharp-firstpass.dll and b/VXMusicDesktop/Overlay/bin/VXMOverlay_Data/Managed/Assembly-CSharp-firstpass.dll differ diff --git a/VXMusicDesktop/Overlay/bin/VXMOverlay_Data/Managed/Assembly-CSharp.dll b/VXMusicDesktop/Overlay/bin/VXMOverlay_Data/Managed/Assembly-CSharp.dll index 6fdcbd34..f96c5724 100644 Binary files a/VXMusicDesktop/Overlay/bin/VXMOverlay_Data/Managed/Assembly-CSharp.dll and b/VXMusicDesktop/Overlay/bin/VXMOverlay_Data/Managed/Assembly-CSharp.dll differ diff --git a/VXMusicDesktop/Overlay/bin/VXMOverlay_Data/ScriptingAssemblies.json b/VXMusicDesktop/Overlay/bin/VXMOverlay_Data/ScriptingAssemblies.json index d6349d1a..51e64718 100644 --- a/VXMusicDesktop/Overlay/bin/VXMOverlay_Data/ScriptingAssemblies.json +++ b/VXMusicDesktop/Overlay/bin/VXMOverlay_Data/ScriptingAssemblies.json @@ -1 +1 @@ -{"names":["UnityEngine.dll","UnityEngine.AIModule.dll","UnityEngine.ARModule.dll","UnityEngine.AccessibilityModule.dll","UnityEngine.AndroidJNIModule.dll","UnityEngine.AnimationModule.dll","UnityEngine.AssetBundleModule.dll","UnityEngine.AudioModule.dll","UnityEngine.ClothModule.dll","UnityEngine.ClusterInputModule.dll","UnityEngine.ClusterRendererModule.dll","UnityEngine.CoreModule.dll","UnityEngine.CrashReportingModule.dll","UnityEngine.DSPGraphModule.dll","UnityEngine.DirectorModule.dll","UnityEngine.GIModule.dll","UnityEngine.GameCenterModule.dll","UnityEngine.GridModule.dll","UnityEngine.HotReloadModule.dll","UnityEngine.IMGUIModule.dll","UnityEngine.ImageConversionModule.dll","UnityEngine.InputModule.dll","UnityEngine.InputLegacyModule.dll","UnityEngine.JSONSerializeModule.dll","UnityEngine.LocalizationModule.dll","UnityEngine.ParticleSystemModule.dll","UnityEngine.PerformanceReportingModule.dll","UnityEngine.PhysicsModule.dll","UnityEngine.Physics2DModule.dll","UnityEngine.ProfilerModule.dll","UnityEngine.RuntimeInitializeOnLoadManagerInitializerModule.dll","UnityEngine.ScreenCaptureModule.dll","UnityEngine.SharedInternalsModule.dll","UnityEngine.SpriteMaskModule.dll","UnityEngine.SpriteShapeModule.dll","UnityEngine.StreamingModule.dll","UnityEngine.SubstanceModule.dll","UnityEngine.SubsystemsModule.dll","UnityEngine.TLSModule.dll","UnityEngine.TerrainModule.dll","UnityEngine.TerrainPhysicsModule.dll","UnityEngine.TextCoreModule.dll","UnityEngine.TextRenderingModule.dll","UnityEngine.TilemapModule.dll","UnityEngine.UIModule.dll","UnityEngine.UIElementsModule.dll","UnityEngine.UIElementsNativeModule.dll","UnityEngine.UNETModule.dll","UnityEngine.UmbraModule.dll","UnityEngine.UnityAnalyticsModule.dll","UnityEngine.UnityConnectModule.dll","UnityEngine.UnityCurlModule.dll","UnityEngine.UnityTestProtocolModule.dll","UnityEngine.UnityWebRequestModule.dll","UnityEngine.UnityWebRequestAssetBundleModule.dll","UnityEngine.UnityWebRequestAudioModule.dll","UnityEngine.UnityWebRequestTextureModule.dll","UnityEngine.UnityWebRequestWWWModule.dll","UnityEngine.VFXModule.dll","UnityEngine.VRModule.dll","UnityEngine.VehiclesModule.dll","UnityEngine.VideoModule.dll","UnityEngine.VirtualTexturingModule.dll","UnityEngine.WindModule.dll","UnityEngine.XRModule.dll","Assembly-CSharp-firstpass.dll","Assembly-CSharp.dll","Purchasing.Common.dll","UnityEngine.Purchasing.dll","UnityEngine.Purchasing.WinRTCore.dll","UnityEngine.Purchasing.AppleMacosStub.dll","Unity.Timeline.dll","Unity.TextMeshPro.dll","UnityEngine.Purchasing.SecurityStub.dll","UnityEngine.Advertisements.dll","UnityEngine.SpatialTracking.dll","UnityEngine.UI.dll","UnityEngine.Purchasing.WinRTStub.dll","UnityEngine.Purchasing.AppleCore.dll","Unity.Analytics.DataPrivacy.dll","UnityEngine.Purchasing.SecurityCore.dll","UnityEngine.Purchasing.Codeless.dll","UnityEngine.XR.LegacyInputHelpers.dll","UnityEngine.Purchasing.Stores.dll","Unity.XR.Management.dll","UnityEngine.Monetization.dll","UnityEngine.Purchasing.AppleStub.dll"],"types":[2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16]} \ No newline at end of file +{"names":["UnityEngine.dll","UnityEngine.AIModule.dll","UnityEngine.ARModule.dll","UnityEngine.AccessibilityModule.dll","UnityEngine.AndroidJNIModule.dll","UnityEngine.AnimationModule.dll","UnityEngine.AssetBundleModule.dll","UnityEngine.AudioModule.dll","UnityEngine.ClothModule.dll","UnityEngine.ClusterInputModule.dll","UnityEngine.ClusterRendererModule.dll","UnityEngine.CoreModule.dll","UnityEngine.CrashReportingModule.dll","UnityEngine.DSPGraphModule.dll","UnityEngine.DirectorModule.dll","UnityEngine.GIModule.dll","UnityEngine.GameCenterModule.dll","UnityEngine.GridModule.dll","UnityEngine.HotReloadModule.dll","UnityEngine.IMGUIModule.dll","UnityEngine.ImageConversionModule.dll","UnityEngine.InputModule.dll","UnityEngine.InputLegacyModule.dll","UnityEngine.JSONSerializeModule.dll","UnityEngine.LocalizationModule.dll","UnityEngine.ParticleSystemModule.dll","UnityEngine.PerformanceReportingModule.dll","UnityEngine.PhysicsModule.dll","UnityEngine.Physics2DModule.dll","UnityEngine.ProfilerModule.dll","UnityEngine.RuntimeInitializeOnLoadManagerInitializerModule.dll","UnityEngine.ScreenCaptureModule.dll","UnityEngine.SharedInternalsModule.dll","UnityEngine.SpriteMaskModule.dll","UnityEngine.SpriteShapeModule.dll","UnityEngine.StreamingModule.dll","UnityEngine.SubstanceModule.dll","UnityEngine.SubsystemsModule.dll","UnityEngine.TLSModule.dll","UnityEngine.TerrainModule.dll","UnityEngine.TerrainPhysicsModule.dll","UnityEngine.TextCoreModule.dll","UnityEngine.TextRenderingModule.dll","UnityEngine.TilemapModule.dll","UnityEngine.UIModule.dll","UnityEngine.UIElementsModule.dll","UnityEngine.UIElementsNativeModule.dll","UnityEngine.UNETModule.dll","UnityEngine.UmbraModule.dll","UnityEngine.UnityAnalyticsModule.dll","UnityEngine.UnityConnectModule.dll","UnityEngine.UnityCurlModule.dll","UnityEngine.UnityTestProtocolModule.dll","UnityEngine.UnityWebRequestModule.dll","UnityEngine.UnityWebRequestAssetBundleModule.dll","UnityEngine.UnityWebRequestAudioModule.dll","UnityEngine.UnityWebRequestTextureModule.dll","UnityEngine.UnityWebRequestWWWModule.dll","UnityEngine.VFXModule.dll","UnityEngine.VRModule.dll","UnityEngine.VehiclesModule.dll","UnityEngine.VideoModule.dll","UnityEngine.VirtualTexturingModule.dll","UnityEngine.WindModule.dll","UnityEngine.XRModule.dll","Assembly-CSharp-firstpass.dll","Assembly-CSharp.dll","Purchasing.Common.dll","UnityEngine.Purchasing.dll","UnityEngine.Purchasing.WinRTCore.dll","UnityEngine.Purchasing.AppleMacosStub.dll","Unity.Timeline.dll","Unity.TextMeshPro.dll","UnityEngine.Purchasing.SecurityStub.dll","UnityEngine.Advertisements.dll","UnityEngine.SpatialTracking.dll","UnityEngine.UI.dll","UnityEngine.Purchasing.WinRTStub.dll","UnityEngine.Purchasing.AppleCore.dll","Unity.Analytics.DataPrivacy.dll","UnityEngine.Purchasing.SecurityCore.dll","UnityEngine.Purchasing.Codeless.dll","UnityEngine.XR.LegacyInputHelpers.dll","UnityEngine.Purchasing.Stores.dll","Unity.XR.Management.dll","UnityEngine.Monetization.dll","UnityEngine.Purchasing.AppleStub.dll","CLog.dll","CLogNLogAdapter.dll","AiUnityCommon.dll"],"types":[2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16]} \ No newline at end of file diff --git a/VXMusicDesktop/Overlay/bin/VXMOverlay_Data/globalgamemanagers b/VXMusicDesktop/Overlay/bin/VXMOverlay_Data/globalgamemanagers index 224f5051..f82ed761 100644 Binary files a/VXMusicDesktop/Overlay/bin/VXMOverlay_Data/globalgamemanagers and b/VXMusicDesktop/Overlay/bin/VXMOverlay_Data/globalgamemanagers differ diff --git a/VXMusicDesktop/Overlay/bin/VXMOverlay_Data/globalgamemanagers.assets b/VXMusicDesktop/Overlay/bin/VXMOverlay_Data/globalgamemanagers.assets index 814f3bdd..ca391c62 100644 Binary files a/VXMusicDesktop/Overlay/bin/VXMOverlay_Data/globalgamemanagers.assets and b/VXMusicDesktop/Overlay/bin/VXMOverlay_Data/globalgamemanagers.assets differ diff --git a/VXMusicDesktop/Overlay/bin/VXMOverlay_Data/level0 b/VXMusicDesktop/Overlay/bin/VXMOverlay_Data/level0 index ae88b47d..1e571366 100644 Binary files a/VXMusicDesktop/Overlay/bin/VXMOverlay_Data/level0 and b/VXMusicDesktop/Overlay/bin/VXMOverlay_Data/level0 differ diff --git a/VXMusicDesktop/Overlay/bin/VXMOverlay_Data/resources.assets b/VXMusicDesktop/Overlay/bin/VXMOverlay_Data/resources.assets index 52d22509..b3c68bd2 100644 Binary files a/VXMusicDesktop/Overlay/bin/VXMOverlay_Data/resources.assets and b/VXMusicDesktop/Overlay/bin/VXMOverlay_Data/resources.assets differ diff --git a/VXMusicDesktop/Overlay/bin/VXMOverlay_Data/sharedassets0.assets b/VXMusicDesktop/Overlay/bin/VXMOverlay_Data/sharedassets0.assets index e0ec5732..4203c5f0 100644 Binary files a/VXMusicDesktop/Overlay/bin/VXMOverlay_Data/sharedassets0.assets and b/VXMusicDesktop/Overlay/bin/VXMOverlay_Data/sharedassets0.assets differ diff --git a/VXMusicOverlay/Assembly-CSharp-Editor.csproj b/VXMusicOverlay/Assembly-CSharp-Editor.csproj new file mode 100644 index 00000000..085061e9 --- /dev/null +++ b/VXMusicOverlay/Assembly-CSharp-Editor.csproj @@ -0,0 +1,786 @@ +я╗┐ + + + latest + <_TargetFrameworkDirectories>non_empty_path_generated_by_unity.rider.package + <_FullFrameworkReferenceAssemblyPaths>non_empty_path_generated_by_unity.rider.package + true + + + + Debug + AnyCPU + 10.0.20506 + 2.0 + + {60683d20-dc6a-87cd-69ec-a0a3469ff096} + {E097FAD1-6243-4DAD-9C02-E9B9EFC3FFC1};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + Library + Properties + Assembly-CSharp-Editor + v4.7.1 + 512 + . + + + true + full + false + Temp\Bin\Debug\ + DEBUG;TRACE;UNITY_2020_3_30;UNITY_2020_3;UNITY_2020;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_6_OR_NEWER;UNITY_2017_1_OR_NEWER;UNITY_2017_2_OR_NEWER;UNITY_2017_3_OR_NEWER;UNITY_2017_4_OR_NEWER;UNITY_2018_1_OR_NEWER;UNITY_2018_2_OR_NEWER;UNITY_2018_3_OR_NEWER;UNITY_2018_4_OR_NEWER;UNITY_2019_1_OR_NEWER;UNITY_2019_2_OR_NEWER;UNITY_2019_3_OR_NEWER;UNITY_2019_4_OR_NEWER;UNITY_2020_1_OR_NEWER;UNITY_2020_2_OR_NEWER;UNITY_2020_3_OR_NEWER;PLATFORM_ARCH_64;UNITY_64;UNITY_INCLUDE_TESTS;USE_SEARCH_ENGINE_API;SCENE_TEMPLATE_MODULE;ENABLE_AR;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_EVENT_QUEUE;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_TEXTURE_STREAMING;ENABLE_VIRTUALTEXTURING;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_UNITYWEBREQUEST;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_COLLAB;ENABLE_CLOUD_SERVICES_COLLAB_SOFTLOCKS;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_SERVICES_USE_WEBREQUEST;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_HUB_LICENSE;ENABLE_WEBSOCKET_CLIENT;ENABLE_DIRECTOR_AUDIO;ENABLE_DIRECTOR_TEXTURE;ENABLE_MANAGED_JOBS;ENABLE_MANAGED_TRANSFORM_JOBS;ENABLE_MANAGED_ANIMATION_JOBS;ENABLE_MANAGED_AUDIO_JOBS;ENABLE_MANAGED_UNITYTLS;INCLUDE_DYNAMIC_GI;ENABLE_MONO_BDWGC;ENABLE_SCRIPTING_GC_WBARRIERS;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_VIDEO;PLATFORM_STANDALONE;PLATFORM_STANDALONE_WIN;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_OUT_OF_PROCESS_CRASH_HANDLER;ENABLE_CLUSTER_SYNC;ENABLE_CLUSTERINPUT;PLATFORM_UPDATES_TIME_OUTSIDE_OF_PLAYER_LOOP;GFXDEVICE_WAITFOREVENT_MESSAGEPUMP;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;NET_4_6;ENABLE_PROFILER;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;ENABLE_UNITY_COLLECTIONS_CHECKS;ENABLE_BURST_AOT;UNITY_TEAM_LICENSE;ENABLE_CUSTOM_RENDER_TEXTURE;ENABLE_DIRECTOR;ENABLE_LOCALIZATION;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_TILEMAP;ENABLE_TIMELINE;ENABLE_LEGACY_INPUT_MANAGER;CLOG_ALL;CSHARP_7_OR_LATER;CSHARP_7_3_OR_NEWER;NET_STANDARD_2_0 + prompt + 4 + + False + False + + + pdbonly + true + Temp\bin\Release\ + prompt + 4 + + False + False + + + true + true + false + false + false + + + + + + + + + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEngine.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEngine.AIModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEngine.ARModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEngine.AccessibilityModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEngine.AndroidJNIModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEngine.AnimationModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEngine.AssetBundleModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEngine.AudioModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEngine.ClothModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEngine.ClusterInputModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEngine.ClusterRendererModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEngine.CoreModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEngine.CrashReportingModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEngine.DSPGraphModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEngine.DirectorModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEngine.GIModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEngine.GameCenterModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEngine.GridModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEngine.HotReloadModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEngine.IMGUIModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEngine.ImageConversionModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEngine.InputModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEngine.InputLegacyModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEngine.JSONSerializeModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEngine.LocalizationModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEngine.ParticleSystemModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEngine.PerformanceReportingModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEngine.PhysicsModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEngine.Physics2DModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEngine.ProfilerModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEngine.RuntimeInitializeOnLoadManagerInitializerModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEngine.ScreenCaptureModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEngine.SharedInternalsModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEngine.SpriteMaskModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEngine.SpriteShapeModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEngine.StreamingModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEngine.SubstanceModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEngine.SubsystemsModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEngine.TLSModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEngine.TerrainModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEngine.TerrainPhysicsModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEngine.TextCoreModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEngine.TextRenderingModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEngine.TilemapModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEngine.UIModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEngine.UIElementsModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEngine.UIElementsNativeModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEngine.UNETModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEngine.UmbraModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEngine.UnityAnalyticsModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEngine.UnityConnectModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEngine.UnityCurlModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEngine.UnityTestProtocolModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEngine.UnityWebRequestModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEngine.UnityWebRequestAssetBundleModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEngine.UnityWebRequestAudioModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEngine.UnityWebRequestTextureModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEngine.UnityWebRequestWWWModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEngine.VFXModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEngine.VRModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEngine.VehiclesModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEngine.VideoModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEngine.VirtualTexturingModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEngine.WindModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEngine.XRModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEditor.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEditor.CoreModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEditor.GraphViewModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEditor.PackageManagerUIModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEditor.SceneTemplateModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEditor.UIElementsModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEditor.UIElementsSamplesModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEditor.UIServiceModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEditor.UnityConnectModule.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEditor.Graphs.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/UnityEditor.WindowsStandalone.Extensions.dll + + + C:/Users/Tam/git/VXMusic/VXMusicOverlay/Library/PackageCache/com.unity.collab-proxy@1.15.12/Lib/Editor/PlasticSCM/log4netPlastic.dll + + + C:/Users/Tam/git/VXMusic/VXMusicOverlay/Library/PackageCache/com.unity.collab-proxy@1.15.12/Lib/Editor/PlasticSCM/Unity.Plastic.Newtonsoft.Json.dll + + + C:/Users/Tam/git/VXMusic/VXMusicOverlay/Library/PackageCache/com.unity.analytics@3.6.12/AnalyticsStandardEvents/Unity.Analytics.StandardEvents.dll + + + C:/Users/Tam/git/VXMusic/VXMusicOverlay/Library/PackageCache/com.unity.analytics@3.6.12/Unity.Analytics.Editor.dll + + + C:/Users/Tam/git/VXMusic/VXMusicOverlay/Library/PackageCache/com.unity.collab-proxy@1.15.12/Lib/Editor/PlasticSCM/Unity.Plastic.Antlr3.Runtime.dll + + + C:/Users/Tam/git/VXMusic/VXMusicOverlay/Library/PackageCache/com.unity.collab-proxy@1.15.12/Lib/Editor/PlasticSCM/unityplastic.dll + + + C:/Users/Tam/git/VXMusic/VXMusicOverlay/Library/PackageCache/com.unity.analytics@3.6.12/Unity.Analytics.Tracker.dll + + + C:/Users/Tam/git/VXMusic/VXMusicOverlay/Assets/AiUnity/CLog/Lib/CLog.dll + + + C:/Users/Tam/git/VXMusic/VXMusicOverlay/Assets/AiUnity/CLog/Lib/CLogNLogAdapter.dll + + + C:/Users/Tam/git/VXMusic/VXMusicOverlay/Assets/AiUnity/Common/Lib/AiUnityCommon.dll + + + C:/Users/Tam/git/VXMusic/VXMusicOverlay/Library/PackageCache/com.unity.ext.nunit@1.0.6/net35/unity-custom/nunit.framework.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/mscorlib.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/System.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/System.Core.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/System.Runtime.Serialization.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/System.Xml.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/System.Xml.Linq.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/System.Numerics.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/System.Numerics.Vectors.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/System.Net.Http.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/System.IO.Compression.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Microsoft.CSharp.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/System.Data.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/Microsoft.Win32.Primitives.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/netstandard.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.AppContext.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Collections.Concurrent.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Collections.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Collections.NonGeneric.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Collections.Specialized.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.ComponentModel.Annotations.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.ComponentModel.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.ComponentModel.EventBasedAsync.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.ComponentModel.Primitives.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.ComponentModel.TypeConverter.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Console.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Data.Common.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Diagnostics.Contracts.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Diagnostics.Debug.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Diagnostics.FileVersionInfo.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Diagnostics.Process.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Diagnostics.StackTrace.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Diagnostics.TextWriterTraceListener.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Diagnostics.Tools.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Diagnostics.TraceSource.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Drawing.Primitives.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Dynamic.Runtime.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Globalization.Calendars.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Globalization.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Globalization.Extensions.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.IO.Compression.ZipFile.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.IO.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.IO.FileSystem.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.IO.FileSystem.DriveInfo.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.IO.FileSystem.Primitives.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.IO.FileSystem.Watcher.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.IO.IsolatedStorage.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.IO.MemoryMappedFiles.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.IO.Pipes.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.IO.UnmanagedMemoryStream.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Linq.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Linq.Expressions.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Linq.Parallel.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Linq.Queryable.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Net.Http.Rtc.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Net.NameResolution.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Net.NetworkInformation.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Net.Ping.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Net.Primitives.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Net.Requests.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Net.Security.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Net.Sockets.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Net.WebHeaderCollection.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Net.WebSockets.Client.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Net.WebSockets.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.ObjectModel.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Reflection.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Reflection.Emit.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Reflection.Emit.ILGeneration.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Reflection.Emit.Lightweight.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Reflection.Extensions.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Reflection.Primitives.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Resources.Reader.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Resources.ResourceManager.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Resources.Writer.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Runtime.CompilerServices.VisualC.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Runtime.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Runtime.Extensions.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Runtime.Handles.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Runtime.InteropServices.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Runtime.InteropServices.RuntimeInformation.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Runtime.InteropServices.WindowsRuntime.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Runtime.Numerics.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Runtime.Serialization.Formatters.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Runtime.Serialization.Json.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Runtime.Serialization.Primitives.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Runtime.Serialization.Xml.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Security.Claims.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Security.Cryptography.Algorithms.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Security.Cryptography.Csp.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Security.Cryptography.Encoding.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Security.Cryptography.Primitives.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Security.Cryptography.X509Certificates.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Security.Principal.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Security.SecureString.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.ServiceModel.Duplex.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.ServiceModel.Http.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.ServiceModel.NetTcp.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.ServiceModel.Primitives.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.ServiceModel.Security.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Text.Encoding.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Text.Encoding.Extensions.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Text.RegularExpressions.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Threading.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Threading.Overlapped.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Threading.Tasks.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Threading.Tasks.Parallel.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Threading.Thread.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Threading.ThreadPool.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Threading.Timer.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.ValueTuple.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Xml.ReaderWriter.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Xml.XDocument.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Xml.XmlDocument.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Xml.XmlSerializer.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Xml.XPath.dll + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Xml.XPath.XDocument.dll + + + C:/Users/Tam/git/VXMusic/VXMusicOverlay/Library/ScriptAssemblies/UnityEngine.TestRunner.dll + + + C:/Users/Tam/git/VXMusic/VXMusicOverlay/Library/ScriptAssemblies/UnityEditor.TestRunner.dll + + + C:/Users/Tam/git/VXMusic/VXMusicOverlay/Library/ScriptAssemblies/Purchasing.Common.dll + + + C:/Users/Tam/git/VXMusic/VXMusicOverlay/Library/ScriptAssemblies/Unity.VSCode.Editor.dll + + + C:/Users/Tam/git/VXMusic/VXMusicOverlay/Library/ScriptAssemblies/Unity.2D.Tilemap.Editor.dll + + + C:/Users/Tam/git/VXMusic/VXMusicOverlay/Library/ScriptAssemblies/UnityEngine.Purchasing.dll + + + C:/Users/Tam/git/VXMusic/VXMusicOverlay/Library/ScriptAssemblies/Unity.TextMeshPro.Editor.dll + + + C:/Users/Tam/git/VXMusic/VXMusicOverlay/Library/ScriptAssemblies/Unity.VisualStudio.Editor.dll + + + C:/Users/Tam/git/VXMusic/VXMusicOverlay/Library/ScriptAssemblies/Unity.XR.Management.Editor.dll + + + C:/Users/Tam/git/VXMusic/VXMusicOverlay/Library/ScriptAssemblies/Unity.Timeline.dll + + + C:/Users/Tam/git/VXMusic/VXMusicOverlay/Library/ScriptAssemblies/Unity.TextMeshPro.dll + + + C:/Users/Tam/git/VXMusic/VXMusicOverlay/Library/ScriptAssemblies/UnityEngine.Purchasing.SecurityStub.dll + + + C:/Users/Tam/git/VXMusic/VXMusicOverlay/Library/ScriptAssemblies/UnityEngine.Advertisements.dll + + + C:/Users/Tam/git/VXMusic/VXMusicOverlay/Library/ScriptAssemblies/Unity.2D.Sprite.Editor.dll + + + C:/Users/Tam/git/VXMusic/VXMusicOverlay/Library/ScriptAssemblies/UnityEditor.UI.dll + + + C:/Users/Tam/git/VXMusic/VXMusicOverlay/Library/ScriptAssemblies/Unity.PlasticSCM.Editor.dll + + + C:/Users/Tam/git/VXMusic/VXMusicOverlay/Library/ScriptAssemblies/Unity.Rider.Editor.dll + + + C:/Users/Tam/git/VXMusic/VXMusicOverlay/Library/ScriptAssemblies/Analytics.dll + + + C:/Users/Tam/git/VXMusic/VXMusicOverlay/Library/ScriptAssemblies/UnityEngine.SpatialTracking.dll + + + C:/Users/Tam/git/VXMusic/VXMusicOverlay/Library/ScriptAssemblies/UnityEngine.UI.dll + + + C:/Users/Tam/git/VXMusic/VXMusicOverlay/Library/ScriptAssemblies/Unity.Analytics.DataPrivacy.dll + + + C:/Users/Tam/git/VXMusic/VXMusicOverlay/Library/ScriptAssemblies/UnityEngine.Purchasing.SecurityCore.dll + + + C:/Users/Tam/git/VXMusic/VXMusicOverlay/Library/ScriptAssemblies/UnityEngine.Purchasing.Codeless.dll + + + C:/Users/Tam/git/VXMusic/VXMusicOverlay/Library/ScriptAssemblies/UnityEngine.XR.LegacyInputHelpers.dll + + + C:/Users/Tam/git/VXMusic/VXMusicOverlay/Library/ScriptAssemblies/Unity.Timeline.Editor.dll + + + C:/Users/Tam/git/VXMusic/VXMusicOverlay/Library/ScriptAssemblies/UnityEngine.Purchasing.Stores.dll + + + C:/Users/Tam/git/VXMusic/VXMusicOverlay/Library/ScriptAssemblies/UnityEditor.XR.LegacyInputHelpers.dll + + + C:/Users/Tam/git/VXMusic/VXMusicOverlay/Library/ScriptAssemblies/Unity.XR.Management.dll + + + C:/Users/Tam/git/VXMusic/VXMusicOverlay/Library/ScriptAssemblies/UnityEngine.Monetization.dll + + + C:/Users/Tam/git/VXMusic/VXMusicOverlay/Library/ScriptAssemblies/UnityEditor.Purchasing.dll + + + C:/Users/Tam/git/VXMusic/VXMusicOverlay/Library/ScriptAssemblies/UnityEditor.SpatialTracking.dll + + + C:/Users/Tam/git/VXMusic/VXMusicOverlay/Library/ScriptAssemblies/UnityEngine.Advertisements.Editor.dll + + + + + {c29d9945-b430-0f17-5c1c-52ad36a19f7d} + Assembly-CSharp-firstpass + + + {65b675ca-e9dd-db25-95c1-ae6ef990b5f5} + Assembly-CSharp + + + + + diff --git a/VXMusicOverlay/Assembly-CSharp-firstpass.csproj b/VXMusicOverlay/Assembly-CSharp-firstpass.csproj index d8d82df5..0991b005 100644 --- a/VXMusicOverlay/Assembly-CSharp-firstpass.csproj +++ b/VXMusicOverlay/Assembly-CSharp-firstpass.csproj @@ -27,7 +27,7 @@ full false Temp\Bin\Debug\ - DEBUG;TRACE;UNITY_2020_3_30;UNITY_2020_3;UNITY_2020;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_6_OR_NEWER;UNITY_2017_1_OR_NEWER;UNITY_2017_2_OR_NEWER;UNITY_2017_3_OR_NEWER;UNITY_2017_4_OR_NEWER;UNITY_2018_1_OR_NEWER;UNITY_2018_2_OR_NEWER;UNITY_2018_3_OR_NEWER;UNITY_2018_4_OR_NEWER;UNITY_2019_1_OR_NEWER;UNITY_2019_2_OR_NEWER;UNITY_2019_3_OR_NEWER;UNITY_2019_4_OR_NEWER;UNITY_2020_1_OR_NEWER;UNITY_2020_2_OR_NEWER;UNITY_2020_3_OR_NEWER;PLATFORM_ARCH_64;UNITY_64;UNITY_INCLUDE_TESTS;USE_SEARCH_ENGINE_API;SCENE_TEMPLATE_MODULE;ENABLE_AR;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_EVENT_QUEUE;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_TEXTURE_STREAMING;ENABLE_VIRTUALTEXTURING;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_UNITYWEBREQUEST;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_COLLAB;ENABLE_CLOUD_SERVICES_COLLAB_SOFTLOCKS;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_SERVICES_USE_WEBREQUEST;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_HUB_LICENSE;ENABLE_WEBSOCKET_CLIENT;ENABLE_DIRECTOR_AUDIO;ENABLE_DIRECTOR_TEXTURE;ENABLE_MANAGED_JOBS;ENABLE_MANAGED_TRANSFORM_JOBS;ENABLE_MANAGED_ANIMATION_JOBS;ENABLE_MANAGED_AUDIO_JOBS;ENABLE_MANAGED_UNITYTLS;INCLUDE_DYNAMIC_GI;ENABLE_MONO_BDWGC;ENABLE_SCRIPTING_GC_WBARRIERS;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_VIDEO;PLATFORM_STANDALONE;PLATFORM_STANDALONE_WIN;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_OUT_OF_PROCESS_CRASH_HANDLER;ENABLE_CLUSTER_SYNC;ENABLE_CLUSTERINPUT;PLATFORM_UPDATES_TIME_OUTSIDE_OF_PLAYER_LOOP;GFXDEVICE_WAITFOREVENT_MESSAGEPUMP;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;NET_STANDARD_2_0;ENABLE_PROFILER;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;ENABLE_UNITY_COLLECTIONS_CHECKS;ENABLE_BURST_AOT;UNITY_TEAM_LICENSE;ENABLE_CUSTOM_RENDER_TEXTURE;ENABLE_DIRECTOR;ENABLE_LOCALIZATION;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_TILEMAP;ENABLE_TIMELINE;ENABLE_LEGACY_INPUT_MANAGER;CSHARP_7_OR_LATER;CSHARP_7_3_OR_NEWER + DEBUG;TRACE;UNITY_2020_3_30;UNITY_2020_3;UNITY_2020;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_6_OR_NEWER;UNITY_2017_1_OR_NEWER;UNITY_2017_2_OR_NEWER;UNITY_2017_3_OR_NEWER;UNITY_2017_4_OR_NEWER;UNITY_2018_1_OR_NEWER;UNITY_2018_2_OR_NEWER;UNITY_2018_3_OR_NEWER;UNITY_2018_4_OR_NEWER;UNITY_2019_1_OR_NEWER;UNITY_2019_2_OR_NEWER;UNITY_2019_3_OR_NEWER;UNITY_2019_4_OR_NEWER;UNITY_2020_1_OR_NEWER;UNITY_2020_2_OR_NEWER;UNITY_2020_3_OR_NEWER;PLATFORM_ARCH_64;UNITY_64;UNITY_INCLUDE_TESTS;USE_SEARCH_ENGINE_API;SCENE_TEMPLATE_MODULE;ENABLE_AR;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_EVENT_QUEUE;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_TEXTURE_STREAMING;ENABLE_VIRTUALTEXTURING;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_UNITYWEBREQUEST;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_COLLAB;ENABLE_CLOUD_SERVICES_COLLAB_SOFTLOCKS;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_SERVICES_USE_WEBREQUEST;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_HUB_LICENSE;ENABLE_WEBSOCKET_CLIENT;ENABLE_DIRECTOR_AUDIO;ENABLE_DIRECTOR_TEXTURE;ENABLE_MANAGED_JOBS;ENABLE_MANAGED_TRANSFORM_JOBS;ENABLE_MANAGED_ANIMATION_JOBS;ENABLE_MANAGED_AUDIO_JOBS;ENABLE_MANAGED_UNITYTLS;INCLUDE_DYNAMIC_GI;ENABLE_MONO_BDWGC;ENABLE_SCRIPTING_GC_WBARRIERS;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_VIDEO;PLATFORM_STANDALONE;PLATFORM_STANDALONE_WIN;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_OUT_OF_PROCESS_CRASH_HANDLER;ENABLE_CLUSTER_SYNC;ENABLE_CLUSTERINPUT;PLATFORM_UPDATES_TIME_OUTSIDE_OF_PLAYER_LOOP;GFXDEVICE_WAITFOREVENT_MESSAGEPUMP;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;NET_STANDARD_2_0;ENABLE_PROFILER;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;ENABLE_UNITY_COLLECTIONS_CHECKS;ENABLE_BURST_AOT;UNITY_TEAM_LICENSE;ENABLE_CUSTOM_RENDER_TEXTURE;ENABLE_DIRECTOR;ENABLE_LOCALIZATION;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_TILEMAP;ENABLE_TIMELINE;ENABLE_LEGACY_INPUT_MANAGER;CLOG_ALL;CSHARP_7_OR_LATER;CSHARP_7_3_OR_NEWER prompt 4 @@ -294,6 +294,15 @@ C:/Users/Tam/git/VXMusic/VXMusicOverlay/Library/PackageCache/com.unity.analytics@3.6.12/Unity.Analytics.Tracker.dll + + C:/Users/Tam/git/VXMusic/VXMusicOverlay/Assets/AiUnity/CLog/Lib/CLog.dll + + + C:/Users/Tam/git/VXMusic/VXMusicOverlay/Assets/AiUnity/CLog/Lib/CLogNLogAdapter.dll + + + C:/Users/Tam/git/VXMusic/VXMusicOverlay/Assets/AiUnity/Common/Lib/AiUnityCommon.dll + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/NetStandard/ref/2.0.0/netstandard.dll diff --git a/VXMusicOverlay/Assembly-CSharp.csproj b/VXMusicOverlay/Assembly-CSharp.csproj index 08c27b47..6c897197 100644 --- a/VXMusicOverlay/Assembly-CSharp.csproj +++ b/VXMusicOverlay/Assembly-CSharp.csproj @@ -27,7 +27,7 @@ full false Temp\Bin\Debug\ - DEBUG;TRACE;UNITY_2020_3_30;UNITY_2020_3;UNITY_2020;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_6_OR_NEWER;UNITY_2017_1_OR_NEWER;UNITY_2017_2_OR_NEWER;UNITY_2017_3_OR_NEWER;UNITY_2017_4_OR_NEWER;UNITY_2018_1_OR_NEWER;UNITY_2018_2_OR_NEWER;UNITY_2018_3_OR_NEWER;UNITY_2018_4_OR_NEWER;UNITY_2019_1_OR_NEWER;UNITY_2019_2_OR_NEWER;UNITY_2019_3_OR_NEWER;UNITY_2019_4_OR_NEWER;UNITY_2020_1_OR_NEWER;UNITY_2020_2_OR_NEWER;UNITY_2020_3_OR_NEWER;PLATFORM_ARCH_64;UNITY_64;UNITY_INCLUDE_TESTS;USE_SEARCH_ENGINE_API;SCENE_TEMPLATE_MODULE;ENABLE_AR;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_EVENT_QUEUE;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_TEXTURE_STREAMING;ENABLE_VIRTUALTEXTURING;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_UNITYWEBREQUEST;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_COLLAB;ENABLE_CLOUD_SERVICES_COLLAB_SOFTLOCKS;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_SERVICES_USE_WEBREQUEST;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_HUB_LICENSE;ENABLE_WEBSOCKET_CLIENT;ENABLE_DIRECTOR_AUDIO;ENABLE_DIRECTOR_TEXTURE;ENABLE_MANAGED_JOBS;ENABLE_MANAGED_TRANSFORM_JOBS;ENABLE_MANAGED_ANIMATION_JOBS;ENABLE_MANAGED_AUDIO_JOBS;ENABLE_MANAGED_UNITYTLS;INCLUDE_DYNAMIC_GI;ENABLE_MONO_BDWGC;ENABLE_SCRIPTING_GC_WBARRIERS;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_VIDEO;PLATFORM_STANDALONE;PLATFORM_STANDALONE_WIN;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_OUT_OF_PROCESS_CRASH_HANDLER;ENABLE_CLUSTER_SYNC;ENABLE_CLUSTERINPUT;PLATFORM_UPDATES_TIME_OUTSIDE_OF_PLAYER_LOOP;GFXDEVICE_WAITFOREVENT_MESSAGEPUMP;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;NET_STANDARD_2_0;ENABLE_PROFILER;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;ENABLE_UNITY_COLLECTIONS_CHECKS;ENABLE_BURST_AOT;UNITY_TEAM_LICENSE;ENABLE_CUSTOM_RENDER_TEXTURE;ENABLE_DIRECTOR;ENABLE_LOCALIZATION;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_TILEMAP;ENABLE_TIMELINE;ENABLE_LEGACY_INPUT_MANAGER;CSHARP_7_OR_LATER;CSHARP_7_3_OR_NEWER + DEBUG;TRACE;UNITY_2020_3_30;UNITY_2020_3;UNITY_2020;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_6_OR_NEWER;UNITY_2017_1_OR_NEWER;UNITY_2017_2_OR_NEWER;UNITY_2017_3_OR_NEWER;UNITY_2017_4_OR_NEWER;UNITY_2018_1_OR_NEWER;UNITY_2018_2_OR_NEWER;UNITY_2018_3_OR_NEWER;UNITY_2018_4_OR_NEWER;UNITY_2019_1_OR_NEWER;UNITY_2019_2_OR_NEWER;UNITY_2019_3_OR_NEWER;UNITY_2019_4_OR_NEWER;UNITY_2020_1_OR_NEWER;UNITY_2020_2_OR_NEWER;UNITY_2020_3_OR_NEWER;PLATFORM_ARCH_64;UNITY_64;UNITY_INCLUDE_TESTS;USE_SEARCH_ENGINE_API;SCENE_TEMPLATE_MODULE;ENABLE_AR;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_EVENT_QUEUE;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_TEXTURE_STREAMING;ENABLE_VIRTUALTEXTURING;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_UNITYWEBREQUEST;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_COLLAB;ENABLE_CLOUD_SERVICES_COLLAB_SOFTLOCKS;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_SERVICES_USE_WEBREQUEST;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_HUB_LICENSE;ENABLE_WEBSOCKET_CLIENT;ENABLE_DIRECTOR_AUDIO;ENABLE_DIRECTOR_TEXTURE;ENABLE_MANAGED_JOBS;ENABLE_MANAGED_TRANSFORM_JOBS;ENABLE_MANAGED_ANIMATION_JOBS;ENABLE_MANAGED_AUDIO_JOBS;ENABLE_MANAGED_UNITYTLS;INCLUDE_DYNAMIC_GI;ENABLE_MONO_BDWGC;ENABLE_SCRIPTING_GC_WBARRIERS;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_VIDEO;PLATFORM_STANDALONE;PLATFORM_STANDALONE_WIN;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_OUT_OF_PROCESS_CRASH_HANDLER;ENABLE_CLUSTER_SYNC;ENABLE_CLUSTERINPUT;PLATFORM_UPDATES_TIME_OUTSIDE_OF_PLAYER_LOOP;GFXDEVICE_WAITFOREVENT_MESSAGEPUMP;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;NET_STANDARD_2_0;ENABLE_PROFILER;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;ENABLE_UNITY_COLLECTIONS_CHECKS;ENABLE_BURST_AOT;UNITY_TEAM_LICENSE;ENABLE_CUSTOM_RENDER_TEXTURE;ENABLE_DIRECTOR;ENABLE_LOCALIZATION;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_TILEMAP;ENABLE_TIMELINE;ENABLE_LEGACY_INPUT_MANAGER;CLOG_ALL;CSHARP_7_OR_LATER;CSHARP_7_3_OR_NEWER prompt 4 @@ -53,6 +53,95 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/Managed/UnityEngine/UnityEngine.dll @@ -284,6 +373,15 @@ C:/Users/Tam/git/VXMusic/VXMusicOverlay/Library/PackageCache/com.unity.analytics@3.6.12/Unity.Analytics.Tracker.dll + + C:/Users/Tam/git/VXMusic/VXMusicOverlay/Assets/AiUnity/CLog/Lib/CLog.dll + + + C:/Users/Tam/git/VXMusic/VXMusicOverlay/Assets/AiUnity/CLog/Lib/CLogNLogAdapter.dll + + + C:/Users/Tam/git/VXMusic/VXMusicOverlay/Assets/AiUnity/Common/Lib/AiUnityCommon.dll + C:/Program Files/Unity/Hub/Editor/2020.3.30f1/Editor/Data/NetStandard/ref/2.0.0/netstandard.dll diff --git a/VXMusicOverlay/Assets/AiUnity/CLog/Adapters/NLog/NLogLogger.cs b/VXMusicOverlay/Assets/AiUnity/CLog/Adapters/NLog/NLogLogger.cs new file mode 100644 index 00000000..9412e77b --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/CLog/Adapters/NLog/NLogLogger.cs @@ -0,0 +1,44 @@ +#if AIUNITY_CODE + +using System; +using AiUnity.CLog.Core; +using AiUnity.Common.InternalLog; +using AiUnity.Common.Log; +using AiUnity.CLog.Core.Loggers; + +namespace AiUnity.CLog.Adapters.NLog +{ + /// + /// Logger interface for Unity NLog Asset + /// + public class NLogLogger : CLogger + { + + #region Fields + + private readonly ILogger logger; + #endregion + + /// + /// Constructor + /// + protected internal NLogLogger(string name, ILoggerSettings loggerSettings, ILogger logger, UnityEngine.Object context) : base(name, loggerSettings, context) + { + this.logger = logger; + } + + /// + /// Actually sends the message to the underlying log system. + /// + /// the level of this log event. + /// the message to log + /// the exception to log (may be null) + protected override void WriteInternal(LogLevels logLevel, UnityEngine.Object context, object message, Exception exception) + { + logger.Log(logLevel, context, exception, message.ToString()); + } + + } +} + +#endif diff --git a/VXMusicOverlay/Assets/AiUnity/CLog/Adapters/NLog/NLogLoggerFactoryAdapter.cs b/VXMusicOverlay/Assets/AiUnity/CLog/Adapters/NLog/NLogLoggerFactoryAdapter.cs new file mode 100644 index 00000000..44efe583 --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/CLog/Adapters/NLog/NLogLoggerFactoryAdapter.cs @@ -0,0 +1,44 @@ +// Resource - https://github.com/net-commons/common-logging/blob/master/src/Common.Logging.NLog10/Logging/NLog/NLogLoggerFactoryAdapter.cs + +#if AIUNITY_CODE + +using System; +using AiUnity.CLog.Core.Common; +using AiUnity.CLog.Core; +using System.Collections.Generic; +using AiUnity.Common.Log; +using AiUnity.CLog.Core.Loggers; + +namespace AiUnity.CLog.Adapters.NLog +{ + [Adapter("NLogLogger", typeof(NLogLogger))] + public class NLogLoggerFactoryAdapter : ExternalLoggerFactoryAdapter + { + #region Constructors + public NLogLoggerFactoryAdapter(Dictionary properties) : base(properties, "NLogAdapter", "NLog") + { + } + #endregion + + #region Methods + /// + /// Get a Logger instance by type name + /// + /// + /// + protected override CLogger CreateLogger(string name, UnityEngine.Object context, IFormatProvider formatProvider) + { + + if (nlogManager != null) { + ILogger nlogLogger = nlogManager.GetLogger(name, context); + //IVariablesContext nlogVariablesContext = nlogVariablesContextType != null ? (IVariablesContext)Activator.CreateInstance(nlogVariablesContextType) : null; + //return new NLogLogger(global::AiUnity.NLog.Core.LogManager.Instance.GetLogger(name, context)); + return new NLogLogger(name, this, nlogLogger, context); + } + return new NullLogger(this); + } + #endregion + } +} + +#endif diff --git a/VXMusicOverlay/Assets/AiUnity/CLog/CLogManual.pdf b/VXMusicOverlay/Assets/AiUnity/CLog/CLogManual.pdf new file mode 100644 index 00000000..1516667a Binary files /dev/null and b/VXMusicOverlay/Assets/AiUnity/CLog/CLogManual.pdf differ diff --git a/VXMusicOverlay/Assets/AiUnity/CLog/Core/CLogger.cs b/VXMusicOverlay/Assets/AiUnity/CLog/Core/CLogger.cs new file mode 100644 index 00000000..3699360e --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/CLog/Core/CLogger.cs @@ -0,0 +1,746 @@ + +// +// Copyright (c) 2004-2011 Jaroslaw Kowalski +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// * Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of Jaroslaw Kowalski nor the names of its +// contributors may be used to endorse or promote products derived from this +// software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +// THE POSSIBILITY OF SUCH DAMAGE. +// + +#if AIUNITY_CODE + +namespace AiUnity.CLog.Core +{ + using System; + using AiUnity.CLog.Core.Common; + using AiUnity.Common.Extensions; + using System.Diagnostics; + using AiUnity.Common.Log; + using AiUnity.CLog.Core.Loggers; + + /// + /// Provides logging interface and utility functions. + /// + /// CLogAPI + public abstract class CLogger : ILogger + { + /// + /// The context if any associated with this logger. + /// + public UnityEngine.Object Context { get; protected set; } + + /// + /// The name of this logger. + /// + public string Name { get; protected set; } + + /// + /// Holds configuration settings associated with logger instance. + /// + public ILoggerSettings LoggerSettings { get; private set; } + + /// + /// The FormatProvider if any associated with this loggers. + /// + public IFormatProvider FormatProvider { get; protected set; } + + protected internal CLogger(string name, ILoggerSettings loggerSettings, UnityEngine.Object context = null, IFormatProvider formatProvider = null) + { + Name = name; + LoggerSettings = loggerSettings; + Context = context; + FormatProvider = formatProvider; + } + + #region Level Checks + + /// + /// Gets a value indicating whether logging is enabled for the Trace level. + /// + /// A value of if logging is enabled for the Trace level, otherwise it returns . + public bool IsTraceEnabled + { + get { return IsEnabled(LogLevels.Trace); } + } + + /// + /// Gets a value indicating whether logging is enabled for the Debug level. + /// + /// A value of if logging is enabled for the Debug level, otherwise it returns . + public bool IsDebugEnabled + { + get { return IsEnabled(LogLevels.Debug); } + } + + /// + /// Gets a value indicating whether logging is enabled for the Info level. + /// + /// A value of if logging is enabled for the Info level, otherwise it returns . + public bool IsInfoEnabled + { + get { return IsEnabled(LogLevels.Info); } + } + + /// + /// Gets a value indicating whether logging is enabled for the Warn level. + /// + /// A value of if logging is enabled for the Warn level, otherwise it returns . + public bool IsWarnEnabled + { + get { return IsEnabled(LogLevels.Warn); } + } + + /// + /// Gets a value indicating whether logging is enabled for the Error level. + /// + /// A value of if logging is enabled for the Error level, otherwise it returns . + public bool IsErrorEnabled + { + get { return IsEnabled(LogLevels.Error); } + } + + /// + /// Gets a value indicating whether logging is enabled for the Fatal level. + /// + /// A value of if logging is enabled for the Fatal level, otherwise it returns . + public bool IsFatalEnabled + { + get { return IsEnabled(LogLevels.Fatal); } + } + + /// + /// Gets a value indicating whether logging is enabled for the Assert level. + /// + /// A value of if logging is enabled for the Fatal level, otherwise it returns . + public bool IsAssertEnabled + { + get { return IsEnabled(LogLevels.Assert); } + } + + /// + /// Gets a value indicating whether logging is enabled for the specified level. + /// + /// Log level to be checked. + /// A value of if logging is enabled for the specified level, otherwise it returns . + protected virtual bool IsEnabled(LogLevels level) + { + return LoggerSettings.LogLevels.Has(level); + } + + #endregion + + #region Log() overloads + /// + /// Logs a diagnostic message at the Log level. + /// + /// The message to be logged. + /// The arguments for a message containing composite formatting. + public void Log(LogLevels level, string message, params object[] args) + { + if (IsEnabled(level)) { + WriteToTargets(level, Context, FormatProvider, message, args); + } + } + + /// + /// Logs a diagnostic message at the Log level. + /// + /// Overrides the logger context for this message. The context is the / associated with this log statement. + /// The message to be logged. + /// The arguments for a message containing composite formatting. + public void Log(LogLevels level, UnityEngine.Object context, string message, params object[] args) + { + if (IsEnabled(level)) { + WriteToTargets(level, context, FormatProvider, message, args); + } + } + + /// + /// Logs a diagnostic message at the Log level. + /// + /// An exception to be incorporated into log message. + /// The message to be logged. + /// The arguments for a message containing composite formatting. + public void Log(LogLevels level, Exception exception, string message, params object[] args) + { + if (IsEnabled(level)) { + WriteToTargets(level, Context, FormatProvider, message, args, exception); + } + } + + /// + /// Logs a diagnostic message at the Log level. + /// + /// An exception to be incorporated into log message. + /// Overrides the logger context for this message. The context is the / associated with this log statement. + /// The message to be logged. + /// The arguments for a message containing composite formatting. + public void Log(LogLevels level, UnityEngine.Object context, Exception exception, string message, params object[] args) + { + if (IsEnabled(level)) { + WriteToTargets(level, context, FormatProvider, message, args, exception); + } + } + #endregion + + #region Trace() overloads + /// + /// Logs a diagnostic message at the Trace level. + /// + /// The message to be logged. + /// The arguments for a message containing composite formatting. + [Conditional("CLOG_ALL")] + [Conditional("CLOG_TRACE")] + [Conditional("UNITY_EDITOR")] + public void Trace(string message, params object[] args) + { + if (IsTraceEnabled) { + WriteToTargets(LogLevels.Trace, Context, FormatProvider, message, args); + } + } + + /// + /// Logs a diagnostic message at the Trace level. + /// + /// Overrides the logger context for this message. The context is the / associated with this log statement. + /// The message to be logged. + /// The arguments for a message containing composite formatting. + [Conditional("CLOG_ALL")] + [Conditional("CLOG_TRACE")] + [Conditional("UNITY_EDITOR")] + public void Trace(UnityEngine.Object context, string message, params object[] args) + { + if (IsTraceEnabled) { + WriteToTargets(LogLevels.Trace, context, FormatProvider, message, args); + } + } + + /// + /// Logs a diagnostic message at the Trace level. + /// + /// An exception to be incorporated into log message. + /// The message to be logged. + /// The arguments for a message containing composite formatting. + [Conditional("CLOG_ALL")] + [Conditional("CLOG_TRACE")] + [Conditional("UNITY_EDITOR")] + public void Trace(Exception exception, string message, params object[] args) + { + if (IsTraceEnabled) { + WriteToTargets(LogLevels.Trace, Context, FormatProvider, message, args, exception); + } + } + + /// + /// Logs a diagnostic message at the Trace level. + /// + /// An exception to be incorporated into log message. + /// Overrides the logger context for this message. The context is the / associated with this log statement. + /// The message to be logged. + /// The arguments for a message containing composite formatting. + [Conditional("CLOG_ALL")] + [Conditional("CLOG_TRACE")] + [Conditional("UNITY_EDITOR")] + public void Trace(Exception exception, UnityEngine.Object context, string message, params object[] args) + { + if (IsTraceEnabled) { + WriteToTargets(LogLevels.Trace, context, FormatProvider, message, args, exception); + } + } + #endregion + + #region Debug() overloads + /// + /// Logs a diagnostic message at the Debug level. + /// + /// The message to be logged. + /// The arguments for a message containing composite formatting. + [Conditional("CLOG_ALL")] + [Conditional("CLOG_DEBUG")] + [Conditional("UNITY_EDITOR")] + public void Debug(string message, params object[] args) + { + if (IsDebugEnabled) { + WriteToTargets(LogLevels.Debug, Context, FormatProvider, message, args); + } + } + + /// + /// Logs a diagnostic message at the Debug level. + /// + /// Overrides the logger context for this message. The context is the / associated with this log statement. + /// The message to be logged. + /// The arguments for a message containing composite formatting. + [Conditional("CLOG_ALL")] + [Conditional("CLOG_DEBUG")] + [Conditional("UNITY_EDITOR")] + public void Debug(UnityEngine.Object context, string message, params object[] args) + { + if (IsDebugEnabled) { + WriteToTargets(LogLevels.Debug, context, FormatProvider, message, args); + } + } + + /// + /// Logs a diagnostic message at the Debug level. + /// + /// An exception to be incorporated into log message. + /// The message to be logged. + /// The arguments for a message containing composite formatting. + [Conditional("CLOG_ALL")] + [Conditional("CLOG_DEBUG")] + [Conditional("UNITY_EDITOR")] + public void Debug(Exception exception, string message, params object[] args) + { + if (IsDebugEnabled) { + WriteToTargets(LogLevels.Debug, Context, FormatProvider, message, args, exception); + } + } + + /// + /// Logs a diagnostic message at the Debug level. + /// + /// An exception to be incorporated into log message. + /// Overrides the logger context for this message. The context is the / associated with this log statement. + /// The message to be logged. + /// The arguments for a message containing composite formatting. + [Conditional("CLOG_ALL")] + [Conditional("CLOG_DEBUG")] + [Conditional("UNITY_EDITOR")] + public void Debug(Exception exception, UnityEngine.Object context, string message, params object[] args) + { + if (IsDebugEnabled) { + WriteToTargets(LogLevels.Debug, context, FormatProvider, message, args, exception); + } + } + #endregion + + #region Info() overloads + /// + /// Logs a diagnostic message at the Info level. + /// + /// The message to be logged. + /// The arguments for a message containing composite formatting. + [Conditional("CLOG_ALL")] + [Conditional("CLOG_INFO")] + [Conditional("UNITY_EDITOR")] + public void Info(string message, params object[] args) + { + if (IsInfoEnabled) { + WriteToTargets(LogLevels.Info, Context, FormatProvider, message, args); + } + } + + /// + /// Logs a diagnostic message at the Info level. + /// + /// Overrides the logger context for this message. The context is the / associated with this log statement. + /// The message to be logged. + /// The arguments for a message containing composite formatting. + [Conditional("CLOG_ALL")] + [Conditional("CLOG_INFO")] + [Conditional("UNITY_EDITOR")] + public void Info(UnityEngine.Object context, string message, params object[] args) + { + if (IsInfoEnabled) { + WriteToTargets(LogLevels.Info, context, FormatProvider, message, args); + } + } + + /// + /// Logs a diagnostic message at the Info level. + /// + /// An exception to be incorporated into log message. + /// The message to be logged. + /// The arguments for a message containing composite formatting. + [Conditional("CLOG_ALL")] + [Conditional("CLOG_INFO")] + [Conditional("UNITY_EDITOR")] + public void Info(Exception exception, string message, params object[] args) + { + if (IsInfoEnabled) { + WriteToTargets(LogLevels.Info, Context, FormatProvider, message, args, exception); + } + } + + /// + /// Logs a diagnostic message at the Info level. + /// + /// An exception to be incorporated into log message. + /// Overrides the logger context for this message. The context is the / associated with this log statement. + /// The message to be logged. + /// The arguments for a message containing composite formatting. + [Conditional("CLOG_ALL")] + [Conditional("CLOG_INFO")] + [Conditional("UNITY_EDITOR")] + public void Info(Exception exception, UnityEngine.Object context, string message, params object[] args) + { + if (IsInfoEnabled) { + WriteToTargets(LogLevels.Info, context, FormatProvider, message, args, exception); + } + } + #endregion + + #region Warn() overloads + /// + /// Logs a diagnostic message at the Warn level. + /// + /// The message to be logged. + /// The arguments for a message containing composite formatting. + [Conditional("CLOG_ALL")] + [Conditional("CLOG_WARN")] + [Conditional("UNITY_EDITOR")] + public void Warn(string message, params object[] args) + { + if (IsWarnEnabled) { + WriteToTargets(LogLevels.Warn, Context, FormatProvider, message, args); + } + } + + /// + /// Logs a diagnostic message at the Warn level. + /// + /// Overrides the logger context for this message. The context is the / associated with this log statement. + /// The message to be logged. + /// The arguments for a message containing composite formatting. + [Conditional("CLOG_ALL")] + [Conditional("CLOG_WARN")] + [Conditional("UNITY_EDITOR")] + public void Warn(UnityEngine.Object context, string message, params object[] args) + { + if (IsWarnEnabled) { + WriteToTargets(LogLevels.Warn, context, FormatProvider, message, args); + } + } + + /// + /// Logs a diagnostic message at the Warn level. + /// + /// An exception to be incorporated into log message. + /// The message to be logged. + /// The arguments for a message containing composite formatting. + [Conditional("CLOG_ALL")] + [Conditional("CLOG_WARN")] + [Conditional("UNITY_EDITOR")] + public void Warn(Exception exception, string message, params object[] args) + { + if (IsWarnEnabled) { + WriteToTargets(LogLevels.Warn, Context, FormatProvider, message, args, exception); + } + } + + /// + /// Logs a diagnostic message at the Warn level. + /// + /// An exception to be incorporated into log message. + /// Overrides the logger context for this message. The context is the / associated with this log statement. + /// The message to be logged. + /// The arguments for a message containing composite formatting. + [Conditional("CLOG_ALL")] + [Conditional("CLOG_WARN")] + [Conditional("UNITY_EDITOR")] + public void Warn(Exception exception, UnityEngine.Object context, string message, params object[] args) + { + if (IsWarnEnabled) { + WriteToTargets(LogLevels.Warn, context, FormatProvider, message, args, exception); + } + } + #endregion + + #region Error() overloads + /// + /// Logs a diagnostic message at the Error level. + /// + /// The message to be logged. + /// The arguments for a message containing composite formatting. + [Conditional("CLOG_ALL")] + [Conditional("CLOG_ERROR")] + [Conditional("UNITY_EDITOR")] + public void Error(string message, params object[] args) + { + if (IsErrorEnabled) { + WriteToTargets(LogLevels.Error, Context, FormatProvider, message, args); + } + } + + /// + /// Logs a diagnostic message at the Error level. + /// + /// Overrides the logger context for this message. The context is the / associated with this log statement. + /// The message to be logged. + /// The arguments for a message containing composite formatting. + [Conditional("CLOG_ALL")] + [Conditional("CLOG_ERROR")] + [Conditional("UNITY_EDITOR")] + public void Error(UnityEngine.Object context, string message, params object[] args) + { + if (IsErrorEnabled) { + WriteToTargets(LogLevels.Error, context, FormatProvider, message, args); + } + } + + /// + /// Logs a diagnostic message at the Error level. + /// + /// An exception to be incorporated into log message. + /// The message to be logged. + /// The arguments for a message containing composite formatting. + [Conditional("CLOG_ALL")] + [Conditional("CLOG_ERROR")] + [Conditional("UNITY_EDITOR")] + public void Error(Exception exception, string message, params object[] args) + { + if (IsErrorEnabled) { + WriteToTargets(LogLevels.Error, Context, FormatProvider, message, args, exception); + } + } + + /// + /// Logs a diagnostic message at the Error level. + /// + /// An exception to be incorporated into log message. + /// Overrides the logger context for this message. The context is the / associated with this log statement. + /// The message to be logged. + /// The arguments for a message containing composite formatting. + [Conditional("CLOG_ALL")] + [Conditional("CLOG_ERROR")] + [Conditional("UNITY_EDITOR")] + public void Error(Exception exception, UnityEngine.Object context, string message, params object[] args) + { + if (IsErrorEnabled) { + WriteToTargets(LogLevels.Error, context, FormatProvider, message, args, exception); + } + } + #endregion + + #region Fatal() overloads + /// + /// Logs a diagnostic message at the Fatal level. + /// + /// The message to be logged. + /// The arguments for a message containing composite formatting. + [Conditional("CLOG_ALL")] + [Conditional("CLOG_FATAL")] + [Conditional("UNITY_EDITOR")] + public void Fatal(string message, params object[] args) + { + if (IsFatalEnabled) { + WriteToTargets(LogLevels.Fatal, Context, FormatProvider, message, args); + } + } + + /// + /// Logs a diagnostic message at the Fatal level. + /// + /// Overrides the logger context for this message. The context is the / associated with this log statement. + /// The message to be logged. + /// The arguments for a message containing composite formatting. + [Conditional("CLOG_ALL")] + [Conditional("CLOG_FATAL")] + [Conditional("UNITY_EDITOR")] + public void Fatal(UnityEngine.Object context, string message, params object[] args) + { + if (IsFatalEnabled) { + WriteToTargets(LogLevels.Fatal, context, FormatProvider, message, args); + } + } + + /// + /// Logs a diagnostic message at the Fatal level. + /// + /// An exception to be incorporated into log message. + /// The message to be logged. + /// The arguments for a message containing composite formatting. + [Conditional("CLOG_ALL")] + [Conditional("CLOG_FATAL")] + [Conditional("UNITY_EDITOR")] + public void Fatal(Exception exception, string message, params object[] args) + { + if (IsFatalEnabled) { + WriteToTargets(LogLevels.Fatal, Context, FormatProvider, message, args, exception); + } + } + + /// + /// Logs a diagnostic message at the Fatal level. + /// + /// An exception to be incorporated into log message. + /// Overrides the logger context for this message. The context is the / associated with this log statement. + /// The message to be logged. + /// The arguments for a message containing composite formatting. + [Conditional("CLOG_ALL")] + [Conditional("CLOG_FATAL")] + [Conditional("UNITY_EDITOR")] + public void Fatal(Exception exception, UnityEngine.Object context, string message, params object[] args) + { + if (IsFatalEnabled) { + WriteToTargets(LogLevels.Fatal, context, FormatProvider, message, args, exception); + } + } + #endregion + + #region Assert() Overloads + + /// + /// Logs a diagnostic message at the Assert level. + /// + /// Assert fires if test evaluates false. + /// The message to be logged. + /// The arguments for a message containing composite formatting. + [Conditional("CLOG_ALL")] + [Conditional("CLOG_ASSERT")] + [Conditional("UNITY_EDITOR")] + public void Assert(bool test, string message, params object[] args) + { + if (IsAssertEnabled && !test) { + WriteToTargets(LogLevels.Assert, Context, FormatProvider, message, args); + } + } + + /// + /// Logs a diagnostic message at the Assert level. + /// + /// Assert fires if test evaluates false. + /// Overrides the logger context for this message. The context is the / associated with this log statement. + /// The message to be logged. + /// The arguments for a message containing composite formatting. + [Conditional("CLOG_ALL")] + [Conditional("CLOG_ASSERT")] + [Conditional("UNITY_EDITOR")] + public void Assert(bool test, UnityEngine.Object context, string message, params object[] args) + { + if (IsAssertEnabled && !test) { + WriteToTargets(LogLevels.Assert, context, FormatProvider, message, args); + } + } + + /// + /// Logs a diagnostic message at the Assert level. + /// + /// An exception to be incorporated into log message. + /// The message to be logged. + /// The arguments for a message containing composite formatting. + [Conditional("CLOG_ALL")] + [Conditional("CLOG_ASSERT")] + [Conditional("UNITY_EDITOR")] + public void Assert(Exception exception, string message, params object[] args) + { + if (IsAssertEnabled) { + WriteToTargets(LogLevels.Assert, Context, FormatProvider, message, args, exception); + } + } + + /// + /// Logs a diagnostic message at the Assert level. + /// + /// An exception to be incorporated into log message. + /// Overrides the logger context for this message. The context is the / associated with this log statement. + /// The message to be logged. + /// The arguments for a message containing composite formatting. + [Conditional("CLOG_ALL")] + [Conditional("CLOG_ASSERT")] + [Conditional("UNITY_EDITOR")] + public void Assert(Exception exception, UnityEngine.Object context, string message, params object[] args) + { + if (IsAssertEnabled) { + WriteToTargets(LogLevels.Assert, context, FormatProvider, message, args, exception); + } + } + + /// + /// Logs a diagnostic message at the Assert level. + /// + /// Assert fires if test evaluates false. + /// The message to be logged. + /// The arguments for a message containing composite formatting. + [Conditional("CLOG_ALL")] + [Conditional("CLOG_ASSERT")] + [Conditional("UNITY_EDITOR")] + public void Assert(Func test, string message, params object[] args) + { + if (IsAssertEnabled && !test()) { + WriteToTargets(LogLevels.Assert, Context, FormatProvider, message, args); + } + } + + /// + /// Logs a diagnostic message at the Assert level. + /// + /// Assert fires if test evaluates false. + /// Overrides the logger context for this message. The context is the / associated with this log statement. + /// The message to be logged. + /// The arguments for a message containing composite formatting. + [Conditional("CLOG_ALL")] + [Conditional("CLOG_ASSERT")] + [Conditional("UNITY_EDITOR")] + public void Assert(Func test, UnityEngine.Object context, string message, params object[] args) + { + if (IsAssertEnabled && !test()) { + WriteToTargets(LogLevels.Assert, context, FormatProvider, message, args); + } + } + #endregion + + internal void WriteToTargets(LogLevels level, UnityEngine.Object context, IFormatProvider formatProvider, string message, object[] args, Exception exception = null) + { + if (args != null && args.Length > 0) { + WriteInternal(level, context, new StringFormatFormattedMessage(formatProvider, message, args), exception); + } + else { + WriteInternal(level, context, message, exception); + } + } + + /*protected virtual void WriteFilter(UnityEngine.Object context, LogLevels level, object message, Exception e = null) + { + if (LogManager.Instance.GlobalLogLevel.Has(level)) { + WriteInternal(context, level, message, e); + } + }*/ + + protected abstract void WriteInternal(LogLevels level, UnityEngine.Object context, object message, Exception e); + + /// + /// Returns the global context for variables + /// + public virtual IVariablesContext GlobalVariablesContext + { + get { return new NoOpVariablesContext(); } + } + + /// + /// Returns the thread-specific context for variables + /// + /*public virtual IVariablesContext ThreadVariablesContext + { + get { return new Loggers.NoOpVariablesContext(); } + }*/ + + } +} +#endif diff --git a/VXMusicOverlay/Assets/AiUnity/CLog/Core/Common/AdapterAttribute.cs b/VXMusicOverlay/Assets/AiUnity/CLog/Core/Common/AdapterAttribute.cs new file mode 100644 index 00000000..d7c71c01 --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/CLog/Core/Common/AdapterAttribute.cs @@ -0,0 +1,44 @@ +я╗┐#if AIUNITY_CODE +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using AiUnity.CLog.Core.Common; +using AiUnity.Common.InternalLog; +using AiUnity.Common.Attributes; +using System.ComponentModel; + +namespace AiUnity.CLog.Core.Common +{ + /// + /// Marks class as a logging target and assigns a name to it. + /// + [AttributeUsage(AttributeTargets.Class)] + public sealed class AdapterAttribute : DisplayNameAttribute + { + /// + /// Initializes a new instance of the class. + /// + /// Name of the target. + public AdapterAttribute(string name, Type loggerType) : base(name) + { + LoggerType = loggerType; + } + + /// + /// Gets or sets a value indicating underlying logger type. + /// + public Type LoggerType { get; set; } + + /// + /// Gets or sets a value indicating whether to the target is a wrapper target (used to generate the target summary documentation page). + /// + public bool IsWrapper { get; set; } + + /// + /// Gets or sets a value indicating whether to the target is a compound target (used to generate the target summary documentation page). + /// + public bool IsCompound { get; set; } + } +} +#endif \ No newline at end of file diff --git a/VXMusicOverlay/Assets/AiUnity/CLog/Core/Common/CLogConfigFile.cs b/VXMusicOverlay/Assets/AiUnity/CLog/Core/Common/CLogConfigFile.cs new file mode 100644 index 00000000..11250940 --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/CLog/Core/Common/CLogConfigFile.cs @@ -0,0 +1,53 @@ +я╗┐#if AIUNITY_CODE + +using UnityEngine; +using AiUnity.Common.IO; +using AiUnity.Common.Patterns; +using System.IO; +using System.Linq; + +namespace AiUnity.CLog.Core.Common +{ + public class CLogConfigFile : UnityFileInfo + { + //private CLogConfigFile() + public CLogConfigFile() + { + string configFullFileName = PlayerPrefs.GetString("AiUnityCLogConfigFullFileName"); + + if (string.IsNullOrEmpty(configFullFileName)) { + string CLoggerFile = Directory.GetFiles(Application.dataPath, "CLogger.cs", SearchOption.AllDirectories). + Select(s => s.Replace('\\', '/')).FirstOrDefault(s => s.Contains(@"/CLog/Core/")); + string aiUnityPath = string.IsNullOrEmpty(CLoggerFile) ? Application.dataPath : CLoggerFile.Substring(0, CLoggerFile.IndexOf("/CLog/Core/")); + string configPath = aiUnityPath + @"/UserData/CLog/Resources"; + Directory.CreateDirectory(configPath); + + configFullFileName = configPath + "/CLog.xml"; + } + FileInfo = new FileInfo(configFullFileName); + } + + public void SetConfigFileName(string configFullFileName) + { + PlayerPrefs.SetString("AiUnityCLogConfigFullFileName", configFullFileName); + FileInfo = new FileInfo(configFullFileName); + } + + public string GetConfigText() + { + TextAsset textAsset = Resources.Load(NameWithoutExtension); + + if (textAsset != null) { + return textAsset.text; + } + else if (FileInfo.Exists) { + return File.ReadAllText(FileInfo.FullName); + } + else { + return null; + } + } + } +} + +#endif \ No newline at end of file diff --git a/VXMusicOverlay/Assets/AiUnity/CLog/Core/Common/CLogInternalLogger.cs b/VXMusicOverlay/Assets/AiUnity/CLog/Core/Common/CLogInternalLogger.cs new file mode 100644 index 00000000..bba898d3 --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/CLog/Core/Common/CLogInternalLogger.cs @@ -0,0 +1,31 @@ +я╗┐// *********************************************************************** +// Assembly : Assembly-CSharp +// Author : AiDesigner +// Created : 11-30-2016 +// Modified : 08-29-2017 +// *********************************************************************** +#if AIUNITY_CODE + +using AiUnity.Common.InternalLog; +using AiUnity.Common.Extensions; +using AiUnity.Common.Log; + +namespace AiUnity.CLog.Core.Common +{ + /// + /// CLog internal logger. + /// +#if UNITY_EDITOR + [UnityEditor.InitializeOnLoad] +#endif + public class CLogInternalLogger : InternalLogger + { + static CLogInternalLogger() + { + Instance.Assert(true, "This log statement is executed prior to unity editor serialization due to InitializeOnLoad attribute. The allows CLog logger to work in all phases of Unity Editor compile (ie. serialization)."); + CommonInternalLogger.Instance.Assert(true, "This log statement is executed prior to unity editor serialization due to InitializeOnLoad attribute. The allows Common logger to work in all phases of Unity Editor compile (ie. serialization)."); + } + } +} + +#endif \ No newline at end of file diff --git a/VXMusicOverlay/Assets/AiUnity/CLog/Core/Common/ExceptionBuilder.cs b/VXMusicOverlay/Assets/AiUnity/CLog/Core/Common/ExceptionBuilder.cs new file mode 100644 index 00000000..68a9dd06 --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/CLog/Core/Common/ExceptionBuilder.cs @@ -0,0 +1,255 @@ +я╗┐#region License + +/* + * Copyright ┬й 2002-2013 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#endregion + +#if AIUNITY_CODE +using System; +using System.Collections; +using System.Collections.Generic; +using System.Diagnostics; +using System.Globalization; +using System.Linq; +using System.Reflection; +using System.Text; + +namespace AiUnity.CLog.Core.Common +{ + /// + /// + public class ExceptionBuilder + { + #region Fields + private string assemblyModulePath; + + private string assemblyName; + + private string exceptionDelimiter = string.Empty; + + private string methodName; + + private string stackTrace; + + private string typeName; + #endregion + + #region Properties + public IFormatProvider FormatProvider { get; private set; } + + private StringBuilder ExceptionText { get; set; } + #endregion + + #region Constructors + public ExceptionBuilder(StringBuilder stringBuilder = null, IFormatProvider formatProvider = null) + { + //Exception = exception; + FormatProvider = formatProvider ?? CultureInfo.InvariantCulture; + //ExceptionText = new StringBuilder(); + ExceptionText = stringBuilder ?? new StringBuilder(); + } + #endregion + + #region Methods + public void Format(Exception exception) + { + if (exception == null) + return; + + // push all inner exceptions onto stack + //var exceptionStack = new Stack(); + var currentException = exception; + while (currentException != null) + { + //exceptionStack.Push(currentException); + FormatSingleException(currentException); + currentException = currentException.InnerException; + } + + // go through inner exceptions in reverse order + //var sb = new StringBuilder(); + /*for (int i = 1; exceptionStack.Count > 0; i++) { + currentException = exceptionStack.Pop(); + FormatSingleException(currentException, i); + }*/ + + //return ExceptionText.ToString(); + } + + public override string ToString() + { + return ExceptionText.ToString(); + } + + private void AddData(Exception exception) + { + if (exception.Data.Count > 0) + { + ExceptionText.AppendFormat("{1}{0}{1}", wrapLabel("Data:"), Environment.NewLine); + foreach (DictionaryEntry entry in exception.Data) + { + ExceptionText.AppendFormat(FormatProvider, + "{0} = \"{1}\"{2}", + entry.Key, entry.Value, Environment.NewLine); + } + } + } + + private void AddFooter() + { + ExceptionText.Append(this.exceptionDelimiter); + } + + private void AddHeader(Exception exception) + { + string exceptionHeader = string.Format("Exception: {0}{1}", exception.GetType().FullName, Environment.NewLine); + this.exceptionDelimiter = new String('*', exceptionHeader.Length) + Environment.NewLine; + ExceptionText.Append(Environment.NewLine); + ExceptionText.Append(this.exceptionDelimiter); + ExceptionText.AppendFormat(FormatProvider, exceptionHeader); + ExceptionText.Append(this.exceptionDelimiter); + } + + private void AddMessage(Exception exception) + { + ExceptionText.AppendFormat(FormatProvider, "{0,-11} {1}{2}", wrapLabel("Message:"), exception.Message, Environment.NewLine); + } + + private void AddOverview(Exception exception) + { + ExceptionText.AppendFormat(FormatProvider, "{0,-12} {1}{2}", wrapLabel("Method:"), this.methodName, Environment.NewLine); + ExceptionText.AppendFormat(FormatProvider, "{0,-13} {1}{2}", wrapLabel("Type:"), this.typeName, Environment.NewLine); + ExceptionText.AppendFormat(FormatProvider, "{0,-10} {1}{2}", wrapLabel("Assembly:"), this.assemblyName, Environment.NewLine); + ExceptionText.AppendFormat(FormatProvider, "{0,-12} {1}{2}", wrapLabel("Location:"), this.assemblyModulePath, Environment.NewLine); + if (!string.IsNullOrEmpty(exception.HelpLink)) + { + ExceptionText.AppendFormat(FormatProvider, "{0,-13}{1}", wrapLabel("Help:"), exception.HelpLink, Environment.NewLine); + } + } + + private void AddProperties(Exception exception) + { + var properties = exception.GetType().GetProperties(BindingFlags.FlattenHierarchy | BindingFlags.Instance | BindingFlags.Public); + + Boolean first = true; + foreach (PropertyInfo property in properties) + { + if (property.DeclaringType == typeof(Exception)) + continue; + if (property.Name == "Message") + continue; + + if (first) + { + first = false; + ExceptionText.AppendFormat("{1}{0}{1}", wrapLabel("Properties:"), Environment.NewLine); + } + + Object propertyValue = ""; + if (property.CanRead) + propertyValue = property.GetValue(exception, null); + + var enumerableValue = propertyValue as IEnumerable; + + if (enumerableValue == null || propertyValue is String) + { +#if UNITY_WSA + ExceptionText.AppendFormat(FormatProvider, " {1} = \"{2}\"{3}", + property.Name, propertyValue, Environment.NewLine); +#else + ExceptionText.AppendFormat(FormatProvider, " {0}.{1} = \"{2}\"{3}", + property.ReflectedType.Name, property.Name, propertyValue, Environment.NewLine); +#endif + } + else + { +#if UNITY_WSA + ExceptionText.AppendFormat(FormatProvider, " {1} = {{{2}", + property.Name, Environment.NewLine); +#else + ExceptionText.AppendFormat(FormatProvider, " {0}.{1} = {{{2}", + property.ReflectedType.Name, property.Name, Environment.NewLine); +#endif + + foreach (var item in enumerableValue) + ExceptionText.AppendFormat(" \"{0}\",{1}", item != null ? item.ToString() : "", Environment.NewLine); + + ExceptionText.AppendFormat(" }}{0}", Environment.NewLine); + } + } + } + + private void AddStackTrace(Exception exception) + { + ExceptionText.AppendFormat(FormatProvider, "{2}{0}{2}{1}{2}", wrapLabel("Stack Trace:"), this.stackTrace, Environment.NewLine); + } + + private void AnalyzeException(Exception exception) + { + MethodBase targetSite = exception.TargetSite; + + if (targetSite != null) + { + this.methodName = targetSite.Name; + Type type = targetSite.ReflectedType; + this.typeName = type.FullName; + Assembly assembly = type.Assembly; + this.assemblyName = assembly.FullName; + Module assemblyModule = assembly.ManifestModule; + this.assemblyModulePath = assemblyModule.FullyQualifiedName; + this.stackTrace = exception.StackTrace; + } + else + { + StackTrace st = new StackTrace(true); + if (st != null) + { + List stackFrames = st.GetFrames().ToList(); + int lastCoreIndex = stackFrames.FindLastIndex(s => s.GetMethod().DeclaringType.Namespace.StartsWith("AiUnity.CLog.Core")); + var externalStackFrames = stackFrames.Where((s, i) => i > lastCoreIndex).ToList(); + StackFrame stackFrame = externalStackFrames.FirstOrDefault(); + this.methodName = stackFrame.GetMethod().Name; + this.typeName = stackFrame.GetMethod().DeclaringType.FullName; + this.assemblyName = stackFrame.GetMethod().DeclaringType.AssemblyQualifiedName; + this.assemblyModulePath = stackFrame.GetMethod().DeclaringType.Assembly.ManifestModule.FullyQualifiedName; + this.stackTrace = string.Join(Environment.NewLine, externalStackFrames.Select(f => f.ToString()).ToArray()); + } + } + + } + + private void FormatSingleException(Exception exception) + { + AnalyzeException(exception); + + AddHeader(exception); + AddMessage(exception); + AddOverview(exception); + AddProperties(exception); + AddData(exception); + AddStackTrace(exception); + AddFooter(); + } + + private string wrapLabel(string label) + { + return string.Format("{0}", label); + } +#endregion + } +} +#endif diff --git a/VXMusicOverlay/Assets/AiUnity/CLog/Core/Common/StringFormatFormattedMessage.cs b/VXMusicOverlay/Assets/AiUnity/CLog/Core/Common/StringFormatFormattedMessage.cs new file mode 100644 index 00000000..199504e8 --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/CLog/Core/Common/StringFormatFormattedMessage.cs @@ -0,0 +1,46 @@ +#if AIUNITY_CODE + +using System; +using AiUnity.CLog.Core.Common; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace AiUnity.CLog.Core.Common +{ + public class StringFormatFormattedMessage + { + private volatile string cachedMessage; + + private readonly IFormatProvider FormatProvider; + private readonly string Message; + private readonly object[] Args; + + /// + /// Initializes a new instance of the class. + /// + /// The format provider. + /// The message. + /// The args. + // [StringFormatMethod("message")] + public StringFormatFormattedMessage(IFormatProvider formatProvider, string message, params object[] args) + { + FormatProvider = formatProvider; + Message = message; + Args = args; + } + + /// + /// Runs on supplied arguments. + /// + /// string + public override string ToString() + { + if (cachedMessage == null && Message != null) { + cachedMessage = string.Format(FormatProvider, Message, Args); + } + return cachedMessage; + } + } +} +#endif diff --git a/VXMusicOverlay/Assets/AiUnity/CLog/Core/Configuration/ConfigurationException.cs b/VXMusicOverlay/Assets/AiUnity/CLog/Core/Configuration/ConfigurationException.cs new file mode 100644 index 00000000..f504399e --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/CLog/Core/Configuration/ConfigurationException.cs @@ -0,0 +1,89 @@ + +#region License + +/* + * Copyright й 2002-2009 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#endregion + +#if AIUNITY_CODE + +using System; +using AiUnity.CLog.Core.Common; +using System.Runtime.Serialization; + +namespace AiUnity.CLog.Core.Configuration +{ + /// + /// The exception that is thrown when a configuration system error has occurred with Common.Logging + /// + /// Mark Pollack + [Serializable] + public class ConfigurationException : ApplicationException + { + #region Constructor (s) / Destructor + + /// Creates a new instance of the ObjectsException class. + public ConfigurationException() + { + } + + /// + /// Creates a new instance of the ConfigurationException class. with the specified message. + /// + /// + /// A message about the exception. + /// + public ConfigurationException(string message) : base(message) + { + } + + /// + /// Creates a new instance of the ConfigurationException class with the specified message + /// and root cause. + /// + /// + /// A message about the exception. + /// + /// + /// The root exception that is being wrapped. + /// + public ConfigurationException(string message, Exception rootCause) + : base(message, rootCause) + { + } + + /// + /// Creates a new instance of the ConfigurationException class. + /// + /// + /// The + /// that holds the serialized object data about the exception being thrown. + /// + /// + /// The + /// that contains contextual information about the source or destination. + /// + // Unity3d - not supported on UWP + /*protected ConfigurationException( + SerializationInfo info, StreamingContext context) + : base(info, context) + { + }*/ + #endregion + } +} +#endif diff --git a/VXMusicOverlay/Assets/AiUnity/CLog/Core/Configuration/ConfigurationSectionHandler.cs b/VXMusicOverlay/Assets/AiUnity/CLog/Core/Configuration/ConfigurationSectionHandler.cs new file mode 100644 index 00000000..2e04daed --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/CLog/Core/Configuration/ConfigurationSectionHandler.cs @@ -0,0 +1,281 @@ + +#region License + +/* + * Copyright я┐╜ 2002-2009 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#endregion + +#if AIUNITY_CODE + +using System; +using AiUnity.CLog.Core.Common; +//using System.Collections; +//using System.Configuration; +//using System.Runtime.CompilerServices; +using System.Xml; +//using AiUnity.CLog.Core.Configuration; +using System.Linq; +using System.Collections.Generic; +//using AiUnity.CLog.Core.Factory; +using UnityEngine; +using AiUnity.Common.Extensions; +using System.Reflection; +using AiUnity.Common.InternalLog; +using AiUnity.Common.Log; +using AiUnity.CLog.Core.Loggers; +using AiUnity.Common.Types; + +namespace AiUnity.CLog.Core.Configuration +{ + /// + /// Used in an application's configuration file (App.Config or Web.Config) to configure the logging subsystem. + /// + public class ConfigurationSectionHandler : IConfigurationSectionHandler + { + + #region Fields + private static readonly string LOGFACTORYADAPTER_ELEMENT = "factoryAdapter"; + private static readonly string LOGFACTORYADAPTER_ELEMENT_TYPE_ATTRIB = "type"; + private static readonly string ARGUMENT_ELEMENT = "arg"; + private static readonly string ARGUMENT_ELEMENT_KEY_ATTRIB = "key"; + private static readonly string ARGUMENT_ELEMENT_VALUE_ATTRIB = "value"; + private Dictionary targetTypeByAttribute; + //private RuntimePlatforms runtimePlatforms; + #endregion + + // Internal logger singleton + private static IInternalLogger Logger { get { return CLogInternalLogger.Instance; } } + + /// + /// Constructor + /// + public ConfigurationSectionHandler() + { + ReflectTargets(); + //runtimePlatforms = Application.platform.ToString().ToEnum(); + } + + private void ReflectTargets() + { + targetTypeByAttribute = new Dictionary(); + + List searchAssemblyNames = new List() { "Assembly-CSharp", Assembly.GetExecutingAssembly().GetName().Name }; + IEnumerable searchAssemblies = AppDomain.CurrentDomain.GetAssemblies().Where(a => searchAssemblyNames.Any(t => a.FullName.StartsWith(t))); + + IEnumerable targetTypes = searchAssemblies.SelectMany(a => a.GetTypes()).Where(t => typeof(ILoggerFactoryAdapter).IsAssignableFrom(t)); + //IEnumerable targetTypes = AppDomain.CurrentDomain.GetAssemblies().SelectMany(a => a.GetTypes()).Where(t => t.IsSubclassOf(typeof(Logger))); + foreach (Type targetType in targetTypes) { + AdapterAttribute targetAttribute = targetType.GetCustomAttributes(typeof(AdapterAttribute), true).FirstOrDefault() as AdapterAttribute; + if (targetAttribute != null) { + targetTypeByAttribute[targetAttribute] = targetType; + } + } + } + + /// + /// Retrieves the of the logger the use by looking at the logFactoryAdapter element + /// of the logging configuration element. + /// + /// + /// + /// A object containing the specified type that implements + /// along with zero or more properties that will be + /// passed to the logger factory adapter's constructor as an . + /// + private LogSetting ReadConfiguration(XmlNode section) + { + XmlAttribute internalLevelsAttribute = section.Attributes["internalLevels"]; + if (internalLevelsAttribute != null) { + try { + Logger.InternalLogLevel = internalLevelsAttribute.Value.ToEnum(); + } + catch { + Logger.Warn("Unable to processing internalLevels values = {0}", internalLevelsAttribute.Value); + } + } + + bool result = false; + XmlAttribute assertExceptionAttribute = section.Attributes["assertException"]; + CLogManager.Instance.AssertException = assertExceptionAttribute != null && bool.TryParse(assertExceptionAttribute.Value, out result) && result; + + XmlNode xmlTargetsNode = section.SelectSingleNode("targets"); + //XmlNodeList xmlTargetNodes = section.SelectNodes("target"); + XmlNodeList xmlTargetNodes = xmlTargetsNode.SelectNodes("target"); + XmlNode adapterNode = section.SelectSingleNode(LOGFACTORYADAPTER_ELEMENT); + + foreach (XmlNode xmlTargetNode in xmlTargetNodes) { + + XmlAttribute platformAttribute = xmlTargetNode != null ? xmlTargetNode.Attributes["platforms"] : null; + + //string platformValue = platformAttribute != null ? platformAttribute.Value : RuntimePlatforms.Everything.ToString(); + string platformValue = platformAttribute != null ? platformAttribute.Value : "Everything"; + //if (!string.IsNullOrEmpty(platformValue) && platformValue.ToEnum().Has(this.runtimePlatforms)) { + if (!string.IsNullOrEmpty(platformValue)) + { + PlatformEnumFlagWrapper runtimePlatform = platformValue; + if (runtimePlatform.Has(Application.platform)) + { + adapterNode = xmlTargetNode; + break; + } + } + } + + Type factoryType = typeof(NullFactoryAdapter); + Dictionary properties = new Dictionary(); + + if (adapterNode == null) { + Logger.Warn(string.Format("No Target Adapter exist for active platform {0}", Application.platform)); + } + else { + // Unity + //XmlNode logFactoryElement = section.SelectSingleNode(LOGFACTORYADAPTER_ELEMENT); + //XmlNode logFactoryElement = section.SelectSingleNode("target") ?? section.SelectSingleNode(LOGFACTORYADAPTER_ELEMENT); + + string factoryTypeString = string.Empty; + if (adapterNode.Attributes[LOGFACTORYADAPTER_ELEMENT_TYPE_ATTRIB] != null) + factoryTypeString = adapterNode.Attributes[LOGFACTORYADAPTER_ELEMENT_TYPE_ATTRIB].Value; + + if (factoryTypeString == string.Empty) { + throw new ConfigurationException("Required Attribute '" + LOGFACTORYADAPTER_ELEMENT_TYPE_ATTRIB + "' not found in element '" + + LOGFACTORYADAPTER_ELEMENT + "'"); + } + + try { + /*if (String.Compare(factoryTypeString, "CONSOLE", true) == 0) { + // Unity - Console adapter requires Unity .NET Full or .NET Core Compiler + //factoryType = typeof(ConsoleOutLoggerFactoryAdapter); + } + else if (String.Compare(factoryTypeString, "TRACE", true) == 0) { + factoryType = typeof(TraceLoggerFactoryAdapter); + } + else if (String.Compare(factoryTypeString, "NOOP", true) == 0) { + factoryType = typeof(NoOpLoggerFactoryAdapter); + } + else {*/ + // Unity + //factoryType = Type.GetType(factoryTypeString, true, false); + //factoryType = targetTypeByAttribute.Values.FirstOrDefault(t => t.FullName.EndsWith(factoryTypeString)); + factoryType = targetTypeByAttribute.Where(p => p.Key.DisplayName.Equals(factoryTypeString)).Select(p => p.Value).FirstOrDefault(); + + if (factoryType == null) { + Logger.Error("Unable to locate FactoryAdapter = {0}", factoryTypeString); + } + //} + } + catch (Exception e) { + throw new ConfigurationException("Unable to create type '" + factoryTypeString + "'", e); + } + + XmlNodeList propertyNodes = adapterNode.SelectNodes(ARGUMENT_ELEMENT); + + //NameValueCollection properties = null; + //properties = new NameValueCollection(); // defaults to case-insensitive keys + //Dictionary properties = null; + //properties = new Dictionary(); // defaults to case-insensitive keys + + foreach (XmlNode propertyNode in propertyNodes) { + string key = string.Empty; + string itsValue = string.Empty; + + XmlAttribute keyAttrib = propertyNode.Attributes[ARGUMENT_ELEMENT_KEY_ATTRIB]; + XmlAttribute valueAttrib = propertyNode.Attributes[ARGUMENT_ELEMENT_VALUE_ATTRIB]; + + if (keyAttrib == null) { + throw new ConfigurationException + ("Required Attribute '" + + ARGUMENT_ELEMENT_KEY_ATTRIB + + "' not found in element '" + + ARGUMENT_ELEMENT + + "'" + ); + } + else { + key = keyAttrib.Value; + } + + if (valueAttrib != null) { + itsValue = valueAttrib.Value; + } + + properties.Add(key, itsValue); + } + + // Unity + foreach (XmlAttribute attribute in adapterNode.Attributes.OfType().Where(a => !a.LocalName.Equals("name") || !a.LocalName.Equals("type"))) { + properties.Add(attribute.LocalName, attribute.Value); + } + } + + return new LogSetting(factoryType, properties); + } + + /// + /// Verifies that the logFactoryAdapter element appears once in the configuration section. + /// + /// settings of a parent section - atm this must always be null + /// Additional information about the configuration process. + /// The configuration section to apply an XPath query too. + /// + /// A object containing the specified logFactoryAdapter type + /// along with user supplied configuration properties. + /// + public LogSetting Create(LogSetting parent, object configContext, XmlNode section) + { + if (parent != null) { + throw new ConfigurationException("parent configuration sections are not allowed"); + } + + // Unity + //int logFactoryElementsCount = section.SelectNodes(LOGFACTORYADAPTER_ELEMENT).Count; + /*int targetElementsCount = section.SelectNodes("target").Count; + int logFactoryElementsCount = targetElementsCount > 0 ? targetElementsCount : section.SelectNodes(LOGFACTORYADAPTER_ELEMENT).Count; + + if (logFactoryElementsCount > 1) { + throw new ConfigurationException("Only one element allowed"); + } + else if (logFactoryElementsCount == 1) { + return ReadConfiguration(section); + } + else { + return null; + }*/ + + return ReadConfiguration(section); + } + + #region IConfigurationSectionHandler Members + + /// + /// Verifies that the logFactoryAdapter element appears once in the configuration section. + /// + /// The parent of the current item. + /// Additional information about the configuration process. + /// The configuration section to apply an XPath query too. + /// + /// A object containing the specified logFactoryAdapter type + /// along with user supplied configuration properties. + /// + object IConfigurationSectionHandler.Create(object parent, object configContext, XmlNode section) + { + return Create(parent as LogSetting, configContext, section); + } + + #endregion + } +} +#endif diff --git a/VXMusicOverlay/Assets/AiUnity/CLog/Core/Configuration/DefaultConfigurationReader.cs b/VXMusicOverlay/Assets/AiUnity/CLog/Core/Configuration/DefaultConfigurationReader.cs new file mode 100644 index 00000000..02eb5126 --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/CLog/Core/Configuration/DefaultConfigurationReader.cs @@ -0,0 +1,92 @@ +#region License + +/* + * Copyright я┐╜ 2002-2009 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#endregion + +#if AIUNITY_CODE + +using System; +using AiUnity.CLog.Core.Common; +using System.IO; +using System.Xml; +using System.Collections.Generic; +using UnityEngine; +using AiUnity.Common.InternalLog; +using AiUnity.Common; + +namespace AiUnity.CLog.Core.Configuration +{ + /// + /// Implementation of that uses the standard .NET + /// configuration APIs, ConfigurationSettings in 1.x and ConfigurationManager in 2.0 + /// + public class DefaultConfigurationReader : IConfigurationReader + { + private const string DefaultConfig = @" + + + + +"; + + // Internal logger singleton + private static IInternalLogger Logger { get { return CLogInternalLogger.Instance; } } + + /// + /// Parses the configuration section and returns the resulting object. + /// + /// Name of the configuration section. + /// + /// Object created by a corresponding IConfigurationSectionHandler" + /// + public object GetSection (string sectionName) + { + string fileConfigText = CLogConfigFile.Instance.GetConfigText(); + string configText = fileConfigText ?? DefaultConfig; + XmlDocument configXml = new XmlDocument(); + + try { + configXml.LoadXml(configText); + } + catch (Exception e) { + Logger.Error(e, "Failed to parse config file = {0}", CLogConfigFile.Instance.FileInfo.FullName); + } + + XmlNode loggingNode = configXml.DocumentElement; + if (loggingNode == null) { + Logger.Error("Failed to find section={0} in config file={0}", sectionName, CLogConfigFile.Instance.FileInfo.FullName); + return null; + } + + // Retrieve default configuration handler primarily intended for for simplified CLog XML + IConfigurationSectionHandler configurationSectionHandler = new ConfigurationSectionHandler(); + object configObject = configurationSectionHandler.Create(null, null, loggingNode); + + if (fileConfigText != null) { + Logger.Debug("Initialize CLog based upon {0}", CLogConfigFile.Instance.RelativeName); + } + else { + //Logger.Info("Using default configuration because no CLog.xml found in a Resources directory."); + Logger.Info("Using default configuration because unable to locate {0}.", CLogConfigFile.Instance.RelativeName); + } + + return configObject; + } + } +} +#endif diff --git a/VXMusicOverlay/Assets/AiUnity/CLog/Core/Configuration/IConfigurationReader.cs b/VXMusicOverlay/Assets/AiUnity/CLog/Core/Configuration/IConfigurationReader.cs new file mode 100644 index 00000000..65f2ac14 --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/CLog/Core/Configuration/IConfigurationReader.cs @@ -0,0 +1,39 @@ +#region License + +/* + * Copyright й 2002-2009 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#endregion + +#if AIUNITY_CODE + +namespace AiUnity.CLog.Core.Configuration +{ + + /// + /// Interface for basic operations to read .NET application configuration information. + /// + public interface IConfigurationReader + { + /// + /// Parses the configuration section and returns the resulting object. + /// + /// Name of the configuration section. + /// Object created by a corresponding IConfigurationSectionHandler. + object GetSection(string sectionName); + } +} +#endif diff --git a/VXMusicOverlay/Assets/AiUnity/CLog/Core/Configuration/IConfigurationSectionHandler.cs b/VXMusicOverlay/Assets/AiUnity/CLog/Core/Configuration/IConfigurationSectionHandler.cs new file mode 100644 index 00000000..7748ad48 --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/CLog/Core/Configuration/IConfigurationSectionHandler.cs @@ -0,0 +1,17 @@ +#if AIUNITY_CODE + +using System; +using AiUnity.CLog.Core.Common; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Xml; + +namespace AiUnity.CLog.Core.Configuration +{ + public interface IConfigurationSectionHandler + { + object Create(object parent, object configContext, XmlNode section); + } +} +#endif diff --git a/VXMusicOverlay/Assets/AiUnity/CLog/Core/Configuration/LogSetting.cs b/VXMusicOverlay/Assets/AiUnity/CLog/Core/Configuration/LogSetting.cs new file mode 100644 index 00000000..8b51b583 --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/CLog/Core/Configuration/LogSetting.cs @@ -0,0 +1,86 @@ + +#region License + +/* + * Copyright я┐╜ 2002-2009 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#endregion + +#if AIUNITY_CODE + +using System; +using AiUnity.CLog.Core.Common; +using System.Collections.Generic; +using AiUnity.Common.InternalLog; + +namespace AiUnity.CLog.Core.Configuration +{ + /// + /// Container used to hold configuration information from config file. + /// + /// Gilles Bayon + public class LogSetting + { + #region Fields + + private readonly Type _factoryAdapterType = null; + //private readonly NameValueCollection _properties = null; + private readonly Dictionary _properties = null; + + #endregion + + // Internal logger singleton + private static IInternalLogger Logger { get { return CLogInternalLogger.Instance; } } + + /// + /// + /// + /// + /// The type + /// that will be used for creating + /// + /// + /// Additional user supplied properties that are passed to the + /// 's constructor. + /// + //public LogSetting(Type factoryAdapterType, NameValueCollection properties) + public LogSetting(Type factoryAdapterType, Dictionary properties) + { + Logger.Assert(factoryAdapterType != null, "Logger adapter cannot be null."); + _factoryAdapterType = factoryAdapterType; + _properties = properties; + } + + /// + /// The type that will be used for creating + /// instances. + /// + public Type FactoryAdapterType + { + get { return _factoryAdapterType; } + } + + /// + /// Additional user supplied properties that are passed to the 's constructor. + /// + //public NameValueCollection Properties + public Dictionary Properties + { + get { return _properties; } + } + } +} +#endif diff --git a/VXMusicOverlay/Assets/AiUnity/CLog/Core/LICENSE.txt b/VXMusicOverlay/Assets/AiUnity/CLog/Core/LICENSE.txt new file mode 100644 index 00000000..7a4a3ea2 --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/CLog/Core/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. \ No newline at end of file diff --git a/VXMusicOverlay/Assets/AiUnity/CLog/Core/LogManager.cs b/VXMusicOverlay/Assets/AiUnity/CLog/Core/LogManager.cs new file mode 100644 index 00000000..4ff8fc68 --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/CLog/Core/LogManager.cs @@ -0,0 +1,248 @@ +#region License + +/* + * Copyright я┐╜ 2002-2009 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#endregion + +#if AIUNITY_CODE + +using System; +using AiUnity.CLog.Core.Common; +using System.Reflection; +using AiUnity.CLog.Core.Configuration; +using AiUnity.Common.InternalLog; +using AiUnity.Common.Patterns; +using AiUnity.Common.Log; +using AiUnity.CLog.Core.Loggers; + +namespace AiUnity.CLog.Core +{ + /// + /// Use the LogManager's or + /// methods to obtain instances for logging. + /// + /// CLogAPI + public sealed class CLogManager : Singleton, ILogManager + { + // Internal logger singleton + private static IInternalLogger Logger { get { return CLogInternalLogger.Instance; } } + + /// + /// The key of the default configuration section to read settings from. + /// + /// + /// You can always change the source of your configuration settings by setting another instance + /// on . + /// + public string CLOG_SECTION { get { return "clog"; } } + + /// + /// Determines if an assert message should produce an exception. + /// + /// + public bool AssertException { get; set; } + + private ILoggerFactoryAdapter adapter = null; + private readonly object loadLock = new object(); + + /// + /// Indicate if Adapter has been set. + /// + /// + /// You can always change the source of your configuration settings by setting another instance + /// on . + /// + public bool IsAdapterSet { get { return this.adapter != null; } } + + /// + /// Performs 1-time initialization of LogManager by calling + /// Prevents a default instance of the LogManager class from being created. + /// + //private CLogManager() + public CLogManager() + { + Reset(); + } + + /// + /// Reset the infrastructure to its default settings. This means, that configuration settings + /// will be re-read from section <common/logging> of your app.config. + /// + /// + /// This is mainly used for unit testing, you wouldn't normally use this in your applications.
+ /// Note: instances already handed out from this LogManager are not(!) affected. + /// Resetting LogManager only affects new instances being handed out. + ///
+ public void Reset() + { + Reset(new DefaultConfigurationReader()); + } + + /// + /// Reset the infrastructure to its default settings. This means, that configuration settings + /// will be re-read from section <common/logging> of your app.config. + /// + /// + /// This is mainly used for unit testing, you wouldn't normally use this in your applications.
+ /// Note: instances already handed out from this LogManager are not(!) affected. + /// Resetting LogManager only affects new instances being handed out. + ///
+ /// + /// the instance to obtain settings for + /// re-initializing the LogManager.Instance.. + /// + public void Reset(IConfigurationReader reader) + { + lock (this.loadLock) { + if (reader == null) { + throw new ArgumentNullException("reader"); + } + ConfigurationReader = reader; + this.adapter = null; + } + } + + /// + /// Gets the configuration reader used to initialize the LogManager.Instance.. + /// + /// Primarily used for testing purposes but maybe useful to obtain configuration + /// information from some place other than the .NET application configuration file. + public IConfigurationReader ConfigurationReader { get; private set; } + + + + /// + /// Gets or sets the adapter. + /// + public ILoggerFactoryAdapter Adapter + { + get + { + if (this.adapter == null) { + lock (this.loadLock) { + if (this.adapter == null) { + this.adapter = BuildLoggerFactoryAdapter(); + } + } + } + return this.adapter; + } + set + { + lock (this.loadLock) { + this.adapter = value; + } + } + } + + /// + /// Gets the logger by calling + /// on the currently configured using the specified type. + /// + /// Usually the reference of the current class. + /// the logger instance obtained from the current + public CLogger GetLogger(System.Object context, IFormatProvider formatProvider = null) + { + UnityEngine.Object UnityContext = context as UnityEngine.Object; + return GetLogger(context.GetType().FullName, UnityContext, formatProvider); + } + + /// + /// Gets the logger by calling + /// on the currently configured using the specified key. + /// + /// The key. + /// the logger instance obtained from the current + ILogger ILogManager.GetLogger(string name, UnityEngine.Object context, IFormatProvider formatProvider) + { + return Adapter.GetLogger(name, context, formatProvider); + } + + /// + /// Gets the logger by calling + /// on the currently configured using the specified key. + /// + /// The key. + /// the logger instance obtained from the current + public CLogger GetLogger(string name, UnityEngine.Object context, IFormatProvider formatProvider = null) + { + return Adapter.GetLogger(name, context, formatProvider); + } + + // Unity3d - not supported on UWP + /*public string AssemblyDirectory() + { + string codeBase = Assembly.GetExecutingAssembly().CodeBase; + UriBuilder uri = new UriBuilder(codeBase); + string path = Uri.UnescapeDataString(uri.Path); + return System.IO.Path.GetDirectoryName(path); + }*/ + + /// + /// Builds the logger factory adapter. + /// + /// a factory adapter instance. Is never null. + private ILoggerFactoryAdapter BuildLoggerFactoryAdapter() + { + object sectionResult = ConfigurationReader.GetSection(CLOG_SECTION); + + if (sectionResult == null) { + Logger.Error("Failed to parse XML section {0}. Defaulting to Null logger.", CLOG_SECTION); + return new NullFactoryAdapter(); + } + + // Check is ILoggerFactoryAdapter directly returned from configuration reader + ILoggerFactoryAdapter loggerFactoryAdapter = sectionResult as ILoggerFactoryAdapter; + if (loggerFactoryAdapter != null) { + Logger.Trace("Configuration reader {0} specified ILoggerFactoryAdapter {1}", + ConfigurationReader.GetType().FullName, loggerFactoryAdapter.GetType().FullName); + return loggerFactoryAdapter; + } + + // Check if LogSetting returned from configuration reader + LogSetting logSetting = sectionResult as LogSetting; + if (logSetting == null) { + Logger.Error("XML returned unknown adapter type. Defaulting to Null logger.", CLOG_SECTION); + return new NullFactoryAdapter(); + } + return BuildLoggerFactoryAdapterFromLogSettings(logSetting); + } + + /// + /// Builds a instance from the given + /// using . + /// + /// + /// the instance. Is never null + private ILoggerFactoryAdapter BuildLoggerFactoryAdapterFromLogSettings(LogSetting setting) + { + Logger.Assert(setting != null, "LogSetting cannot be null."); + ILoggerFactoryAdapter adapter = null; + + try { + adapter = (ILoggerFactoryAdapter)Activator.CreateInstance(setting.FactoryAdapterType, new object[] { setting.Properties }); + } + catch (System.Exception) { + Logger.Error("Log adapter creation threw exception"); + throw; + } + + Logger.Assert(adapter != null, "Log adapter cannot be null"); + return adapter; + } + } +} +#endif diff --git a/VXMusicOverlay/Assets/AiUnity/CLog/Core/Loggers/CacheLoggerFactoryAdapter.cs b/VXMusicOverlay/Assets/AiUnity/CLog/Core/Loggers/CacheLoggerFactoryAdapter.cs new file mode 100644 index 00000000..b43f6639 --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/CLog/Core/Loggers/CacheLoggerFactoryAdapter.cs @@ -0,0 +1,196 @@ +#region License + +/* + * Copyright я┐╜ 2002-2009 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#endregion + +#if AIUNITY_CODE + +using AiUnity.CLog.Core.Common; +using AiUnity.Common.Attributes; +using AiUnity.Common.Extensions; +using AiUnity.Common.InternalLog; +using AiUnity.Common.Log; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Reflection; + +namespace AiUnity.CLog.Core.Loggers +{ + /// + /// An implementation of that caches loggers handed out by this factory. + /// + /// + /// Implementors just need to override . + /// + /// Erich Eichinger + public abstract class CacheLoggerFactoryAdapter : ILoggerFactoryAdapter, ILoggerSettings + { + #region Fields + private readonly Dictionary _cachedLoggers; + #endregion + + #region Properties + /// + /// The for this logger. + /// + [DefaultValue(LogLevels.Everything)] + [Display("Log levels", "Log levels that will be logged by this target.", false, -100)] + public LogLevels LogLevels { get; set; } + + // Internal logger singleton + private static IInternalLogger Logger { get { return CLogInternalLogger.Instance; } } + #endregion + + #region Constructors + /// + /// Creates a new instance, the logger cache being case-sensitive. + /// Configuration data (XML) Used to configure logger properties. + /// + protected CacheLoggerFactoryAdapter(Dictionary properties) : this(true) + { + if (properties != null) + { + + IEnumerable propertyInfos = GetType().GetProperties(BindingFlags.Public | BindingFlags.Instance | BindingFlags.SetProperty).Where(p => p.CanWrite).ToList(); + + foreach (PropertyInfo propertyInfo in propertyInfos) + { + + try + { + string propertyValue; + properties.TryGetValue(propertyInfo.Name.LowercaseLetter(), out propertyValue); + + // If property not present in configuration file set to value specified by DefaultValue Attribute + if (propertyValue == null && Attribute.IsDefined(propertyInfo, typeof(DefaultValueAttribute))) + { + propertyValue = propertyInfo.GetAttributes().Select(v => v.Value.ToString()).FirstOrDefault(); + } + + if (propertyValue != null) + { + if (propertyInfo.PropertyType.IsEnum) + { + object setValue = Enum.Parse(propertyInfo.PropertyType, propertyValue); + propertyInfo.SetValue(this, setValue, null); + } + else if (propertyInfo.PropertyType == typeof(UnityEngine.Color)) + { + UnityEngine.Color color; + UnityEngine.ColorUtility.TryParseHtmlString(propertyValue, out color); + propertyInfo.SetValue(this, color, null); + } + else if (propertyInfo.PropertyType.IsValueType || propertyInfo.PropertyType.Equals(typeof(string))) + { + object setValue = Convert.ChangeType(propertyValue, propertyInfo.PropertyType); + propertyInfo.SetValue(this, setValue, null); + } + else + { + Logger.Warn("Unable to set adapter property = {0} due to unsupported type = {1}", propertyInfo.Name, propertyInfo.PropertyType); + } + } + } + catch + { + Logger.Warn("Unable to find adapter property = {0} on adapter = {1}", propertyInfo.Name, GetType()); + } + } + } + } + + /// + /// Creates a new instance, the logger cache being . + /// + /// + protected CacheLoggerFactoryAdapter(bool caseSensitiveLoggerCache) + { + this._cachedLoggers = (caseSensitiveLoggerCache) + ? new Dictionary() + : new Dictionary(StringComparer.OrdinalIgnoreCase); + } + #endregion + + #region Methods + /// + /// Get a Logger instance by key. + /// + /// Usually a 's Name or FullName property. + /// + /// An Logger instance either obtained from the internal cache or created by a call to . + /// + public CLogger GetLogger(string name, UnityEngine.Object context, IFormatProvider formatProvider) + { + //return GetLoggerInternal(key); + return GetLoggerInternal(name, context, formatProvider); + } + + /// + /// Purges all loggers from cache + /// + protected void ClearLoggerCache() + { + lock (this._cachedLoggers) + { + this._cachedLoggers.Clear(); + } + } + + /// + /// Create the specified named logger instance + /// + /// + /// Derived factories need to implement this method to create the + /// actual logger instance. + /// + protected abstract CLogger CreateLogger(string name, UnityEngine.Object context, IFormatProvider formatProvider); + + /// + /// Get or create a Logger instance by key. + /// + /// Usually a 's Name or FullName property. + /// Usually the reference of the current class. + /// + /// An Logger instance either obtained from the internal cache or created by a call to . + /// + private CLogger GetLoggerInternal(string name, UnityEngine.Object context, IFormatProvider formatProvider) + { + CLogger log; + if (!this._cachedLoggers.TryGetValue(name, out log)) + { + lock (this._cachedLoggers) + { + if (!this._cachedLoggers.TryGetValue(name, out log)) + { + log = CreateLogger(name, context, formatProvider); + if (log == null) + { + throw new ArgumentException(string.Format("{0} returned null on creating logger instance for key {1}", GetType().FullName, name)); + } + this._cachedLoggers.Add(name, log); + } + } + } + return log; + } + #endregion + } +} +#endif diff --git a/VXMusicOverlay/Assets/AiUnity/CLog/Core/Loggers/ExternalLoggerFactoryAdapter.cs b/VXMusicOverlay/Assets/AiUnity/CLog/Core/Loggers/ExternalLoggerFactoryAdapter.cs new file mode 100644 index 00000000..b15143af --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/CLog/Core/Loggers/ExternalLoggerFactoryAdapter.cs @@ -0,0 +1,38 @@ +#if AIUNITY_CODE + +using System; +using AiUnity.CLog.Core.Common; +using AiUnity.Common.Extensions; +using System.Collections.Generic; +using AiUnity.CLog.Core.Configuration; +using System.Reflection; +using System.ComponentModel; +using AiUnity.Common.InternalLog; +using System.Linq; +using AiUnity.Common.Log; + +namespace AiUnity.CLog.Core.Loggers +{ + public abstract class ExternalLoggerFactoryAdapter : CacheLoggerFactoryAdapter + { + protected ILogManager nlogManager; + + public ExternalLoggerFactoryAdapter(Dictionary properties, string assemblyName, string nameSpace) : base(properties) + { + IEnumerable searchAssemblyNames = new List() { "Assembly-CSharp", assemblyName }; + IEnumerable searchAssemblies = AppDomain.CurrentDomain.GetAssemblies().Where(a => searchAssemblyNames.Any(t => a.FullName.StartsWith(t))); + IEnumerable logManagerTypes = searchAssemblies.SelectMany(a => a.GetTypes()).Where(t => typeof(ILogManager).IsAssignableFrom(t) && t.IsClass); + Type nlogManagerType = logManagerTypes.FirstOrDefault(t => t.Namespace != null && t.Namespace.Contains(nameSpace)); + + if (nlogManagerType != null) { + //ILogManager nlogManager = (ILogManager)Activator.CreateInstance(nlogManagerType); + PropertyInfo propertyInfo = nlogManagerType.GetProperty("Instance", BindingFlags.Public | BindingFlags.Static | BindingFlags.FlattenHierarchy); + if (propertyInfo != null) { + nlogManager = propertyInfo.GetValue(null, null) as ILogManager; + } + } + } + + } +} +#endif diff --git a/VXMusicOverlay/Assets/AiUnity/CLog/Core/Loggers/GameConsoleLogger.cs b/VXMusicOverlay/Assets/AiUnity/CLog/Core/Loggers/GameConsoleLogger.cs new file mode 100644 index 00000000..0fe4b3be --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/CLog/Core/Loggers/GameConsoleLogger.cs @@ -0,0 +1,112 @@ +// Copyright (C) 2014 Extesla, LLC. +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +#if AIUNITY_CODE + +using System; +using AiUnity.CLog.Core.Common; +using UnityEngine.SceneManagement; +using System.Linq; +using UnityEngine; +using AiUnity.Common.InternalLog; +using AiUnity.Common.Log; + +namespace AiUnity.CLog.Core.Loggers +{ + public class GameConsoleLogger : UnityConsoleLogger + { + #region Properties + + // Internal logger singleton + private static IInternalLogger Logger { get { return CLogInternalLogger.Instance; } } + + /// + /// Holds configuration settings associated with logger instance. + /// + public IGameConsoleLoggerSettings GameConsoleLoggerSettings { get; set; } + + /// + /// Provides access to active Game Console controller script. + /// + private IGameConsoleController GameConsoleController { get; set; } + #endregion + + #region Constructors + /// + /// Creates and initializes a logger that writes messages to Unity Console. + /// + /// The name, usually type name of the calling class, of the logger. + /// GameObject associated with logger. + public GameConsoleLogger(string logName, IGameConsoleLoggerSettings gameConsoleLoggerSettings, UnityEngine.Object context, IFormatProvider formatProvider) : base(logName, gameConsoleLoggerSettings, context, formatProvider) + { + GameConsoleLoggerSettings = gameConsoleLoggerSettings; + + if (Application.isPlaying) { + + Scene activeScene = SceneManager.GetActiveScene(); + if (activeScene.isLoaded) { + UpdateNLogMessageTarget(activeScene); + } + SceneManager.activeSceneChanged += (s1, s2) => UpdateNLogMessageTarget(s2); + } + } + #endregion + + #region Methods + /// + /// Writes log message to the Unity Console. + /// + /// The level of this log event. + /// The message to log + /// The exception to log + protected override void WriteInternal(LogLevels levels, UnityEngine.Object context, object message, Exception exception) + { + string formattedMessage = FixUnityConsoleXML(FormatMessage(levels, message, exception)); + + if (Application.isPlaying && GameConsoleController != null) + //if (GameConsoleController != null) + { + GameConsoleController.AddMessage((int)levels, formattedMessage, Name, DateTime.Now); + } + } + + /// + /// Initialize the Game Console GameController when active scene changes. + /// + /// Active Unity scene. + private void UpdateNLogMessageTarget(Scene scene) + { + GameConsoleController = scene.GetRootGameObjects().SelectMany(g => g.GetComponentsInChildren()).FirstOrDefault(); + if (GameConsoleController != null) { + GameConsoleController.SetIconEnable(GameConsoleLoggerSettings.IconEnable); + GameConsoleController.SetConsoleActive(GameConsoleLoggerSettings.ConsoleActive); + GameConsoleController.SetFontSize(GameConsoleLoggerSettings.FontSize); + GameConsoleController.SetLogLevelFilter(GameConsoleLoggerSettings.LogLevelsFilter); + } + else { + Logger.Error("Unable to locate GameConsole GameObject. Please place NLog prefab GameConsole in your hierarchy."); + } + } + #endregion + } +} + +#endif diff --git a/VXMusicOverlay/Assets/AiUnity/CLog/Core/Loggers/GameConsoleLoggerFactoryAdapter.cs b/VXMusicOverlay/Assets/AiUnity/CLog/Core/Loggers/GameConsoleLoggerFactoryAdapter.cs new file mode 100644 index 00000000..6707b57e --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/CLog/Core/Loggers/GameConsoleLoggerFactoryAdapter.cs @@ -0,0 +1,86 @@ +// Copyright (C) 2014 Extesla, LLC. +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +#if AIUNITY_CODE + +using System; +using AiUnity.CLog.Core.Common; +using System.Collections.Generic; +using System.ComponentModel; +using AiUnity.Common.InternalLog; +using AiUnity.Common.Attributes; +using AiUnity.Common.Log; + +namespace AiUnity.CLog.Core.Loggers +{ + [Adapter("GameConsole", typeof(GameConsoleLogger))] + public class GameConsoleLoggerFactoryAdapter : UnityConsoleLoggerFactoryAdapter, IGameConsoleLoggerSettings + { + #region Properties + // Internal logger singleton + private static IInternalLogger Logger { get { return CLogInternalLogger.Instance; } } + + [RequiredParameter] + [DefaultValue(true)] + [Display("Start console", "Make Game Console Log window active at startup.", false)] + public bool ConsoleActive { get; set; } + + [RequiredParameter] + [DefaultValue(8)] + [Display("Font size", "Font size for game console", false)] + public int FontSize { get; set; } + + [RequiredParameter] + [DefaultValue(true)] + //[Display("Enable Icon", "Display shortcut icon when NLOG Console minimized. Alternatively NLOG Console can be restored with a gesture (TBD).", false)] + public bool IconEnable { get; set; } + + [RequiredParameter] + [DefaultValue(LogLevels.Assert | LogLevels.Fatal | LogLevels.Error | LogLevels.Warn)] + [Display("Filter levels", "Starting log level filter that is runtime adjustable.", false)] + public LogLevels LogLevelsFilter { get; set; } + + private IGameConsoleController GameConsoleController { get; set; } + #endregion + + /// + /// Initializes a new instance of the class. + /// + /// Configuration data (XML) Used to configure logger properties. + public GameConsoleLoggerFactoryAdapter(Dictionary properties = null) : base(properties) + { + } + + /// + /// Creates a new instance. + /// + /// + /// + /// + protected override CLogger CreateLogger(string name, UnityEngine.Object context, IFormatProvider formatProvider) + { + return new GameConsoleLogger(name, this, context, formatProvider); + } + + } +} + +#endif diff --git a/VXMusicOverlay/Assets/AiUnity/CLog/Core/Loggers/IGameConsoleLoggerSettings.cs b/VXMusicOverlay/Assets/AiUnity/CLog/Core/Loggers/IGameConsoleLoggerSettings.cs new file mode 100644 index 00000000..b4cd0daf --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/CLog/Core/Loggers/IGameConsoleLoggerSettings.cs @@ -0,0 +1,14 @@ +я╗┐#if AIUNITY_CODE +using AiUnity.Common.Log; + +namespace AiUnity.CLog.Core.Loggers +{ + public interface IGameConsoleLoggerSettings: IUnityConsoleLoggerSettings + { + bool ConsoleActive { get; set; } + int FontSize { get; set; } + bool IconEnable { get; set; } + LogLevels LogLevelsFilter { get; set; } + } +} +#endif \ No newline at end of file diff --git a/VXMusicOverlay/Assets/AiUnity/CLog/Core/Loggers/ILoggerFactoryAdapter.cs b/VXMusicOverlay/Assets/AiUnity/CLog/Core/Loggers/ILoggerFactoryAdapter.cs new file mode 100644 index 00000000..1ca51f12 --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/CLog/Core/Loggers/ILoggerFactoryAdapter.cs @@ -0,0 +1,43 @@ +#region License + +/* + * Copyright й 2002-2009 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#endregion + +#if AIUNITY_CODE + +using System; + +namespace AiUnity.CLog.Core.Loggers +{ + /// + /// LoggerFactoryAdapter interface is used internally by LogManager + /// Only developers wishing to write new Common.Logging adapters need to + /// worry about this interface. + /// + /// Gilles Bayon + public interface ILoggerFactoryAdapter + { + /// + /// Get a Logger instance by key. + /// + /// The key of the logger + /// + CLogger GetLogger( string name, UnityEngine.Object context, IFormatProvider formatProvider); + } +} +#endif diff --git a/VXMusicOverlay/Assets/AiUnity/CLog/Core/Loggers/ILoggerSettings.cs b/VXMusicOverlay/Assets/AiUnity/CLog/Core/Loggers/ILoggerSettings.cs new file mode 100644 index 00000000..b796ceff --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/CLog/Core/Loggers/ILoggerSettings.cs @@ -0,0 +1,14 @@ +я╗┐#if AIUNITY_CODE +using AiUnity.Common.Log; + +namespace AiUnity.CLog.Core.Loggers +{ + public interface ILoggerSettings + { + /// + /// The current logging threshold. Messages received that are beneath this threshold will not be logged. + /// + LogLevels LogLevels { get; set; } + } +} +#endif \ No newline at end of file diff --git a/VXMusicOverlay/Assets/AiUnity/CLog/Core/Loggers/ISimpleLoggerSettings.cs b/VXMusicOverlay/Assets/AiUnity/CLog/Core/Loggers/ISimpleLoggerSettings.cs new file mode 100644 index 00000000..42167ff0 --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/CLog/Core/Loggers/ISimpleLoggerSettings.cs @@ -0,0 +1,14 @@ +я╗┐#if AIUNITY_CODE +namespace AiUnity.CLog.Core.Loggers +{ + public interface ISimpleLoggerSettings: ILoggerSettings + { + bool ShowCallsite { get; set; } + bool ShowLogLevel { get; set; } + bool ShowLoggerName { get; set; } + bool ShowTimeStamp { get; set; } + int StackIndex { get; set; } + bool HeaderNewline { get; set; } + } +} +#endif \ No newline at end of file diff --git a/VXMusicOverlay/Assets/AiUnity/CLog/Core/Loggers/IUnityConsoleLoggerSettings.cs b/VXMusicOverlay/Assets/AiUnity/CLog/Core/Loggers/IUnityConsoleLoggerSettings.cs new file mode 100644 index 00000000..1e80f22b --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/CLog/Core/Loggers/IUnityConsoleLoggerSettings.cs @@ -0,0 +1,11 @@ +я╗┐#if AIUNITY_CODE +namespace AiUnity.CLog.Core.Loggers +{ + public interface IUnityConsoleLoggerSettings : ISimpleLoggerSettings + { + bool EnableColors { get; set; } + UnityEngine.Color HeaderColor { get; set; } + UnityEngine.Color MessageColor { get; set; } + } +} +#endif \ No newline at end of file diff --git a/VXMusicOverlay/Assets/AiUnity/CLog/Core/Loggers/NoOpVariablesContext.cs b/VXMusicOverlay/Assets/AiUnity/CLog/Core/Loggers/NoOpVariablesContext.cs new file mode 100644 index 00000000..1d05d7b1 --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/CLog/Core/Loggers/NoOpVariablesContext.cs @@ -0,0 +1,55 @@ + +#if AIUNITY_CODE + +using AiUnity.CLog.Core.Common; +using AiUnity.Common.InternalLog; +using AiUnity.Common.Log; + +namespace AiUnity.CLog.Core.Loggers +{ + /// + /// A null-functionality implementation of + /// + public class NoOpVariablesContext : IVariablesContext + { + /// + /// Sets the value of a new or existing variable within the global context + /// + /// The key of the variable that is to be added + /// The value to add + public void Set(string key, object value) { + } + + /// + /// Gets the value of a variable within the global context + /// + /// The key of the variable to get + /// The value or null if not found + public object Get(string key) { + return null; + } + + /// + /// Checks if a variable is set within the global context + /// + /// The key of the variable to check for + /// True if the variable is set + public bool Contains(string key) { + return false; + } + + /// + /// Removes a variable from the global context by key + /// + /// The key of the variable to remove + public void Remove(string key) { + } + + /// + /// Clears the global context variables + /// + public void Clear() { + } + } +} +#endif diff --git a/VXMusicOverlay/Assets/AiUnity/CLog/Core/Loggers/NullFactoryAdapter.cs b/VXMusicOverlay/Assets/AiUnity/CLog/Core/Loggers/NullFactoryAdapter.cs new file mode 100644 index 00000000..3977f7d2 --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/CLog/Core/Loggers/NullFactoryAdapter.cs @@ -0,0 +1,75 @@ + +#region License + +/* + * Copyright я┐╜ 2002-2009 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#endregion + +#if AIUNITY_CODE + +using System; +using AiUnity.CLog.Core.Common; +using AiUnity.CLog.Core.Configuration; +using System.Collections.Generic; +using System.ComponentModel; +using AiUnity.Common.InternalLog; +using AiUnity.Common.Attributes; +using AiUnity.Common.Log; + +namespace AiUnity.CLog.Core.Loggers +{ + /// + /// Factory for creating instances that silently ignores + /// logging requests. + /// + /// Gilles Bayon + [Adapter("Null", typeof(NullLogger))] + public sealed class NullFactoryAdapter : ILoggerFactoryAdapter, ILoggerSettings + { + private CLogger nullLogger; + + /// + /// The for this logger. + /// + [Display("Log levels", "Log levels that will be logged by this target.", false, -100)] + [DefaultValue(0)] + public LogLevels LogLevels { get; set; } + + /// + /// Constructor + /// + public NullFactoryAdapter(Dictionary properties = null) + { + nullLogger = new NullLogger(this); + } + + #region ILoggerFactoryAdapter Members + + /// + /// Get a Logger instance by type key + /// + /// + /// + public CLogger GetLogger(string name, UnityEngine.Object context, IFormatProvider formatProvider) + { + return nullLogger; + } + + #endregion + } +} +#endif diff --git a/VXMusicOverlay/Assets/AiUnity/CLog/Core/Loggers/NullLogger.cs b/VXMusicOverlay/Assets/AiUnity/CLog/Core/Loggers/NullLogger.cs new file mode 100644 index 00000000..4be94b88 --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/CLog/Core/Loggers/NullLogger.cs @@ -0,0 +1,50 @@ + +#region License + +/* + * Copyright я┐╜ 2002-2009 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#endregion + +#if AIUNITY_CODE + +using System; +using AiUnity.CLog.Core.Common; +using AiUnity.Common.InternalLog; +using AiUnity.Common.Log; + +namespace AiUnity.CLog.Core.Loggers +{ + /// + /// Silently ignores all log messages. + /// + /// Gilles Bayon + /// Erich Eichinger + [Serializable] + public sealed class NullLogger : CLogger + { + public NullLogger(ILoggerSettings loggerSettings) : base ("NullLogger", loggerSettings, null, null) + { + } + + protected override void WriteInternal(LogLevels level, UnityEngine.Object context, object message, Exception exception) + { + return; + } + + } +} +#endif diff --git a/VXMusicOverlay/Assets/AiUnity/CLog/Core/Loggers/SimpleLogger.cs b/VXMusicOverlay/Assets/AiUnity/CLog/Core/Loggers/SimpleLogger.cs new file mode 100644 index 00000000..e4ba7691 --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/CLog/Core/Loggers/SimpleLogger.cs @@ -0,0 +1,127 @@ + +#region License + +/* + * Copyright я┐╜ 2002-2009 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#endregion + +#if AIUNITY_CODE + +using System; +using AiUnity.CLog.Core.Common; +using System.Globalization; +using System.Text; +using System.Diagnostics; +using System.Reflection; +using AiUnity.CLog.Core.Configuration; +using AiUnity.Common.InternalLog; +using AiUnity.Common.Log; + +namespace AiUnity.CLog.Core.Loggers +{ + /// + /// Abstract class providing a standard implementation of simple loggers. + /// + [Serializable] + public abstract class SimpleLogger : CLogger + { + #region Properties + /// + /// Holds configuration settings associated with logger instance. + /// + public ISimpleLoggerSettings SimpleLoggerSettings { get; set; } + #endregion + + #region Constructors + /// + /// Creates and initializes a the simple logger. + /// + /// The key, usually type key of the calling class, of the logger. + public SimpleLogger(string logName, ISimpleLoggerSettings simpleLoggerSettings, UnityEngine.Object context, IFormatProvider formatProvider) : base(logName, simpleLoggerSettings, context, formatProvider) + { + SimpleLoggerSettings = simpleLoggerSettings; + } + #endregion + + #region Methods + protected virtual void CreateExceptionMessage(StringBuilder stringBuilder, Exception e) + { + if (e != null) { + ExceptionBuilder exceptionBuilder = new ExceptionBuilder(stringBuilder); + exceptionBuilder.Format(e); + } + } + + /// + /// Appends the formatted message to the specified . + /// + /// the that receives the formatted message. + /// + /// + /// + protected virtual string CreateMessageInfo(LogLevels levels, int stackOffset) + { + StringBuilder stringBuilder = new StringBuilder(); + + // Append a readable representation of the log level + if (SimpleLoggerSettings.ShowLogLevel) { + stringBuilder.Append((string.Format("[{0}]", levels.ToString().ToUpper())).PadRight(8)); + } + + // Append the key of the log instance if so configured + if (SimpleLoggerSettings.ShowLoggerName) { + stringBuilder.Append(Name + ": "); + } + + if (SimpleLoggerSettings.ShowCallsite) { + try { + StackTrace stackTrace = new StackTrace(); + int stackPosition = Math.Min(Math.Max(stackOffset + SimpleLoggerSettings.StackIndex, 0), stackTrace.FrameCount - 1); + MethodBase methodBase = stackTrace.GetFrame(stackPosition).GetMethod(); + stringBuilder.AppendFormat("{0}.{1} ", methodBase.DeclaringType, methodBase.Name); + } + catch { + stringBuilder.Append("Unknown caller type/method "); + } + } + + // Append date-time if so configured + if (SimpleLoggerSettings.ShowTimeStamp) { + stringBuilder.AppendFormat("({0}) ", DateTime.Now); + } + + /*if (stringBuilder.Length > 0) + { + stringBuilder.Length--; + + if (SimpleLoggerSettings.HeaderNewline) + { + stringBuilder.Append(Environment.NewLine); + } + else + { + stringBuilder.Append(":: "); + } + }*/ + + return stringBuilder.ToString(); + } + #endregion + } + +} +#endif diff --git a/VXMusicOverlay/Assets/AiUnity/CLog/Core/Loggers/SimpleLoggerFactoryAdapter.cs b/VXMusicOverlay/Assets/AiUnity/CLog/Core/Loggers/SimpleLoggerFactoryAdapter.cs new file mode 100644 index 00000000..7d913d71 --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/CLog/Core/Loggers/SimpleLoggerFactoryAdapter.cs @@ -0,0 +1,93 @@ +#region License + +/* + * Copyright я┐╜ 2002-2009 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#endregion + +#if AIUNITY_CODE +using AiUnity.Common.Attributes; +using System; +using System.Collections.Generic; +using System.ComponentModel; + +namespace AiUnity.CLog.Core.Loggers +{ + /// + /// Base factory implementation for creating simple instances. + /// + /// Gilles Bayon + /// Mark Pollack + /// Erich Eichinger + [Serializable] + public abstract class SimpleLoggerFactoryAdapter : CacheLoggerFactoryAdapter, ISimpleLoggerSettings + { + #region Properties + /// + /// Add Newline separator after primary log message + /// + [DefaultValue(true)] + [Display("Show newline", "Add newline after message headers.")] + public bool HeaderNewline { get; set; } + + /// + /// Add call method to message + /// + [DefaultValue(true)] + [Display("Show callsite", "Display callsite (namespace/method) in log message.")] + public bool ShowCallsite { get; set; } + + /// + /// Add level to message + /// + [DefaultValue(true)] + [Display("Show log level", "Display log level in log message.")] + public bool ShowLogLevel { get; set; } + + /// + /// Add call name to message + /// + [DefaultValue(false)] + [Display("Show logger", "Display logger name in log message.")] + public bool ShowLoggerName { get; set; } + + /// + /// Add timestamp to message + /// + [DefaultValue(false)] + [Display("Show timestamp", "Display timestamp in log message.")] + public bool ShowTimeStamp { get; set; } + + /// + /// Determines the stack index relative to logging statement + /// + [DefaultValue(0)] + [Display("Stack offset", "Determines the stack index relative to logging statement. Used to calculate the callsite of each log statement.")] + public int StackIndex { get; set; } + #endregion + + #region Constructors + /// + /// Initializes a new instance of the class. + /// + /// Configuration data (XML) Used to configure logger properties. + protected SimpleLoggerFactoryAdapter(Dictionary properties = null) : base(properties) + { + } + #endregion + } +} +#endif diff --git a/VXMusicOverlay/Assets/AiUnity/CLog/Core/Loggers/UnityConsoleLogger.cs b/VXMusicOverlay/Assets/AiUnity/CLog/Core/Loggers/UnityConsoleLogger.cs new file mode 100644 index 00000000..f8b62aba --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/CLog/Core/Loggers/UnityConsoleLogger.cs @@ -0,0 +1,196 @@ +#if AIUNITY_CODE + +using System; +using AiUnity.CLog.Core.Common; +using System.Text; +using System.Diagnostics; +using System.Reflection; +using UnityEngine.Assertions; +using AiUnity.Common.Extensions; +using System.Text.RegularExpressions; +using AiUnity.Common.InternalLog; +using AiUnity.Common.Log; +using System.Linq; +using System.Collections.Generic; + +namespace AiUnity.CLog.Core.Loggers +{ + public class UnityConsoleLogger : SimpleLogger + { + #region Properties + /// + /// Holds configuration settings associated with logger instance. + /// + public IUnityConsoleLoggerSettings UnityConsoleLoggerSettings { get; set; } + #endregion + + #region Constructors + /// + /// Creates and initializes a logger that writes messages to Unity Console. + /// + /// Name associated with the logger + /// GameObject associated with the logger + public UnityConsoleLogger(string logName, IUnityConsoleLoggerSettings unityConsoleLoggerSettings, UnityEngine.Object context, IFormatProvider formatProvider) : base(logName, unityConsoleLoggerSettings, context, formatProvider) + { + UnityConsoleLoggerSettings = unityConsoleLoggerSettings; + } + #endregion + + #region Methods + /// + /// Writes log message to the Unity Console. + /// + /// The level of this log event. + /// The message to log + /// The exception to log + protected override void WriteInternal(LogLevels levels, UnityEngine.Object context, object message, Exception exception) + { + string formattedMessage = FixUnityConsoleXML(FormatMessage(levels, message, exception)); + UnityEngine.MonoBehaviour monoBehaviour = context as UnityEngine.MonoBehaviour; + UnityEngine.GameObject unityGameObject = monoBehaviour != null ? monoBehaviour.gameObject : context as UnityEngine.GameObject; + + if (levels.Has(LogLevels.Info) || levels.Has(LogLevels.Debug) || levels.Has(LogLevels.Trace)) { + UnityEngine.Debug.Log(formattedMessage, unityGameObject); + } + else if (levels.Has(LogLevels.Warn)) { + UnityEngine.Debug.LogWarning(formattedMessage, unityGameObject); + } + else { + UnityEngine.Debug.LogError(formattedMessage, unityGameObject); + + if (levels.Has(LogLevels.Assert) && CLogManager.Instance.AssertException) { + throw new AssertException(message.ToString(), exception); ; + } + } + } + + /// + /// Formats the message for the Unity Console. + /// + /// The log level. + /// The message to format. + /// The exception to format. + /// The formatted message. + /// + protected string FormatMessage(LogLevels logLevels, object message, Exception exception = null) + { + StringBuilder formatedMessage = new StringBuilder(); + string header = CreateMessageInfo(logLevels, 5); + + if (!string.IsNullOrEmpty(header)) + { + // https://docs.unity3d.com/ScriptReference/ColorUtility.html + string headerColorCode = UnityEngine.ColorUtility.ToHtmlStringRGBA(UnityConsoleLoggerSettings.HeaderColor); + + if (UnityConsoleLoggerSettings.EnableColors) + { + formatedMessage.AppendFormat("{1}", headerColorCode, header); + } + else + { + formatedMessage.AppendFormat(header); + } + + //formatedMessage.Length--; + if (SimpleLoggerSettings.HeaderNewline) + { + formatedMessage.Append(Environment.NewLine); + } + else + { + formatedMessage.Append(":: "); + } + } + + string messageColorCode = UnityEngine.ColorUtility.ToHtmlStringRGBA(UnityConsoleLoggerSettings.MessageColor); + + if (UnityConsoleLoggerSettings.EnableColors) + { + formatedMessage.AppendFormat("{1}{2}", messageColorCode, message, Environment.NewLine); + } + else + { + formatedMessage.AppendFormat(message + Environment.NewLine); + } + + if (exception != null) { + if (UnityConsoleLoggerSettings.EnableColors) + { + formatedMessage.AppendFormat(""); + } + CreateExceptionMessage(formatedMessage, exception); + if (UnityConsoleLoggerSettings.EnableColors) + { + formatedMessage.AppendFormat(""); + } + } + + return formatedMessage.ToString(); + } + + /// + /// Unity Console literally shows the Rich Text XML if an active tag crosses the second line boundary. + /// For example if exists on line 2 and on line 3 then all the XML tags themselves will be shown. + /// This method will close any open tags at the end of line 2 and then reopen those tags on line 3. + /// + /// Message that will have open tags corrected. + /// String with no tags crossing the second line boundary. + protected string FixUnityConsoleXML(string message) + { + Match secondLineEndMatch = Regex.Match(message.TrimEnd('\n'), @"\r?\n").NextMatch(); + int secondLineEndIndex = secondLineEndMatch.Index; + + if (secondLineEndIndex > 0) + { + Stack tags = new Stack(); + + string messageConsole = message.Substring(0, secondLineEndIndex); + MatchCollection startTags = Regex.Matches(messageConsole, @"(<\w+[^<>]*>)|(]*>)"); + + //if (startTags.Count == startTags.Cast().Count(m => string.IsNullOrEmpty(m.Groups[1].Value))*2) + foreach (Match match in startTags) + { + if (string.IsNullOrEmpty(match.Groups[1].Value)) + { + // If tags do not match up just return original message + if (tags.Count() == 0) + { + return message; + } + tags.Pop(); + } + else + { + tags.Push(match.Groups[1].Value); + } + } + + // Alter message if second line leaves outstanding tags + if (tags.Count != 0) + { + StringBuilder sb = new StringBuilder(messageConsole); + + // End outstanding tags + foreach (string tag in tags) + { + Match tagName = Regex.Match(tag, @"<(\w+)[^<>]*>"); + sb.AppendFormat("", tagName.Groups[1].Value); + } + sb.Append(Environment.NewLine); + + // Restart outstanding tags + sb.Append(string.Join("", tags.Reverse().ToArray())); + + // Add back third line and above back to the message + sb.Append(message.Substring(secondLineEndIndex + secondLineEndMatch.Value.Length)); + return sb.ToString(); + } + } + return message; + } + + #endregion + } +} + +#endif diff --git a/VXMusicOverlay/Assets/AiUnity/CLog/Core/Loggers/UnityConsoleLoggerFactoryAdapter.cs b/VXMusicOverlay/Assets/AiUnity/CLog/Core/Loggers/UnityConsoleLoggerFactoryAdapter.cs new file mode 100644 index 00000000..ac223221 --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/CLog/Core/Loggers/UnityConsoleLoggerFactoryAdapter.cs @@ -0,0 +1,59 @@ +#if AIUNITY_CODE + +using System; +using AiUnity.CLog.Core.Common; +using System.Collections.Generic; +using AiUnity.Common.Attributes; +using System.ComponentModel; + +namespace AiUnity.CLog.Core.Loggers +{ + [Adapter("UnityConsole", typeof(UnityConsoleLogger))] + public class UnityConsoleLoggerFactoryAdapter : SimpleLoggerFactoryAdapter, IUnityConsoleLoggerSettings + { + #region Properties + /// + /// Enable colors in message header and message. + /// + [DefaultValue(true)] + [Display("Enable Colors", "Is colors enabled for message header and content.")] + public bool EnableColors { get; set; } + + /// + /// The color of the message header. + /// + [DefaultValue("olive")] + [Display("Header Color", "The color of message header.")] + public UnityEngine.Color HeaderColor { get; set; } + + + /// + /// The color of the message content. + /// + [DefaultValue("black")] + [Display("Message Color", "The color of message content.")] + public UnityEngine.Color MessageColor { get; set; } +#endregion + + /// + /// Initializes a new instance of the class. + /// + /// Configuration data (XML) used to configure logger properties. + public UnityConsoleLoggerFactoryAdapter(Dictionary properties = null) : base(properties) + { + } + + /// + /// Creates a new instance. + /// + /// Name associated with the logger + /// GameObject associated with the logger + /// IFormatProvider to used to display log messages + protected override CLogger CreateLogger(string name, UnityEngine.Object context, IFormatProvider formatProvider) + { + return new UnityConsoleLogger(name, this, context, formatProvider); + } + } +} + +#endif diff --git a/VXMusicOverlay/Assets/AiUnity/CLog/Editor/CLogEditor.cs b/VXMusicOverlay/Assets/AiUnity/CLog/Editor/CLogEditor.cs new file mode 100644 index 00000000..d39ccaf0 --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/CLog/Editor/CLogEditor.cs @@ -0,0 +1,1368 @@ +using System.Xml; +using UnityEditorInternal; + +namespace AiUnity.CLog.Editor +{ + using AiUnity.CLog.Core; + using AiUnity.CLog.Core.Common; + using AiUnity.CLog.Core.Loggers; + using AiUnity.Common.Attributes; + using AiUnity.Common.Editor.Styles; + using AiUnity.Common.Extensions; + using AiUnity.Common.InternalLog; + using AiUnity.Common.Log; + using AiUnity.Common.Types; + using System; + using System.Collections.Generic; + using System.ComponentModel; + using System.IO; + using System.Linq; + using System.Reflection; + using System.Text.RegularExpressions; + using System.Xml.Linq; + using UnityEditor; + using UnityEditor.AnimatedValues; + using UnityEngine; + + /// + /// CLog editor window to create, edit, test clog XML configuration. + /// + /// + [Serializable] + public class CLogEditor : EditorWindow + { + #region const fields + // Default configuration file created upon user request + // The CLog standard namespace is xmlns=""http://www.clog-project.org/schemas/CLog.xsd"" xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" + private const string DefaultConfig = @" + + + + + "; + + // Tooltip for config file selection GUI + private const string ConfigTooltip = "Fixed location of CLog XML configuration file. The GUI controls below provide the means to modify the XML indirectly (recommended) and directly (XML Viewer). The CLog framework is solely configured by reading the configuration XML resource file at runtime, leaving it completely independent from the Unity Editor."; + // Tooltip for Source/DLL selection GUI + private const string SourceTooltip = @"Specifies if CLog DLLs (recommended) or Source Code is used during compilation. DLLs compile faster and enable double-click of log messages to bring up corresponding IDE editor line. Source code allows you to investigate, modify, and extend the inner workings of CLog."; + // Tooltip for platform selection GUI + private const string PlatformsTooltip = @"Specifies which Unity platforms builds include CLog logging. Logging statements on unselected platforms will be compiled out of existence. To select additional platforms at least one Build level must be selected. Note the standalone editor platform is required."; + // Tooltip for global level selection GUI + private const string BuildLevelsTooltip = @"Specifies which logging levels are included in Unity builds. Logging statements using unselected levels will be compiled out of existence."; + // Tooltip for Internal Level selection GUI + private const string InternalLevelsTooltip = @"Specifies which logging levels are enabled for CLog internal messages (Debug feature)."; + // Tooltip for CLog internal debug GUI + private const string TooltipCLogDebugTooltip = @"Provides extra options and features to help debug CLog. Useful in diagnosing configuration issues or for developing extensions."; + #endregion + + #region private fields + private XNamespace DefaultNamespace; + private Dictionary foldoutStates; + private Dictionary showAdvancedTarget; + private bool IsConfigLoaded = false; + private bool IsConfigValid = false; + private IEnumerable clogNodes = Enumerable.Empty().ToList(); + private LibSource clogSource; + private bool testFoldoutSaveState; + private bool targetsFoldoutSaveState; + private bool xmlFoldoutSaveState; + private AnimBool testFoldoutState = new AnimBool(false); + private AnimBool targetsFoldoutState = new AnimBool(true); + private AnimBool xmlFoldoutState = new AnimBool(false); + private string storedConfig; + private Rect targetMenuRect = new Rect(); + private LogLevels testLogLevels = LogLevels.Everything; + private IEnumerable targetsXElements; + private Dictionary adapterTypeByAttribute; + private IEnumerable targetXElements; + private IEnumerable rootTargetXElements; + private GameObject testContext; + private string testLoggerName = "MyLoggerName"; + private string testMessage = "CLog test message"; + private bool testHasException; + private XDocument xDocument; + private string xmlEditorText; + private PluginImporter clogImporter; + private IEnumerable aiUnityImporters; + private IEnumerable adapterImporters; + private Vector2 scrollPos = Vector2.zero; + private List targetFoldoutSaveStates; + private HashSet IncludeDefines; + private HashSet ExcludeDefines; + private PlatformEnumFlagWrapper buildTargetGroupFlagWrapper; + + #endregion + + #region private properties + /// + /// Internal logger singleton + /// + private static IInternalLogger Logger { get { return CLogInternalLogger.Instance; } } + + /// + /// Gets a value indicating whether this instance is c log DLL. + /// + private bool IsCLogDll { + get { return this.clogSource == LibSource.Dll; } + } + + /// + /// Gets the clog node. + /// + private XElement CLogNode { + get { return this.clogNodes.FirstOrDefault(); } + } + + /// + /// Gets the targets XElement. + /// + private XElement TargetsXElement { + get { return this.targetsXElements.FirstOrDefault(); } + } + + #endregion + + #region private methods + /// + /// Unity Menu entry to launch clog editor control window. + /// + [MenuItem("Tools/AiUnity/CLog/Control Panel")] + private static void ControlPanelMenu() + { + EditorWindow.GetWindow("CLog"); + } + + /// + /// Unity Menu entry to launch AiUnity forums website. + /// + [MenuItem("Tools/AiUnity/CLog/Forums")] + private static void ForumsMenu() + { + Application.OpenURL("https://forum.aiunity.com/categories"); + } + + /// + /// Unity Menu entry to launch clog help website. + /// + [MenuItem("Tools/AiUnity/CLog/Help")] + private static void HelpMenu() + { + Application.OpenURL("http://aiunity.com/products/clog"); + } + + /// + /// Implicitly called by Unity for post serialization initialization + /// + private void OnEnable() + { + name = "CLogConfigWindow"; + PlayerPrefs.SetInt("AiUnityIsProSkin", Convert.ToInt32(EditorGUIUtility.isProSkin)); + + // Used to hold GUI foldout state + this.testFoldoutState = new AnimBool(this.testFoldoutSaveState); + this.targetsFoldoutState = new AnimBool(this.targetsFoldoutSaveState); + this.xmlFoldoutState = new AnimBool(this.xmlFoldoutSaveState); + + // Repaint GUI as foldout animated boolean changes to produce smooth visual effect. + this.testFoldoutState.valueChanged.AddListener(Repaint); + this.targetsFoldoutState.valueChanged.AddListener(Repaint); + this.xmlFoldoutState.valueChanged.AddListener(Repaint); + + this.clogNodes = Enumerable.Empty().ToList(); + this.foldoutStates = new Dictionary(); + this.showAdvancedTarget = new Dictionary(); + this.adapterTypeByAttribute = new Dictionary(); + this.buildTargetGroupFlagWrapper = new PlatformEnumFlagWrapper(); + this.storedConfig = string.Empty; + this.IsConfigLoaded = false; + this.IsConfigValid = false; + this.xDocument = null; + + this.IncludeDefines = new HashSet(); + this.ExcludeDefines = new HashSet(); + + SetupPlatforms(); + SetupImporters(); + ReflectAssembly(); + CheckConfig(); + } + + /// + /// Check for the existence of a single CLog configuration file + /// + void CheckConfig() + { + string[] guids = AssetDatabase.FindAssets(CLogConfigFile.Instance.NameWithoutExtension + " t:TextAsset", null); + IEnumerable ConfigNames = guids.Select(g => AssetDatabase.GUIDToAssetPath(g)).Where(p => p.Contains("Resources") && p.EndsWith("xml")); + + if (ConfigNames.Count() > 1) + { + Logger.Error("Multiple CLog config files found under \"Resources\" directories:" + Environment.NewLine + string.Join(Environment.NewLine, ConfigNames.ToArray())); + } + } + + /// + /// Implicitly called by Unity to draw Window GUI + /// + private void OnGUI() + { + EditorStyles.textField.wordWrap = true; + EditorGUILayout.Space(); + EditorGUIUtility.labelWidth = 100f; + + DrawConfigGUI(); + DrawEditorSeparator(); + + DrawTesterGUI(); + DrawEditorSeparator(); + this.scrollPos = EditorGUILayout.BeginScrollView(this.scrollPos, false, false); + + if (this.xDocument != null) + { + EditorGUI.BeginDisabledGroup(!this.IsConfigValid); + + DrawTargetsGUI(); + DrawEditorSeparator(); + + EditorGUI.EndDisabledGroup(); + } + + if (this.IsConfigLoaded) + { + DrawXmlViewerGUI(); + } + EditorGUILayout.EndScrollView(); + } + + /// + /// Draw the Configuration section of the editor GUI + /// + private void DrawConfigGUI() + { + // Refresh Config FileInfo in case it has been altered externally + CLogConfigFile.Instance.FileInfo.Refresh(); + + // Create config GUI + EditorGUILayout.BeginHorizontal(); + GUIContent configFileLabel = new GUIContent("Config File", ConfigTooltip); + EditorGUI.BeginDisabledGroup(true); + int configWidth = Math.Max(350, CLogConfigFile.Instance.RelativeNameWithoutExtension.Length * 10); //nnn + EditorGUILayout.TextField(configFileLabel, CLogConfigFile.Instance.RelativeNameWithoutExtension, GUILayout.MinWidth(configWidth)); + EditorGUI.EndDisabledGroup(); + + // Mark config as not loaded if file is missing + if (!CLogConfigFile.Instance.FileInfo.Exists) + { + this.IsConfigLoaded = false; + this.IsConfigValid = false; + this.xDocument = null; + } + else if (!this.IsConfigLoaded) + { + LoadParseXML(); + } + + // Create option to create config file if not loaded + EditorGUI.BeginDisabledGroup(this.IsConfigLoaded); + if (GUILayout.Button(string.Empty, CustomEditorStyles.PlusIconStyle)) + { + LoadParseXML(DefaultConfig); + SaveXML(); + } + EditorGUI.EndDisabledGroup(); + + // Create option to delete config file if loaded + EditorGUI.BeginDisabledGroup(!this.IsConfigLoaded); + if (GUILayout.Button(string.Empty, CustomEditorStyles.MinusIconStyle)) + { + DeleteXML(); + } + EditorGUI.EndDisabledGroup(); + + GUILayout.FlexibleSpace(); + if (GUILayout.Button(string.Empty, CustomEditorStyles.HelpIconStyle)) + { + Application.OpenURL("http://aiunity.com/products/clog/manual#gui-config-file"); + } + EditorGUILayout.EndHorizontal(); + + if (!this.IsConfigLoaded) + { + EditorGUILayout.HelpBox("To configure CLog create a CLog.xml configuration file by clicking the + sign above. The GUI controls below will then allow you to fully customize CLog. In the absence of a configuration file the CLog framework will log Fatal, Error, and Warning messages with a default layout to UnityConsole. Note the CLog framework is solely configured by reading the configuration XML resource file at runtime, leaving it completely independent from the Unity Editor.", MessageType.Info); + } + + EditorGUI.BeginChangeCheck(); + + // Create config source GUI + GUIContent clogSourceContent = new GUIContent("Source", SourceTooltip); + this.clogSource = (LibSource)EditorGUILayout.EnumPopup(clogSourceContent, this.clogSource); + + // Create config platforms GUI + GUIContent buildPlatformsContent = new GUIContent("Platforms", PlatformsTooltip); + this.buildTargetGroupFlagWrapper.EnumFlags = EditorGUILayout.MaskField(buildPlatformsContent, this.buildTargetGroupFlagWrapper.EnumFlags, this.buildTargetGroupFlagWrapper.EnumNames.ToArray()); + this.buildTargetGroupFlagWrapper.Add(BuildTargetGroup.Standalone); + + // Create config build log levels GUI + GUIContent buildLevelsContent = new GUIContent("Build levels", BuildLevelsTooltip); + IEnumerable buildLevelDefines = PlayerSettings.GetScriptingDefineSymbolsForGroup(BuildTargetGroup.Standalone).Split(';') + .Select(d => d.Trim()).Where(d => d.StartsWith("CLOG_")).Select(d => d.Substring(5).Replace("ALL", "EVERYTHING").ToLower().UppercaseLetter()) + .Where(d => Enum.GetNames(typeof(LogLevels)).Contains(d)); + LogLevels buildLevelsImport = string.Join(", ", buildLevelDefines.ToArray()).ToEnum(); + LogLevels buildLevels = (LogLevels)EditorGUILayout.EnumFlagsField(buildLevelsContent, buildLevelsImport); + + // Source switch requires updates to dll plugin importer and preprocessor defines + if (EditorGUI.EndChangeCheck() || AutoSourceDetect()) + { + Logger.Info("CLog initiating recompile due to changes in DLL importers and Preprocessor defines."); + + // Save XML changes which would be lost due to recompile + SaveXML(); + + // Enable/Disable CLog PlugIn based upon settings + foreach (PluginImporter pluginImporter in this.aiUnityImporters) + { + if (pluginImporter.GetCompatibleWithAnyPlatform() != IsCLogDll || pluginImporter.GetCompatibleWithEditor() != IsCLogDll) + { + Logger.Info("Setting {0} plugin enable={1}", pluginImporter.assetPath, IsCLogDll); + try + { + pluginImporter.SetCompatibleWithAnyPlatform(IsCLogDll); + pluginImporter.SetCompatibleWithEditor(IsCLogDll); + } + catch (Exception ex) + { + Logger.Error(ex, "Failed to configure DLL importer={0}", pluginImporter.assetPath); + } + } + } + + // Enable/Disable PlugIns based upon settings and dependencies + foreach (var adapterImporter in this.adapterImporters) + { + string targetDll = Path.GetFileName(adapterImporter.assetPath).Replace("Adapter", string.Empty); + PluginImporter targetImporter = PluginImporter.GetAllImporters().FirstOrDefault(p => p.assetPath.EndsWith(targetDll)); + bool enableAdapter = IsCLogDll && targetImporter != null && targetImporter.GetCompatibleWithAnyPlatform(); + adapterImporter.SetCompatibleWithAnyPlatform(enableAdapter); + } + //buildTargetGroupFlagWrapper.EnumValues + foreach (BuildTargetGroup buildTargetGroup in this.buildTargetGroupFlagWrapper.EnumValues.Where(e => e != BuildTargetGroup.Unknown)) + { + List initialDefines = PlayerSettings.GetScriptingDefineSymbolsForGroup(buildTargetGroup).Split(';').Select(d => d.Trim()).Where(d => d != string.Empty).ToList(); + List revisedDefines = new List(initialDefines); + + // Purge existing CLog preprocessor defines + foreach (string define in initialDefines) + { + if (define.Equals("AIUNITY_CODE") || define.StartsWith("CLOG_") || this.ExcludeDefines.Contains(define)) + { + revisedDefines.Remove(define); + } + } + + // Establish CLOG_ preprocessor define to indicate log levels enabled. + if (this.buildTargetGroupFlagWrapper.Has(buildTargetGroup)) + { + // Establish AIUNITY_CODE preprocessor define to indicate if Source Code active + if (!IsCLogDll) + { + revisedDefines.Add("AIUNITY_CODE"); + } + + // Add custom defines that is based of GUI selections + revisedDefines.AddRange(this.IncludeDefines); + + if (buildLevels == LogLevels.Everything) + { + revisedDefines.Add("CLOG_ALL"); + } + else + { + foreach (LogLevels globalLevel in buildLevels.GetFlags()) + { + revisedDefines.Add("CLOG_" + globalLevel.ToString().ToUpper()); + } + } + } + + if (!Enumerable.SequenceEqual(initialDefines.OrderBy(t => t), revisedDefines.OrderBy(t => t))) + { + try + { + // Persist preprocessor defines to Unity + Logger.Debug("Updated {0} defines New={1}{3}Old={2}", buildTargetGroup.ToString(), string.Join(";", revisedDefines.ToArray()), string.Join(";", initialDefines.ToArray()), Environment.NewLine); + PlayerSettings.SetScriptingDefineSymbolsForGroup(buildTargetGroup, string.Join(";", revisedDefines.ToArray())); + } + catch (Exception ex) + { + Logger.Error(ex, "Failed to set preprocessor defines for platform={0}.", buildTargetGroup); + } + } + } + + foreach (PluginImporter pluginImporter in this.aiUnityImporters) + { + pluginImporter.SaveAndReimport(); + } + } + + GUIContent internalLevelsContent = new GUIContent("Internal levels", InternalLevelsTooltip); + Logger.InternalLogLevel = (LogLevels)EditorGUILayout.EnumFlagsField(internalLevelsContent, Logger.InternalLogLevel); + + // Create assert raise exception GUI + bool result = false; + GUIContent assertExceptionContent = new GUIContent("Assert raise", "Determine if failing CLog assertions should raise an exception."); + XAttribute assertExceptionAttribute = CLogNode != null ? CLogNode.Attribute("assertException") : null; + bool assertExceptionImport = assertExceptionAttribute != null && bool.TryParse(assertExceptionAttribute.Value, out result) && result; + bool assertException = EditorGUILayout.Toggle(assertExceptionContent, assertExceptionImport); + UpdateAttribute(CLogNode, "assertException", assertException.ToString(), "False"); + + if (this.buildTargetGroupFlagWrapper.EnumFlags == buildTargetGroupFlagWrapper.EnumValueToFlag[BuildTargetGroup.Standalone]) + { + EditorGUILayout.HelpBox("With \"Platforms\" set to Standalone, log messages on other platforms will be compile out of design.", MessageType.Info); + } + if (buildLevels == 0) + { + EditorGUILayout.HelpBox("With \"Build levels\" set to Nothing, all log messages will be compiled out of design.", MessageType.Info); + } + } + + /// + /// Draw the Tester section of the editor GUI + /// + /// + /// Inner Exception test message. + /// or + /// Outer Exception test message. + /// + private void DrawTesterGUI() + { + // Create test logger foldout GUI + EditorGUILayout.BeginHorizontal(); + GUIContent testFoldoutContent = new GUIContent(string.Format("Test Logger ({0})", this.testLoggerName), "Use the test logger to validate your configuration"); + GUIStyle testStyle = new GUIStyle(EditorStyles.foldout); + testStyle.margin.right = (int)testStyle.CalcSize(testFoldoutContent).x - 45; + testStyle.stretchWidth = false; + + this.testFoldoutState.target = EditorGUILayout.Foldout(this.testFoldoutState.target, testFoldoutContent, testStyle); + + // Create test logger play GUI + Texture2D playImage = EditorGUIUtility.Load(EditorGUIUtility.isProSkin ? "d_PlayButton" : "PlayButton") as Texture2D; + GUIStyle playStyle = new GUIStyle(EditorStyles.miniButton) { padding = new RectOffset(1, 1, 1, 1) }; + + // Create and run test log messages upon user request + if (GUILayout.Button(playImage, playStyle, GUILayout.Width(20), GUILayout.Height(15))) + { + SaveXML(); + CLogger testLogger = CLogManager.Instance.GetLogger(this.testLoggerName, this.testContext); + + Exception testException = null; + if (this.testHasException) + { + try { throw new Exception("Inner Exception test message."); } + catch (Exception innerException) + { + try { throw new Exception("Outer Exception test message.", innerException); } + catch (Exception outerException) { testException = outerException; } + } + } + + if (this.testLogLevels.Has(LogLevels.Assert)) + { + testLogger.Assert(testException, this.testMessage); + } + if (this.testLogLevels.Has(LogLevels.Fatal)) + { + testLogger.Fatal(testException, this.testMessage); + } + if (this.testLogLevels.Has(LogLevels.Error)) + { + testLogger.Error(testException, this.testMessage); + } + if (this.testLogLevels.Has(LogLevels.Warn)) + { + testLogger.Warn(testException, this.testMessage); + } + if (this.testLogLevels.Has(LogLevels.Info)) + { + testLogger.Info(testException, this.testMessage); + } + if (this.testLogLevels.Has(LogLevels.Debug)) + { + testLogger.Debug(testException, this.testMessage); + } + if (this.testLogLevels.Has(LogLevels.Trace)) + { + testLogger.Trace(testException, this.testMessage); + } + } + GUILayout.FlexibleSpace(); + if (GUILayout.Button(string.Empty, CustomEditorStyles.HelpIconStyle)) + { + Application.OpenURL("http://aiunity.com/products/clog/manual#gui-test-logger"); + } + EditorGUILayout.EndHorizontal(); + + // Fade section of Test Logger GUI section + if (EditorGUILayout.BeginFadeGroup(this.testFoldoutState.faded)) + { + EditorGUI.indentLevel++; + + // Create test logger preview GUI + List logCommands = new List(); + foreach (LogLevels testLogLevelFlag in this.testLogLevels.GetFlags()) + { + string assertArgument = testLogLevelFlag == LogLevels.Assert ? "false, " : string.Empty; + logCommands.Add(string.Format("logger.{0}({1}\"{2}\")", testLogLevelFlag, assertArgument, this.testMessage)); + } + if (logCommands.Any()) + { + GUIStyle PreviewStyle = new GUIStyle(EditorStyles.label) { wordWrap = true }; + EditorGUILayout.LabelField("Preview", string.Join(Environment.NewLine, logCommands.ToArray()), PreviewStyle); + EditorGUILayout.Space(); + } + + // Create test logger configuration parameter GUIs + GUIContent testLoggerNameContent = new GUIContent("Name", "Name of logger to be tested. In code the logger name can be set at logger instantiation or defaults to class name."); + this.testLoggerName = EditorGUILayout.TextField(testLoggerNameContent, this.testLoggerName); + GUIContent testContextContent = new GUIContent("Context", "GameObject associated with log message (Optional). The gameObject gains focus when console log message is double clicked."); + this.testContext = EditorGUILayout.ObjectField(testContextContent, this.testContext, typeof(GameObject), true) as GameObject; + GUIContent testLevelsContent = new GUIContent("Levels", "A test log statement is generated for each selected level."); + this.testLogLevels = (LogLevels)EditorGUILayout.EnumFlagsField(testLevelsContent, this.testLogLevels); + GUIContent testMessageContent = new GUIContent("Message", "The message body of the test log statement."); + this.testMessage = EditorGUILayout.TextField(testMessageContent, this.testMessage); + GUIContent testHasExceptionContent = new GUIContent("Exception", "Add a test exception to the logging statements."); + this.testHasException = EditorGUILayout.Toggle(testHasExceptionContent, this.testHasException); + + EditorGUI.indentLevel--; + } + EditorGUILayout.EndFadeGroup(); + + // Transform foldout State to a simple bool list that can be serialized + this.testFoldoutSaveState = this.testFoldoutState.value; + } + + /// + /// Draw the Targets section of the editor GUI + /// + private void DrawTargetsGUI() + { + // Create targets foldout GUI + EditorGUILayout.BeginHorizontal(); + GUIContent targetsFoldoutContent = new GUIContent("Targets"); + GUIStyle targetsStyle = new GUIStyle(EditorStyles.foldout); + targetsStyle.margin.right = (int)targetsStyle.CalcSize(targetsFoldoutContent).x - 45; + targetsStyle.stretchWidth = false; + + this.targetsFoldoutState.target = EditorGUILayout.Foldout(this.targetsFoldoutState.target, targetsFoldoutContent, targetsStyle); + bool addTarget = GUILayout.Button(string.Empty, CustomEditorStyles.PlusIconStyle); + + // During GUI repaint phase find and use location of last control to place generic menu + if (Event.current.type == EventType.Repaint) + { + this.targetMenuRect = GUILayoutUtility.GetLastRect(); + } + if (addTarget) + { + GenericMenu targetMenu = CreateTargetMenu(); + targetMenu.DropDown(this.targetMenuRect); + } + + GUILayout.FlexibleSpace(); + if (GUILayout.Button(string.Empty, CustomEditorStyles.HelpIconStyle)) + { + Application.OpenURL("http://aiunity.com/products/clog/manual#targets"); + } + EditorGUILayout.EndHorizontal(); + + // Fade section of Targets GUI section + if (EditorGUILayout.BeginFadeGroup(this.targetsFoldoutState.faded)) + { + DrawTargetGUI(this.rootTargetXElements.ToList()); + } + EditorGUILayout.EndFadeGroup(); + + // Transform foldoutStates to a simple bool list that can be serialized + this.targetsFoldoutSaveState = this.targetsFoldoutState.value; + this.targetFoldoutSaveStates = this.foldoutStates.Where(x => x.Key.Name.LocalName.Equals("target")).Select(x => x.Value.value).ToList(); + } + + /// + /// Draws the target GUI. + /// + /// The target x elements. + private void DrawTargetGUI(List targetXElements) + { + int targetBaseIndexLevel = EditorGUI.indentLevel; + + foreach (XElement targetElement in targetXElements.ToList()) + { + + // Fade target when parent state is faded + XAttribute typeAttribute = targetElement.GetOrSetAttribute("type", "UnityConsole"); + XAttribute nameAttribute = targetElement.GetOrSetAttribute("name", typeAttribute.Value); + + // EditorGUI.indentLevel = targetBaseIndexLevel + targetElement.AncestorsAndSelf(DefaultNamespace + "target").Count(); + EditorGUI.indentLevel = targetElement.AncestorsAndSelf(this.DefaultNamespace + "target").Count(); + + // Create target foldout GUI + EditorGUILayout.BeginHorizontal(); + GUIStyle targetStyle = new GUIStyle(EditorStyles.foldout); + GUIContent targetFoldoutContent = new GUIContent(string.Format("", nameAttribute.Value, typeAttribute.Value)); + targetStyle.margin.right = (int)targetStyle.CalcSize(targetFoldoutContent).x + (12 * EditorGUI.indentLevel) - 40; + targetStyle.stretchWidth = false; + + this.foldoutStates[targetElement].target = EditorGUILayout.Foldout(this.foldoutStates.GetOrAdd(targetElement).target, targetFoldoutContent, targetStyle); + + if (this.adapterTypeByAttribute.Any(p => p.Key.IsWrapper)) + { + bool addSubTarget = GUILayout.Button(string.Empty, CustomEditorStyles.PlusIconStyle); + + // During GUI repaint phase find and use location of last control to place generic menu + if (Event.current.type == EventType.Repaint) + { + this.targetMenuRect = GUILayoutUtility.GetLastRect(); + } + if (addSubTarget) + { + GenericMenu targetMenu = CreateTargetMenu(targetElement); + targetMenu.DropDown(this.targetMenuRect); + } + } + + + if (GUILayout.Button(string.Empty, CustomEditorStyles.MinusIconStyle)) + { + RemoveFoldoutXElement(targetElement); + continue; + //return; + } + GUILayout.FlexibleSpace(); + + if (GUILayout.Button(string.Empty, CustomEditorStyles.CSScriptIconStyle)) + { + string guid = AssetDatabase.FindAssets(typeAttribute.Value).FirstOrDefault(); + if (!string.IsNullOrEmpty(guid)) + { + string assetPath = Application.dataPath.Remove(Application.dataPath.Length - 6) + AssetDatabase.GUIDToAssetPath(guid); + InternalEditorUtility.OpenFileAtLineExternal(assetPath, 0); + } + else + { + EditorUtility.DisplayDialog("Missing Asset", string.Format("Unable to find \"{0}\" script.", typeAttribute.Value), "Ok"); + } + } + + // Create GUI control to move target up + EditorGUI.BeginDisabledGroup(!(targetElement.PreviousNode is XElement)); + if (GUILayout.Button("Up", EditorStyles.miniButton)) + { + targetElement.MoveElementUp(); + } + EditorGUI.EndDisabledGroup(); + + // Create GUI control to move target down + EditorGUI.BeginDisabledGroup(!(targetElement.NextNode is XElement)); + if (GUILayout.Button("Down", EditorStyles.miniButton)) + { + targetElement.MoveElementDown(); + } + EditorGUI.EndDisabledGroup(); + + if (GUILayout.Button(string.Empty, CustomEditorStyles.HelpIconStyle)) + { + string anchor = Regex.Replace(typeAttribute.Value, @"(?<=.)([A-Z])", @"-$1").ToLower(); + Application.OpenURL("http://aiunity.com/products/clog/manual#" + anchor); + } + + EditorGUILayout.EndHorizontal(); + + // Fade section of Target GUI section + if (EditorGUILayout.BeginFadeGroup(this.foldoutStates[targetElement].faded)) + { + EditorGUI.indentLevel++; + IEnumerable targetPropertyInfos = GetTargetPropertyInfo(typeAttribute.Value).Where(p => p.GetAttribute() != null).OrderBy(p => p.DeclaringType.GetInheritanceDepth()).ThenBy(p => p.GetAttribute().Order).ThenBy(p => p.GetAttribute().DisplayName).ThenBy(p => p.Name).ToList(); + + // Increase labelWidth if a target property name exceeds standard label space + int maxPropertyLength = targetPropertyInfos + .Select(p => (int)targetStyle.CalcSize(new GUIContent(p.GetAttribute().DisplayName ?? p.Name)).x).DefaultIfEmpty(0).Max(); + + float labelOffset = Math.Min(Math.Max(100f, maxPropertyLength), 150f); + EditorGUIUtility.labelWidth = labelOffset + EditorGUI.indentLevel * 20; + + // Create target name GUI + GUIContent nameContent = new GUIContent("Name", "Name used to reference this target."); + string nameAttributeValue = EditorGUILayout.TextField(nameContent, nameAttribute.Value, GUILayout.ExpandWidth(true)); + UpdateAttribute(targetElement, "name", nameAttributeValue); + + // Create target type GUI + EditorGUI.BeginDisabledGroup(true); + GUIContent typeContent = new GUIContent("Type", "Immutable type of this target."); + typeAttribute.Value = EditorGUILayout.TextField(typeContent, typeAttribute.Value, GUILayout.ExpandWidth(true)); + EditorGUI.EndDisabledGroup(); + + // Create target platforms GUI + /*XAttribute runPlatformAttribute = targetElement.Attribute("platforms"); + RuntimePlatforms defaultRunPlatforms = RuntimePlatforms.Everything; + RuntimePlatforms runPlatforms = runPlatformAttribute != null ? runPlatformAttribute.Value.ToEnum() : defaultRunPlatforms; + GUIContent platformsContent = new GUIContent("Platforms", "Platforms that will be logged by this target."); + runPlatforms = (RuntimePlatforms)EditorGUILayout.EnumFlagsField(platformsContent, runPlatforms); + string platformsUpdate = runPlatforms.Equals(RuntimePlatforms.Everything) ? "Everything" : string.Join(", ", runPlatforms.GetFlags().Select(p => p.ToString()).ToArray()); + UpdateAttribute(targetElement, "platforms", platformsUpdate, defaultRunPlatforms.ToString());*/ + XAttribute runPlatformAttribute = targetElement.Attribute("platforms"); + PlatformEnumFlagWrapper runtimePlatformFlagWrapper = runPlatformAttribute != null ? runPlatformAttribute.Value : "Everything"; + GUIContent platformsContent = new GUIContent("Platforms", "Platforms that will be logged by this target."); + runtimePlatformFlagWrapper.EnumFlags = EditorGUILayout.MaskField(platformsContent, runtimePlatformFlagWrapper.EnumFlags, runtimePlatformFlagWrapper.EnumNames.ToArray()); + UpdateAttribute(targetElement, "platforms", runtimePlatformFlagWrapper.ToString(), "Everything"); + + //EditorGUILayout.Space(); + IEnumerable basicPropertyInfos = targetPropertyInfos.Where(p => !p.GetAttribute().Advanced); + DrawTargetProperties(targetElement, basicPropertyInfos); + + IEnumerable advancedPropertyInfos = targetPropertyInfos.Where(p => p.GetAttribute().Advanced); + if (advancedPropertyInfos.Any()) + { + GUIContent advanceContent = new GUIContent("Advance options"); + GUIStyle advanceStyle = new GUIStyle(EditorStyles.foldout); + bool showFoldout = this.showAdvancedTarget.GetOrAdd(targetElement, new AnimBool(true)).target; + this.showAdvancedTarget[targetElement].target = EditorGUILayout.Foldout(showFoldout, advanceContent, advanceStyle); + + if (EditorGUILayout.BeginFadeGroup(this.showAdvancedTarget[targetElement].faded)) + { + DrawTargetProperties(targetElement, advancedPropertyInfos); + } + EditorGUILayout.EndFadeGroup(); + } + + if (targetElement.Elements().Any()) + { + EditorGUILayout.Space(); + //DrawTargetGUI(targetElement.Elements().ToList()); + DrawTargetGUI(targetElement.Elements(this.DefaultNamespace + "target").ToList()); + } + } + EditorGUILayout.EndFadeGroup(); + EditorGUI.indentLevel = targetBaseIndexLevel; + } + } + + /// + /// Draws the target properties. + /// + /// The target element. + /// The property infos. + private void DrawTargetProperties(XElement targetElement, IEnumerable propertyInfos) + { + Type declareType = null; + + // Create target customer editor controls by reflecting over target type properties + foreach (PropertyInfo targetPropertyInfo in propertyInfos) + { + if (declareType != null && targetPropertyInfo.DeclaringType != declareType) + { + EditorGUILayout.Space(); + } + declareType = targetPropertyInfo.DeclaringType; + + string targetPropertyName = targetPropertyInfo.Name.LowercaseLetter(); + string targetDisplayName = targetPropertyInfo.GetAttribute().DisplayName ?? targetPropertyName; + + XAttribute targetXAttribute = targetElement.Attribute(targetPropertyName); + string defaultXAttributeValue = targetPropertyInfo.GetAttributes().Select(v => v.Value.ToString()).DefaultIfEmpty(string.Empty).FirstOrDefault(); + string targetXAttributeValue = targetXAttribute != null ? targetXAttribute.Value : defaultXAttributeValue; + + GUIContent targetContent = new GUIContent(targetDisplayName, targetPropertyInfo.GetAttribute().Tooltip); + targetXAttributeValue = CreateTypeBasedGUI(targetPropertyInfo.PropertyType, targetXAttributeValue, targetContent); + UpdateAttribute(targetElement, targetPropertyName, targetXAttributeValue, defaultXAttributeValue); + } + } + + /// + /// Draw the XML Viewer section of the editor GUI + /// + private void DrawXmlViewerGUI() + { + EditorGUILayout.BeginHorizontal(); + GUIStyle xmlStyle = new GUIStyle(EditorStyles.foldout); + xmlStyle.onNormal.textColor = this.IsConfigValid ? EditorStyles.foldout.onNormal.textColor : Color.red; + + this.xmlFoldoutState.target = EditorGUILayout.Foldout(this.xmlFoldoutState.target, "XML Viewer", xmlStyle); + + if (GUILayout.Button(string.Empty, CustomEditorStyles.HelpIconStyle)) + { + Application.OpenURL("http://aiunity.com/products/clog/manual#gui-xml-viewer"); + } + EditorGUILayout.EndHorizontal(); + + // Fade section of XML Viewer GUI section + if (EditorGUILayout.BeginFadeGroup(this.xmlFoldoutState.faded)) + { + if (this.IsConfigValid && !GUI.GetNameOfFocusedControl().Equals("XMLViewer")) + { + this.xmlEditorText = this.xDocument.ToString(); + } + + EditorGUI.BeginChangeCheck(); + GUI.SetNextControlName("XMLViewer"); + this.xmlEditorText = EditorGUILayout.TextArea(this.xmlEditorText); + if (EditorGUI.EndChangeCheck()) + { + LoadParseXML(this.xmlEditorText); + } + } + EditorGUILayout.EndFadeGroup(); + + // Transform foldout State to a simple bool list that can be serialized + this.xmlFoldoutSaveState = this.xmlFoldoutState.value; + } + + + /// + /// Called by Unity Internals when windows loses focus + /// + private void OnLostFocus() + { + SaveXML(); + } + + /// + /// Create and Add the states of the foldout to XElement indexed Dictionary with initial states. + /// + /// Foldout X elements. + /// The initial states. + private void AddFoldoutState(IEnumerable foldoutXElements, IEnumerable initialStates = null) + { + int index = 0; + + foreach (XElement foldoutXElement in foldoutXElements) + { + bool initialState = initialStates != null && initialStates.ElementAtOrDefault(index++); + AddFoldoutState(foldoutXElement, initialState); + } + } + + /// + /// Create and Add the state of the foldout to XElement indexed Dictionary with initial state. + /// + /// Foldout X element. + /// If set to true initial state. + private void AddFoldoutState(XElement foldoutXElement, bool initialState = false) + { + this.foldoutStates.Add(foldoutXElement, CreateRepaintAnimBool(initialState)); + this.showAdvancedTarget.Add(foldoutXElement, CreateRepaintAnimBool(false)); + } + + /// + /// Adds a clog target. + /// + /// Name of the target type. + /// The reference x element. + /// if set to true [child]. + private void AddTarget(string targetTypeName, XElement referenceXElement = null, bool child = true) + { + string targetName = targetTypeName; + + for (int i = 1; i < 10; i++) + { + if (!this.targetXElements.Any(x => x.Attributes("name").Any(a => a.Value == targetName))) + { + break; + } + targetName = targetTypeName + i; + } + + Logger.Debug("Add new target name = {0} type = {1}", targetName, targetTypeName); + XElement targetXElement = new XElement(this.DefaultNamespace + "target", new XAttribute("name", targetName), new XAttribute("type", targetTypeName), new XAttribute("platforms", "Everything"), new XAttribute("logLevels", "Everything")); + + if (referenceXElement != null) + { + if (child) + { + referenceXElement.Add(targetXElement); + } + else + { + referenceXElement.AddAfterSelf(targetXElement); + referenceXElement.Remove(); + targetXElement.Add(referenceXElement); + } + } + else + { + if (TargetsXElement != null) + { + TargetsXElement.Add(targetXElement); + } + else + { + if (CLogNode != null) + { + CLogNode.Add(new XElement(this.DefaultNamespace + "targets")); + TargetsXElement.Add(targetXElement); + } + } + } + AddFoldoutState(targetXElement); + } + + /// + /// Creates an animation bool that also triggers GUI Repaint. + /// + /// If set to true initial state. + /// The repaint animation bool. + private AnimBool CreateRepaintAnimBool(bool initialState) + { + AnimBool animBool = new AnimBool(initialState); + animBool.valueChanged.AddListener(Repaint); + return animBool; + } + + /// + /// Creates the target menu used to display available targets. + /// + /// The reference x element. + /// GenericMenu. + private GenericMenu CreateTargetMenu(XElement referenceXElement = null) + { + GenericMenu targetMenu = new GenericMenu(); + + bool isWrapperReference = referenceXElement != null && referenceXElement.Attribute("type") != null && this.adapterTypeByAttribute.Any(p => p.Key.IsWrapper && p.Key.DisplayName.Equals(referenceXElement.Attribute("type").Value)); + + if (referenceXElement == null || isWrapperReference) + { + foreach (KeyValuePair target in this.adapterTypeByAttribute.Where(p => !p.Key.IsWrapper && !p.Key.IsCompound)) + { + string closureTargetTypeName = target.Key.DisplayName; + targetMenu.AddItem(new GUIContent(target.Key.DisplayName), false, () => AddTarget(closureTargetTypeName, referenceXElement)); + } + if (this.adapterTypeByAttribute.Any(p => p.Key.IsWrapper || p.Key.IsCompound)) + { + targetMenu.AddSeparator(string.Empty); + } + } + + foreach (KeyValuePair target in this.adapterTypeByAttribute.Where(p => p.Key.IsWrapper && !p.Key.IsCompound)) + { + string closureTargetTypeName = target.Key.DisplayName; + targetMenu.AddItem(new GUIContent(target.Key.DisplayName), false, () => AddTarget(closureTargetTypeName, referenceXElement, false)); + } + if (this.adapterTypeByAttribute.Any(p => p.Key.IsCompound)) + { + targetMenu.AddSeparator(string.Empty); + } + + foreach (KeyValuePair target in this.adapterTypeByAttribute.Where(p => p.Key.IsCompound)) + { + string closureTargetTypeName = target.Key.DisplayName; + targetMenu.AddItem(new GUIContent(target.Key.DisplayName), false, () => AddTarget(closureTargetTypeName, referenceXElement, false)); + } + + return targetMenu; + } + + /// + /// Draw the Configuration section of the editor GUI + /// + private void DrawEditorSeparator() + { + EditorGUILayout.Space(); + GUILayout.Box(GUIContent.none, CustomEditorStyles.EditorLine, GUILayout.ExpandWidth(true), GUILayout.Height(1f)); + EditorGUILayout.Space(); + } + + /// + /// Gets the property info for the specified type. + /// + /// Name of the target type. + /// The target property info. + private IEnumerable GetTargetPropertyInfo(string targetTypeName) + { + Type adapterType = this.adapterTypeByAttribute.Where(p => p.Key.DisplayName.Equals(targetTypeName)).Select(p => p.Value).FirstOrDefault(); + + if (adapterType == null) + { + if (this.adapterTypeByAttribute.Count != 0) + { + Logger.Error("Unable to find CLog Target Type={0} as specified in {1}", targetTypeName, CLogConfigFile.Instance.FileInfo.FullName); + } + return Enumerable.Empty(); + } + return adapterType.GetProperties(BindingFlags.Public | BindingFlags.Instance | BindingFlags.SetProperty); + } + + /// + /// Load and parse the configuration XML file. + /// + private void LoadParseXML() + { + LoadXML(); + if (this.IsConfigValid) + { + ParseXML(); + } + } + + /// + /// Load and parse the configuration XML text. + /// + /// Xml text. + private void LoadParseXML(string xmlText) + { + LoadXML(xmlText); + if (this.IsConfigValid) + { + ParseXML(); + } + } + + /// + /// Load the configuration XML file. + /// + private void LoadXML() + { + TextAsset configXMLAsset = AssetDatabase.LoadAssetAtPath(CLogConfigFile.Instance.RelativeName); + string configText = configXMLAsset != null ? configXMLAsset.text : string.Empty; + + if (string.IsNullOrEmpty(configText)) + { + this.IsConfigLoaded = false; + this.IsConfigValid = false; + this.xDocument = null; + } + else + { + try + { + LoadXML(configText); + + this.storedConfig = this.xDocument.ToString(); + this.IsConfigLoaded = true; + this.IsConfigValid = true; + } + catch (XmlException xmlException) + { + + Logger.Error("Unable to load Config XML file = " + CLogConfigFile.Instance.RelativeName, xmlException); + this.IsConfigLoaded = true; + this.IsConfigValid = false; + this.xDocument = null; + + this.storedConfig = this.xmlEditorText = configText; + } + } + } + + /// + /// Load the configuration XML text. + /// + /// Xml text. + private void LoadXML(string xmlText) + { + try + { + this.xDocument = XDocument.Parse(xmlText); + this.IsConfigValid = true; + } + catch (XmlException) + { + this.IsConfigValid = false; + } + } + + /// + /// Parses the loaded config xDocument for elements pertaining to clog + /// + private void ParseXML() + { + if (this.xDocument != null && this.xDocument.Root != null && this.xDocument.Root.Name.LocalName.Equals("clog")) + { + this.clogNodes = this.xDocument.Root.Yield(); + } + else + { + this.clogNodes = Enumerable.Empty(); + } + + this.IsConfigValid = this.clogNodes.Count().Equals(1); + this.DefaultNamespace = this.clogNodes.Select(e => e.GetDefaultNamespace()).DefaultIfEmpty(string.Empty).FirstOrDefault(); + + this.targetsXElements = this.clogNodes.Descendants(this.DefaultNamespace + "targets"); + this.targetXElements = this.targetsXElements.Descendants(this.DefaultNamespace + "target"); + this.rootTargetXElements = this.targetsXElements.Elements(this.DefaultNamespace + "target"); + AddFoldoutState(this.targetXElements, this.targetFoldoutSaveStates); + } + + /// + /// Save the configuration XML file. + /// + private void SaveXML() + { + if (this.xDocument != null && this.IsConfigValid) + { + if (!this.xDocument.ToString().Equals(this.storedConfig)) + { + Logger.Debug("Saving XML File = {0}", CLogConfigFile.Instance.FileInfo.FullName); + this.xDocument.Save(CLogConfigFile.Instance.FileInfo.FullName); + this.storedConfig = this.xDocument.ToString(); + AssetDatabase.Refresh(); + CLogManager.Instance.Reset(); + } + } + } + + /// + /// Delete the configuration XML file. + /// + private void DeleteXML() + { + this.storedConfig = string.Empty; + this.IsConfigLoaded = false; + this.IsConfigValid = false; + this.xDocument = null; + + if (string.IsNullOrEmpty(CLogConfigFile.Instance.RelativeName)) + { + Logger.Warn("Failed to delete XML File = {0}", CLogConfigFile.Instance.FileInfo.FullName); + } + else + { + Logger.Debug("Deleting XML File = {0}", CLogConfigFile.Instance.FileInfo.FullName); + AssetDatabase.DeleteAsset(CLogConfigFile.Instance.RelativeName); + AssetDatabase.Refresh(); + } + } + + /// + /// Determine build platforms based upon preprocessor defines + /// + private void SetupPlatforms() + { + try + { + // Determine current active platforms based upon preprocessor defines + this.buildTargetGroupFlagWrapper = BuildTargetGroup.Standalone; + foreach (BuildTargetGroup buildTargetGroup in this.buildTargetGroupFlagWrapper.EnumValues) + { + //BuildTargetGroup buildTargetGroup = platformTarget.ToString().ToEnum(); + string[] defines = PlayerSettings.GetScriptingDefineSymbolsForGroup(buildTargetGroup).Split(';'); + if (defines.Any(d => d.Contains("CLOG_"))) + { + this.buildTargetGroupFlagWrapper.Add(buildTargetGroup); + } + } + /*if (EnumExtensions.GetValues().All(p => this.buildPlatforms.Has(p))) + { + this.buildPlatforms = BuildPlatforms.Everything; + }*/ + } + catch + { + Logger.Error("Failed to get preprocessor defines on platform(s): ", string.Join(Environment.NewLine, this.buildTargetGroupFlagWrapper.EnumNames.ToArray())); + } + } + + /// + /// Get CLog DLL plugin Importers + /// + private void SetupImporters() + { + // Load plugin importers related to CLog + this.aiUnityImporters = PluginImporter.GetAllImporters().Where(p => p.assetPath.Contains("/AiUnity/")); + this.clogImporter = this.aiUnityImporters.FirstOrDefault(p => p.assetPath.EndsWith("CLog.dll")); + this.adapterImporters = this.aiUnityImporters.Where(p => p.assetPath.EndsWith("CLogAdapter.dll")); + + this.clogSource = this.clogImporter != null && (this.clogImporter.GetCompatibleWithEditor()) ? LibSource.Dll : LibSource.Code; + } + + /// + /// Automatically determines Source (DLL/Code) based upon plugin importer + /// + /// true if source changed, false otherwise. + private bool AutoSourceDetect() + { + bool aiUnityCodeDefined = PlayerSettings.GetScriptingDefineSymbolsForGroup(BuildTargetGroup.Standalone).Contains("AIUNITY_CODE"); + + // Switch to CLog source code if dll plugin importers cannot be located + if (IsCLogDll) + { + if (aiUnityCodeDefined || this.clogImporter == null || (!this.clogImporter.GetCompatibleWithAnyPlatform() && !this.clogImporter.GetCompatibleWithEditor())) + { + if (EditorUtility.DisplayDialog("CLog auto source switch", "Switching to source due to DLL importer and preprocessor defines settings.", "OK", "Cancel")) + { + this.clogSource = LibSource.Code; + return true; + } + } + } + else if (!aiUnityCodeDefined || (this.clogImporter != null && (this.clogImporter.GetCompatibleWithAnyPlatform() || this.clogImporter.GetCompatibleWithEditor()))) + { + if (EditorUtility.DisplayDialog("CLog auto source switch", "Switching to DLLs due to DLL importer and preprocessor defines settings.", "OK", "Cancel")) + { + this.clogSource = LibSource.Dll; + return true; + } + } + return false; + } + + /// + /// Create Editor GUI that corresponds to propertyType + /// + /// Type of the property. + /// The target x attribute value. + /// Content of the target. + /// System.String. + private string CreateTypeBasedGUI(Type propertyType, string targetXAttributeValue, GUIContent targetContent) + { + if (propertyType.IsEnum && !string.IsNullOrEmpty(targetXAttributeValue)) + { + + Enum enumValue = targetXAttributeValue.ToEnum(propertyType); + try + { + if (propertyType.GetCustomAttributes(typeof(FlagsAttribute), true).Any()) + { + return EditorGUILayout.EnumFlagsField(targetContent, enumValue).ToString(); + } + else + { + return EditorGUILayout.EnumPopup(targetContent, enumValue).ToString(); + } + } + catch + { + return string.Empty; + } + } + else if (propertyType == typeof(Color)) + { + Color color; + ColorUtility.TryParseHtmlString(targetXAttributeValue, out color); + return "#" + ColorUtility.ToHtmlStringRGBA(EditorGUILayout.ColorField(targetContent, color)); + } + else if (typeof(UnityEngine.Object).IsAssignableFrom(propertyType)) + { + return string.Empty; + } + else + { + switch (Type.GetTypeCode(propertyType)) + { + case TypeCode.Boolean: + bool boolAttribute = false; + bool.TryParse(targetXAttributeValue, out boolAttribute); + return EditorGUILayout.Toggle(targetContent, boolAttribute).ToString(); + case TypeCode.SByte: + case TypeCode.Byte: + case TypeCode.Int16: + case TypeCode.UInt16: + case TypeCode.Int32: + case TypeCode.UInt32: + case TypeCode.Int64: + case TypeCode.UInt64: + int intAttribute; + int.TryParse(targetXAttributeValue, out intAttribute); + return EditorGUILayout.IntField(targetContent, intAttribute).ToString(); + case TypeCode.Single: + float floatAttribute; + float.TryParse(targetXAttributeValue, out floatAttribute); + return EditorGUILayout.FloatField(targetContent, floatAttribute).ToString(); + case TypeCode.Decimal: + case TypeCode.Double: + double doubleAttribute; + double.TryParse(targetXAttributeValue, out doubleAttribute); + return EditorGUILayout.DoubleField(targetContent, doubleAttribute).ToString(); + case TypeCode.Empty: + case TypeCode.Object: + case TypeCode.DBNull: + case TypeCode.DateTime: + case TypeCode.Char: + case TypeCode.String: + default: + return EditorGUILayout.TextField(targetContent, targetXAttributeValue); + } + } + } + + /// + /// Reflects relevant assemblies to discover elements used by clog. + /// + private void ReflectAssembly() + { + List searchAssemblyNames = new List() { "Assembly-CSharp", Assembly.GetExecutingAssembly().GetName().Name, "CLog" }; + IEnumerable searchAssemblies = AppDomain.CurrentDomain.GetAssemblies().Where(a => searchAssemblyNames.Any(t => a.FullName.StartsWith(t))); + IEnumerable adapterTypes = searchAssemblies.SelectMany(a => a.GetTypes()).Where(t => typeof(ILoggerFactoryAdapter).IsAssignableFrom(t) && !t.IsAbstract); + + foreach (Type adapterType in adapterTypes) + { + AdapterAttribute adapterAttribute = adapterType.GetCustomAttributes(typeof(AdapterAttribute), true).FirstOrDefault() as AdapterAttribute; + if (adapterAttribute != null) + { + this.adapterTypeByAttribute[adapterAttribute] = adapterType; + } + } + } + + /// + /// Removes the state of the foldout. + /// + /// Foldout XElement. + private void RemoveFoldoutState(XElement foldoutXElement) + { + if (!this.foldoutStates.Remove(foldoutXElement)) + { + Logger.Assert("Unable to Remove Target Foldout State"); + } + if (!this.showAdvancedTarget.Remove(foldoutXElement)) + { + Logger.Assert("Unable to Remove Target Advanced Foldout State"); + } + } + + /// + /// Removes the foldout XElement. + /// + /// Target XElement. + private void RemoveFoldoutXElement(XElement targetXElement) + { + Logger.Assert(targetXElement != null, "Unable to Remove Target XElement"); + + if (targetXElement != null) + { + RemoveFoldoutState(targetXElement); + targetXElement.Remove(); + } + } + + /// + /// Updates the attribute with checks. + /// + /// XElement. + /// XAttribute name. + /// XAttribute value. + /// The default x attribute value. + private void UpdateAttribute(XElement xElement, string xAttributeName, string xAttributeValue, string defaultXAttributeValue = null) + { + XAttribute xAttribute = xElement != null ? xElement.Attribute(xAttributeName) : null; + + if (xAttributeValue == null || xAttributeValue == defaultXAttributeValue) + { + if (xAttribute != null) + { + xAttribute.Remove(); + } + } + else if (xAttribute == null) + { + if (xElement != null && xAttributeValue != null) + { + xElement.Add(new XAttribute(xAttributeName, xAttributeValue)); + } + } + else + { + xAttribute.Value = xAttributeValue; + } + } + #endregion + } +} diff --git a/VXMusicOverlay/Assets/AiUnity/CLog/Examples/Scenes/CLogGameConsole.unity b/VXMusicOverlay/Assets/AiUnity/CLog/Examples/Scenes/CLogGameConsole.unity new file mode 100644 index 00000000..b7257d68 --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/CLog/Examples/Scenes/CLogGameConsole.unity @@ -0,0 +1,6327 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 8 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} +--- !u!157 &4 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 9 + m_Resolution: 2 + m_BakeResolution: 40 + m_TextureWidth: 1024 + m_TextureHeight: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 0 + m_CompAOExponentDirect: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 1024 + m_ReflectionCompression: 2 + m_MixedBakeMode: 1 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVRFilteringMode: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ShowResolutionOverlay: 1 + m_LightingDataAsset: {fileID: 0} + m_UseShadowmask: 1 +--- !u!196 &5 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &30634936 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1103015729388610, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + serializedVersion: 5 + m_Component: + - component: {fileID: 30634937} + - component: {fileID: 30634940} + - component: {fileID: 30634939} + - component: {fileID: 30634938} + m_Layer: 5 + m_Name: Close Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &30634937 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224115470410363810, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 30634936} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1183160986} + m_Father: {fileID: 469496302} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -10, y: -2} + m_SizeDelta: {x: 16, y: 16} + m_Pivot: {x: 1, y: 1} +--- !u!114 &30634938 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114477297567114222, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 30634936} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 30634939} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1386182368} + m_MethodName: SetConsoleActive + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &30634939 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114500359990243830, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 30634936} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 8ed3432d45a92404f82abf95fbb86630, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &30634940 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222028774716159838, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 30634936} +--- !u!1 &32982992 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1863156176346142, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + serializedVersion: 5 + m_Component: + - component: {fileID: 32982993} + - component: {fileID: 32982997} + - component: {fileID: 32982996} + - component: {fileID: 32982995} + - component: {fileID: 32982994} + m_Layer: 5 + m_Name: MenuButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &32982993 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224568592078528708, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 32982992} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1402902385} + m_Father: {fileID: 469496302} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: -130, y: 0} + m_SizeDelta: {x: 40, y: 25} + m_Pivot: {x: 1, y: 0.5} +--- !u!114 &32982994 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114068475612894370, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 32982992} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 505e2c4c93fffef4ba9d4709a76fa78a, type: 3} + m_Name: + m_EditorClassIdentifier: + panelOpen: 0 + MenuPanel: {fileID: 106887515} + pressedSprite: {fileID: 21300000, guid: 3bea5264413e98147a262de0fe752425, type: 3} +--- !u!114 &32982995 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114885429543733338, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 32982992} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 0 + m_Colors: + m_NormalColor: {r: 0.0941825, g: 0.9852941, b: 0.13720176, a: 1} + m_HighlightedColor: {r: 0.08326123, g: 0.748777, b: 0.8088235, a: 1} + m_PressedColor: {r: 0.9705882, g: 0, b: 0.24540347, a: 1} + m_DisabledColor: {r: 0.014705896, g: 0.013192054, b: 0.013192054, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 21300000, guid: 923610a1d2a3cf442bf3f52f671ed75a, + type: 3} + m_PressedSprite: {fileID: 21300000, guid: 3bea5264413e98147a262de0fe752425, type: 3} + m_DisabledSprite: {fileID: 21300000, guid: 3bea5264413e98147a262de0fe752425, type: 3} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 32982996} + m_OnClick: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &32982996 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114314990199878740, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 32982992} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: ecc009e2ace77c8448da40de22eb471a, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &32982997 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222436462354613840, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 32982992} +--- !u!1 &63528018 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 63528023} + - component: {fileID: 63528022} + - component: {fileID: 63528021} + - component: {fileID: 63528020} + - component: {fileID: 63528019} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &63528019 +AudioListener: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 63528018} + m_Enabled: 1 +--- !u!124 &63528020 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 63528018} + m_Enabled: 1 +--- !u!92 &63528021 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 63528018} + m_Enabled: 1 +--- !u!20 &63528022 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 63528018} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0.019607844} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 0 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &63528023 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 63528018} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &69376744 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1771139982222074, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + serializedVersion: 5 + m_Component: + - component: {fileID: 69376745} + - component: {fileID: 69376748} + - component: {fileID: 69376747} + - component: {fileID: 69376746} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &69376745 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224267709766579370, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 69376744} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2057515161} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 28, y: 0} + m_Pivot: {x: 0, y: 0.5} +--- !u!114 &69376746 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114291568191198720, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 69376744} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: 24 + m_MinHeight: -1 + m_PreferredWidth: 28 + m_PreferredHeight: -1 + m_FlexibleWidth: 0 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &69376747 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114971442194795334, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 69376744} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 10 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 0.8 + m_Text: 'Font + + Size' +--- !u!222 &69376748 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222565935254214544, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 69376744} +--- !u!1 &84913252 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1401002542317974, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + serializedVersion: 5 + m_Component: + - component: {fileID: 84913256} + - component: {fileID: 84913255} + - component: {fileID: 84913254} + - component: {fileID: 84913253} + m_Layer: 5 + m_Name: GameConsole + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &84913253 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114684052525511890, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 84913252} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1301386320, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &84913254 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114679022626306740, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 84913252} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 1 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 1024, y: 768} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 +--- !u!223 &84913255 +Canvas: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 223502652072846990, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 84913252} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &84913256 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224595991527403938, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 84913252} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 1386182367} + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!1 &95409852 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1126250500677128, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + serializedVersion: 5 + m_Component: + - component: {fileID: 95409853} + - component: {fileID: 95409857} + - component: {fileID: 95409856} + - component: {fileID: 95409855} + - component: {fileID: 95409854} + m_Layer: 5 + m_Name: Resize Zone + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &95409853 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224050222484277734, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 95409852} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 537525382} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 16, y: 16} + m_Pivot: {x: 1, y: 0} +--- !u!114 &95409854 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114863914471112370, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 95409852} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4f7c638f90596a946a7a84711652ccdf, type: 3} + m_Name: + m_EditorClassIdentifier: + maxSize: {x: 1000, y: 2000} + minSize: {x: 100, y: 200} + cursorTexture: {fileID: 2800000, guid: fdde0bfd73a80ec4597dfd3242146711, type: 3} +--- !u!114 &95409855 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114121903442953168, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 95409852} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &95409856 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114428894281307184, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 95409852} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 2 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 95409855} + m_OnClick: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!222 &95409857 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222668290256636504, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 95409852} +--- !u!1 &106887515 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1517981859059128, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + serializedVersion: 5 + m_Component: + - component: {fileID: 106887516} + - component: {fileID: 106887519} + - component: {fileID: 106887518} + - component: {fileID: 106887517} + m_Layer: 5 + m_Name: MenuPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &106887516 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224761446331303922, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 106887515} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1758849170} + - {fileID: 1754451378} + m_Father: {fileID: 620117089} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 400, y: 0} + m_SizeDelta: {x: 800, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &106887517 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114536040659857170, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 106887515} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: 30 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &106887518 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114481061768805000, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 106887515} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0.392} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &106887519 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222624755814017320, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 106887515} +--- !u!1 &152261322 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1493607779121320, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + serializedVersion: 5 + m_Component: + - component: {fileID: 152261323} + - component: {fileID: 152261325} + - component: {fileID: 152261324} + m_Layer: 5 + m_Name: Item Checkmark + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &152261323 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224262721715253852, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 152261322} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1282507685} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 10, y: 0} + m_SizeDelta: {x: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &152261324 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114014001880442722, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 152261322} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10901, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &152261325 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222087940652125458, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 152261322} +--- !u!1 &191672617 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1761037255563158, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + serializedVersion: 5 + m_Component: + - component: {fileID: 191672619} + - component: {fileID: 191672618} + - component: {fileID: 191672622} + - component: {fileID: 191672621} + - component: {fileID: 191672620} + m_Layer: 5 + m_Name: Toggle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &191672618 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114747751163941532, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 191672617} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 2109663825, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 220947556} + toggleTransition: 1 + graphic: {fileID: 1716408372} + m_Group: {fileID: 0} + onValueChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.Toggle+ToggleEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null + m_IsOn: 0 +--- !u!224 &191672619 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224576896512595952, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 191672617} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1099698728} + - {fileID: 220947553} + m_Father: {fileID: 1758849170} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 215, y: 0} + m_SizeDelta: {x: 60, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &191672620 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222226980009991872, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 191672617} +--- !u!114 &191672621 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114665917581624158, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 191672617} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -405508275, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 3 + m_Spacing: 0 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 +--- !u!114 &191672622 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114512665281416864, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 191672617} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0.39215687} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!1 &220335944 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1720860760896464, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + serializedVersion: 5 + m_Component: + - component: {fileID: 220335945} + - component: {fileID: 220335948} + - component: {fileID: 220335947} + - component: {fileID: 220335946} + m_Layer: 5 + m_Name: FilterPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &220335945 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224115582791584748, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 220335944} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1843332006} + - {fileID: 1957580267} + m_Father: {fileID: 1758849170} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 110, y: 0} + m_Pivot: {x: 0, y: 0.5} +--- !u!114 &220335946 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114289472231517072, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 220335944} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -405508275, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 3 + m_Spacing: 0 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 +--- !u!114 &220335947 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114234873916782968, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 220335944} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0.392} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &220335948 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222440912648079662, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 220335944} +--- !u!1 &220947552 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1379252118680680, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + serializedVersion: 5 + m_Component: + - component: {fileID: 220947553} + - component: {fileID: 220947555} + - component: {fileID: 220947556} + - component: {fileID: 220947554} + m_Layer: 5 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &220947553 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224570404100376090, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 220947552} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1716408374} + m_Father: {fileID: 191672619} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 50, y: 0} + m_SizeDelta: {x: 20, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &220947554 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114105338342231698, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 220947552} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: 0 + m_MinHeight: -1 + m_PreferredWidth: 20 + m_PreferredHeight: 20 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!222 &220947555 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222117722275706168, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 220947552} +--- !u!114 &220947556 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114836088847587500, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 220947552} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!1 &260964063 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1739734853988076, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + serializedVersion: 5 + m_Component: + - component: {fileID: 260964064} + - component: {fileID: 260964066} + - component: {fileID: 260964065} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &260964064 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224489401128640824, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 260964063} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 358158886} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 32, y: 32} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &260964065 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114694056207257612, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 260964063} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 16 + m_FontStyle: 1 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 42 + m_Alignment: 4 + m_AlignByGeometry: 1 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: _ +--- !u!222 &260964066 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222033555574212042, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 260964063} +--- !u!1 &358158885 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1224240710395252, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + serializedVersion: 5 + m_Component: + - component: {fileID: 358158886} + - component: {fileID: 358158889} + - component: {fileID: 358158888} + - component: {fileID: 358158887} + m_Layer: 5 + m_Name: Minimize Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &358158886 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224872682416518590, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 358158885} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 260964064} + m_Father: {fileID: 469496302} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: -70, y: 0} + m_SizeDelta: {x: 40, y: 25} + m_Pivot: {x: 1, y: 0.5} +--- !u!114 &358158887 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114490015270863964, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 358158885} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 358158888} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1386182368} + m_MethodName: MinHandlerAnimate + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 2 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 1 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &358158888 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114175940162561926, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 358158885} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: ecc009e2ace77c8448da40de22eb471a, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &358158889 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222557410622041120, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 358158885} +--- !u!1 &444550218 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1938123985482188, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + serializedVersion: 5 + m_Component: + - component: {fileID: 444550219} + - component: {fileID: 444550221} + - component: {fileID: 444550220} + m_Layer: 5 + m_Name: Item Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &444550219 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224554097110715874, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 444550218} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1282507685} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &444550220 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114826492851394802, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 444550218} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &444550221 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222251061454004408, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 444550218} +--- !u!1 &469496301 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1732121786184970, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + serializedVersion: 5 + m_Component: + - component: {fileID: 469496302} + - component: {fileID: 469496304} + - component: {fileID: 469496303} + m_Layer: 5 + m_Name: TitlePanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &469496302 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224811249339905846, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 469496301} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1014617094} + - {fileID: 1634478648} + - {fileID: 32982993} + - {fileID: 358158886} + - {fileID: 1698099635} + - {fileID: 30634937} + m_Father: {fileID: 537525382} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 30} + m_Pivot: {x: 0.5, y: 1} +--- !u!114 &469496303 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114992797821696518, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 469496301} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.21231619, g: 0.4, b: 0.53333336, a: 0.5019608} + m_RaycastTarget: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 0} + m_Type: 2 + m_PreserveAspect: 0 + m_FillCenter: 0 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &469496304 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222794971132995066, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 469496301} +--- !u!1 &523745215 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1518836322553372, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + serializedVersion: 5 + m_Component: + - component: {fileID: 523745216} + - component: {fileID: 523745218} + - component: {fileID: 523745217} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &523745216 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224487110838998504, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 523745215} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1040946005} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &523745217 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114690106602237274, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 523745215} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 10 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 'Clear + +' +--- !u!222 &523745218 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222250386662934794, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 523745215} +--- !u!1 &537525381 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1119644664104300, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + serializedVersion: 5 + m_Component: + - component: {fileID: 537525382} + - component: {fileID: 537525387} + - component: {fileID: 537525386} + - component: {fileID: 537525385} + - component: {fileID: 537525384} + - component: {fileID: 537525383} + m_Layer: 5 + m_Name: GameConsolePanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &537525382 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224449268071700062, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 537525381} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 469496302} + - {fileID: 620117089} + - {fileID: 95409853} + m_Father: {fileID: 1386182367} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 800, y: 300} + m_Pivot: {x: 0, y: 1} +--- !u!114 &537525383 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114720306768212598, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 537525381} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 215e21be996a6254b8a01c33329ebbb0, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!225 &537525384 +CanvasGroup: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 225122016682280346, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 537525381} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 +--- !u!114 &537525385 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114644643286925898, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 537525381} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 387224b495e5d074785974c54ea89a5c, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &537525386 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114540272216402892, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 537525381} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.2, g: 0.4, b: 0.53333336, a: 0.5019608} + m_RaycastTarget: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: c0b7a9e3bfe6ed24ebbe85d8122fa358, type: 3} + m_Type: 2 + m_PreserveAspect: 0 + m_FillCenter: 0 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &537525387 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222170615902879172, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 537525381} +--- !u!1 &540301089 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1455156357821204, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + serializedVersion: 5 + m_Component: + - component: {fileID: 540301090} + - component: {fileID: 540301092} + - component: {fileID: 540301091} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &540301090 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224496759116260316, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 540301089} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2000575125} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 67, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &540301091 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114620929545453634, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 540301089} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: +--- !u!222 &540301092 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222726882145235152, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 540301089} +--- !u!1 &593989376 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1825464172051722, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + serializedVersion: 5 + m_Component: + - component: {fileID: 593989377} + - component: {fileID: 593989380} + - component: {fileID: 593989379} + - component: {fileID: 593989378} + m_Layer: 5 + m_Name: Scrollbar Vertical + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &593989377 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224991539847618386, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 593989376} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1534289031} + m_Father: {fileID: 1933359062} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: -17} + m_Pivot: {x: 1, y: 1} +--- !u!114 &593989378 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114487124285256420, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 593989376} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -2061169968, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 927189645} + m_HandleRect: {fileID: 927189644} + m_Direction: 2 + m_Value: 0 + m_Size: 1 + m_NumberOfSteps: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.Scrollbar+ScrollEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &593989379 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114427999633765396, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 593989376} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &593989380 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222780927565251094, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 593989376} +--- !u!1 &596779797 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1352371505926686, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + serializedVersion: 5 + m_Component: + - component: {fileID: 596779798} + m_Layer: 5 + m_Name: Content + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &596779798 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224117899150269736, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 596779797} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1282507685} + m_Father: {fileID: 993901750} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 28} + m_Pivot: {x: 0.5, y: 1} +--- !u!1 &620117088 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1822225003194632, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + serializedVersion: 5 + m_Component: + - component: {fileID: 620117089} + - component: {fileID: 620117094} + - component: {fileID: 620117093} + - component: {fileID: 620117092} + - component: {fileID: 620117091} + - component: {fileID: 620117090} + m_Layer: 5 + m_Name: ContentPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &620117089 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224596849579458558, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 620117088} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 106887516} + - {fileID: 1933359062} + m_Father: {fileID: 537525382} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -15} + m_SizeDelta: {x: 0, y: -30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &620117090 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114985435348136156, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 620117088} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1eb75b2bf44504540a74566d66ffac99, type: 3} + m_Name: + m_EditorClassIdentifier: + durationThreshold: 1 + onLongPress: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1386182368} + m_MethodName: EnableConfigurationScreen + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.Events.UnityEvent, UnityEngine.CoreModule, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &620117091 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114995310190303146, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 620117088} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -1254083943, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_AspectMode: 0 + m_AspectRatio: 2.9629629 +--- !u!114 &620117092 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114939594910332666, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 620117088} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1297475563, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 0 + m_Spacing: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 +--- !u!114 &620117093 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114128740448408206, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 620117088} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.21960786, g: 0.21960786, b: 0.21960786, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &620117094 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222527197387917362, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 620117088} +--- !u!1 &671466438 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 671466440} + - component: {fileID: 671466439} + m_Layer: 0 + m_Name: CLogTest + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &671466439 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 671466438} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: acb419364a2a17c449397b1077ebfef0, type: 3} + m_Name: + m_EditorClassIdentifier: + gameObjectContext: {fileID: 0} +--- !u!4 &671466440 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 671466438} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &774877856 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1627819383762070, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + serializedVersion: 5 + m_Component: + - component: {fileID: 774877857} + - component: {fileID: 774877859} + - component: {fileID: 774877858} + m_Layer: 5 + m_Name: NLogContent + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &774877857 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224957659262331600, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 774877856} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1132173589} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -0.000030517578, y: 0.000007867813} + m_SizeDelta: {x: -6, y: 0} + m_Pivot: {x: 0.5, y: 1} +--- !u!114 &774877858 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114753501679200984, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 774877856} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1741964061, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalFit: 0 + m_VerticalFit: 2 +--- !u!222 &774877859 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222917620694348838, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 774877856} +--- !u!1 &825173002 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1266792614447658, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + serializedVersion: 5 + m_Component: + - component: {fileID: 825173003} + - component: {fileID: 825173006} + - component: {fileID: 825173005} + - component: {fileID: 825173004} + m_Layer: 5 + m_Name: Scrollbar Horizontal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &825173003 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224994497271441550, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 825173002} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1907898864} + m_Father: {fileID: 1933359062} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -17, y: 20} + m_Pivot: {x: 0, y: 0} +--- !u!114 &825173004 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114654124662585310, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 825173002} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -2061169968, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1485219816} + m_HandleRect: {fileID: 1485219815} + m_Direction: 0 + m_Value: 0 + m_Size: 1 + m_NumberOfSteps: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.Scrollbar+ScrollEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &825173005 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114245548453031198, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 825173002} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &825173006 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222126842497963990, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 825173002} +--- !u!1 &927189643 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1094320262927282, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + serializedVersion: 5 + m_Component: + - component: {fileID: 927189644} + - component: {fileID: 927189646} + - component: {fileID: 927189645} + m_Layer: 5 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &927189644 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224440114230420372, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 927189643} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1534289031} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &927189645 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114401241704137456, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 927189643} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &927189646 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222275791836303410, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 927189643} +--- !u!1 &993901749 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1691825993136652, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + serializedVersion: 5 + m_Component: + - component: {fileID: 993901750} + - component: {fileID: 993901753} + - component: {fileID: 993901752} + - component: {fileID: 993901751} + m_Layer: 5 + m_Name: Viewport + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &993901750 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224880024683166596, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 993901749} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 596779798} + m_Father: {fileID: 1275071844} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -18, y: 0} + m_Pivot: {x: 0, y: 1} +--- !u!114 &993901751 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114376441455309364, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 993901749} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10917, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &993901752 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222090047266490770, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 993901749} +--- !u!114 &993901753 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114527019448306236, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 993901749} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -1200242548, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowMaskGraphic: 0 +--- !u!1 &997970636 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1578508128181330, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + serializedVersion: 5 + m_Component: + - component: {fileID: 997970637} + - component: {fileID: 997970639} + - component: {fileID: 997970638} + m_Layer: 5 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &997970637 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224043086640829020, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 997970636} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1754451378} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: -1} + m_SizeDelta: {x: 15, y: 15} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &997970638 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114943529725194170, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 997970636} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 46b1880230b160145b29cf7074acd95e, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &997970639 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222684722331608792, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 997970636} +--- !u!1 &1014617093 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1176239573277708, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + serializedVersion: 5 + m_Component: + - component: {fileID: 1014617094} + - component: {fileID: 1014617096} + - component: {fileID: 1014617095} + m_Layer: 5 + m_Name: Title + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1014617094 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224406198888016066, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1014617093} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 469496302} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 120, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1014617095 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114263119432074590, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1014617093} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.01686851, g: 0.085738525, b: 0.28676468, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Game Console +--- !u!222 &1014617096 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222036140363232396, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1014617093} +--- !u!1 &1040946004 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1133544641868258, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + serializedVersion: 5 + m_Component: + - component: {fileID: 1040946005} + - component: {fileID: 1040946009} + - component: {fileID: 1040946008} + - component: {fileID: 1040946007} + - component: {fileID: 1040946006} + m_Layer: 5 + m_Name: ClearButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1040946005 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224972611829443940, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1040946004} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 523745216} + m_Father: {fileID: 1758849170} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 283, y: 0} + m_SizeDelta: {x: 32, y: 0} + m_Pivot: {x: 1, y: 0.5} +--- !u!114 &1040946006 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114048634152166388, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1040946004} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: 0 + m_MinHeight: -1 + m_PreferredWidth: 32 + m_PreferredHeight: 20 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &1040946007 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114106204372725652, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1040946004} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 0.39215687} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1040946008} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1386182368} + m_MethodName: ClearMessages + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &1040946008 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114696641588127198, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1040946004} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1040946009 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222206877798764078, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1040946004} +--- !u!1 &1099698727 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1834888779259110, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + serializedVersion: 5 + m_Component: + - component: {fileID: 1099698728} + - component: {fileID: 1099698731} + - component: {fileID: 1099698730} + - component: {fileID: 1099698729} + m_Layer: 5 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1099698728 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224986389928565382, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1099698727} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 191672619} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 20, y: 0} + m_SizeDelta: {x: 40, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1099698729 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114307431936531962, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1099698727} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: 0 + m_MinHeight: -1 + m_PreferredWidth: 40 + m_PreferredHeight: 25 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &1099698730 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114722549406842732, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1099698727} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 10 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 0.8 + m_Text: 'Auto + + Scroll' +--- !u!222 &1099698731 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222353933039132928, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1099698727} +--- !u!1 &1132173588 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1630963322484996, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + serializedVersion: 5 + m_Component: + - component: {fileID: 1132173589} + - component: {fileID: 1132173592} + - component: {fileID: 1132173591} + - component: {fileID: 1132173590} + m_Layer: 5 + m_Name: Viewport + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1132173589 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224202849868732352, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1132173588} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 774877857} + m_Father: {fileID: 1933359062} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -17, y: -17} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1132173590 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114899460529507896, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1132173588} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1132173591 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222440082837958590, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1132173588} +--- !u!114 &1132173592 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114516571747014432, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1132173588} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -1200242548, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowMaskGraphic: 0 +--- !u!1 &1183160985 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1369843967718112, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + serializedVersion: 5 + m_Component: + - component: {fileID: 1183160986} + - component: {fileID: 1183160988} + - component: {fileID: 1183160987} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1183160986 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224283761196508722, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1183160985} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 30634937} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1183160987 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114946984213105362, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1183160985} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 12 + m_FontStyle: 1 + m_BestFit: 0 + m_MinSize: 0 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: X +--- !u!222 &1183160988 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222612696734040362, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1183160985} +--- !u!1 &1218205411 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1069144183345936, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + serializedVersion: 5 + m_Component: + - component: {fileID: 1218205413} + - component: {fileID: 1218205417} + - component: {fileID: 1218205414} + - component: {fileID: 1218205412} + - component: {fileID: 1218205416} + - component: {fileID: 1218205415} + m_Layer: 5 + m_Name: InputField + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1218205412 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114318904672960200, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1218205411} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 575553740, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1218205414} + m_TextComponent: {fileID: 2135748459} + m_Placeholder: {fileID: 1638586788} + m_ContentType: 0 + m_InputType: 0 + m_AsteriskChar: 42 + m_KeyboardType: 0 + m_LineType: 0 + m_HideMobileInput: 0 + m_CharacterValidation: 0 + m_CharacterLimit: 3 + m_OnEndEdit: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.InputField+SubmitEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.InputField+OnChangeEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null + m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_CustomCaretColor: 0 + m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412} + m_Text: 8 + m_CaretBlinkRate: 0.85 + m_CaretWidth: 1 + m_ReadOnly: 0 +--- !u!224 &1218205413 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224404204774265388, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1218205411} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1638586790} + - {fileID: 2135748457} + m_Father: {fileID: 2057515161} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 28, y: 0} + m_SizeDelta: {x: 35, y: 0} + m_Pivot: {x: 0, y: 0.5} +--- !u!114 &1218205414 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114081991155229788, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1218205411} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10911, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &1218205415 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114770710129137102, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1218205411} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: 0 + m_MinHeight: 0 + m_PreferredWidth: 35 + m_PreferredHeight: 25 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &1218205416 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114160984519085492, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1218205411} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2c98c581599fd0144a310a3cfaa919f5, type: 3} + m_Name: + m_EditorClassIdentifier: + validateNumber: 1 +--- !u!222 &1218205417 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222727163051022516, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1218205411} +--- !u!1 &1275071843 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1214541214586786, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + serializedVersion: 5 + m_Component: + - component: {fileID: 1275071844} + - component: {fileID: 1275071847} + - component: {fileID: 1275071846} + - component: {fileID: 1275071845} + m_Layer: 5 + m_Name: Template + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &1275071844 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224085084715825772, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1275071843} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 993901750} + - {fileID: 2000292839} + m_Father: {fileID: 1957580267} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: 0, y: 2} + m_SizeDelta: {x: 0, y: 150} + m_Pivot: {x: 0.5, y: 1} +--- !u!114 &1275071845 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114725842231257736, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1275071843} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1367256648, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Content: {fileID: 596779798} + m_Horizontal: 0 + m_Vertical: 1 + m_MovementType: 2 + m_Elasticity: 0.1 + m_Inertia: 1 + m_DecelerationRate: 0.135 + m_ScrollSensitivity: 1 + m_Viewport: {fileID: 993901750} + m_HorizontalScrollbar: {fileID: 0} + m_VerticalScrollbar: {fileID: 2000292840} + m_HorizontalScrollbarVisibility: 0 + m_VerticalScrollbarVisibility: 2 + m_HorizontalScrollbarSpacing: 0 + m_VerticalScrollbarSpacing: -3 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.ScrollRect+ScrollRectEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &1275071846 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114126434504452790, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1275071843} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1275071847 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222937513944955474, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1275071843} +--- !u!1 &1282507684 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1854205934836610, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + serializedVersion: 5 + m_Component: + - component: {fileID: 1282507685} + - component: {fileID: 1282507686} + m_Layer: 5 + m_Name: Item + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1282507685 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224145170902752300, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1282507684} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 444550219} + - {fileID: 152261323} + - {fileID: 1492742341} + m_Father: {fileID: 596779798} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1282507686 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114103087144645582, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1282507684} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 2109663825, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 444550220} + toggleTransition: 1 + graphic: {fileID: 152261324} + m_Group: {fileID: 0} + onValueChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.Toggle+ToggleEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null + m_IsOn: 1 +--- !u!1 &1292816875 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1157520086907592, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + serializedVersion: 5 + m_Component: + - component: {fileID: 1292816876} + - component: {fileID: 1292816878} + - component: {fileID: 1292816877} + m_Layer: 5 + m_Name: Arrow + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1292816876 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224079610339050636, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1292816875} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1957580267} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: -15, y: 0} + m_SizeDelta: {x: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1292816877 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114682376317169790, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1292816875} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10915, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1292816878 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222828470417137540, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1292816875} +--- !u!1 &1386182366 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1458517360160914, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + serializedVersion: 5 + m_Component: + - component: {fileID: 1386182367} + - component: {fileID: 1386182370} + - component: {fileID: 1386182369} + - component: {fileID: 1386182368} + m_Layer: 5 + m_Name: GameConsoleController + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1386182367 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224894416807970766, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1386182366} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2000575125} + - {fileID: 537525382} + m_Father: {fileID: 84913256} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1386182368 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114168437543373096, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1386182366} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c7d37edd3ab19f74b896df8984872181, type: 3} + m_Name: + m_EditorClassIdentifier: + AutoScrollToggle: {fileID: 191672618} + FilterDropDown: {fileID: 1957580266} + FontInputField: {fileID: 1218205412} + GameConsoleIcon: {fileID: 2000575118} + GameConsolePanel: {fileID: 537525381} + TextBoxPanel: {fileID: 774877856} + MoveButton: {fileID: 0} +--- !u!114 &1386182369 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114353486502162760, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1386182366} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0.392} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1386182370 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222193240110979296, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1386182366} +--- !u!1 &1402902384 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1795078614122388, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + serializedVersion: 5 + m_Component: + - component: {fileID: 1402902385} + - component: {fileID: 1402902387} + - component: {fileID: 1402902386} + m_Layer: 5 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1402902385 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224398424416069532, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1402902384} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 32982993} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 12, y: 12} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1402902386 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114069748380675596, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1402902384} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: cd9adada93f32b6428ecb9c01cac02bc, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1402902387 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222260532592831296, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1402902384} +--- !u!1 &1465861904 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1465861906} + - component: {fileID: 1465861905} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &1465861905 +Light: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1465861904} + m_Enabled: 1 + serializedVersion: 8 + m_Type: 1 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 4 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &1465861906 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1465861904} + m_LocalRotation: {x: 0.40821794, y: -0.23456973, z: 0.109381676, w: 0.87542605} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1485219814 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1033518765954112, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + serializedVersion: 5 + m_Component: + - component: {fileID: 1485219815} + - component: {fileID: 1485219817} + - component: {fileID: 1485219816} + m_Layer: 5 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1485219815 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224775930983152014, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1485219814} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1907898864} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1485219816 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114056386506700436, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1485219814} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1485219817 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222408245163426702, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1485219814} +--- !u!1 &1492742338 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1631587632320650, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + serializedVersion: 5 + m_Component: + - component: {fileID: 1492742341} + - component: {fileID: 1492742340} + - component: {fileID: 1492742339} + m_Layer: 5 + m_Name: Item Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1492742339 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114464375519743540, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1492742338} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Option A +--- !u!222 &1492742340 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222405934188567246, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1492742338} +--- !u!224 &1492742341 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224584544129644798, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1492742338} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1282507685} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 5, y: -0.5} + m_SizeDelta: {x: -30, y: -3} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1534289030 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1383984696618856, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + serializedVersion: 5 + m_Component: + - component: {fileID: 1534289031} + m_Layer: 5 + m_Name: Sliding Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1534289031 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224855768741178090, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1534289030} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 927189644} + m_Father: {fileID: 593989377} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -20, y: -20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1634478647 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1790390996493154, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + serializedVersion: 5 + m_Component: + - component: {fileID: 1634478648} + - component: {fileID: 1634478651} + - component: {fileID: 1634478650} + - component: {fileID: 1634478649} + m_Layer: 5 + m_Name: Drag Zone + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1634478648 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224137996936387214, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1634478647} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 469496302} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1634478649 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114038396925021468, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1634478647} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b92b9ff1423a13944b925869d53aa6a3, type: 3} + m_Name: + m_EditorClassIdentifier: + panelRectTransform: {fileID: 537525382} +--- !u!114 &1634478650 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114874598067029748, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1634478647} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 0.441, b: 0.453, a: 0} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1634478651 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222261367674941894, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1634478647} +--- !u!1 &1638586787 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1326502328528156, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + serializedVersion: 5 + m_Component: + - component: {fileID: 1638586790} + - component: {fileID: 1638586789} + - component: {fileID: 1638586788} + m_Layer: 5 + m_Name: Placeholder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1638586788 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114103983045079110, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1638586787} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 0.5} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 16 + m_FontStyle: 2 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Enter size... +--- !u!222 &1638586789 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222269992944200354, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1638586787} +--- !u!224 &1638586790 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224498888510431636, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1638586787} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1218205413} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1698099634 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1180475886068374, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + serializedVersion: 5 + m_Component: + - component: {fileID: 1698099635} + - component: {fileID: 1698099638} + - component: {fileID: 1698099637} + - component: {fileID: 1698099636} + m_Layer: 5 + m_Name: MaximizeButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1698099635 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224379072613311604, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1698099634} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1891026681} + m_Father: {fileID: 469496302} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: -10, y: 0} + m_SizeDelta: {x: 40, y: 25} + m_Pivot: {x: 1, y: 0.5} +--- !u!114 &1698099636 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114898324476187634, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1698099634} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1698099637} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 537525383} + m_MethodName: MaxHandler + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &1698099637 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114178664581679582, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1698099634} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: ecc009e2ace77c8448da40de22eb471a, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1698099638 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222761453459802464, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1698099634} +--- !u!1 &1716408371 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1455331394227458, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + serializedVersion: 5 + m_Component: + - component: {fileID: 1716408374} + - component: {fileID: 1716408373} + - component: {fileID: 1716408372} + m_Layer: 5 + m_Name: Checkmark + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1716408372 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114965107159037626, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1716408371} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10901, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1716408373 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222281773776188150, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1716408371} +--- !u!224 &1716408374 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224827534153316334, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1716408371} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 220947553} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1754451377 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1989877001575844, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + serializedVersion: 5 + m_Component: + - component: {fileID: 1754451378} + - component: {fileID: 1754451382} + - component: {fileID: 1754451381} + - component: {fileID: 1754451380} + - component: {fileID: 1754451379} + m_Layer: 5 + m_Name: MoveButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1754451378 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224259459010223668, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1754451377} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 997970637} + m_Father: {fileID: 106887516} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: -10, y: 0} + m_SizeDelta: {x: 40, y: 25} + m_Pivot: {x: 1, y: 0.5} +--- !u!114 &1754451379 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114825132961673956, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1754451377} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3f8529e9d49d425459f872cfd1992c40, type: 3} + m_Name: + m_EditorClassIdentifier: + pressed: 1 + pressedSprite: {fileID: 21300000, guid: 3bea5264413e98147a262de0fe752425, type: 3} +--- !u!114 &1754451380 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114395539987343274, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1754451377} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 0 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1754451381} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1386182368} + m_MethodName: EnableDrag + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &1754451381 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114785727982211302, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1754451377} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: ecc009e2ace77c8448da40de22eb471a, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1754451382 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222862169045717398, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1754451377} +--- !u!1 &1758849169 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1175976678025542, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + serializedVersion: 5 + m_Component: + - component: {fileID: 1758849170} + - component: {fileID: 1758849173} + - component: {fileID: 1758849172} + - component: {fileID: 1758849171} + m_Layer: 5 + m_Name: ControlPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1758849170 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224733405357268750, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1758849169} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 220335945} + - {fileID: 2057515161} + - {fileID: 191672619} + - {fileID: 1040946005} + m_Father: {fileID: 106887516} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 800, y: 28} + m_Pivot: {x: 0, y: 0.5} +--- !u!114 &1758849171 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114156123910325724, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1758849169} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -405508275, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 3 + m_Spacing: 6 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 +--- !u!114 &1758849172 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114448419699132808, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1758849169} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0.392} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1758849173 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222041373503712902, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1758849169} +--- !u!1 &1795097022 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1950970891377528, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + serializedVersion: 5 + m_Component: + - component: {fileID: 1795097023} + m_Layer: 5 + m_Name: Sliding Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1795097023 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224899661314154526, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1795097022} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2141775814} + m_Father: {fileID: 2000292839} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -20, y: -20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1843332005 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1075142246957992, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + serializedVersion: 5 + m_Component: + - component: {fileID: 1843332006} + - component: {fileID: 1843332009} + - component: {fileID: 1843332008} + - component: {fileID: 1843332007} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1843332006 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224959251387882600, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1843332005} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 220335945} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 40, y: 0} + m_Pivot: {x: 0, y: 0.5} +--- !u!114 &1843332007 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114519557807196690, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1843332005} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: 30 + m_MinHeight: -1 + m_PreferredWidth: 40 + m_PreferredHeight: -1 + m_FlexibleWidth: 0 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &1843332008 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114270769147903984, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1843332005} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 10 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 0.8 + m_Text: 'Max + + Level' +--- !u!222 &1843332009 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222050501852641820, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1843332005} +--- !u!1 &1891026680 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1772889601344434, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + serializedVersion: 5 + m_Component: + - component: {fileID: 1891026681} + - component: {fileID: 1891026683} + - component: {fileID: 1891026682} + m_Layer: 5 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1891026681 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224597839923136556, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1891026680} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1698099635} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 15, y: 15} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1891026682 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114454992138594302, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1891026680} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 43085fb1a5851c44884729f4a5c5978d, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1891026683 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222843177595480692, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1891026680} +--- !u!1 &1907898863 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1430572339144384, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + serializedVersion: 5 + m_Component: + - component: {fileID: 1907898864} + m_Layer: 5 + m_Name: Sliding Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1907898864 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224710371589454766, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1907898863} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1485219815} + m_Father: {fileID: 825173003} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -20, y: -20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1933359061 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1058508057950574, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + serializedVersion: 5 + m_Component: + - component: {fileID: 1933359062} + - component: {fileID: 1933359066} + - component: {fileID: 1933359065} + - component: {fileID: 1933359064} + - component: {fileID: 1933359063} + m_Layer: 5 + m_Name: Scroll View + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1933359062 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224966126933669226, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1933359061} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1132173589} + - {fileID: 825173003} + - {fileID: 593989377} + m_Father: {fileID: 620117089} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 400, y: 0} + m_SizeDelta: {x: 800, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1933359063 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114361699754862788, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1933359061} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: 1 + m_LayoutPriority: 1 +--- !u!114 &1933359064 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114017094514660886, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1933359061} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.13333334, g: 0.13333334, b: 0.2, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1933359065 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222659466593160716, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1933359061} +--- !u!114 &1933359066 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114318883620432604, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1933359061} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1367256648, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Content: {fileID: 774877857} + m_Horizontal: 1 + m_Vertical: 1 + m_MovementType: 1 + m_Elasticity: 0.1 + m_Inertia: 1 + m_DecelerationRate: 0.135 + m_ScrollSensitivity: 1 + m_Viewport: {fileID: 1132173589} + m_HorizontalScrollbar: {fileID: 825173004} + m_VerticalScrollbar: {fileID: 593989378} + m_HorizontalScrollbarVisibility: 2 + m_VerticalScrollbarVisibility: 2 + m_HorizontalScrollbarSpacing: -3 + m_VerticalScrollbarSpacing: -3 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.ScrollRect+ScrollRectEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!1001 &1935816675 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 224364359941786630, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_SizeDelta.y + value: 150 + objectReference: {fileID: 0} + - target: {fileID: 224595991527403938, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224595991527403938, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224595991527403938, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224595991527403938, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224595991527403938, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224595991527403938, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224595991527403938, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224595991527403938, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_RootOrder + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 224595991527403938, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224595991527403938, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224595991527403938, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224595991527403938, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224595991527403938, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224595991527403938, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224595991527403938, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224595991527403938, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224595991527403938, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_Pivot.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224595991527403938, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_Pivot.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 114182918944108844, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_Text + value: + objectReference: {fileID: 0} + - target: {fileID: 224775930983152014, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_AnchorMax.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224775930983152014, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224440114230420372, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_AnchorMax.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224440114230420372, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224957659262331600, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_AnchoredPosition.x + value: -0.000030517578 + objectReference: {fileID: 0} + - target: {fileID: 224957659262331600, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_AnchoredPosition.y + value: 0.000007867813 + objectReference: {fileID: 0} + - target: {fileID: 224986389928565382, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224986389928565382, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224986389928565382, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 20 + objectReference: {fileID: 0} + - target: {fileID: 224986389928565382, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224986389928565382, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_SizeDelta.x + value: 40 + objectReference: {fileID: 0} + - target: {fileID: 224986389928565382, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224570404100376090, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224570404100376090, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224570404100376090, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 50 + objectReference: {fileID: 0} + - target: {fileID: 224570404100376090, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224570404100376090, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_SizeDelta.x + value: 20 + objectReference: {fileID: 0} + - target: {fileID: 224570404100376090, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224959251387882600, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224959251387882600, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224959251387882600, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224959251387882600, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_SizeDelta.x + value: 40 + objectReference: {fileID: 0} + - target: {fileID: 224959251387882600, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224326367512057058, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224326367512057058, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224326367512057058, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 75 + objectReference: {fileID: 0} + - target: {fileID: 224326367512057058, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224326367512057058, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_SizeDelta.x + value: 70 + objectReference: {fileID: 0} + - target: {fileID: 224326367512057058, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224267709766579370, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224267709766579370, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224267709766579370, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224267709766579370, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_SizeDelta.x + value: 28 + objectReference: {fileID: 0} + - target: {fileID: 224267709766579370, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224404204774265388, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224404204774265388, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224404204774265388, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 28 + objectReference: {fileID: 0} + - target: {fileID: 224404204774265388, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224404204774265388, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_SizeDelta.x + value: 35 + objectReference: {fileID: 0} + - target: {fileID: 224404204774265388, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224115582791584748, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224115582791584748, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224115582791584748, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224115582791584748, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_SizeDelta.x + value: 110 + objectReference: {fileID: 0} + - target: {fileID: 224115582791584748, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224166614589819394, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224166614589819394, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224166614589819394, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 147.5 + objectReference: {fileID: 0} + - target: {fileID: 224166614589819394, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224166614589819394, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_SizeDelta.x + value: 63 + objectReference: {fileID: 0} + - target: {fileID: 224166614589819394, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224576896512595952, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224576896512595952, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224576896512595952, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 215 + objectReference: {fileID: 0} + - target: {fileID: 224576896512595952, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224576896512595952, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_SizeDelta.x + value: 60 + objectReference: {fileID: 0} + - target: {fileID: 224576896512595952, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224972611829443940, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224972611829443940, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224972611829443940, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 283 + objectReference: {fileID: 0} + - target: {fileID: 224972611829443940, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224972611829443940, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_SizeDelta.x + value: 32 + objectReference: {fileID: 0} + - target: {fileID: 224972611829443940, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224761446331303922, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224761446331303922, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224761446331303922, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 400 + objectReference: {fileID: 0} + - target: {fileID: 224761446331303922, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224761446331303922, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_SizeDelta.x + value: 800 + objectReference: {fileID: 0} + - target: {fileID: 224761446331303922, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224966126933669226, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224966126933669226, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224966126933669226, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 400 + objectReference: {fileID: 0} + - target: {fileID: 224966126933669226, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224966126933669226, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_SizeDelta.x + value: 800 + objectReference: {fileID: 0} + - target: {fileID: 224966126933669226, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224202849868732352, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_AnchorMax.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224202849868732352, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224202849868732352, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_SizeDelta.x + value: -17 + objectReference: {fileID: 0} + - target: {fileID: 224202849868732352, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_SizeDelta.y + value: -17 + objectReference: {fileID: 0} + - target: {fileID: 224994497271441550, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_AnchorMax.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224994497271441550, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_SizeDelta.x + value: -17 + objectReference: {fileID: 0} + - target: {fileID: 224991539847618386, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224991539847618386, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + propertyPath: m_SizeDelta.y + value: -17 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: a0e188f37dce3ec4a970d41d926dcd6f, type: 2} + m_RootGameObject: {fileID: 84913252} + m_IsPrefabParent: 0 +--- !u!1 &1957580265 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1134379582007946, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + serializedVersion: 5 + m_Component: + - component: {fileID: 1957580267} + - component: {fileID: 1957580270} + - component: {fileID: 1957580268} + - component: {fileID: 1957580266} + - component: {fileID: 1957580269} + m_Layer: 5 + m_Name: Dropdown + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1957580266 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114966353756544696, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1957580265} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 853051423, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1957580268} + m_Template: {fileID: 1275071844} + m_CaptionText: {fileID: 2127141813} + m_CaptionImage: {fileID: 0} + m_ItemText: {fileID: 1492742339} + m_ItemImage: {fileID: 0} + m_Value: 4 + m_Options: + m_Options: + - m_Text: Nothing + m_Image: {fileID: 0} + - m_Text: Assert + m_Image: {fileID: 0} + - m_Text: Fatal + m_Image: {fileID: 0} + - m_Text: Error + m_Image: {fileID: 0} + - m_Text: Warn + m_Image: {fileID: 0} + - m_Text: Info + m_Image: {fileID: 0} + - m_Text: Debug + m_Image: {fileID: 0} + - m_Text: Trace + m_Image: {fileID: 0} + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.Dropdown+DropdownEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!224 &1957580267 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224326367512057058, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1957580265} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2127141815} + - {fileID: 1292816876} + - {fileID: 1275071844} + m_Father: {fileID: 220335945} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 75, y: 0} + m_SizeDelta: {x: 70, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1957580268 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114656747927737160, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1957580265} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &1957580269 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114544941642100430, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1957580265} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: 0 + m_MinHeight: 0 + m_PreferredWidth: 70 + m_PreferredHeight: 25 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!222 &1957580270 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222556706089146436, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 1957580265} +--- !u!1 &2000292838 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1773091929370842, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + serializedVersion: 5 + m_Component: + - component: {fileID: 2000292839} + - component: {fileID: 2000292842} + - component: {fileID: 2000292841} + - component: {fileID: 2000292840} + m_Layer: 5 + m_Name: Scrollbar + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2000292839 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224801538507811170, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 2000292838} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1795097023} + m_Father: {fileID: 1275071844} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 0} + m_Pivot: {x: 1, y: 1} +--- !u!114 &2000292840 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114776080695317892, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 2000292838} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -2061169968, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 2141775815} + m_HandleRect: {fileID: 2141775814} + m_Direction: 2 + m_Value: 0 + m_Size: 0.2 + m_NumberOfSteps: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.Scrollbar+ScrollEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &2000292841 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114626674492596644, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 2000292838} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &2000292842 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222300049877683806, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 2000292838} +--- !u!1 &2000575118 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1687168488571944, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + serializedVersion: 5 + m_Component: + - component: {fileID: 2000575125} + - component: {fileID: 2000575124} + - component: {fileID: 2000575123} + - component: {fileID: 2000575122} + - component: {fileID: 2000575121} + - component: {fileID: 2000575120} + - component: {fileID: 2000575119} + m_Layer: 5 + m_Name: GameConsoleIcon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &2000575119 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114058431697502630, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 2000575118} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -1862395651, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Delegates: + - eventID: 4 + callback: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1386182368} + m_MethodName: MinHandlerAnimate + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.EventSystems.EventTrigger+TriggerEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + delegates: [] +--- !u!114 &2000575120 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114252905425672884, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 2000575118} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -1254083943, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_AspectMode: 1 + m_AspectRatio: 0.6666667 +--- !u!114 &2000575121 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114275660693846028, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 2000575118} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b92b9ff1423a13944b925869d53aa6a3, type: 3} + m_Name: + m_EditorClassIdentifier: + panelRectTransform: {fileID: 2000575125} +--- !u!114 &2000575122 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114213960388909906, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 2000575118} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 2000575123} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 0} + m_MethodName: + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &2000575123 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114758831027183982, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 2000575118} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.989, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 0b3cbd0324075f543bf35cd3be500578, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &2000575124 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222066612276153226, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 2000575118} +--- !u!224 &2000575125 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224364359941786630, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 2000575118} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 540301090} + m_Father: {fileID: 1386182367} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 50, y: -50} + m_SizeDelta: {x: 100, y: 150} + m_Pivot: {x: 0, y: 1} +--- !u!1 &2057515160 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1580354438201766, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + serializedVersion: 5 + m_Component: + - component: {fileID: 2057515161} + - component: {fileID: 2057515164} + - component: {fileID: 2057515163} + - component: {fileID: 2057515162} + m_Layer: 5 + m_Name: FontPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2057515161 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224166614589819394, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 2057515160} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 69376745} + - {fileID: 1218205413} + m_Father: {fileID: 1758849170} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 147.5, y: 0} + m_SizeDelta: {x: 63, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2057515162 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114525032341145706, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 2057515160} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -405508275, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 3 + m_Spacing: 0 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 +--- !u!114 &2057515163 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114790234113997060, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 2057515160} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0.39215687} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &2057515164 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222630413655642424, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 2057515160} +--- !u!1 &2127141812 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1458769376836420, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + serializedVersion: 5 + m_Component: + - component: {fileID: 2127141815} + - component: {fileID: 2127141814} + - component: {fileID: 2127141813} + m_Layer: 5 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &2127141813 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114131525967218572, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 2127141812} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 12 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: Warn +--- !u!222 &2127141814 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222183953141546494, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 2127141812} +--- !u!224 &2127141815 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224367268414030072, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 2127141812} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1957580267} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -7.5, y: 0} + m_SizeDelta: {x: -15, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &2135748456 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1651115442230464, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + serializedVersion: 5 + m_Component: + - component: {fileID: 2135748457} + - component: {fileID: 2135748458} + - component: {fileID: 2135748459} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2135748457 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224914300660678930, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 2135748456} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1218205413} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2135748458 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222648604351143392, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 2135748456} +--- !u!114 &2135748459 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114182918944108844, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 2135748456} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 14 + m_MaxSize: 14 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 0 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 8 +--- !u!1 &2141775813 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1950043682192944, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + serializedVersion: 5 + m_Component: + - component: {fileID: 2141775814} + - component: {fileID: 2141775816} + - component: {fileID: 2141775815} + m_Layer: 5 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2141775814 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224796011986427912, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 2141775813} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1795097023} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 0.2} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2141775815 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114872446173624256, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 2141775813} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &2141775816 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222517702666888914, guid: a0e188f37dce3ec4a970d41d926dcd6f, + type: 2} + m_PrefabInternal: {fileID: 1935816675} + m_GameObject: {fileID: 2141775813} diff --git a/VXMusicOverlay/Assets/AiUnity/CLog/Examples/Scenes/CLogUnityConsole.unity b/VXMusicOverlay/Assets/AiUnity/CLog/Examples/Scenes/CLogUnityConsole.unity new file mode 100644 index 00000000..a12271b9 --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/CLog/Examples/Scenes/CLogUnityConsole.unity @@ -0,0 +1,310 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 8 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} +--- !u!157 &4 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 9 + m_Resolution: 2 + m_BakeResolution: 40 + m_TextureWidth: 1024 + m_TextureHeight: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 0 + m_CompAOExponentDirect: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 1024 + m_ReflectionCompression: 2 + m_MixedBakeMode: 1 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVRFilteringMode: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ShowResolutionOverlay: 1 + m_LightingDataAsset: {fileID: 0} + m_UseShadowmask: 1 +--- !u!196 &5 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &918693627 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 918693629} + - component: {fileID: 918693628} + m_Layer: 0 + m_Name: CLogTest + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &918693628 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 918693627} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: acb419364a2a17c449397b1077ebfef0, type: 3} + m_Name: + m_EditorClassIdentifier: + gameObjectContext: {fileID: 918693627} +--- !u!4 &918693629 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 918693627} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2104999990 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 2104999995} + - component: {fileID: 2104999994} + - component: {fileID: 2104999993} + - component: {fileID: 2104999992} + - component: {fileID: 2104999991} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &2104999991 +AudioListener: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2104999990} + m_Enabled: 1 +--- !u!124 &2104999992 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2104999990} + m_Enabled: 1 +--- !u!92 &2104999993 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2104999990} + m_Enabled: 1 +--- !u!20 &2104999994 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2104999990} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0.019607844} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 0 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &2104999995 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2104999990} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2111212703 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 2111212705} + - component: {fileID: 2111212704} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &2111212704 +Light: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2111212703} + m_Enabled: 1 + serializedVersion: 8 + m_Type: 1 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 4 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &2111212705 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2111212703} + m_LocalRotation: {x: 0.40821794, y: -0.23456973, z: 0.109381676, w: 0.87542605} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/VXMusicOverlay/Assets/AiUnity/CLog/Examples/Scripts/CLogExample.cs b/VXMusicOverlay/Assets/AiUnity/CLog/Examples/Scripts/CLogExample.cs new file mode 100644 index 00000000..64d87a0f --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/CLog/Examples/Scripts/CLogExample.cs @@ -0,0 +1,73 @@ +я╗┐// *********************************************************************** +// Assembly : Assembly-CSharp +// Author : AiDesigner +// Created : 02-17-2016 +// Modified : 12-19-2017 +// *********************************************************************** +namespace AiUnity.CLog.Examples.Scripts +{ + using AiUnity.CLog.Core; + using System; + using UnityEngine; + + /// + /// This file attaches to a GameObject and demonstrates the simplicity of creating CLog messages. + /// The procedure involves getting a logger instance from CLogManger and then writing your log statements. + /// By using these log messages in your code you gain immense power through the CLog XML configuration. + /// This configuration is maintained by the comprehensive Unity Editor GUI Window located at + /// Tools:AiUnity:CLog:Editor. The CLog abstraction allows you to select your custom/supplied logger on + /// a platform basis. Please see the detailed documentation to learn more about CLog. + /// + /// To see log messages please configure CLog GUI with the desired log level and message target. + /// + public class CLogExample : MonoBehaviour + { + private CLogger logger; + public GameObject gameObjectContext; + + void Awake() + { + Debug.Log("Standard Unity Debug log message, called from CLogExample Awake() method.\nPlease configure NLog GUI with the desired target and message level."); + + // Create class logger and associate it with this class instance/name. + this.logger = CLogManager.Instance.GetLogger(this); + // Debug message that can be augmented, filtered, and routed by NLog GUI. + this.logger.Info("Testing a CLog Info message from {0} Awake() method.", GetType().Name); + } + + void Start() + { + int assertCondition = 1; + + // Basic logging statements + this.logger.Assert(assertCondition == 0, "Testing a CLog Assert message from {0} Start() method.", GetType().Name); + this.logger.Fatal("Testing a CLog Fatal message from {0} Start() method.", GetType().Name); + this.logger.Error("Testing a CLog Error message from {0} Start() method.", GetType().Name); + this.logger.Warn("Testing a CLog Warn message from {0} Start() method.", GetType().Name); + this.logger.Info("Testing a CLog Info message from {0} Start() method.", GetType().Name); + this.logger.Debug("Testing a CLog Debug message from {0} Start() method.", GetType().Name); + this.logger.Trace("Testing a CLog Trace message from {0} Start() method.", GetType().Name); + + // Use the argument to explicitly associate a message with a gameObject + this.logger.Info(gameObjectContext, "Test CLog message with an explicit gameObject context"); + + // Create a test exception for illustration. + Exception testException; + try { throw new Exception("Test Exception"); } + catch (Exception exception) { testException = exception; } + + // Added exception will be formatted and appended to message + this.logger.Info(testException, "Test CLog message with an exception"); + } + + private void OnGUI() + { + GUILayout.BeginArea(new Rect(0, 0, Screen.width, Screen.height)); + GUILayout.BeginVertical(); + GUILayout.FlexibleSpace(); + GUILayout.Label("If messages missing on expected destination please configure CLog GUI with desired LogLevel (i.e. Everything) and target (i.e. UnityConsole/GameConsole)."); + GUILayout.EndVertical(); + GUILayout.EndArea(); + } + } +} \ No newline at end of file diff --git a/VXMusicOverlay/Assets/AiUnity/CLog/Lib/CLog.dll b/VXMusicOverlay/Assets/AiUnity/CLog/Lib/CLog.dll new file mode 100644 index 00000000..d15e2350 Binary files /dev/null and b/VXMusicOverlay/Assets/AiUnity/CLog/Lib/CLog.dll differ diff --git a/VXMusicOverlay/Assets/AiUnity/CLog/Lib/CLogNLogAdapter.dll b/VXMusicOverlay/Assets/AiUnity/CLog/Lib/CLogNLogAdapter.dll new file mode 100644 index 00000000..3ee83c09 Binary files /dev/null and b/VXMusicOverlay/Assets/AiUnity/CLog/Lib/CLogNLogAdapter.dll differ diff --git a/VXMusicOverlay/Assets/AiUnity/CLog/readme.txt b/VXMusicOverlay/Assets/AiUnity/CLog/readme.txt new file mode 100644 index 00000000..98bc196b --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/CLog/readme.txt @@ -0,0 +1,24 @@ +*About* +-This file lists various CLog resouces and documentation. +-Learn more about aiunity products at http://aiunity.com. + +*CLog GUI* +-Description: The GUI that runs, maintains, and tests the CLog configuration. +-Location: Unity Editor menu (Tools->CLog->Control Panel). +-Documentation: http://aiunity.com/products/clog/manual#gui. + +*CLog Documentation* +-Description: Contains detailed documentation of CLog. +-Location: http://aiunity.com/products/clog (Also at Tools->CLog->Help). + +*CLog Video Tutorials* +-Description: Comprehensive video tutorials for CLog. +-Location: https://www.youtube.com/playlist?list=PLxCsEzL_TroRcvlnPtArVGB9cVT9D3EwI. + +*CLog API Reference* +-Description: Documentation of all publicly exposed APIs. +-Location: http://aiunity.com/products/clog/api_reference. + +*CLog Forum* +-Description: A monitored forum where all questions should be submitted. +-Location: https://forum.aiunity.com/categories. \ No newline at end of file diff --git a/VXMusicOverlay/Assets/AiUnity/Common/Attributes/ClassExtendsAttribute.cs b/VXMusicOverlay/Assets/AiUnity/Common/Attributes/ClassExtendsAttribute.cs new file mode 100644 index 00000000..c9e60983 --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/Common/Attributes/ClassExtendsAttribute.cs @@ -0,0 +1,59 @@ +я╗┐// *********************************************************************** +// Assembly : Assembly-CSharp +// Author : AiDesigner +// Created : 07-09-2016 +// Modified : 07-23-2018 +// *********************************************************************** +#if AIUNITY_CODE + +using System; + +namespace AiUnity.Common.Attributes +{ + /// + /// Constraint that allows selection of classes that extend a specific class when + /// selecting a with the Unity inspector. + /// + /// + [AttributeUsage(AttributeTargets.Field, AllowMultiple = false)] + public sealed class ClassExtendsAttribute : ClassTypeConstraintAttribute + { + #region Properties + /// + /// Gets the type of class that selectable classes must derive from. + /// + public Type BaseType { get; private set; } + #endregion + + #region Methods + /// + /// Determines whether the specified satisfies filter constraint. + /// + /// Type to test. + /// A value indicating if the type specified by + /// satisfies this constraint and should thus be selectable. + public override bool IsConstraintSatisfied(Type type) + { + return base.IsConstraintSatisfied(type) + && BaseType.IsAssignableFrom(type) && type != BaseType; + } + #endregion + + #region Constructors + /// + /// Initializes a new instance of the class. + /// + /// Type of class that selectable classes must derive from. + /// Name of the label. + /// The tooltip. + public ClassExtendsAttribute(Type baseType, string labelName = null, string tooltip = null) + : base(labelName, tooltip) + { + BaseType = baseType; + } + #endregion + + } +} + +#endif \ No newline at end of file diff --git a/VXMusicOverlay/Assets/AiUnity/Common/Attributes/ClassImplementsAttribute.cs b/VXMusicOverlay/Assets/AiUnity/Common/Attributes/ClassImplementsAttribute.cs new file mode 100644 index 00000000..96780d8a --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/Common/Attributes/ClassImplementsAttribute.cs @@ -0,0 +1,66 @@ +я╗┐// *********************************************************************** +// Assembly : Assembly-CSharp +// Author : AiDesigner +// Created : 07-09-2016 +// Modified : 07-23-2018 +// *********************************************************************** +#if AIUNITY_CODE + +using System; + + +namespace AiUnity.Common.Attributes +{ + /// + /// Constraint that allows selection of classes that implement a specific interface + /// when selecting a with the Unity inspector. + /// + /// + [AttributeUsage(AttributeTargets.Field, AllowMultiple = false)] + public sealed class ClassImplementsAttribute : ClassTypeConstraintAttribute + { + #region Properties + /// + /// Gets the type of interface that selectable classes must implement. + /// + public Type InterfaceType { get; private set; } + #endregion + + #region Constructors + /// + /// Initializes a new instance of the class. + /// + /// Name of the label. + public ClassImplementsAttribute(string labelName = null) + : base(labelName) + { + } + /// + /// Initializes a new instance of the class. + /// + /// Type of interface that selectable classes must implement. + /// Name of the label. + public ClassImplementsAttribute(Type interfaceType, string labelName = null) + : base(labelName) + { + InterfaceType = interfaceType; + } + #endregion + + #region Methods + /// + /// Determines whether the specified satisfies filter constraint. + /// + /// Type to test. + /// A value indicating if the type specified by + /// satisfies this constraint and should thus be selectable. + public override bool IsConstraintSatisfied(Type type) + { + if (base.IsConstraintSatisfied(type)) foreach (var interfaceType in type.GetInterfaces()) if (interfaceType == InterfaceType) return true; + return false; + } + #endregion + } +} + +#endif \ No newline at end of file diff --git a/VXMusicOverlay/Assets/AiUnity/Common/Attributes/ClassTypeConstraintAttribute.cs b/VXMusicOverlay/Assets/AiUnity/Common/Attributes/ClassTypeConstraintAttribute.cs new file mode 100644 index 00000000..3ad1ff78 --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/Common/Attributes/ClassTypeConstraintAttribute.cs @@ -0,0 +1,85 @@ +я╗┐// *********************************************************************** +// Assembly : Assembly-CSharp +// Author : AiDesigner +// Created : 07-09-2016 +// Modified : 07-23-2018 +// *********************************************************************** +#if AIUNITY_CODE + +using System; +using AiUnity.Common.Serialization.ClassTypeReference; +using UnityEngine; + +namespace AiUnity.Common.Attributes +{ + /// + /// Base class for class selection constraints that can be applied when selecting + /// a with the Unity inspector. + /// + /// + public abstract class ClassTypeConstraintAttribute : UnityEngine.PropertyAttribute + { + #region Fields + public GUIContent LabelContent; + private bool _allowAbstract = false; + private ClassGrouping _grouping = ClassGrouping.ByNamespaceFlat; + #endregion + + #region Properties + /// + /// Gets or sets whether abstract classes can be selected from drop-down. + /// Defaults to a value of false unless explicitly specified. + /// + public bool AllowAbstract + { + get { return _allowAbstract; } + set { _allowAbstract = value; } + } + /// + /// Gets or sets grouping of selectable classes. Defaults to + /// unless explicitly specified. + /// + public ClassGrouping Grouping + { + get { return _grouping; } + set { _grouping = value; } + } + #endregion + + #region Constructors + /// + /// Initializes a new instance of the class. + /// + /// Content of the label. + public ClassTypeConstraintAttribute(GUIContent labelContent) + { + LabelContent = labelContent; + } + + /// + /// Initializes a new instance of the class. + /// + /// Name of the label. + /// The tooltip. + public ClassTypeConstraintAttribute(string labelName, string tooltip = "") + { + LabelContent = new GUIContent(labelName, tooltip); + } + #endregion + + #region Methods + /// + /// Determines whether the specified satisfies filter constraint. + /// + /// Type to test. + /// A value indicating if the type specified by + /// satisfies this constraint and should thus be selectable. + public virtual bool IsConstraintSatisfied(Type type) + { + return AllowAbstract || !type.IsAbstract; + } + #endregion + } +} + +#endif \ No newline at end of file diff --git a/VXMusicOverlay/Assets/AiUnity/Common/Attributes/DisplayAttribute.cs b/VXMusicOverlay/Assets/AiUnity/Common/Attributes/DisplayAttribute.cs new file mode 100644 index 00000000..048fde3f --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/Common/Attributes/DisplayAttribute.cs @@ -0,0 +1,57 @@ +я╗┐// *********************************************************************** +// Assembly : Assembly-CSharp +// Author : AiDesigner +// Created : 06-20-2016 +// Modified : 07-23-2018 +// *********************************************************************** +#if AIUNITY_CODE + +using System; +using AiUnity.Common.Attributes; +using System.Linq; +using System.ComponentModel; + +namespace AiUnity.Common.Attributes +{ + /// + /// Determines how a property is displayed in the Unity inspector. + /// + [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field)] + public sealed class DisplayAttribute : DisplayNameAttribute + { + #region Properties + /// + /// Indicate if item should be shown. + /// + public bool Advanced { get; private set; } + + /// + /// Indicate if item should be shown. + /// + public int Order { get; private set; } + + /// + /// Indicate if item should be shown. + /// + public string Tooltip { get; private set; } + #endregion + + #region Constructors + /// + /// Initializes a new instance of the class. + /// + /// Name of the target. + /// The tool tip. + /// if set to true [advanced]. + /// The order. + public DisplayAttribute(string name, string toolTip, bool advanced = false, int order = 0) : base(name) + { + Advanced = advanced; + Tooltip = toolTip; + Order = order; + } + #endregion + } +} + +#endif \ No newline at end of file diff --git a/VXMusicOverlay/Assets/AiUnity/Common/Attributes/DividerAttribute.cs b/VXMusicOverlay/Assets/AiUnity/Common/Attributes/DividerAttribute.cs new file mode 100644 index 00000000..7bf81566 --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/Common/Attributes/DividerAttribute.cs @@ -0,0 +1,111 @@ +я╗┐// *********************************************************************** +// Assembly : Assembly-CSharp +// Author : AiDesigner +// Created : 07-09-2016 +// Modified : 07-23-2018 +// *********************************************************************** +#if AIUNITY_CODE + +using UnityEngine; + +namespace AiUnity.Common.Attributes +{ + /// + /// Creates a divider line in the inspector. + /// + /// + public class DividerAttribute : UnityEngine.PropertyAttribute + { + #region Fields + public readonly string col = "grey"; + public readonly float space = 0; + public readonly float thickness = 1; + public float widthPct = 1.0f; + #endregion + + #region Constructors + /// + /// Initializes a new instance of the class. + /// + public DividerAttribute() + { + } + /// + /// Initializes a new instance of the class. + /// + /// The col. + public DividerAttribute(string col) + { + this.col = col; + } + /// + /// Initializes a new instance of the class. + /// + /// The width PCT. + public DividerAttribute(float widthPct) + { + this.widthPct = widthPct; + } + /// + /// Initializes a new instance of the class. + /// + /// The col. + /// The thickness. + public DividerAttribute(string col, float thickness) + { + this.col = col; + this.thickness = thickness; + } + /// + /// Initializes a new instance of the class. + /// + /// The width PCT. + /// The thickness. + public DividerAttribute(float widthPct, float thickness) + { + this.widthPct = widthPct; + this.thickness = thickness; + } + /// + /// Initializes a new instance of the class. + /// + /// The col. + /// The thickness. + /// The width PCT. + public DividerAttribute(string col, float thickness, float widthPct) + { + this.col = col; + this.thickness = thickness; + this.widthPct = widthPct; + } + /// + /// Initializes a new instance of the class. + /// + /// The width PCT. + /// The thickness. + /// The space. + public DividerAttribute(float widthPct, float thickness, float space) + { + this.widthPct = widthPct; + this.thickness = thickness; + this.space = space; + } + /// + /// Initializes a new instance of the class. + /// + /// The col. + /// The thickness. + /// The width PCT. + /// The space. + public DividerAttribute(string col, float thickness, float widthPct, float space) + { + this.col = col; + this.thickness = thickness; + this.widthPct = widthPct; + this.space = space; + } + #endregion + } +} + +#endif \ No newline at end of file diff --git a/VXMusicOverlay/Assets/AiUnity/Common/Attributes/EnumSymbolAttribute.cs b/VXMusicOverlay/Assets/AiUnity/Common/Attributes/EnumSymbolAttribute.cs new file mode 100644 index 00000000..cbaa5ef8 --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/Common/Attributes/EnumSymbolAttribute.cs @@ -0,0 +1,40 @@ +я╗┐// *********************************************************************** +// Assembly : Assembly-CSharp +// Author : AiDesigner +// Created : 07-09-2016 +// Modified : 07-23-2018 +// *********************************************************************** +#if AIUNITY_CODE +using System; + +namespace AiUnity.Common.Attributes +{ + /// + /// Indicates the date at which a type was generated. + /// + /// + //[AttributeUsage(AttributeTargets.Enum)] + public class EnumSymbolAttribute : Attribute + { +#region Fields + public readonly string EnumSymbol; +#endregion + +#region Constructors + /// + /// Initializes a new instance of the class. + /// + /// The creation date. + public EnumSymbolAttribute(string enumSymbol) + { + this.EnumSymbol = enumSymbol; + } + + public override string ToString() + { + return EnumSymbol; + } +#endregion + } +} +#endif \ No newline at end of file diff --git a/VXMusicOverlay/Assets/AiUnity/Common/Attributes/GeneratedTypeAttribute.cs b/VXMusicOverlay/Assets/AiUnity/Common/Attributes/GeneratedTypeAttribute.cs new file mode 100644 index 00000000..2690fbb3 --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/Common/Attributes/GeneratedTypeAttribute.cs @@ -0,0 +1,37 @@ +// *********************************************************************** +// Assembly : Assembly-CSharp +// Author : AiDesigner +// Created : 07-09-2016 +// Modified : 07-23-2018 +// *********************************************************************** +#if AIUNITY_CODE + +using System; + +namespace AiUnity.Common.Attributes +{ + /// + /// Indicates the date at which a type was generated. + /// + /// + [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct)] + public class GeneratedTypeAttribute : Attribute + { + #region Fields + public readonly string CreationDate; + #endregion + + #region Constructors + /// + /// Initializes a new instance of the class. + /// + /// The creation date. + public GeneratedTypeAttribute(string creationDate) + { + this.CreationDate = creationDate; + } + #endregion + } +} + +#endif \ No newline at end of file diff --git a/VXMusicOverlay/Assets/AiUnity/Common/Attributes/HideInEditorAttribute.cs b/VXMusicOverlay/Assets/AiUnity/Common/Attributes/HideInEditorAttribute.cs new file mode 100644 index 00000000..b12f233f --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/Common/Attributes/HideInEditorAttribute.cs @@ -0,0 +1,23 @@ +я╗┐// *********************************************************************** +// Assembly : Assembly-CSharp +// Author : AiDesigner +// Created : 07-24-2016 +// Modified : 07-23-2018 +// *********************************************************************** +#if AIUNITY_CODE + +using System; + +namespace AiUnity.Common.Attributes +{ + /// + /// Custom editor windows can use this attribute to hide properties. This is automatically + /// done by HideInInspector, but properties are also hidden when assets viewed in inspector. + /// + /// + public class HideInEditorAttribute : Attribute + { + } +} + +#endif \ No newline at end of file diff --git a/VXMusicOverlay/Assets/AiUnity/Common/Attributes/OrderAttribute.cs b/VXMusicOverlay/Assets/AiUnity/Common/Attributes/OrderAttribute.cs new file mode 100644 index 00000000..95e4d63f --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/Common/Attributes/OrderAttribute.cs @@ -0,0 +1,32 @@ +я╗┐// *********************************************************************** +// Assembly : Assembly-CSharp +// Author : AiDesigner +// Created : 07-24-2016 +// Modified : 07-23-2018 +// *********************************************************************** +#if AIUNITY_CODE + +using UnityEngine; + +namespace AiUnity.Common.Attributes +{ + /// + /// Determines the order of properties in the inspector. + /// + /// + public class OrderAttribute : PropertyAttribute + { + #region Constructors + /// + /// Initializes a new instance of the class. + /// + /// The order. + public OrderAttribute(int order) + { + base.order = order; + } + #endregion + } +} + +#endif diff --git a/VXMusicOverlay/Assets/AiUnity/Common/Attributes/RequiredAttribute.cs b/VXMusicOverlay/Assets/AiUnity/Common/Attributes/RequiredAttribute.cs new file mode 100644 index 00000000..e98c65a5 --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/Common/Attributes/RequiredAttribute.cs @@ -0,0 +1,22 @@ +я╗┐// *********************************************************************** +// Assembly : Assembly-CSharp +// Author : AiDesigner +// Created : 07-23-2016 +// Modified : 07-23-2018 +// *********************************************************************** +#if AIUNITY_CODE + +using UnityEngine; + +namespace AiUnity.Common.Attributes +{ + /// + /// Indicates a property is required. + /// + /// + public class RequiredAttribute : UnityEngine.PropertyAttribute + { + } +} + +#endif \ No newline at end of file diff --git a/VXMusicOverlay/Assets/AiUnity/Common/Attributes/RequiredParameterAttribute.cs b/VXMusicOverlay/Assets/AiUnity/Common/Attributes/RequiredParameterAttribute.cs new file mode 100644 index 00000000..4a10746a --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/Common/Attributes/RequiredParameterAttribute.cs @@ -0,0 +1,23 @@ +// *********************************************************************** +// Assembly : Assembly-CSharp +// Author : AiDesigner +// Created : 07-23-2016 +// Modified : 07-23-2018 +// *********************************************************************** +#if AIUNITY_CODE + +namespace AiUnity.Common.Attributes +{ + using System; +using AiUnity.Common.Attributes; + + /// + /// Attribute used to mark the required parameters for targets, + /// layout targets and filters. + /// + [AttributeUsage(AttributeTargets.Property)] + public sealed class RequiredParameterAttribute : Attribute + { + } +} +#endif diff --git a/VXMusicOverlay/Assets/AiUnity/Common/Attributes/ResourceAttribute.cs b/VXMusicOverlay/Assets/AiUnity/Common/Attributes/ResourceAttribute.cs new file mode 100644 index 00000000..72d3d3a8 --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/Common/Attributes/ResourceAttribute.cs @@ -0,0 +1,36 @@ +я╗┐// *********************************************************************** +// Assembly : Assembly-CSharp +// Author : AiDesigner +// Created : 06-20-2016 +// Modified : 07-23-2018 +// *********************************************************************** +#if AIUNITY_CODE + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using AiUnity.Common.Attributes; +using System.ComponentModel; + +namespace AiUnity.Common.Attributes +{ + /// + /// Determines how a property is displayed in the Unity inspector. + /// + [AttributeUsage(AttributeTargets.All)] + public sealed class ResourceAttribute : DescriptionAttribute + { + /// + /// Help link for Resource + /// + public Uri HelpUri { get; private set; } + + public ResourceAttribute(string description, string helpLink=null) : base(description) + { + HelpUri = helpLink != null ? new Uri(helpLink) : null; + } + } +} + +#endif \ No newline at end of file diff --git a/VXMusicOverlay/Assets/AiUnity/Common/Attributes/UnityReadOnlyAttribute.cs b/VXMusicOverlay/Assets/AiUnity/Common/Attributes/UnityReadOnlyAttribute.cs new file mode 100644 index 00000000..55e2cfe2 --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/Common/Attributes/UnityReadOnlyAttribute.cs @@ -0,0 +1,22 @@ +я╗┐// *********************************************************************** +// Assembly : Assembly-CSharp +// Author : AiDesigner +// Created : 07-09-2016 +// Modified : 07-23-2018 +// *********************************************************************** +#if AIUNITY_CODE + +using UnityEngine; + +namespace AiUnity.Common.Attributes +{ + /// + /// Indicates a property is read only. + /// + /// + public class UnityReadOnlyAttribute : PropertyAttribute + { + } +} + +#endif \ No newline at end of file diff --git a/VXMusicOverlay/Assets/AiUnity/Common/Editor/Drawers/ClassTypeReferenceDrawer.cs b/VXMusicOverlay/Assets/AiUnity/Common/Editor/Drawers/ClassTypeReferenceDrawer.cs new file mode 100644 index 00000000..ef737618 --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/Common/Editor/Drawers/ClassTypeReferenceDrawer.cs @@ -0,0 +1,281 @@ +я╗┐// *********************************************************************** +// Assembly : Assembly-CSharp-Editor +// Author : AiDesigner +// Created : 07-09-2016 +// Modified : 01-11-2018 +// *********************************************************************** +using AiUnity.Common.Attributes; +using AiUnity.Common.Serialization.ClassTypeReference; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; +using UnityEditor; +using UnityEngine; + +namespace AiUnity.Common.Editor.Drawers +{ + /// + /// Custom property drawer for properties. + /// + /// + [CustomPropertyDrawer(typeof(ClassTypeReference))] + [CustomPropertyDrawer(typeof(ClassTypeConstraintAttribute), true)] + public sealed class ClassTypeReferenceDrawer : PropertyDrawer + { + #region Fields + private static readonly int s_ControlHint = typeof(ClassTypeReferenceDrawer).GetHashCode(); + private static readonly GenericMenu.MenuFunction2 s_OnSelectedTypeName = OnSelectedTypeName; + private static string s_SelectedClassRef; + private static int s_SelectionControlID; + private static GUIContent s_TempContent = new GUIContent(); + private static Dictionary s_TypeMap = new Dictionary(); + #endregion + + #region Methods + /// + /// Override this method to specify how tall the GUI for this field is in pixels. + /// + /// The SerializedProperty to make the custom GUI for. + /// The label of this property. + /// The height in pixels. + public override float GetPropertyHeight(SerializedProperty property, GUIContent label) + { + return EditorStyles.popup.CalcHeight(GUIContent.none, 0); + } + + + /// + /// Override this method to make your own GUI for the property. + /// + /// Rectangle on the screen to use for the property GUI. + /// The SerializedProperty to make the custom GUI for. + /// The label of this property. + public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) + { + var classTypeConstraintAttribute = attribute as ClassTypeConstraintAttribute; + + if (classTypeConstraintAttribute != null && classTypeConstraintAttribute.LabelContent != null) + { + label.text = classTypeConstraintAttribute.LabelContent.text; + label.tooltip = classTypeConstraintAttribute.LabelContent.tooltip; + label.image = classTypeConstraintAttribute.LabelContent.image; + } + //Debug.Log("Property=" + property); + DrawTypeSelectionControl(position, property.FindPropertyRelative("_classRef"), label, classTypeConstraintAttribute); + } + + /// + /// Displays the drop down. + /// + /// The position. + /// The types. + /// Type of the selected. + /// The grouping. + private static void DisplayDropDown(Rect position, List types, Type selectedType, ClassGrouping grouping) + { + var menu = new GenericMenu(); + + menu.AddItem(new GUIContent("(None)"), selectedType == null, s_OnSelectedTypeName, null); + menu.AddSeparator(string.Empty); + + for (var i = 0; i < types.Count; ++i) + { + var type = types[i]; + + var menuLabel = FormatGroupedTypeName(type, grouping); + if (string.IsNullOrEmpty(menuLabel)) continue; + var content = new GUIContent(menuLabel); + menu.AddItem(content, type == selectedType, s_OnSelectedTypeName, type); + } + menu.DropDown(position); + } + + /// + /// Draws the type selection control. + /// + /// The position. + /// The label. + /// The class reference. + /// The filter. + /// System.String. + private static string DrawTypeSelectionControl(Rect position, GUIContent label, string classRef, ClassTypeConstraintAttribute filter) + { + if (label != null && label != GUIContent.none) position = EditorGUI.PrefixLabel(position, label); + var controlID = GUIUtility.GetControlID(s_ControlHint, FocusType.Keyboard, position); + + var triggerDropDown = false; + + switch (Event.current.GetTypeForControl(controlID)) + { + case EventType.ExecuteCommand: + if (Event.current.commandName == "TypeReferenceUpdated") + if (s_SelectionControlID == controlID) + { + if (classRef != s_SelectedClassRef) + { + classRef = s_SelectedClassRef; + GUI.changed = true; + } + + s_SelectionControlID = 0; + s_SelectedClassRef = null; + } + break; + + case EventType.MouseDown: + if (GUI.enabled && position.Contains(Event.current.mousePosition)) + { + GUIUtility.keyboardControl = controlID; + triggerDropDown = true; + Event.current.Use(); + } + break; + + case EventType.KeyDown: + if (GUI.enabled && GUIUtility.keyboardControl == controlID) + if (Event.current.keyCode == KeyCode.Return || Event.current.keyCode == KeyCode.Space) + { + triggerDropDown = true; + Event.current.Use(); + } + break; + + case EventType.Repaint: + var classRefParts = classRef.Split(','); + var classFullName = classRefParts[0].Trim(); + s_TempContent.text = classFullName.Substring(classFullName.LastIndexOf('.') + 1); + if (s_TempContent.text == string.Empty) s_TempContent.text = "(None)"; + else if (ResolveType(classRef) == null) s_TempContent.text += " {Missing}"; + EditorStyles.popup.Draw(position, s_TempContent, controlID); + break; + } + + if (triggerDropDown) + { + s_SelectionControlID = controlID; + s_SelectedClassRef = classRef; + var filteredTypes = GetFilteredTypes(filter); + DisplayDropDown(position, filteredTypes, ResolveType(classRef), filter.Grouping); + } + + return classRef; + } + + /// + /// Draws the type selection control. + /// + /// The position. + /// The property. + /// The label. + /// The filter. + private static void DrawTypeSelectionControl(Rect position, SerializedProperty property, GUIContent label, ClassTypeConstraintAttribute filter) + { + //Debug.Log("Relative Property=" + property); + var restoreShowMixedValue = EditorGUI.showMixedValue; + EditorGUI.showMixedValue = property.hasMultipleDifferentValues; + + property.stringValue = DrawTypeSelectionControl(position, label, property.stringValue, filter); + + EditorGUI.showMixedValue = restoreShowMixedValue; + } + + /// + /// Filters the types. + /// + /// The assembly. + /// The filter. + /// The output. + private static void FilterTypes(Assembly assembly, ClassTypeConstraintAttribute filter, List output) + { + foreach (var type in assembly.GetTypes()) + { + if (!type.IsPublic || !type.IsClass) continue; + if (filter != null && !filter.IsConstraintSatisfied(type)) continue; + if (type.GetCustomAttributes(typeof(HideInInspector), true).FirstOrDefault() != null) continue; + output.Add(type); + } + } + + /// + /// Formats the name of the grouped type. + /// + /// The type. + /// The grouping. + /// System.String. + private static string FormatGroupedTypeName(Type type, ClassGrouping grouping) + { + var name = type.FullName; + + switch (grouping) + { + default: + case ClassGrouping.None: + return name; + + case ClassGrouping.ByNamespace: + return name.Replace('.', '/'); + + case ClassGrouping.ByNamespaceFlat: + var lastPeriodIndex = name.LastIndexOf('.'); + if (lastPeriodIndex != -1) name = name.Substring(0, lastPeriodIndex) + "/" + name.Substring(lastPeriodIndex + 1); + return name; + + case ClassGrouping.ByAddComponentMenu: + var addComponentMenuAttributes = type.GetCustomAttributes(typeof(AddComponentMenu), false); + if (addComponentMenuAttributes.Length == 1) return ((AddComponentMenu)addComponentMenuAttributes[0]).componentMenu; + return "Scripts/" + type.FullName.Replace('.', '/'); + } + } + + /// + /// Gets the filtered types. + /// + /// The filter. + /// List<Type>. + private static List GetFilteredTypes(ClassTypeConstraintAttribute filter) + { + var types = new List(); + + var assembly = Assembly.GetExecutingAssembly(); + FilterTypes(assembly, filter, types); + + foreach (var referencedAssembly in assembly.GetReferencedAssemblies()) + { + FilterTypes(Assembly.Load(referencedAssembly), filter, types); + } + types.Sort((a, b) => a.FullName.CompareTo(b.FullName)); + + return types; + } + + /// + /// Called when [selected type name]. + /// + /// The user data. + private static void OnSelectedTypeName(object userData) + { + var selectedType = userData as Type; + s_SelectedClassRef = ClassTypeReference.GetClassRef(selectedType); + var typeReferenceUpdatedEvent = EditorGUIUtility.CommandEvent("TypeReferenceUpdated"); + EditorWindow.focusedWindow.SendEvent(typeReferenceUpdatedEvent); + } + + /// + /// Resolves the type. + /// + /// The class reference. + /// Type. + private static Type ResolveType(string classRef) + { + Type type; + if (!s_TypeMap.TryGetValue(classRef, out type)) + { + type = !string.IsNullOrEmpty(classRef) ? Type.GetType(classRef) : null; + s_TypeMap[classRef] = type; + } + return type; + } + #endregion + } +} diff --git a/VXMusicOverlay/Assets/AiUnity/Common/Editor/Drawers/DividerDrawer.cs b/VXMusicOverlay/Assets/AiUnity/Common/Editor/Drawers/DividerDrawer.cs new file mode 100644 index 00000000..ab7a706b --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/Common/Editor/Drawers/DividerDrawer.cs @@ -0,0 +1,87 @@ +я╗┐// *********************************************************************** +// Assembly : Assembly-CSharp-Editor +// Author : AiDesigner +// Created : 07-09-2016 +// Modified : 01-10-2017 +// *********************************************************************** +using AiUnity.Common.Attributes; +using UnityEditor; +using UnityEngine; + +namespace AiUnity.Common.Editor.Drawers +{ + /// + /// Class DividerDrawer. + /// + /// + [CustomPropertyDrawer(typeof(DividerAttribute))] +public class DividerDrawer : DecoratorDrawer +{ + #region Fields + public static Texture2D lineTex = null; + #endregion + + + #region Properties + /// + /// Gets the divider. + /// + private DividerAttribute divider + { + get { return ((DividerAttribute)attribute); } + } + #endregion + + #region Methods + /// + /// Override this method to specify how tall the GUI for this decorator is in pixels. + /// + /// System.Single. + public override float GetHeight() + { + return base.GetHeight() + divider.space; + } + /// + /// Override this method to make your own GUI for the decorator. + /// See DecoratorDrawer for an example of how to use this. + /// + /// Rectangle on the screen to use for the decorator GUI. + public override void OnGUI(Rect position) + { + var co = Color.white; + switch (divider.col.ToLower()) { + case "white": + co = Color.white; + break; + case "red": + co = Color.red; + break; + case "blue": + co = Color.blue; + break; + case "green": + co = Color.green; + break; + case "gray": + co = Color.gray; + break; + case "grey": + co = Color.grey; + break; + case "black": + co = Color.black; + break; + } + + lineTex = new Texture2D(1, 1, TextureFormat.ARGB32, true); + lineTex.SetPixel(0, 1, co); + lineTex.Apply(); + var lineWidth = position.width * divider.widthPct; + var lineX = ((position.x + position.width) - lineWidth - ((position.width - lineWidth) / 2)); + var lineY = position.y + (divider.space / 2) + 7.0f; + var lineHeight = divider.thickness; + EditorGUI.DrawPreviewTexture(new Rect(lineX, lineY, lineWidth, lineHeight), lineTex); + } + #endregion +} +} diff --git a/VXMusicOverlay/Assets/AiUnity/Common/Editor/Drawers/ReadOnlyDrawer.cs b/VXMusicOverlay/Assets/AiUnity/Common/Editor/Drawers/ReadOnlyDrawer.cs new file mode 100644 index 00000000..caf0d8c4 --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/Common/Editor/Drawers/ReadOnlyDrawer.cs @@ -0,0 +1,46 @@ +я╗┐// *********************************************************************** +// Assembly : Assembly-CSharp-Editor +// Author : AiDesigner +// Created : 07-09-2016 +// Modified : 02-02-2017 +// *********************************************************************** +using AiUnity.Common.Attributes; +using UnityEditor; +using UnityEngine; + +namespace AiUnity.Common.Editor.Drawers +{ + /// + /// Custom drawer for read only properties. + /// + /// + [CustomPropertyDrawer(typeof(UnityReadOnlyAttribute))] + public class ReadOnlyDrawer : PropertyDrawer + { + #region Methods + /// + /// Override this method to specify how tall the GUI for this field is in pixels. + /// + /// The SerializedProperty to make the custom GUI for. + /// The label of this property. + /// The height in pixels. + public override float GetPropertyHeight(SerializedProperty property, GUIContent label) + { + return EditorGUI.GetPropertyHeight(property, label, true); + } + + /// + /// Grey out read only property by disabling GUI. + /// + /// Rectangle on the screen to use for the property GUI. + /// The SerializedProperty to make the custom GUI for. + /// The label of this property. + public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) + { + GUI.enabled = false; + EditorGUI.PropertyField(position, property, label, true); + GUI.enabled = true; + } + #endregion + } +} diff --git a/VXMusicOverlay/Assets/AiUnity/Common/Editor/ModalWindow/ModalWindow.cs b/VXMusicOverlay/Assets/AiUnity/Common/Editor/ModalWindow/ModalWindow.cs new file mode 100644 index 00000000..3b107291 --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/Common/Editor/ModalWindow/ModalWindow.cs @@ -0,0 +1,125 @@ +я╗┐// *********************************************************************** +// Assembly : Assembly-CSharp-Editor +// Author : AiDesigner +// Created : 07-09-2016 +// Modified : 02-02-2017 +// *********************************************************************** +using System; +using UnityEditor; +using UnityEngine; + +namespace AiUnity.Common.Editor.ModalWindow +{ + /// + /// Define a popup modal window that return a result. + /// Base class for IModal call implementation. + /// + /// + /// + public abstract class ModalWindow : EditorWindow where T : ScriptableObject + { + #region Constants + public const float TITLEBAR = 18; + #endregion + + #region Fields + private Action handler; + #endregion + + #region Properties + /// + /// Gets or sets the data. + /// + public T Data { set; get; } + + /// + /// Gets or sets the window result. + /// + public WindowResult WindowResult { get; protected set; } + + // protected properties... + /// + /// Gets the height. + /// + protected abstract float Height { get; } + + /// + /// Gets the width. + /// + protected abstract float Width { get; } + #endregion + + #region Methods + /// + /// Displays the specified handler. + /// + /// The handler. + /// The title. + /// The reference position. + public virtual void Display(Action handler, string title, Rect refPosition) + { + this.titleContent = new GUIContent(title); + this.handler = handler; + + var x = refPosition.x - (Width / 2); + var y = refPosition.y; + + var rect = new Rect(x, y, 0, 0); + this.position = rect; + ShowAsDropDown(rect, new Vector2(Width, Height)); + } + + /// + /// Cancels this instance. + /// + protected virtual void Cancel() + { + WindowResult = WindowResult.Cancel; + if (this.handler != null) this.handler(WindowResult, Data); + Close(); + } + + /// + /// Draws the specified region. + /// + /// The region. + protected abstract void Draw(Rect region); + + /// + /// Oks this instance. + /// + protected virtual void Ok() + { + WindowResult = WindowResult.Ok; + if (this.handler != null) this.handler(WindowResult, Data); + Close(); + } + + /// + /// Called when [GUI]. + /// + protected virtual void OnGUI() + { + GUILayout.BeginArea(new Rect(0, 0, position.width, position.height)); + GUILayout.BeginHorizontal(EditorStyles.toolbar); + GUILayout.Label(this.titleContent); + GUILayout.EndHorizontal(); + var content = new Rect(0, TITLEBAR, position.width, position.height - TITLEBAR); + GUILayout.BeginArea(content); + GUILayout.Space(5); + Draw(content); + GUILayout.EndArea(); + GUILayout.EndArea(); + } + + /// + /// Called when [lost focus]. + /// + protected virtual void OnLostFocus() + { + WindowResult = WindowResult.LostFocus; + if (this.handler != null) this.handler(WindowResult, Data); + } + #endregion + } +} diff --git a/VXMusicOverlay/Assets/AiUnity/Common/Editor/ModalWindow/WindowResult.cs b/VXMusicOverlay/Assets/AiUnity/Common/Editor/ModalWindow/WindowResult.cs new file mode 100644 index 00000000..f19ab031 --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/Common/Editor/ModalWindow/WindowResult.cs @@ -0,0 +1,20 @@ +я╗┐// *********************************************************************** +// Assembly : Assembly-CSharp-Editor +// Author : AiDesigner +// Created : 07-09-2016 +// Modified : 02-02-2017 +// *********************************************************************** +namespace AiUnity.Common.Editor.ModalWindow +{ + /// + /// Results returned from + /// + public enum WindowResult + { + None, + Ok, + Cancel, + Invalid, + LostFocus + } +} diff --git a/VXMusicOverlay/Assets/AiUnity/Common/Editor/Styles/CustomEditorStyles.cs b/VXMusicOverlay/Assets/AiUnity/Common/Editor/Styles/CustomEditorStyles.cs new file mode 100644 index 00000000..534e36b7 --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/Common/Editor/Styles/CustomEditorStyles.cs @@ -0,0 +1,230 @@ +// *********************************************************************** +// Assembly : Assembly-CSharp-Editor +// Author : AiDesigner +// Created : 06-20-2016 +// Modified : 12-18-2017 +// +// List of Unity built in Styles: +//http://stackoverflow.com/questions/43727199/is-there-a-resource-for-all-of-the-custom-gui-styles-that-come-with-unity +//https://gist.github.com/MadLittleMods/ea3e7076f0f59a702ecb +// +// *********************************************************************** +using UnityEditor; +using UnityEngine; + +namespace AiUnity.Common.Editor.Styles +{ + /// + /// Custom Styles used in editor windows. + /// + public static class CustomEditorStyles + { + #region Fields + private static GUIStyle csScriptIconStyle; + private static GUIStyle editorLine; + private static GUIStyle helpIconStyle; + private static GUIStyle infoIconStyle; + private static GUIStyle minusIconStyle; + private static GUIStyle plusIconStyle; + #endregion + + #region Properties + /// + /// Gets the cs script icon style. + /// + public static GUIStyle CSScriptIconStyle + { + get + { + if (CustomEditorStyles.csScriptIconStyle == null) + { + CustomEditorStyles.csScriptIconStyle = new GUIStyle { fixedWidth = 15f, fixedHeight = 15f }; + CustomEditorStyles.csScriptIconStyle.normal.background = EditorGUIUtility.Load("cs Script Icon") as Texture2D; + CustomEditorStyles.csScriptIconStyle.margin.top = 2; + CustomEditorStyles.csScriptIconStyle.margin.left = 4; + CustomEditorStyles.csScriptIconStyle.margin.right = 4; + } + return CustomEditorStyles.csScriptIconStyle; + } + } + + /// + /// Gets the style for a editor separation line. + /// + public static GUIStyle EditorLine + { + get + { + if (CustomEditorStyles.editorLine == null) + { + CustomEditorStyles.editorLine = new GUIStyle("box"); + CustomEditorStyles.editorLine.border.top = CustomEditorStyles.editorLine.border.bottom = 1; + CustomEditorStyles.editorLine.margin.top = CustomEditorStyles.editorLine.margin.bottom = 1; + CustomEditorStyles.editorLine.padding.top = CustomEditorStyles.editorLine.padding.bottom = 1; + } + return CustomEditorStyles.editorLine; + } + } + + /// + /// Gets the help icon style. + /// + public static GUIStyle HelpIconStyle + { + get + { + if (CustomEditorStyles.helpIconStyle == null) + { + CustomEditorStyles.helpIconStyle = new GUIStyle { fixedWidth = 15f, fixedHeight = 15f }; + CustomEditorStyles.helpIconStyle.normal.background = EditorGUIUtility.Load("_Help") as Texture2D; + CustomEditorStyles.helpIconStyle.margin.top = 2; + CustomEditorStyles.helpIconStyle.margin.left = 4; + CustomEditorStyles.helpIconStyle.margin.right = 4; + } + return CustomEditorStyles.helpIconStyle; + } + } + + /// + /// Gets the minus icon style. + /// + public static GUIStyle MinusIconStyle + { + get + { + if (CustomEditorStyles.minusIconStyle == null) + { + CustomEditorStyles.minusIconStyle = new GUIStyle { fixedWidth = 15f, fixedHeight = 15f }; + //CustomEditorStyles.minusIconStyle.normal.background = EditorGUIUtility.Load("ol minus") as Texture2D; + //CustomEditorStyles.minusIconStyle.active.background = EditorGUIUtility.Load("ol minus act") as Texture2D; + CustomEditorStyles.minusIconStyle.normal.background = EditorGUIUtility.Load(EditorGUIUtility.isProSkin ? "d_Toolbar Minus.png" : "ol minus") as Texture2D; + CustomEditorStyles.minusIconStyle.active.background = EditorGUIUtility.Load(EditorGUIUtility.isProSkin ? "d_Toolbar Minus.png" : "ol minus act") as Texture2D; + CustomEditorStyles.minusIconStyle.margin.top = 3; + } + return CustomEditorStyles.minusIconStyle; + } + } + + public static GUIStyle MinusIconMiniStyle + { + get + { + if (CustomEditorStyles.minusIconStyle == null) + { + CustomEditorStyles.minusIconStyle = new GUIStyle(EditorStyles.label) { fixedWidth = 13f, fixedHeight = 13f }; + //CustomEditorStyles.minusIconStyle.normal.background = EditorGUIUtility.Load("ol minus") as Texture2D; + //CustomEditorStyles.minusIconStyle.active.background = EditorGUIUtility.Load("ol minus act") as Texture2D; + CustomEditorStyles.minusIconStyle.normal.background = EditorGUIUtility.Load(EditorGUIUtility.isProSkin ? "d_Toolbar Minus.png" : "ol minus") as Texture2D; + CustomEditorStyles.minusIconStyle.active.background = EditorGUIUtility.Load(EditorGUIUtility.isProSkin ? "d_Toolbar Minus.png" : "ol minus act") as Texture2D; + CustomEditorStyles.minusIconStyle.margin.top = 4; + CustomEditorStyles.minusIconStyle.margin.right = 8; + } + return CustomEditorStyles.minusIconStyle; + } + } + + /// + /// Gets the plus icon style. + /// + public static GUIStyle PlusIconStyle + { + get + { + if (CustomEditorStyles.plusIconStyle == null) + { + CustomEditorStyles.plusIconStyle = new GUIStyle { fixedWidth = 15f, fixedHeight = 15f }; + //CustomEditorStyles.plusIconStyle.normal.background = EditorGUIUtility.Load("ol plus") as Texture2D; + //CustomEditorStyles.plusIconStyle.active.background = EditorGUIUtility.Load("ol plus act") as Texture2D; + CustomEditorStyles.plusIconStyle.normal.background = EditorGUIUtility.Load(EditorGUIUtility.isProSkin ? "d_Toolbar Plus.png" : "ol plus") as Texture2D; + CustomEditorStyles.plusIconStyle.active.background = EditorGUIUtility.Load(EditorGUIUtility.isProSkin ? "d_Toolbar Plus.png" : "ol plus act") as Texture2D; + CustomEditorStyles.plusIconStyle.margin.top = 3; + CustomEditorStyles.plusIconStyle.margin.left = 4; + CustomEditorStyles.plusIconStyle.margin.right = 4; + } + return CustomEditorStyles.plusIconStyle; + } + } + + /// + /// Gets the plus icon style. + /// + public static GUIStyle PlusIconMiniStyle + { + get + { + if (CustomEditorStyles.plusIconStyle == null) + { + CustomEditorStyles.plusIconStyle = new GUIStyle { fixedWidth = 13f, fixedHeight = 13f }; + //CustomEditorStyles.plusIconStyle.normal.background = EditorGUIUtility.Load("ol plus") as Texture2D; + //CustomEditorStyles.plusIconStyle.active.background = EditorGUIUtility.Load("ol plus act") as Texture2D; + CustomEditorStyles.plusIconStyle.normal.background = EditorGUIUtility.Load(EditorGUIUtility.isProSkin ? "d_Toolbar Plus.png" : "ol plus") as Texture2D; + CustomEditorStyles.plusIconStyle.active.background = EditorGUIUtility.Load(EditorGUIUtility.isProSkin ? "d_Toolbar Plus.png" : "ol plus act") as Texture2D; + + CustomEditorStyles.plusIconStyle.margin.top = 4; + CustomEditorStyles.plusIconStyle.margin.left = 4; + CustomEditorStyles.plusIconStyle.margin.right = 4; + } + return CustomEditorStyles.plusIconStyle; + } + } + + private static Texture2D MakeTex(int width, int height, Color col) + { + //GUIStyle bbb = new GUIStyle("OL Minus"); + Color[] pix = new Color[width * height]; + + for (int i = 0; i < pix.Length; i++) + pix[i] = col; + + Texture2D result = new Texture2D(width, height); + result.SetPixels(pix); + result.Apply(); + + return result; + } + + private static Texture2D MakeTex2(int width, int height, Color textureColor, RectOffset border, Color borderColor) + { + int widthInner = width; + + //Texture2D minus = EditorGUIUtility.Load("ol minus") as Texture2D; + width += border.left; + width += border.right; + + Color[] pix = new Color[width * (height + border.top + border.bottom)]; + + + + for (int i = 0; i < pix.Length; i++) + { + if (i < (border.bottom * width)) + pix[i] = borderColor; + else if (i >= ((border.bottom * width) + (height * width))) //Border Top + pix[i] = borderColor; + else + { //Center of Texture + + if ((i % width) < border.left) // Border left + pix[i] = borderColor; + else if ((i % width) >= (border.left + widthInner)) //Border right + pix[i] = borderColor; + else + pix[i] = textureColor; //Color texture + //pix[i] = minus.GetPixel(i, 0); //Color texture + } + } + + Texture2D result = new Texture2D(width, height + border.top + border.bottom); + //Texture2D result = EditorGUIUtility.Load("ol minus") as Texture2D; + result.SetPixels(pix); + result.Apply(); + + + return result; + + } + + + #endregion + } +} diff --git a/VXMusicOverlay/Assets/AiUnity/Common/Extensions/EnumExtensions.cs b/VXMusicOverlay/Assets/AiUnity/Common/Extensions/EnumExtensions.cs new file mode 100644 index 00000000..1fa4e74a --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/Common/Extensions/EnumExtensions.cs @@ -0,0 +1,325 @@ +// *********************************************************************** +// Assembly : Assembly-CSharp +// Company : AiUnity +// Author : AiDesigner +// +// Created : 06-20-2016 +// Modified : 07-23-2018 +// *********************************************************************** +#if AIUNITY_CODE + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; +using AiUnity.Common.Attributes; +using System.ComponentModel; + +namespace AiUnity.Common.Extensions +{ + /// + /// Enum Extensions. + /// + public static class EnumExtensions + { + #region Methods + /// + /// Adds the specified value. + /// + /// + /// The type. + /// The value. + /// + /// + public static T Add(this Enum type, T value) + { + try + { + return (T)(object)(((int)(object)type | (int)(object)value)); + } + catch (Exception ex) + { + throw new ArgumentException( + string.Format( + "Could not append value from enumerated type '{0}'.", + typeof(T).Name + ), ex); + } + } + + /// + /// Gets the flags. + /// + /// The type of the t enum. + /// The input. + /// if set to true [check zero]. + /// if set to true [check combinators]. + /// T must be an enumerated type + /// T must be an enumerated type + public static IEnumerable GetFlags(this TEnum input, bool checkZero = false, bool checkCombinators = false) where TEnum : struct, IComparable, IFormattable + { +#if !UNITY_WSA + if (!typeof(TEnum).IsEnum) + { + throw new ArgumentException("T must be an enumerated type"); + } +#endif + + long setBits = Convert.ToInt32(input); + if (!checkZero && (setBits == 0)) + { + yield break; + } + + foreach (TEnum value in Enum.GetValues(typeof(TEnum))) + { + long valMask = Convert.ToInt32(value); + + if (valMask != 0 && (setBits & valMask) == valMask) + { + if (checkCombinators || ((valMask & (valMask - 1)) == 0)) + { + yield return value; + } + } + } + } + + /// + /// Determines whether [has] [the specified value]. + /// + /// + /// The type. + /// The value. + public static bool Has(this Enum type, T value) + { + try + { + return (((int)(object)type & (int)(object)value) == (int)(object)value); + } + catch + { + return false; + } + } + + /// + /// Determines whether [is] [the specified value]. + /// + /// + /// The type. + /// The value. + public static bool Is(this Enum type, T value) + { + try + { + return (int)(object)type == (int)(object)value; + } + catch + { + return false; + } + } + + /// + /// Determines whether the specified s is enum. + /// + /// + /// The s. + public static bool IsEnum(this string s) + { + return s.IsEnum(typeof(T)); + } + + /// + /// Determines whether the specified type is enum. + /// + /// The s. + /// The type. + public static bool IsEnum(this string s, Type type) + { + bool result = Enum.IsDefined(type, s); + + if (!result && !string.IsNullOrEmpty(s) && type.IsDefined(typeof(FlagsAttribute), false)) + { + string[] names = Enum.GetNames(type); + result = s.Replace(" ", string.Empty).Split(',').All(e => names.Any(n => n.Equals(e))); + } + return result; + } + + /// + /// Removes the specified value. + /// + /// + /// The type. + /// The value. + /// + /// + public static T Remove(this Enum type, T value) + { + try + { + return (T)(object)(((int)(object)type & ~(int)(object)value)); + } + catch (Exception ex) + { + throw new ArgumentException( + string.Format( + "Could not remove value from enumerated type '{0}'.", + typeof(T).Name + ), ex); + } + } + + /// + /// To the enum. + /// + /// + /// The i. + public static T ToEnum(this int i) where T : struct, IComparable, IFormattable, IConvertible + { + return (T)(object)i; + } + + /// + /// To the enum. + /// + /// + /// The s. + /// The default value. + public static T ToEnum(this string s, T defaultValue = default(T)) where T : struct, IComparable, IFormattable, IConvertible + { + try + { + if (IsEnum(s)) + { + return (T)Enum.Parse(typeof(T), s); + } + } + catch + { + } + return defaultValue; + } + + /// + /// To the enum. + /// + /// The s. + /// The type. + public static Enum ToEnum(this string s, Type type) + { + try + { + int tryInt; + if (Int32.TryParse(s, out tryInt)) + { + return tryInt.ToEnum(type); + } + if (IsEnum(s, type)) + { + return Enum.Parse(type, s) as Enum; + } + } + catch + { + return Activator.CreateInstance(type) as Enum; + } + return Activator.CreateInstance(type) as Enum; + } + + /// + /// To the enum. + /// + /// The i. + /// The type. + public static Enum ToEnum(this int i, Type type) + { + return Convert.ChangeType(i, type) as Enum; + } + + /// + /// To the enum safe. + /// + /// + /// The s. + public static T? ToEnumSafe(this string s) where T : struct + { + return (IsEnum(s) ? (T?)Enum.Parse(typeof(T), s) : null); + } + + /// + /// Determines whether [is flag defined] [the specified e]. + /// + /// The e. + static bool IsFlagDefined(Enum e) + { + decimal d; + return !decimal.TryParse(e.ToString(), out d); + } + + /// + /// Gets the description. + /// + /// The value. + public static string GetDescription(this Enum value) + { + Type type = value.GetType(); + string name = Enum.GetName(type, value); + if (name != null) + { + FieldInfo field = type.GetField(name); + if (field != null) + { + DescriptionAttribute attr = Attribute.GetCustomAttribute(field, typeof(DescriptionAttribute)) as DescriptionAttribute; + if (attr != null) + { + return attr.Description; + } + } + } + //return value.ToString(); + return string.Empty; + } + + /// + /// Gets the symbol. + /// + /// The value. + public static string GetSymbol(this Enum value) + { + Type type = value.GetType(); + string name = Enum.GetName(type, value); + if (name != null) + { + FieldInfo field = type.GetField(name); + if (field != null) + { + EnumSymbolAttribute attr = Attribute.GetCustomAttribute(field, typeof(EnumSymbolAttribute)) as EnumSymbolAttribute; + if (attr != null) + { + return attr.EnumSymbol; + } + } + } + return value.ToString(); + } + + /// + /// Gets the type of the attribute string of. + /// + /// + /// The enum value. + public static string GetAttributeStringOfType(this Enum enumVal) where T : System.Attribute + { + var type = enumVal.GetType(); + var memInfo = type.GetMember(enumVal.ToString()); + var attributes = memInfo[0].GetCustomAttributes(typeof(T), false); + return (attributes.Length > 0) ? ((T)attributes[0]).ToString() : enumVal.ToString(); + } +#endregion + } +} + +#endif \ No newline at end of file diff --git a/VXMusicOverlay/Assets/AiUnity/Common/Extensions/GenericExtensions.cs b/VXMusicOverlay/Assets/AiUnity/Common/Extensions/GenericExtensions.cs new file mode 100644 index 00000000..3b4f8ee6 --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/Common/Extensions/GenericExtensions.cs @@ -0,0 +1,70 @@ +я╗┐// *********************************************************************** +// Assembly : Assembly-CSharp +// Author : AiDesigner +// Created : 01-29-2017 +// Modified : 07-23-2018 +// *********************************************************************** +#if AIUNITY_CODE + +using System; +using System.Collections.Generic; +using System.Linq; + +namespace AiUnity.Common.Extensions +{ + /// + /// Generic Extensions. + /// + public static class GenericExtensions + { + #region Methods + /// + /// Adds the unique. + /// + /// + /// The list. + /// The item. + public static bool AddUnique(this List list, T item) + { + if (!list.Exists(p => p.Equals(item))) + { + list.Add(item); + return true; + } + return false; + } + + /// + /// Gets the or add. + /// + /// + /// + /// The dictionary. + /// The key. + /// The default value. + /// V. + public static V GetOrAdd(this Dictionary dictionary, K key, V defaultValue = default(V)) + { + V value; + + if (dictionary.TryGetValue(key, out value)) + { + return value; + } + dictionary.Add(key, defaultValue); + return defaultValue; + } + + /// + /// Indicates whether the specified array is null or has a length of zero. + /// + /// The array to test. + /// true if the array parameter is null or has a length of zero; otherwise, false. + public static bool IsNullOrEmpty(this Array array) + { + return (array == null || array.Length == 0); + } + #endregion + } +} +#endif \ No newline at end of file diff --git a/VXMusicOverlay/Assets/AiUnity/Common/Extensions/LinqExtensions.cs b/VXMusicOverlay/Assets/AiUnity/Common/Extensions/LinqExtensions.cs new file mode 100644 index 00000000..569f8f75 --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/Common/Extensions/LinqExtensions.cs @@ -0,0 +1,219 @@ +// *********************************************************************** +// Assembly : Assembly-CSharp +// Author : AiDesigner +// Created : 06-20-2016 +// Modified : 07-23-2018 +// *********************************************************************** +#if AIUNITY_CODE + +using System; +using System.Collections.Generic; +using System.Linq; + +namespace AiUnity.Common.Extensions +{ + /// + /// Linq Extensions. + /// + public static class LinqExtensions + { + #region Methods + /// + /// Appends the specified value. + /// + /// + /// The values. + /// The value. + /// IEnumerable<T>. + public static IEnumerable MyAppend(this IEnumerable list, T item) + { + foreach (var element in list) + { + yield return element; + } + yield return item; + } + + public static bool IsNullOrEmpty(this IEnumerable enumerable) + { + return enumerable == null || !enumerable.Any(); + } + + /// + /// Prepends the specified value. + /// + /// + /// The values. + /// The value. + /// IEnumerable<T>. + public static IEnumerable MyPrepend(this IEnumerable values, T value) + { + yield return value; + foreach (T item in values) + { + yield return item; + } + } + + /// + /// Skips the last. + /// + /// + /// The source. + /// The count. + /// IEnumerable<T>. + public static IEnumerable SkipLast(this IEnumerable source, int count = 1) + { + var enumerator = source.GetEnumerator(); + var queue = new Queue(count + 1); + while (true) + { + if (!enumerator.MoveNext()) break; + queue.Enqueue(enumerator.Current); + if (queue.Count > count) yield return queue.Dequeue(); + } + } + + /// + /// Skips items from the input sequence until the given predicate returns true + /// when applied to the current source item; that item will be the last skipped. + /// + /// Type of the source sequence + /// Source sequence + /// Predicate used to determine when to stop yielding results from the source. + /// Items from the source sequence after the predicate first returns true when applied to the item. + /// + /// source + /// or + /// predicate + /// + /// or is null + public static IEnumerable SkipUntil(this IEnumerable source, Func predicate) + { + if (source == null) throw new ArgumentNullException("source"); + if (predicate == null) throw new ArgumentNullException("predicate"); + + using (var iterator = source.GetEnumerator()) + { + while (iterator.MoveNext()) + { + if (predicate(iterator.Current)) + { + break; + } + } + while (iterator.MoveNext()) + { + yield return iterator.Current; + } + } + } + + /// + /// Wraps this object instance into an IEnumerable<T> + /// consisting of a single item. + /// + /// Type of the wrapped object. + /// The object to wrap. + /// An IEnumerable<T> consisting of a single item. + public static IEnumerable Yield(this T item) + { + if (item == null) yield break; + yield return item; + } + + /// + /// Inserts items into a list using the reference list to determine order. + /// + /// + /// The source. + /// The reference. + /// The items. + public static void InsertRelative(this IList source, IList reference, params T[] items) + { + int insertIndex; + + foreach (T item in items) + { + int tagPriority = reference.IndexOf(item); + + for (insertIndex = 0; insertIndex < source.Count(); insertIndex++) + { + // Lower index represents higher priority + if (tagPriority >= 0 && (tagPriority < reference.IndexOf(source[insertIndex]))) + { + break; + } + } + source.Insert(insertIndex, item); + } + } + + public static TValue GetValueOrDefault(this IDictionary dictionary, TKey key, TValue defaultValue = default(TValue)) + { + TValue value; + return dictionary.TryGetValue(key, out value) ? value : defaultValue; + } + + public static TValue GetValueOrDefault(this IDictionary dictionary, TKey key, Func defaultValueProvider) + { + TValue value; + return dictionary.TryGetValue(key, out value) ? value + : defaultValueProvider(); + } + + public static bool ScrambledEquals(this IEnumerable list1, IEnumerable list2) + { + if (list2 == null || (list1.Count() != list2.Count())) + { + return false; + } + + var cnt = new Dictionary(); + + foreach (T s in list1) + { + if (cnt.ContainsKey(s)) + { + cnt[s]++; + } + else + { + cnt.Add(s, 1); + } + } + foreach (T s in list2) + { + if (cnt.ContainsKey(s)) + { + cnt[s]--; + } + else + { + return false; + } + } + return cnt.Values.All(c => c == 0); + } + + public static int IndexOf(this IEnumerable list, T item) + { + return list.Select((x, index) => EqualityComparer.Default.Equals(item, x) ? index : -1) + .FirstOrDefault(x => x != -1, -1); + } + + public static T FirstOrDefault(this IEnumerable source, Func predicate, T alternate) + { + return source.Where(predicate).FirstOrDefault(alternate); + } + + public static T FirstOrDefault(this IEnumerable source, T alternate) + { + return source.DefaultIfEmpty(alternate).First(); + } + + #endregion + } +} + +#endif \ No newline at end of file diff --git a/VXMusicOverlay/Assets/AiUnity/Common/Extensions/ReflectionExtensions.cs b/VXMusicOverlay/Assets/AiUnity/Common/Extensions/ReflectionExtensions.cs new file mode 100644 index 00000000..19099d86 --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/Common/Extensions/ReflectionExtensions.cs @@ -0,0 +1,81 @@ +я╗┐// *********************************************************************** +// Assembly : Assembly-CSharp +// Author : AiDesigner +// Created : 07-09-2016 +// Modified : 07-23-2018 +// *********************************************************************** +#if AIUNITY_CODE + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; + +namespace AiUnity.Common.Extensions +{ + /// + /// Reflection Extensions. + /// + public static class ReflectionExtensions + { + #region Methods + /// + /// Gets first attribute of type T on propertyInfo + /// + /// + /// Used to find property attributes + /// T. + public static T GetAttribute(this PropertyInfo propertyInfo) + { + return propertyInfo.GetAttributes().FirstOrDefault(); + } + + /// + /// Gets first attribute of type T on fieldInfo + /// + /// + /// Used to find property attributes + /// T. + public static T GetAttribute(this FieldInfo fieldInfo) + { + return fieldInfo.GetAttributes().FirstOrDefault(); + } + + /// + /// Gets attributes of type T on propertyInfo + /// + /// + /// Used to find property attributes + /// IEnumerable<T>. + public static IEnumerable GetAttributes(this PropertyInfo propertyInfo) + { + return propertyInfo.GetCustomAttributes(typeof(T), true).Cast(); + } + + /// + /// Gets attributes of type T on fieldInfo + /// + /// + /// Used to find property attributes + /// IEnumerable<T>. + public static IEnumerable GetAttributes(this FieldInfo propertyInfo) + { + return propertyInfo.GetCustomAttributes(typeof(T), true).Cast(); + } + + /// + /// Determines whether the specified method has override keyword. + /// + /// The method information. + /// true if the specified method information is overriding; otherwise, false. + /// + public static bool IsOverriding(this MethodInfo methodInfo) + { + if (methodInfo == null) throw new ArgumentNullException(); + return methodInfo.DeclaringType != methodInfo.GetBaseDefinition().DeclaringType; + } + #endregion + } +} + +#endif \ No newline at end of file diff --git a/VXMusicOverlay/Assets/AiUnity/Common/Extensions/StringExtensions.cs b/VXMusicOverlay/Assets/AiUnity/Common/Extensions/StringExtensions.cs new file mode 100644 index 00000000..bb851f1b --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/Common/Extensions/StringExtensions.cs @@ -0,0 +1,115 @@ +я╗┐// *********************************************************************** +// Assembly : Assembly-CSharp +// Author : AiDesigner +// Created : 06-20-2016 +// Modified : 07-23-2018 +// *********************************************************************** +#if AIUNITY_CODE + +//using System; + +namespace AiUnity.Common.Extensions +{ + /// + /// String Extensions. + /// + public static class StringExtensions + { + #region Methods + public static string After(this string value, char a, bool last = true) + { + int index = last ? value.LastIndexOf(a) : value.IndexOf(a); + return value.Substring(index + 1); + } + + + /// + /// Get string value after [last] a. + /// + /// The value. + /// a. + /// System.String. + public static string After(this string value, string a, bool last = true) + { + int index = last ? value.LastIndexOf(a) : value.IndexOf(a); + return value.Substring(index + 1); + } + + /// + /// Get string value after [first] a. + /// + /// The value. + /// a. + /// System.String. + public static string Before(this string value, char a, bool last = true) + { + int posA = last ? value.LastIndexOf(a) : value.IndexOf(a); + //return posA == -1 ? string.Empty : value.Substring(0, posA); + return posA == -1 ? string.Empty : value.Remove(posA); + } + + /// + /// Get string value after [first] a. + /// + /// The value. + /// a. + /// System.String. + public static string Before(this string value, string a, bool last = true) + { + int posA = last ? value.LastIndexOf(a) : value.IndexOf(a); + return posA == -1 ? string.Empty : value.Remove(posA); + } + + public static string TrimEnd(this string source, string value) + { + if (!source.EndsWith(value)) + return source; + + return source.Remove(source.LastIndexOf(value)); + } + + /// + /// Determines whether [contains] [the specified to check]. + /// + /// The source. + /// To check. + /// The comp. + /// true if [contains] [the specified to check]; otherwise, false. + //public static bool Contains(this string source, string toCheck, StringComparison comp) + //{ + //return source.IndexOf(toCheck, comp) >= 0; + //} + //xxx + + /// + /// Lowercases the letter. + /// + /// The s. + /// The index. + /// System.String. + public static string LowercaseLetter(this string s, int index = 0) + { + if (string.IsNullOrEmpty(s)) return string.Empty; + var a = s.ToCharArray(); + a[index] = char.ToLower(a[index]); + return new string(a); + } + + /// + /// Uppercases the letter. + /// + /// The s. + /// The index. + /// System.String. + public static string UppercaseLetter(this string s, int index = 0) + { + if (string.IsNullOrEmpty(s)) return string.Empty; + var a = s.ToCharArray(); + a[index] = char.ToUpper(a[index]); + return new string(a); + } + #endregion + } +} + +#endif \ No newline at end of file diff --git a/VXMusicOverlay/Assets/AiUnity/Common/Extensions/SystemExtensions.cs b/VXMusicOverlay/Assets/AiUnity/Common/Extensions/SystemExtensions.cs new file mode 100644 index 00000000..c6472dca --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/Common/Extensions/SystemExtensions.cs @@ -0,0 +1,103 @@ +// *********************************************************************** +// Assembly : Assembly-CSharp +// Author : AiDesigner +// Created : 06-20-2016 +// Modified : 07-23-2018 +// *********************************************************************** +#if AIUNITY_CODE + +using System; +using System.Collections.Generic; +using System.Linq; + +namespace AiUnity.Common.Extensions +{ + /// + /// System Extensions. + /// + public static class SystemExtensions + { + #region Methods + /// + /// Get full type name with full namespace names + /// + /// The type to get the C# name for (may be a generic type or a nullable type). + /// if set to true [full name]. + /// Full type name, fully qualified namespaces + // http://stackoverflow.com/questions/2579734/get-the-type-name + // http://stackoverflow.com/questions/6402864/c-pretty-type-name-function + public static string GetCSharpName(this Type type, bool fullName = false) + { + if (type == null || type.Equals(typeof(void))) + { + return "void"; + } + + Type nullableType = Nullable.GetUnderlyingType(type); + Type baseType = nullableType != null ? nullableType : type; + string nullableSuffix = nullableType != null ? "?" : string.Empty; + + if (baseType.IsGenericType) + { + return string.Format("{0}<{1}>{2}", + baseType.Name.Substring(0, baseType.Name.IndexOf('`')), + string.Join(", ", baseType.GetGenericArguments().Select(ga => ga.GetCSharpName()).ToArray()), + nullableSuffix); + } + + switch (Type.GetTypeCode(baseType)) + { + case TypeCode.Boolean: + return "bool"; + case TypeCode.Byte: + return "byte"; + case TypeCode.SByte: + return "sbyte"; + case TypeCode.Char: + return "char"; + case TypeCode.Decimal: + return "decimal" + nullableSuffix; + case TypeCode.Double: + return "double" + nullableSuffix; + case TypeCode.Single: + return "float" + nullableSuffix; + case TypeCode.Int32: + return "int" + nullableSuffix; + case TypeCode.UInt32: + return "uint" + nullableSuffix; + case TypeCode.Int64: + return "long" + nullableSuffix; + case TypeCode.UInt64: + return "ulong" + nullableSuffix; + case TypeCode.Int16: + return "short" + nullableSuffix; + case TypeCode.UInt16: + return "ushort" + nullableSuffix; + case TypeCode.String: + return "string"; + case TypeCode.Object: + return (fullName ? baseType.FullName : baseType.Name) + nullableSuffix; + default: + return null; + } + + } + + /// + /// Gets the inheritance depth of a type. + /// + /// The type to analyze + /// Inheritance depth + public static int GetInheritanceDepth(this Type type) + { + int count = 0; + + for (var current = type; current != null; current = current.BaseType) + count++; + return count; + } + + #endregion + } +} +#endif \ No newline at end of file diff --git a/VXMusicOverlay/Assets/AiUnity/Common/Extensions/XMLLinqExtensions.cs b/VXMusicOverlay/Assets/AiUnity/Common/Extensions/XMLLinqExtensions.cs new file mode 100644 index 00000000..662f40f8 --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/Common/Extensions/XMLLinqExtensions.cs @@ -0,0 +1,98 @@ +// *********************************************************************** +// Assembly : Assembly-CSharp +// Author : AiDesigner +// Created : 06-20-2016 +// Modified : 07-23-2018 +// *********************************************************************** +#if AIUNITY_CODE + +using System.Collections; +using System.Xml.Linq; +using System; +using System.Collections.Generic; +using System.Linq; + +namespace AiUnity.Common.Extensions +{ + /// + /// XML Linq Extensions. + /// + public static class XMLLinqExtensions + { + /// + /// Moves the element up. + /// + /// The element. + /// Nowhere to move element to! + public static void MoveElementUp (this XElement element) + { + // Walk backwards until we find an element - ignore text nodes + XNode previousNode = element.PreviousNode; + while (previousNode != null && !(previousNode is XElement)) { + previousNode = previousNode.PreviousNode; + } + if (previousNode == null) { + throw new ArgumentException ("Nowhere to move element to!"); + } + element.Remove (); + previousNode.AddBeforeSelf (element); + } + + /// + /// Moves the element down. + /// + /// The element. + /// Nowhere to move element to! + public static void MoveElementDown (this XElement element) + { + // Walk backwards until we find an element - ignore text nodes + XNode nextNode = element.NextNode; + while (nextNode != null && !(nextNode is XElement)) { + nextNode = nextNode.NextNode; + } + if (nextNode == null) { + throw new ArgumentException ("Nowhere to move element to!"); + } + element.Remove (); + nextNode.AddAfterSelf (element); + } + + /// + /// Gets attribute value or sets to default if absent. + /// + /// The element. + /// Name of the attribute. + /// The default value. + /// Value of the attribute or default value. + public static XAttribute GetOrSetAttribute(this XElement element, string attributeName, string defaultValue) + { + XAttribute attribute = element.Attribute(attributeName); + + if (attribute == null) { + attribute = new XAttribute(attributeName, defaultValue); + element.Add(attribute); + } + + return attribute; + } + + /*public static IEnumerable LocalDescendants(this XElement xElement, XName XNameLocal) + { + return xElement.Descendants("{" + xElement.GetDefaultNamespace().NamespaceName + "}" + XNameLocal.LocalName); + } + + public static IEnumerable LocalDescendants(this IEnumerable xElements, XName XNameLocal) + { + return xElements.SelectMany(e => e.LocalDescendants(XNameLocal)); + }*/ + + /*public static XAttribute LocalAttribute(this XElement xElement, XName XNameLocal, bool ignoreCase = false) + { + //return xElement.Attributes().FirstOrDefault(a => a.Name.LocalName.Equals(targetPropertyInfo.Name, StringComparison.CurrentCultureIgnoreCase));; + return xElement.Attribute("{" + xElement.GetDefaultNamespace().NamespaceName + "}" + XNameLocal.LocalName); + }*/ + + } +} + +#endif \ No newline at end of file diff --git a/VXMusicOverlay/Assets/AiUnity/Common/IO/UnityFileInfo.cs b/VXMusicOverlay/Assets/AiUnity/Common/IO/UnityFileInfo.cs new file mode 100644 index 00000000..527ba8ca --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/Common/IO/UnityFileInfo.cs @@ -0,0 +1,51 @@ +я╗┐// *********************************************************************** +// Assembly : Assembly-CSharp +// Author : AiDesigner +// Created : 06-20-2016 +// Modified : 07-23-2018 +// *********************************************************************** +#if AIUNITY_CODE + +using System.IO; +using UnityEngine; +using AiUnity.Common.Patterns; + +namespace AiUnity.Common.IO +{ + /// + /// Unity file access based off . + /// + //public abstract class UnityFileInfo : Singleton where T : class + public abstract class UnityFileInfo : Singleton where T : new() + { + #region Properties + /// + /// Gets or sets the file information. + /// + public FileInfo FileInfo { get; set; } + + /// + /// Gets the name without extension. + /// + public string NameWithoutExtension { + get { return Path.GetFileNameWithoutExtension(FileInfo.Name); } + } + + /// + /// Gets the name of the relative. + /// + public string RelativeName { + get { return string.IsNullOrEmpty(FileInfo.FullName) ? null : FileInfo.FullName.Substring(Application.dataPath.Length - 6); } + } + + /// + /// Gets the relative name without extension. + /// + public string RelativeNameWithoutExtension { + get { return Path.Combine(Path.GetDirectoryName(RelativeName), NameWithoutExtension); } + } + #endregion + } +} + +#endif \ No newline at end of file diff --git a/VXMusicOverlay/Assets/AiUnity/Common/InternalLog/CommonInternalLogger.cs b/VXMusicOverlay/Assets/AiUnity/Common/InternalLog/CommonInternalLogger.cs new file mode 100644 index 00000000..c800da0c --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/Common/InternalLog/CommonInternalLogger.cs @@ -0,0 +1,29 @@ +я╗┐// *********************************************************************** +// Assembly : Assembly-CSharp +// Author : AiDesigner +// Created : 12-07-2016 +// Modified : 07-23-2018 +// *********************************************************************** +#if AIUNITY_CODE + +using AiUnity.Common.Extensions; +using AiUnity.Common.Log; + +namespace AiUnity.Common.InternalLog +{ + /// + /// AiUnity Common internal logger. + /// +#if UNITY_EDITOR + [UnityEditor.InitializeOnLoad] +#endif + public class CommonInternalLogger : InternalLogger + { + static CommonInternalLogger() + { + Instance.Assert(true, "This log statement is executed prior to unity editor serialization due to InitializeOnLoad attribute. The allows Common logger to work in all phases of Unity Editor compile (ie. serialization)."); + } + } +} + +#endif \ No newline at end of file diff --git a/VXMusicOverlay/Assets/AiUnity/Common/InternalLog/IInternalLogger.cs b/VXMusicOverlay/Assets/AiUnity/Common/InternalLog/IInternalLogger.cs new file mode 100644 index 00000000..942d750f --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/Common/InternalLog/IInternalLogger.cs @@ -0,0 +1,163 @@ +я╗┐// *********************************************************************** +// Assembly : Assembly-CSharp +// Author : AiDesigner +// Created : 12-01-2016 +// Modified : 07-23-2018 +// *********************************************************************** +#if AIUNITY_CODE + +using AiUnity.Common.Log; +using System; + +namespace AiUnity.Common.InternalLog +{ + /// + /// Interface for + /// + public interface IInternalLogger + { + #region Properties + /// + /// Gets or sets the internal log level. + /// + LogLevels InternalLogLevel { get; set; } + + /// + /// Gets a value indicating whether this instance is assert enabled. + /// + bool IsAssertEnabled { get; } + + /// + /// Gets a value indicating whether this instance is debug enabled. + /// + bool IsDebugEnabled { get; } + + /// + /// Gets a value indicating whether this instance is error enabled. + /// + bool IsErrorEnabled { get; } + + /// + /// Gets a value indicating whether this instance is fatal enabled. + /// + bool IsFatalEnabled { get; } + + /// + /// Gets a value indicating whether this instance is information enabled. + /// + bool IsInfoEnabled { get; } + + /// + /// Gets a value indicating whether this instance is trace enabled. + /// + bool IsTraceEnabled { get; } + + /// + /// Gets a value indicating whether this instance is warn enabled. + /// + bool IsWarnEnabled { get; } + #endregion + + #region Methods + /// + /// Logs the specified message at the Assert level. + /// + /// if set to true [condition]. + /// The message. + /// The arguments. + void Assert(string message, params object[] args); + + /// + /// Logs the specified message at the Assert level. + /// + /// The e. + /// The message. + /// The arguments. + void Assert(Exception e, string message, params object[] args); + + /// + /// Logs the specified message at the Assert level. + /// + /// if set to true [condition]. + /// The message. + /// The arguments. + void Assert(bool condition, string message, params object[] args); + + /// + /// Logs the specified message at the Debug level. + /// + /// The message. + /// The arguments. + void Debug(string message, params object[] args); + + /// + /// Logs the specified message at the Error level. + /// + /// The message. + /// The arguments. + void Error(string message, params object[] args); + + /// + /// Logs the specified message at the Error level. + /// + /// The e. + /// The message. + /// The arguments. + void Error(Exception e, string message, params object[] args); + + /// + /// Logs the specified message at the Fatal level. + /// + /// The message. + /// The arguments. + void Fatal(string message, params object[] args); + + /// + /// Logs the specified message at the Fatal level. + /// + /// The e. + /// The message. + /// The arguments. + void Fatal(Exception e, string message, params object[] args); + + /// + /// Logs the specified message at the Info level. + /// + /// The message. + /// The arguments. + void Info(string message, params object[] args); + + /// + /// Logs the specified message at the specified level. + /// + /// The levels. + /// The message. + /// The arguments. + void Log(LogLevels levels, string message, params object[] args); + + /// + /// Logs the specified message at the Trace level. + /// + /// The message. + /// The arguments. + void Trace(string message, params object[] args); + + /// + /// Logs the specified message at the Warn level. + /// + /// The message. + /// The arguments. + void Warn(string message, params object[] args); + + /// + /// Logs the specified message at the Warn level. + /// + /// The e. + /// The message. + /// The arguments. + void Warn(Exception e, string message, params object[] args); + + #endregion + } +} +#endif \ No newline at end of file diff --git a/VXMusicOverlay/Assets/AiUnity/Common/InternalLog/InternalLogger.cs b/VXMusicOverlay/Assets/AiUnity/Common/InternalLog/InternalLogger.cs new file mode 100644 index 00000000..ca98f23b --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/Common/InternalLog/InternalLogger.cs @@ -0,0 +1,380 @@ +я╗┐// *********************************************************************** +// Assembly : Assembly-CSharp +// Company : AiUnity +// Author : AiDesigner +// +// Created : 12-01-2016 +// Modified : 07-23-2018 +// *********************************************************************** +#if AIUNITY_CODE + +using UnityEngine; + +namespace AiUnity.Common.InternalLog +{ + using AiUnity.Common.Extensions; + using AiUnity.Common.Log; + using AiUnity.Common.Patterns; + using System; + using System.Diagnostics; + using System.Globalization; + using System.Linq; + + /// + /// Internal Unity logger that can be customized in derived class. + /// + /// + /// + /// + //public abstract class InternalLogger : Singleton, IInternalLogger where T : InternalLogger + public abstract class InternalLogger : Singleton, IInternalLogger where T : new() + { + #region Fields + /// The internal log level + private LogLevels internalLogLevel; + /// The is dark theme + private bool isDarkTheme = false; + + /// The log level player preference + private string logLevelPlayerPref; + #endregion + + #region Properties + /// Gets or sets the internal log level. + public LogLevels InternalLogLevel { + get { return this.internalLogLevel; } + set { + if (this.internalLogLevel != value) + { + Logger.Info("Setting {0} (PlayerPref=\"{1}\") to LogLevel={2}", GetType().Name, this.logLevelPlayerPref, value); + PlayerPrefs.SetInt(this.logLevelPlayerPref, (int)value); + this.internalLogLevel = value; + + if (Logger != this) + { + Logger.InternalLogLevel = value; + } + } + } + } + + /// Gets a value indicating whether logging is enabled for the Assert level. + public bool IsAssertEnabled { + get { return IsEnabled(LogLevels.Assert); } + } + + /// Gets a value indicating whether logging is enabled for the Debug level. + public bool IsDebugEnabled { + get { return IsEnabled(LogLevels.Debug); } + } + + /// Gets a value indicating whether logging is enabled for the Error level. + public bool IsErrorEnabled { + get { return IsEnabled(LogLevels.Error); } + } + + /// Gets a value indicating whether logging is enabled for the Fatal level. + public bool IsFatalEnabled { + get { return IsEnabled(LogLevels.Fatal); } + } + + /// Gets a value indicating whether logging is enabled for the Info level. + public bool IsInfoEnabled { + get { return IsEnabled(LogLevels.Info); } + } + + /// Gets a value indicating whether logging is enabled for the Trace level. + public bool IsTraceEnabled { + get { return IsEnabled(LogLevels.Trace); } + } + + /// Gets a value indicating whether logging is enabled for the Warn level. + public bool IsWarnEnabled { + get { return IsEnabled(LogLevels.Warn); } + } + + /// Gets or sets a value indicating whether timestamp should be included in internal log output. + protected bool IncludeTimestamp { get; set; } + + /// Gets or sets the Default log level should a PlayerPref key not be present. + protected LogLevels InternalLogLevelsDefault { get; set; } + + /// Gets the logger. + private static IInternalLogger Logger { get { return CommonInternalLogger.Instance; } } + #endregion + + #region Constructors + /// + /// Initializes a new instance of the class. + /// + public InternalLogger() + { + this.logLevelPlayerPref = "AiUnity" + GetType().Name + "LogLevel"; + this.internalLogLevel = PlayerPrefs.GetInt(this.logLevelPlayerPref, (int)InternalLogLevelsDefault).ToEnum(); + this.isDarkTheme = Application.isEditor && Convert.ToBoolean(PlayerPrefs.GetInt("AiUnityIsProSkin", 0)); + InternalLogLevelsDefault = LogLevels.Fatal | LogLevels.Error | LogLevels.Warn | LogLevels.Info; + IncludeTimestamp = false; + } + #endregion + + #region Methods + /// + /// Logs the specified message at the Assert level. + /// + /// Message which may include positional parameters. + /// Arguments to the message. + public void Assert(string message, params object[] args) + { + if (IsAssertEnabled) + { + Write(LogLevels.Assert, message, args); + } + } + + /// + /// Logs the specified message at the Assert level. + /// + /// if set to true [condition]. + /// Message which may include positional parameters. + /// Arguments to the message. + public void Assert(bool condition, string message, params object[] args) + { + if (IsAssertEnabled && !condition) + { + Write(LogLevels.Assert, message, args); + } + } + + /// + /// Logs the specified message at the Assert level. + /// + /// The e. + /// Message which may include positional parameters. + /// Arguments to the message. + public void Assert(Exception e, string message, params object[] args) + { + if (IsAssertEnabled && e != null) + { + string exceptionMessage = string.Format("{0}/n{1}", message, e != null ? e.Message : "Missing exception message"); + Write(LogLevels.Assert, exceptionMessage, args); + } + } + + /// + /// Logs the specified message at the Debug level. + /// + /// Message which may include positional parameters. + /// Arguments to the message. + public void Debug(string message, params object[] args) + { + if (IsDebugEnabled) + { + Write(LogLevels.Debug, message, args); + } + } + + /// + /// Logs the specified message at the Error level. + /// + /// Message which may include positional parameters. + /// Arguments to the message. + public void Error(string message, params object[] args) + { + if (IsErrorEnabled) + { + Write(LogLevels.Error, message, args); + } + } + + /// + /// Logs the specified message at the Error level. + /// + /// The e. + /// Message which may include positional parameters. + /// Arguments to the message. + public void Error(Exception e, string message, params object[] args) + { + if (IsErrorEnabled) + { + string exceptionMessage = e != null ? e.Message : "Missing exception message"; + string combinedMessage = string.Format("{0}/n{1}", message, exceptionMessage); + Write(LogLevels.Error, combinedMessage, args); + } + } + + /// + /// Logs the specified message at the Fatal level. + /// + /// Message which may include positional parameters. + /// Arguments to the message. + public void Fatal(string message, params object[] args) + { + if (IsFatalEnabled) + { + Write(LogLevels.Fatal, message, args); + } + } + + /// + /// Logs the specified message at the Fatal level. + /// + /// The e. + /// Message which may include positional parameters. + /// Arguments to the message. + public void Fatal(Exception e, string message, params object[] args) + { + if (IsFatalEnabled) + { + string exceptionMessage = e != null ? e.Message : "Missing exception message"; + string combinedMessage = string.Format("{0}/n{1}", message, exceptionMessage); + Write(LogLevels.Fatal, combinedMessage, args); + } + } + + /// + /// Logs the specified message at the Info level. + /// + /// Message which may include positional parameters. + /// Arguments to the message. + public void Info(string message, params object[] args) + { + if (IsInfoEnabled) + { + Write(LogLevels.Info, message, args); + } + } + + /// + /// Logs the specified message at the specified level. + /// + /// Log level. + /// Message which may include positional parameters. + /// Arguments to the message. + public void Log(LogLevels levels, string message, params object[] args) + { + if (IsEnabled(levels)) + { + Write(levels, message, args); + } + } + + /// + /// Logs the specified message at the Trace level. + /// + /// Message which may include positional parameters. + /// Arguments to the message. + public void Trace(string message, params object[] args) + { + if (IsTraceEnabled) + { + Write(LogLevels.Trace, message, args); + } + } + + /// + /// Logs the specified message at the Warn level. + /// + /// Message which may include positional parameters. + /// Arguments to the message. + public void Warn(string message, params object[] args) + { + if (IsWarnEnabled) + { + Write(LogLevels.Warn, message, args); + } + } + + /// + /// Logs the specified message at the Warn level. + /// + /// The e. + /// Message which may include positional parameters. + /// Arguments to the message. + public void Warn(Exception e, string message, params object[] args) + { + if (IsErrorEnabled) + { + string exceptionMessage = e != null ? e.Message : "Missing exception message"; + string combinedMessage = string.Format("{0}/n{1}", message, exceptionMessage); + Write(LogLevels.Warn, combinedMessage, args); + } + } + + /// + /// Creates the message. + /// + /// The levels. + /// The formatted message. + /// Message to be logged. + protected virtual string CreateMessage(LogLevels levels, string formattedMessage) + { + string callerName; + + try + { + StackTrace stackTrace = new StackTrace(true); + StackFrame stackFrame = stackTrace.GetFrames().SkipWhile(f => typeof(IInternalLogger).IsAssignableFrom(f.GetMethod().DeclaringType)).FirstOrDefault(); + callerName = string.Format("{0}.{1}", stackFrame.GetMethod().DeclaringType.FullName, stackFrame.GetMethod().Name); + } + catch + { + callerName = string.Format("AiUnity Internal Message ({0})", GetType().Name); + } + + string header = string.Format("[{0} (ScriptBuilder Internal)] {1}", levels, callerName); + + if (Application.isEditor) + { + // Good Dark theme colors: yellow, cyan, orange, lime, red, olive, white + // Good Light theme colors: teal, blue, magenta, black + // Decent both theme colors: black, red, olive + string headerColor = this.isDarkTheme ? "orange" : "magenta"; + header = string.Format("{1}", headerColor, header); + } + return header + Environment.NewLine + formattedMessage; + } + + /// + /// Performs the underlining write to the Unity Console + /// + /// The levels. + /// The message. + /// The arguments. + //protected abstract void Write(LogLevels levels, string message, object[] args); + protected void Write(LogLevels levels, string message, object[] args) + { + string formattedMessage = (args != null && args.Length > 0) ? string.Format(CultureInfo.InvariantCulture, message, args) : message; + string internalMessage = CreateMessage(levels, formattedMessage); + + if (levels.Has(LogLevels.Info) || levels.Has(LogLevels.Debug) || levels.Has(LogLevels.Trace)) + { + UnityEngine.Debug.Log(internalMessage); + } + else if (levels.Has(LogLevels.Warn)) + { + UnityEngine.Debug.LogWarning(internalMessage); + } + else if (levels.Has(LogLevels.Error) || levels.Has(LogLevels.Fatal)) + { + UnityEngine.Debug.LogError(internalMessage); + } + else if (levels.Has(LogLevels.Assert)) + { + UnityEngine.Assertions.Assert.IsTrue(false, internalMessage); + } + } + + /// + /// Gets a value indicating whether logging is enabled for the specified level. + /// + /// Log level to be checked. + /// A value of if logging is enabled for the specified level, otherwise it returns . + private bool IsEnabled(LogLevels level) + { + return InternalLogLevel.Has(level); + } + #endregion + } +} + +#endif \ No newline at end of file diff --git a/VXMusicOverlay/Assets/AiUnity/Common/Lib/AiUnityCommon.dll b/VXMusicOverlay/Assets/AiUnity/Common/Lib/AiUnityCommon.dll new file mode 100644 index 00000000..910ce7b3 Binary files /dev/null and b/VXMusicOverlay/Assets/AiUnity/Common/Lib/AiUnityCommon.dll differ diff --git a/VXMusicOverlay/Assets/AiUnity/Common/LogUI/Prefabs/GameConsole.prefab b/VXMusicOverlay/Assets/AiUnity/Common/LogUI/Prefabs/GameConsole.prefab new file mode 100644 index 00000000..3d143a4a --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/Common/LogUI/Prefabs/GameConsole.prefab @@ -0,0 +1,5238 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 1401002542317974} + m_IsPrefabParent: 1 +--- !u!1 &1033518765954112 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224775930983152014} + - component: {fileID: 222408245163426702} + - component: {fileID: 114056386506700436} + m_Layer: 5 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1058508057950574 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224966126933669226} + - component: {fileID: 114318883620432604} + - component: {fileID: 222659466593160716} + - component: {fileID: 114017094514660886} + - component: {fileID: 114361699754862788} + m_Layer: 5 + m_Name: Scroll View + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1069144183345936 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224404204774265388} + - component: {fileID: 222727163051022516} + - component: {fileID: 114081991155229788} + - component: {fileID: 114318904672960200} + - component: {fileID: 114160984519085492} + - component: {fileID: 114770710129137102} + m_Layer: 5 + m_Name: InputField + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1075142246957992 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224959251387882600} + - component: {fileID: 222050501852641820} + - component: {fileID: 114270769147903984} + - component: {fileID: 114519557807196690} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1094320262927282 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224440114230420372} + - component: {fileID: 222275791836303410} + - component: {fileID: 114401241704137456} + m_Layer: 5 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1103015729388610 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224115470410363810} + - component: {fileID: 222028774716159838} + - component: {fileID: 114500359990243830} + - component: {fileID: 114477297567114222} + m_Layer: 5 + m_Name: Close Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!1 &1119644664104300 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224449268071700062} + - component: {fileID: 222170615902879172} + - component: {fileID: 114540272216402892} + - component: {fileID: 114644643286925898} + - component: {fileID: 225122016682280346} + - component: {fileID: 114720306768212598} + m_Layer: 5 + m_Name: GameConsolePanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1126250500677128 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224050222484277734} + - component: {fileID: 222668290256636504} + - component: {fileID: 114428894281307184} + - component: {fileID: 114121903442953168} + - component: {fileID: 114863914471112370} + m_Layer: 5 + m_Name: Resize Zone + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1133544641868258 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224972611829443940} + - component: {fileID: 222206877798764078} + - component: {fileID: 114696641588127198} + - component: {fileID: 114106204372725652} + - component: {fileID: 114048634152166388} + m_Layer: 5 + m_Name: ClearButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1134379582007946 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224326367512057058} + - component: {fileID: 222556706089146436} + - component: {fileID: 114656747927737160} + - component: {fileID: 114966353756544696} + - component: {fileID: 114544941642100430} + m_Layer: 5 + m_Name: Dropdown + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1157520086907592 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224079610339050636} + - component: {fileID: 222828470417137540} + - component: {fileID: 114682376317169790} + m_Layer: 5 + m_Name: Arrow + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1175976678025542 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224733405357268750} + - component: {fileID: 222041373503712902} + - component: {fileID: 114448419699132808} + - component: {fileID: 114156123910325724} + m_Layer: 5 + m_Name: ControlPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1176239573277708 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224406198888016066} + - component: {fileID: 222036140363232396} + - component: {fileID: 114263119432074590} + m_Layer: 5 + m_Name: Title + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1180475886068374 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224379072613311604} + - component: {fileID: 222761453459802464} + - component: {fileID: 114178664581679582} + - component: {fileID: 114898324476187634} + m_Layer: 5 + m_Name: MaximizeButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1214541214586786 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224085084715825772} + - component: {fileID: 222937513944955474} + - component: {fileID: 114126434504452790} + - component: {fileID: 114725842231257736} + m_Layer: 5 + m_Name: Template + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!1 &1224240710395252 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224872682416518590} + - component: {fileID: 222557410622041120} + - component: {fileID: 114175940162561926} + - component: {fileID: 114490015270863964} + m_Layer: 5 + m_Name: Minimize Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1266792614447658 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224994497271441550} + - component: {fileID: 222126842497963990} + - component: {fileID: 114245548453031198} + - component: {fileID: 114654124662585310} + m_Layer: 5 + m_Name: Scrollbar Horizontal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1326502328528156 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224498888510431636} + - component: {fileID: 222269992944200354} + - component: {fileID: 114103983045079110} + m_Layer: 5 + m_Name: Placeholder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1352371505926686 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224117899150269736} + m_Layer: 5 + m_Name: Content + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1369843967718112 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224283761196508722} + - component: {fileID: 222612696734040362} + - component: {fileID: 114946984213105362} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1379252118680680 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224570404100376090} + - component: {fileID: 222117722275706168} + - component: {fileID: 114836088847587500} + - component: {fileID: 114105338342231698} + m_Layer: 5 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1383984696618856 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224855768741178090} + m_Layer: 5 + m_Name: Sliding Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1401002542317974 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224595991527403938} + - component: {fileID: 223502652072846990} + - component: {fileID: 114679022626306740} + - component: {fileID: 114684052525511890} + m_Layer: 5 + m_Name: GameConsole + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1430572339144384 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224710371589454766} + m_Layer: 5 + m_Name: Sliding Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1455156357821204 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224496759116260316} + - component: {fileID: 222726882145235152} + - component: {fileID: 114620929545453634} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1455331394227458 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224827534153316334} + - component: {fileID: 222281773776188150} + - component: {fileID: 114965107159037626} + m_Layer: 5 + m_Name: Checkmark + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1458517360160914 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224894416807970766} + - component: {fileID: 222193240110979296} + - component: {fileID: 114353486502162760} + - component: {fileID: 114168437543373096} + m_Layer: 5 + m_Name: GameConsoleController + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1458769376836420 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224367268414030072} + - component: {fileID: 222183953141546494} + - component: {fileID: 114131525967218572} + m_Layer: 5 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1493607779121320 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224262721715253852} + - component: {fileID: 222087940652125458} + - component: {fileID: 114014001880442722} + m_Layer: 5 + m_Name: Item Checkmark + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1517981859059128 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224761446331303922} + - component: {fileID: 222624755814017320} + - component: {fileID: 114481061768805000} + - component: {fileID: 114536040659857170} + m_Layer: 5 + m_Name: MenuPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1518836322553372 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224487110838998504} + - component: {fileID: 222250386662934794} + - component: {fileID: 114690106602237274} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1578508128181330 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224043086640829020} + - component: {fileID: 222684722331608792} + - component: {fileID: 114943529725194170} + m_Layer: 5 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1580354438201766 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224166614589819394} + - component: {fileID: 222630413655642424} + - component: {fileID: 114790234113997060} + - component: {fileID: 114525032341145706} + m_Layer: 5 + m_Name: FontPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1627819383762070 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224957659262331600} + - component: {fileID: 222917620694348838} + - component: {fileID: 114753501679200984} + m_Layer: 5 + m_Name: NLogContent + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1630963322484996 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224202849868732352} + - component: {fileID: 114516571747014432} + - component: {fileID: 222440082837958590} + - component: {fileID: 114899460529507896} + m_Layer: 5 + m_Name: Viewport + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1631587632320650 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224584544129644798} + - component: {fileID: 222405934188567246} + - component: {fileID: 114464375519743540} + m_Layer: 5 + m_Name: Item Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1651115442230464 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224914300660678930} + - component: {fileID: 222648604351143392} + - component: {fileID: 114182918944108844} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1687168488571944 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224364359941786630} + - component: {fileID: 222066612276153226} + - component: {fileID: 114758831027183982} + - component: {fileID: 114213960388909906} + - component: {fileID: 114275660693846028} + - component: {fileID: 114252905425672884} + - component: {fileID: 114058431697502630} + m_Layer: 5 + m_Name: GameConsoleIcon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1691825993136652 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224880024683166596} + - component: {fileID: 114527019448306236} + - component: {fileID: 222090047266490770} + - component: {fileID: 114376441455309364} + m_Layer: 5 + m_Name: Viewport + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1720860760896464 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224115582791584748} + - component: {fileID: 222440912648079662} + - component: {fileID: 114234873916782968} + - component: {fileID: 114289472231517072} + m_Layer: 5 + m_Name: FilterPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1732121786184970 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224811249339905846} + - component: {fileID: 222794971132995066} + - component: {fileID: 114992797821696518} + m_Layer: 5 + m_Name: TitlePanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1739734853988076 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224489401128640824} + - component: {fileID: 222033555574212042} + - component: {fileID: 114694056207257612} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1761037255563158 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224576896512595952} + - component: {fileID: 114747751163941532} + - component: {fileID: 114512665281416864} + - component: {fileID: 114665917581624158} + - component: {fileID: 222226980009991872} + m_Layer: 5 + m_Name: Toggle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1771139982222074 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224267709766579370} + - component: {fileID: 222565935254214544} + - component: {fileID: 114971442194795334} + - component: {fileID: 114291568191198720} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1772889601344434 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224597839923136556} + - component: {fileID: 222843177595480692} + - component: {fileID: 114454992138594302} + m_Layer: 5 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1773091929370842 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224801538507811170} + - component: {fileID: 222300049877683806} + - component: {fileID: 114626674492596644} + - component: {fileID: 114776080695317892} + m_Layer: 5 + m_Name: Scrollbar + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1790390996493154 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224137996936387214} + - component: {fileID: 222261367674941894} + - component: {fileID: 114874598067029748} + - component: {fileID: 114038396925021468} + m_Layer: 5 + m_Name: Drag Zone + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1795078614122388 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224398424416069532} + - component: {fileID: 222260532592831296} + - component: {fileID: 114069748380675596} + m_Layer: 5 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1822225003194632 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224596849579458558} + - component: {fileID: 222527197387917362} + - component: {fileID: 114128740448408206} + - component: {fileID: 114939594910332666} + - component: {fileID: 114995310190303146} + - component: {fileID: 114985435348136156} + m_Layer: 5 + m_Name: ContentPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1825464172051722 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224991539847618386} + - component: {fileID: 222780927565251094} + - component: {fileID: 114427999633765396} + - component: {fileID: 114487124285256420} + m_Layer: 5 + m_Name: Scrollbar Vertical + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1834888779259110 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224986389928565382} + - component: {fileID: 222353933039132928} + - component: {fileID: 114722549406842732} + - component: {fileID: 114307431936531962} + m_Layer: 5 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1854205934836610 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224145170902752300} + - component: {fileID: 114103087144645582} + m_Layer: 5 + m_Name: Item + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1863156176346142 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224568592078528708} + - component: {fileID: 222436462354613840} + - component: {fileID: 114314990199878740} + - component: {fileID: 114885429543733338} + - component: {fileID: 114068475612894370} + m_Layer: 5 + m_Name: MenuButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1938123985482188 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224554097110715874} + - component: {fileID: 222251061454004408} + - component: {fileID: 114826492851394802} + m_Layer: 5 + m_Name: Item Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1950043682192944 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224796011986427912} + - component: {fileID: 222517702666888914} + - component: {fileID: 114872446173624256} + m_Layer: 5 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1950970891377528 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224899661314154526} + m_Layer: 5 + m_Name: Sliding Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1989877001575844 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224259459010223668} + - component: {fileID: 222862169045717398} + - component: {fileID: 114785727982211302} + - component: {fileID: 114395539987343274} + - component: {fileID: 114825132961673956} + m_Layer: 5 + m_Name: MoveButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &114014001880442722 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1493607779121320} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10901, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &114017094514660886 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1058508057950574} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.13333334, g: 0.13333334, b: 0.2, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &114038396925021468 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1790390996493154} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b92b9ff1423a13944b925869d53aa6a3, type: 3} + m_Name: + m_EditorClassIdentifier: + panelRectTransform: {fileID: 224449268071700062} +--- !u!114 &114048634152166388 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1133544641868258} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: 0 + m_MinHeight: -1 + m_PreferredWidth: 32 + m_PreferredHeight: 20 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &114056386506700436 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1033518765954112} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &114058431697502630 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1687168488571944} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -1862395651, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Delegates: + - eventID: 4 + callback: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 114168437543373096} + m_MethodName: MinHandlerAnimate + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.EventSystems.EventTrigger+TriggerEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + delegates: [] +--- !u!114 &114068475612894370 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1863156176346142} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 505e2c4c93fffef4ba9d4709a76fa78a, type: 3} + m_Name: + m_EditorClassIdentifier: + panelOpen: 0 + MenuPanel: {fileID: 1517981859059128} + pressedSprite: {fileID: 21300000, guid: 3bea5264413e98147a262de0fe752425, type: 3} +--- !u!114 &114069748380675596 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1795078614122388} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: cd9adada93f32b6428ecb9c01cac02bc, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &114081991155229788 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1069144183345936} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10911, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &114103087144645582 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1854205934836610} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 2109663825, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 114826492851394802} + toggleTransition: 1 + graphic: {fileID: 114014001880442722} + m_Group: {fileID: 0} + onValueChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.Toggle+ToggleEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null + m_IsOn: 1 +--- !u!114 &114103983045079110 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1326502328528156} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 0.5} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 16 + m_FontStyle: 2 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Enter size... +--- !u!114 &114105338342231698 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1379252118680680} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: 0 + m_MinHeight: -1 + m_PreferredWidth: 20 + m_PreferredHeight: 20 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &114106204372725652 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1133544641868258} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 0.39215687} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 114696641588127198} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 114168437543373096} + m_MethodName: ClearMessages + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &114121903442953168 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1126250500677128} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &114126434504452790 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1214541214586786} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &114128740448408206 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1822225003194632} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.21960786, g: 0.21960786, b: 0.21960786, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &114131525967218572 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1458769376836420} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 12 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: Warn +--- !u!114 &114156123910325724 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1175976678025542} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -405508275, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 3 + m_Spacing: 6 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 +--- !u!114 &114160984519085492 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1069144183345936} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2c98c581599fd0144a310a3cfaa919f5, type: 3} + m_Name: + m_EditorClassIdentifier: + validateNumber: 1 +--- !u!114 &114168437543373096 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1458517360160914} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c7d37edd3ab19f74b896df8984872181, type: 3} + m_Name: + m_EditorClassIdentifier: + AutoScrollToggle: {fileID: 114747751163941532} + FilterDropDown: {fileID: 114966353756544696} + FontInputField: {fileID: 114318904672960200} + GameConsoleIcon: {fileID: 1687168488571944} + GameConsolePanel: {fileID: 1119644664104300} + TextBoxPanel: {fileID: 1627819383762070} + MoveButton: {fileID: 0} +--- !u!114 &114175940162561926 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1224240710395252} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: ecc009e2ace77c8448da40de22eb471a, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &114178664581679582 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1180475886068374} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: ecc009e2ace77c8448da40de22eb471a, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &114182918944108844 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1651115442230464} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 14 + m_MaxSize: 14 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 0 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 8 +--- !u!114 &114213960388909906 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1687168488571944} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 114758831027183982} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 0} + m_MethodName: + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &114234873916782968 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1720860760896464} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0.392} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &114245548453031198 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1266792614447658} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &114252905425672884 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1687168488571944} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -1254083943, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_AspectMode: 1 + m_AspectRatio: 0.6666667 +--- !u!114 &114263119432074590 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1176239573277708} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.01686851, g: 0.085738525, b: 0.28676468, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Game Console +--- !u!114 &114270769147903984 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1075142246957992} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 10 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 0.8 + m_Text: 'Max + + Level' +--- !u!114 &114275660693846028 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1687168488571944} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b92b9ff1423a13944b925869d53aa6a3, type: 3} + m_Name: + m_EditorClassIdentifier: + panelRectTransform: {fileID: 224364359941786630} +--- !u!114 &114289472231517072 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1720860760896464} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -405508275, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 3 + m_Spacing: 0 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 +--- !u!114 &114291568191198720 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1771139982222074} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: 24 + m_MinHeight: -1 + m_PreferredWidth: 28 + m_PreferredHeight: -1 + m_FlexibleWidth: 0 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &114307431936531962 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1834888779259110} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: 0 + m_MinHeight: -1 + m_PreferredWidth: 40 + m_PreferredHeight: 25 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &114314990199878740 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1863156176346142} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: ecc009e2ace77c8448da40de22eb471a, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &114318883620432604 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1058508057950574} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1367256648, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Content: {fileID: 224957659262331600} + m_Horizontal: 1 + m_Vertical: 1 + m_MovementType: 1 + m_Elasticity: 0.1 + m_Inertia: 1 + m_DecelerationRate: 0.135 + m_ScrollSensitivity: 1 + m_Viewport: {fileID: 224202849868732352} + m_HorizontalScrollbar: {fileID: 114654124662585310} + m_VerticalScrollbar: {fileID: 114487124285256420} + m_HorizontalScrollbarVisibility: 2 + m_VerticalScrollbarVisibility: 2 + m_HorizontalScrollbarSpacing: -3 + m_VerticalScrollbarSpacing: -3 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.ScrollRect+ScrollRectEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &114318904672960200 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1069144183345936} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 575553740, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 114081991155229788} + m_TextComponent: {fileID: 114182918944108844} + m_Placeholder: {fileID: 114103983045079110} + m_ContentType: 0 + m_InputType: 0 + m_AsteriskChar: 42 + m_KeyboardType: 0 + m_LineType: 0 + m_HideMobileInput: 0 + m_CharacterValidation: 0 + m_CharacterLimit: 3 + m_OnEndEdit: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.InputField+SubmitEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.InputField+OnChangeEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null + m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_CustomCaretColor: 0 + m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412} + m_Text: 8 + m_CaretBlinkRate: 0.85 + m_CaretWidth: 1 + m_ReadOnly: 0 +--- !u!114 &114353486502162760 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1458517360160914} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0.392} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &114361699754862788 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1058508057950574} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: 1 + m_LayoutPriority: 1 +--- !u!114 &114376441455309364 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1691825993136652} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10917, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &114395539987343274 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1989877001575844} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 0 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 114785727982211302} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 114168437543373096} + m_MethodName: EnableDrag + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &114401241704137456 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1094320262927282} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &114427999633765396 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1825464172051722} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &114428894281307184 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1126250500677128} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 2 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 114121903442953168} + m_OnClick: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &114448419699132808 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1175976678025542} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0.392} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &114454992138594302 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1772889601344434} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 43085fb1a5851c44884729f4a5c5978d, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &114464375519743540 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1631587632320650} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Option A +--- !u!114 &114477297567114222 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1103015729388610} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 114500359990243830} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 114168437543373096} + m_MethodName: SetConsoleActive + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &114481061768805000 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1517981859059128} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0.392} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &114487124285256420 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1825464172051722} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -2061169968, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 114401241704137456} + m_HandleRect: {fileID: 224440114230420372} + m_Direction: 2 + m_Value: 0 + m_Size: 1 + m_NumberOfSteps: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.Scrollbar+ScrollEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &114490015270863964 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1224240710395252} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 114175940162561926} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 114168437543373096} + m_MethodName: MinHandlerAnimate + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 2 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 1 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &114500359990243830 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1103015729388610} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 8ed3432d45a92404f82abf95fbb86630, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &114512665281416864 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1761037255563158} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0.39215687} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &114516571747014432 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1630963322484996} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -1200242548, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowMaskGraphic: 0 +--- !u!114 &114519557807196690 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1075142246957992} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: 30 + m_MinHeight: -1 + m_PreferredWidth: 40 + m_PreferredHeight: -1 + m_FlexibleWidth: 0 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &114525032341145706 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1580354438201766} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -405508275, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 3 + m_Spacing: 0 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 +--- !u!114 &114527019448306236 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1691825993136652} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -1200242548, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowMaskGraphic: 0 +--- !u!114 &114536040659857170 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1517981859059128} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: 30 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &114540272216402892 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1119644664104300} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.2, g: 0.4, b: 0.53333336, a: 0.5019608} + m_RaycastTarget: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: c0b7a9e3bfe6ed24ebbe85d8122fa358, type: 3} + m_Type: 2 + m_PreserveAspect: 0 + m_FillCenter: 0 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &114544941642100430 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1134379582007946} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: 0 + m_MinHeight: 0 + m_PreferredWidth: 70 + m_PreferredHeight: 25 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &114620929545453634 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1455156357821204} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: +--- !u!114 &114626674492596644 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1773091929370842} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &114644643286925898 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1119644664104300} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 387224b495e5d074785974c54ea89a5c, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &114654124662585310 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1266792614447658} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -2061169968, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 114056386506700436} + m_HandleRect: {fileID: 224775930983152014} + m_Direction: 0 + m_Value: 0 + m_Size: 1 + m_NumberOfSteps: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.Scrollbar+ScrollEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &114656747927737160 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1134379582007946} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &114665917581624158 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1761037255563158} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -405508275, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 3 + m_Spacing: 0 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 +--- !u!114 &114679022626306740 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1401002542317974} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 1 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 1024, y: 768} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 +--- !u!114 &114682376317169790 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1157520086907592} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10915, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &114684052525511890 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1401002542317974} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1301386320, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &114690106602237274 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1518836322553372} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 10 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 'Clear + +' +--- !u!114 &114694056207257612 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1739734853988076} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 16 + m_FontStyle: 1 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 42 + m_Alignment: 4 + m_AlignByGeometry: 1 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: _ +--- !u!114 &114696641588127198 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1133544641868258} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &114720306768212598 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1119644664104300} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 215e21be996a6254b8a01c33329ebbb0, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &114722549406842732 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1834888779259110} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 10 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 0.8 + m_Text: 'Auto + + Scroll' +--- !u!114 &114725842231257736 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1214541214586786} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1367256648, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Content: {fileID: 224117899150269736} + m_Horizontal: 0 + m_Vertical: 1 + m_MovementType: 2 + m_Elasticity: 0.1 + m_Inertia: 1 + m_DecelerationRate: 0.135 + m_ScrollSensitivity: 1 + m_Viewport: {fileID: 224880024683166596} + m_HorizontalScrollbar: {fileID: 0} + m_VerticalScrollbar: {fileID: 114776080695317892} + m_HorizontalScrollbarVisibility: 0 + m_VerticalScrollbarVisibility: 2 + m_HorizontalScrollbarSpacing: 0 + m_VerticalScrollbarSpacing: -3 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.ScrollRect+ScrollRectEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &114747751163941532 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1761037255563158} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 2109663825, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 114836088847587500} + toggleTransition: 1 + graphic: {fileID: 114965107159037626} + m_Group: {fileID: 0} + onValueChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.Toggle+ToggleEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null + m_IsOn: 0 +--- !u!114 &114753501679200984 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1627819383762070} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1741964061, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalFit: 0 + m_VerticalFit: 2 +--- !u!114 &114758831027183982 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1687168488571944} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.989, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 0b3cbd0324075f543bf35cd3be500578, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &114770710129137102 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1069144183345936} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: 0 + m_MinHeight: 0 + m_PreferredWidth: 35 + m_PreferredHeight: 25 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &114776080695317892 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1773091929370842} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -2061169968, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 114872446173624256} + m_HandleRect: {fileID: 224796011986427912} + m_Direction: 2 + m_Value: 0 + m_Size: 0.2 + m_NumberOfSteps: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.Scrollbar+ScrollEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &114785727982211302 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1989877001575844} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: ecc009e2ace77c8448da40de22eb471a, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &114790234113997060 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1580354438201766} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0.39215687} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &114825132961673956 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1989877001575844} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3f8529e9d49d425459f872cfd1992c40, type: 3} + m_Name: + m_EditorClassIdentifier: + pressed: 1 + pressedSprite: {fileID: 21300000, guid: 3bea5264413e98147a262de0fe752425, type: 3} +--- !u!114 &114826492851394802 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1938123985482188} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &114836088847587500 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1379252118680680} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &114863914471112370 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1126250500677128} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4f7c638f90596a946a7a84711652ccdf, type: 3} + m_Name: + m_EditorClassIdentifier: + maxSize: {x: 1000, y: 2000} + minSize: {x: 100, y: 200} + cursorTexture: {fileID: 2800000, guid: fdde0bfd73a80ec4597dfd3242146711, type: 3} +--- !u!114 &114872446173624256 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1950043682192944} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &114874598067029748 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1790390996493154} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 0.441, b: 0.453, a: 0} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &114885429543733338 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1863156176346142} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 0 + m_Colors: + m_NormalColor: {r: 0.0941825, g: 0.9852941, b: 0.13720176, a: 1} + m_HighlightedColor: {r: 0.08326123, g: 0.748777, b: 0.8088235, a: 1} + m_PressedColor: {r: 0.9705882, g: 0, b: 0.24540347, a: 1} + m_DisabledColor: {r: 0.014705896, g: 0.013192054, b: 0.013192054, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 21300000, guid: 923610a1d2a3cf442bf3f52f671ed75a, + type: 3} + m_PressedSprite: {fileID: 21300000, guid: 3bea5264413e98147a262de0fe752425, type: 3} + m_DisabledSprite: {fileID: 21300000, guid: 3bea5264413e98147a262de0fe752425, type: 3} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 114314990199878740} + m_OnClick: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &114898324476187634 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1180475886068374} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 114178664581679582} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 114720306768212598} + m_MethodName: MaxHandler + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &114899460529507896 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1630963322484996} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &114939594910332666 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1822225003194632} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1297475563, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 0 + m_Spacing: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 +--- !u!114 &114943529725194170 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1578508128181330} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 46b1880230b160145b29cf7074acd95e, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &114946984213105362 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1369843967718112} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 12 + m_FontStyle: 1 + m_BestFit: 0 + m_MinSize: 0 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: X +--- !u!114 &114965107159037626 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1455331394227458} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10901, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &114966353756544696 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1134379582007946} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 853051423, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 114656747927737160} + m_Template: {fileID: 224085084715825772} + m_CaptionText: {fileID: 114131525967218572} + m_CaptionImage: {fileID: 0} + m_ItemText: {fileID: 114464375519743540} + m_ItemImage: {fileID: 0} + m_Value: 4 + m_Options: + m_Options: + - m_Text: Nothing + m_Image: {fileID: 0} + - m_Text: Assert + m_Image: {fileID: 0} + - m_Text: Fatal + m_Image: {fileID: 0} + - m_Text: Error + m_Image: {fileID: 0} + - m_Text: Warn + m_Image: {fileID: 0} + - m_Text: Info + m_Image: {fileID: 0} + - m_Text: Debug + m_Image: {fileID: 0} + - m_Text: Trace + m_Image: {fileID: 0} + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.Dropdown+DropdownEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &114971442194795334 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1771139982222074} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 10 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 0.8 + m_Text: 'Font + + Size' +--- !u!114 &114985435348136156 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1822225003194632} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1eb75b2bf44504540a74566d66ffac99, type: 3} + m_Name: + m_EditorClassIdentifier: + durationThreshold: 1 + onLongPress: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 114168437543373096} + m_MethodName: EnableConfigurationScreen + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.Events.UnityEvent, UnityEngine.CoreModule, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &114992797821696518 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1732121786184970} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.21231619, g: 0.4, b: 0.53333336, a: 0.5019608} + m_RaycastTarget: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 0} + m_Type: 2 + m_PreserveAspect: 0 + m_FillCenter: 0 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &114995310190303146 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1822225003194632} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -1254083943, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_AspectMode: 0 + m_AspectRatio: 2.9629629 +--- !u!222 &222028774716159838 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1103015729388610} +--- !u!222 &222033555574212042 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1739734853988076} +--- !u!222 &222036140363232396 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1176239573277708} +--- !u!222 &222041373503712902 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1175976678025542} +--- !u!222 &222050501852641820 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1075142246957992} +--- !u!222 &222066612276153226 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1687168488571944} +--- !u!222 &222087940652125458 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1493607779121320} +--- !u!222 &222090047266490770 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1691825993136652} +--- !u!222 &222117722275706168 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1379252118680680} +--- !u!222 &222126842497963990 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1266792614447658} +--- !u!222 &222170615902879172 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1119644664104300} +--- !u!222 &222183953141546494 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1458769376836420} +--- !u!222 &222193240110979296 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1458517360160914} +--- !u!222 &222206877798764078 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1133544641868258} +--- !u!222 &222226980009991872 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1761037255563158} +--- !u!222 &222250386662934794 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1518836322553372} +--- !u!222 &222251061454004408 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1938123985482188} +--- !u!222 &222260532592831296 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1795078614122388} +--- !u!222 &222261367674941894 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1790390996493154} +--- !u!222 &222269992944200354 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1326502328528156} +--- !u!222 &222275791836303410 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1094320262927282} +--- !u!222 &222281773776188150 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1455331394227458} +--- !u!222 &222300049877683806 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1773091929370842} +--- !u!222 &222353933039132928 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1834888779259110} +--- !u!222 &222405934188567246 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1631587632320650} +--- !u!222 &222408245163426702 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1033518765954112} +--- !u!222 &222436462354613840 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1863156176346142} +--- !u!222 &222440082837958590 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1630963322484996} +--- !u!222 &222440912648079662 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1720860760896464} +--- !u!222 &222517702666888914 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1950043682192944} +--- !u!222 &222527197387917362 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1822225003194632} +--- !u!222 &222556706089146436 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1134379582007946} +--- !u!222 &222557410622041120 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1224240710395252} +--- !u!222 &222565935254214544 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1771139982222074} +--- !u!222 &222612696734040362 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1369843967718112} +--- !u!222 &222624755814017320 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1517981859059128} +--- !u!222 &222630413655642424 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1580354438201766} +--- !u!222 &222648604351143392 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1651115442230464} +--- !u!222 &222659466593160716 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1058508057950574} +--- !u!222 &222668290256636504 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1126250500677128} +--- !u!222 &222684722331608792 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1578508128181330} +--- !u!222 &222726882145235152 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1455156357821204} +--- !u!222 &222727163051022516 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1069144183345936} +--- !u!222 &222761453459802464 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1180475886068374} +--- !u!222 &222780927565251094 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1825464172051722} +--- !u!222 &222794971132995066 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1732121786184970} +--- !u!222 &222828470417137540 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1157520086907592} +--- !u!222 &222843177595480692 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1772889601344434} +--- !u!222 &222862169045717398 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1989877001575844} +--- !u!222 &222917620694348838 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1627819383762070} +--- !u!222 &222937513944955474 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1214541214586786} +--- !u!223 &223502652072846990 +Canvas: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1401002542317974} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &224043086640829020 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1578508128181330} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 224259459010223668} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: -1} + m_SizeDelta: {x: 15, y: 15} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &224050222484277734 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1126250500677128} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 224449268071700062} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 16, y: 16} + m_Pivot: {x: 1, y: 0} +--- !u!224 &224079610339050636 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1157520086907592} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 224326367512057058} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: -15, y: 0} + m_SizeDelta: {x: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &224085084715825772 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1214541214586786} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 224880024683166596} + - {fileID: 224801538507811170} + m_Father: {fileID: 224326367512057058} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: 0, y: 2} + m_SizeDelta: {x: 0, y: 150} + m_Pivot: {x: 0.5, y: 1} +--- !u!224 &224115470410363810 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1103015729388610} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 224283761196508722} + m_Father: {fileID: 224811249339905846} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -10, y: -2} + m_SizeDelta: {x: 16, y: 16} + m_Pivot: {x: 1, y: 1} +--- !u!224 &224115582791584748 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1720860760896464} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 224959251387882600} + - {fileID: 224326367512057058} + m_Father: {fileID: 224733405357268750} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0.5} +--- !u!224 &224117899150269736 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1352371505926686} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 224145170902752300} + m_Father: {fileID: 224880024683166596} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 28} + m_Pivot: {x: 0.5, y: 1} +--- !u!224 &224137996936387214 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1790390996493154} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 224811249339905846} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &224145170902752300 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1854205934836610} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 224554097110715874} + - {fileID: 224262721715253852} + - {fileID: 224584544129644798} + m_Father: {fileID: 224117899150269736} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &224166614589819394 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1580354438201766} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 224267709766579370} + - {fileID: 224404204774265388} + m_Father: {fileID: 224733405357268750} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &224202849868732352 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1630963322484996} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 224957659262331600} + m_Father: {fileID: 224966126933669226} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 1} +--- !u!224 &224259459010223668 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1989877001575844} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 224043086640829020} + m_Father: {fileID: 224761446331303922} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: -10, y: 0} + m_SizeDelta: {x: 40, y: 25} + m_Pivot: {x: 1, y: 0.5} +--- !u!224 &224262721715253852 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1493607779121320} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 224145170902752300} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 10, y: 0} + m_SizeDelta: {x: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &224267709766579370 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1771139982222074} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 224166614589819394} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0.5} +--- !u!224 &224283761196508722 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1369843967718112} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 224115470410363810} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &224326367512057058 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1134379582007946} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 224367268414030072} + - {fileID: 224079610339050636} + - {fileID: 224085084715825772} + m_Father: {fileID: 224115582791584748} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &224364359941786630 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1687168488571944} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 224496759116260316} + m_Father: {fileID: 224894416807970766} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 50, y: -50} + m_SizeDelta: {x: 100, y: 0} + m_Pivot: {x: 0, y: 1} +--- !u!224 &224367268414030072 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1458769376836420} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 224326367512057058} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -7.5, y: 0} + m_SizeDelta: {x: -15, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &224379072613311604 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1180475886068374} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 224597839923136556} + m_Father: {fileID: 224811249339905846} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: -10, y: 0} + m_SizeDelta: {x: 40, y: 25} + m_Pivot: {x: 1, y: 0.5} +--- !u!224 &224398424416069532 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1795078614122388} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 224568592078528708} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 12, y: 12} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &224404204774265388 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1069144183345936} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 224498888510431636} + - {fileID: 224914300660678930} + m_Father: {fileID: 224166614589819394} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0.5} +--- !u!224 &224406198888016066 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1176239573277708} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 224811249339905846} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 120, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &224440114230420372 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1094320262927282} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 224855768741178090} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &224449268071700062 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1119644664104300} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 224811249339905846} + - {fileID: 224596849579458558} + - {fileID: 224050222484277734} + m_Father: {fileID: 224894416807970766} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 800, y: 300} + m_Pivot: {x: 0, y: 1} +--- !u!224 &224487110838998504 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1518836322553372} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 224972611829443940} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &224489401128640824 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1739734853988076} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 224872682416518590} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 32, y: 32} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &224496759116260316 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1455156357821204} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 224364359941786630} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 67, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &224498888510431636 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1326502328528156} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 224404204774265388} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &224554097110715874 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1938123985482188} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 224145170902752300} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &224568592078528708 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1863156176346142} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 224398424416069532} + m_Father: {fileID: 224811249339905846} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: -130, y: 0} + m_SizeDelta: {x: 40, y: 25} + m_Pivot: {x: 1, y: 0.5} +--- !u!224 &224570404100376090 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1379252118680680} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 224827534153316334} + m_Father: {fileID: 224576896512595952} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &224576896512595952 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1761037255563158} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 224986389928565382} + - {fileID: 224570404100376090} + m_Father: {fileID: 224733405357268750} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &224584544129644798 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1631587632320650} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 224145170902752300} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 5, y: -0.5} + m_SizeDelta: {x: -30, y: -3} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &224595991527403938 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1401002542317974} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 224894416807970766} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!224 &224596849579458558 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1822225003194632} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 224761446331303922} + - {fileID: 224966126933669226} + m_Father: {fileID: 224449268071700062} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -15} + m_SizeDelta: {x: 0, y: -30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &224597839923136556 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1772889601344434} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 224379072613311604} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 15, y: 15} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &224710371589454766 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1430572339144384} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 224775930983152014} + m_Father: {fileID: 224994497271441550} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -20, y: -20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &224733405357268750 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1175976678025542} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 224115582791584748} + - {fileID: 224166614589819394} + - {fileID: 224576896512595952} + - {fileID: 224972611829443940} + m_Father: {fileID: 224761446331303922} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 800, y: 28} + m_Pivot: {x: 0, y: 0.5} +--- !u!224 &224761446331303922 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1517981859059128} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 224733405357268750} + - {fileID: 224259459010223668} + m_Father: {fileID: 224596849579458558} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &224775930983152014 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1033518765954112} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 224710371589454766} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &224796011986427912 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1950043682192944} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 224899661314154526} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 0.2} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &224801538507811170 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1773091929370842} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 224899661314154526} + m_Father: {fileID: 224085084715825772} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 0} + m_Pivot: {x: 1, y: 1} +--- !u!224 &224811249339905846 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1732121786184970} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 224406198888016066} + - {fileID: 224137996936387214} + - {fileID: 224568592078528708} + - {fileID: 224872682416518590} + - {fileID: 224379072613311604} + - {fileID: 224115470410363810} + m_Father: {fileID: 224449268071700062} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 30} + m_Pivot: {x: 0.5, y: 1} +--- !u!224 &224827534153316334 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1455331394227458} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 224570404100376090} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &224855768741178090 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1383984696618856} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 224440114230420372} + m_Father: {fileID: 224991539847618386} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -20, y: -20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &224872682416518590 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1224240710395252} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 224489401128640824} + m_Father: {fileID: 224811249339905846} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: -70, y: 0} + m_SizeDelta: {x: 40, y: 25} + m_Pivot: {x: 1, y: 0.5} +--- !u!224 &224880024683166596 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1691825993136652} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 224117899150269736} + m_Father: {fileID: 224085084715825772} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -18, y: 0} + m_Pivot: {x: 0, y: 1} +--- !u!224 &224894416807970766 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1458517360160914} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 224364359941786630} + - {fileID: 224449268071700062} + m_Father: {fileID: 224595991527403938} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &224899661314154526 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1950970891377528} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 224796011986427912} + m_Father: {fileID: 224801538507811170} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -20, y: -20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &224914300660678930 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1651115442230464} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 224404204774265388} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &224957659262331600 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1627819383762070} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 224202849868732352} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 20, y: 17.000021} + m_SizeDelta: {x: -6, y: 0} + m_Pivot: {x: 0.5, y: 1} +--- !u!224 &224959251387882600 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1075142246957992} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 224115582791584748} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0.5} +--- !u!224 &224966126933669226 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1058508057950574} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 224202849868732352} + - {fileID: 224994497271441550} + - {fileID: 224991539847618386} + m_Father: {fileID: 224596849579458558} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &224972611829443940 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1133544641868258} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 224487110838998504} + m_Father: {fileID: 224733405357268750} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 1, y: 0.5} +--- !u!224 &224986389928565382 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1834888779259110} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 224576896512595952} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &224991539847618386 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1825464172051722} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 224855768741178090} + m_Father: {fileID: 224966126933669226} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 0} + m_Pivot: {x: 1, y: 1} +--- !u!224 &224994497271441550 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1266792614447658} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 224710371589454766} + m_Father: {fileID: 224966126933669226} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 20} + m_Pivot: {x: 0, y: 0} +--- !u!225 &225122016682280346 +CanvasGroup: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1119644664104300} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 diff --git a/VXMusicOverlay/Assets/AiUnity/Common/LogUI/Scripts/ButtonState.cs b/VXMusicOverlay/Assets/AiUnity/Common/LogUI/Scripts/ButtonState.cs new file mode 100644 index 00000000..e5f49da8 --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/Common/LogUI/Scripts/ButtonState.cs @@ -0,0 +1,19 @@ +я╗┐using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +namespace AiUnity.Common.LogUI.Scripts +{ + public enum ButtonState + { + /// Error logging level + Disabled = 4, + + /// Fatal logging level + Highlighted = 2, + + /// Assert logging level + Pressed = 1, + } + +} diff --git a/VXMusicOverlay/Assets/AiUnity/Common/LogUI/Scripts/ButtonStateManager.cs b/VXMusicOverlay/Assets/AiUnity/Common/LogUI/Scripts/ButtonStateManager.cs new file mode 100644 index 00000000..742659d0 --- /dev/null +++ b/VXMusicOverlay/Assets/AiUnity/Common/LogUI/Scripts/ButtonStateManager.cs @@ -0,0 +1,72 @@ +я╗┐// *********************************************************************** +// Assembly : Assembly-CSharp +// Author : AiDesigner +// Created : 06-20-2016 +// Modified : 11-03-2017 +// *********************************************************************** +using UnityEngine; +using UnityEngine.UI; +using System.Collections; +using System.Collections.Generic; +using UnityEngine.EventSystems; + +namespace AiUnity.Common.LogUI.Scripts +{ + /// + /// Class TogglePanelButton. + /// + /// + public class ButtonStateManager : MonoBehaviour + { + #region Fields + public bool pressed; + public Sprite pressedSprite; + + private Image buttonImage; + #endregion + + #region Properties + /// + /// Gets or sets the button. + /// + public Button Button { get; set; } + #endregion + + #region Methods + /// + /// Toggles the panel. + /// + /// The panel. + public void ToggleButtonState() + { + ToggleButtonState(!this.pressed); + } + + /// + /// Toggles the panel. + /// + /// The panel. + public void ToggleButtonState(bool pressed) + { + this.pressed = pressed; + buttonImage.overrideSprite = this.pressed ? pressedSprite : null; + ButtonState buttonState = this.pressed ? ButtonState.Pressed : 0; + ExecuteEvents.ExecuteHierarchy(gameObject, null, (x, y) => x.ButtonStateChange(buttonState)); + } + + /// + /// Starts this instance. + /// + void Start() + { + Button = GetComponent