From fe2ce69c345226b575f93ffaf389b7ff7f13384f Mon Sep 17 00:00:00 2001 From: Yogi <1273750265@qq.com> Date: Thu, 2 Jan 2025 11:32:58 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=8E=A7=E5=88=B6=E5=8F=B0?= =?UTF-8?q?=E6=8F=92=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/StompyRobot.meta | 8 + Assets/StompyRobot/SRDebugger.meta | 5 + Assets/StompyRobot/SRDebugger/Animations.meta | 5 + .../StompyRobot/SRDebugger/Animations/UI.meta | 5 + .../SRDebugger/Animations/UI/Pin.meta | 5 + .../SRDebugger/Animations/UI/Pin/Invalid.anim | 164 + .../Animations/UI/Pin/Invalid.anim.meta | 4 + .../Animations/UI/Pin/Pin.controller | 126 + .../Animations/UI/Pin/Pin.controller.meta | 4 + .../Animations/UI/Pin/Result.controller | 53 + .../Animations/UI/Pin/Result.controller.meta | 4 + .../SRDebugger/Animations/UI/Trigger.meta | 8 + .../Animations/UI/Trigger/ErrorPulse.anim | 281 + .../UI/Trigger/ErrorPulse.anim.meta | 8 + .../UI/Trigger/ErrorPulse.controller | 153 + .../UI/Trigger/ErrorPulse.controller.meta | 8 + .../Animations/UI/Trigger/Hidden.anim | 131 + .../Animations/UI/Trigger/Hidden.anim.meta | 8 + Assets/StompyRobot/SRDebugger/Editor.meta | 9 + .../StompyRobot/SRDebugger/Editor/BG_Dark.png | Bin 0 -> 817 bytes .../SRDebugger/Editor/BG_Dark.png.meta | 55 + .../SRDebugger/Editor/BG_Light.png | Bin 0 -> 1648 bytes .../SRDebugger/Editor/BG_Light.png.meta | 55 + .../SRDebugger/Editor/DemoSprite.png | Bin 0 -> 581417 bytes .../SRDebugger/Editor/DemoSprite.png.meta | 55 + .../StompyRobot/SRDebugger/Editor/Icons.meta | 9 + .../SRDebugger/Editor/Icons/Dark.meta | 9 + .../Editor/Icons/Dark/console-25.png | Bin 0 -> 305 bytes .../Editor/Icons/Dark/console-25.png.meta | 55 + .../Editor/Icons/Dark/options-25.png | Bin 0 -> 287 bytes .../Editor/Icons/Dark/options-25.png.meta | 55 + .../Editor/Icons/Dark/profiler-25.png | Bin 0 -> 456 bytes .../Editor/Icons/Dark/profiler-25.png.meta | 55 + .../SRDebugger/Editor/Icons/Light.meta | 9 + .../Editor/Icons/Light/console-25.png | Bin 0 -> 236 bytes .../Editor/Icons/Light/console-25.png.meta | 55 + .../Editor/Icons/Light/options-25.png | Bin 0 -> 234 bytes .../Editor/Icons/Light/options-25.png.meta | 55 + .../Editor/Icons/Light/profiler-25.png | Bin 0 -> 395 bytes .../Editor/Icons/Light/profiler-25.png.meta | 55 + .../SRDebugger/Editor/Logo_DarkBG.png | Bin 0 -> 3685 bytes .../SRDebugger/Editor/Logo_DarkBG.png.meta | 55 + .../SRDebugger/Editor/Logo_LightBG.png | Bin 0 -> 4014 bytes .../SRDebugger/Editor/Logo_LightBG.png.meta | 55 + .../SRDebugger/Editor/WelcomeLogo_DarkBG.png | Bin 0 -> 3592 bytes .../Editor/WelcomeLogo_DarkBG.png.meta | 55 + .../SRDebugger/Editor/WelcomeLogo_LightBG.png | Bin 0 -> 3852 bytes .../Editor/WelcomeLogo_LightBG.png.meta | 55 + .../PlaymakerIntegration.unitypackage | Bin 0 -> 2831 bytes .../PlaymakerIntegration.unitypackage.meta | 8 + Assets/StompyRobot/SRDebugger/README.txt | 496 ++ Assets/StompyRobot/SRDebugger/README.txt.meta | 4 + Assets/StompyRobot/SRDebugger/Resources.meta | 5 + .../SRDebugger/Resources/SRDebugger.meta | 5 + .../SRDebugger/Resources/SRDebugger/UI.meta | 5 + .../Resources/SRDebugger/UI/Prefabs.meta | 5 + .../UI/Prefabs/BugReportPopover.prefab | 764 ++ .../UI/Prefabs/BugReportPopover.prefab.meta | 4 + .../UI/Prefabs/BugReportSheet.prefab | 2618 ++++++ .../UI/Prefabs/BugReportSheet.prefab.meta | 4 + .../SRDebugger/UI/Prefabs/DebugPanel.prefab | 4052 +++++++++ .../UI/Prefabs/DebugPanel.prefab.meta | 4 + .../SRDebugger/UI/Prefabs/DockConsole.prefab | 40 + .../UI/Prefabs/DockConsole.prefab.meta | 4 + .../SRDebugger/UI/Prefabs/Options.meta | 5 + .../UI/Prefabs/Options/ActionOption.prefab | 547 ++ .../Prefabs/Options/ActionOption.prefab.meta | 4 + .../UI/Prefabs/Options/BoolOption.prefab | 694 ++ .../UI/Prefabs/Options/BoolOption.prefab.meta | 4 + .../UI/Prefabs/Options/EnumOption.prefab | 1440 +++ .../UI/Prefabs/Options/EnumOption.prefab.meta | 4 + .../UI/Prefabs/Options/NumberOption.prefab | 1420 +++ .../Prefabs/Options/NumberOption.prefab.meta | 4 + .../UI/Prefabs/Options/ReadOnlyOption.prefab | 598 ++ .../Options/ReadOnlyOption.prefab.meta | 8 + .../UI/Prefabs/Options/StringOption.prefab | 717 ++ .../Prefabs/Options/StringOption.prefab.meta | 4 + .../SRDebugger/UI/Prefabs/PinEntry.prefab | 5663 ++++++++++++ .../UI/Prefabs/PinEntry.prefab.meta | 4 + .../SRDebugger/UI/Prefabs/PinnedUI.prefab | 7728 +++++++++++++++++ .../UI/Prefabs/PinnedUI.prefab.meta | 4 + .../Resources/SRDebugger/UI/Prefabs/Tabs.meta | 5 + .../UI/Prefabs/Tabs/BugReporter.prefab | 260 + .../UI/Prefabs/Tabs/BugReporter.prefab.meta | 4 + .../SRDebugger/UI/Prefabs/Tabs/Console.prefab | 6699 ++++++++++++++ .../UI/Prefabs/Tabs/Console.prefab.meta | 4 + .../SRDebugger/UI/Prefabs/Tabs/Options.prefab | 1285 +++ .../UI/Prefabs/Tabs/Options.prefab.meta | 4 + .../UI/Prefabs/Tabs/Profiler.prefab | 5208 +++++++++++ .../UI/Prefabs/Tabs/Profiler.prefab.meta | 4 + .../SRDebugger/UI/Prefabs/Tabs/System.prefab | 1141 +++ .../UI/Prefabs/Tabs/System.prefab.meta | 4 + .../SRDebugger/UI/Prefabs/Trigger.prefab | 703 ++ .../SRDebugger/UI/Prefabs/Trigger.prefab.meta | 4 + Assets/StompyRobot/SRDebugger/Scenes.meta | 5 + .../SRDebugger/Scenes/Sample.unity | 392 + .../SRDebugger/Scenes/Sample.unity.meta | 4 + Assets/StompyRobot/SRDebugger/Scripts.meta | 5 + .../SRDebugger/Scripts/AutoInitialize.cs | 44 + .../SRDebugger/Scripts/AutoInitialize.cs.meta | 12 + .../SRDebugger/Scripts/Editor.meta | 5 + .../SRDebugger/Scripts/Editor/ApiSignup.cs | 101 + .../Scripts/Editor/ApiSignup.cs.meta | 8 + .../Scripts/Editor/ApiSignupWindow.cs | 42 + .../Scripts/Editor/ApiSignupWindow.cs.meta | 8 + .../Scripts/Editor/IntegrityChecking.cs | 87 + .../Scripts/Editor/IntegrityChecking.cs.meta | 3 + .../SRDebugger/Scripts/Editor/Migrations.cs | 123 + .../Scripts/Editor/Migrations.cs.meta | 12 + .../Editor/ProfilerCameraListenerEditor.cs | 4 + .../ProfilerCameraListenerEditor.cs.meta | 8 + .../Scripts/Editor/SRDebugEditor.Compiler.cs | 83 + .../Editor/SRDebugEditor.Compiler.cs.meta | 11 + .../Scripts/Editor/SRDebugEditor.Resources.cs | 179 + .../Editor/SRDebugEditor.Resources.cs.meta | 11 + .../Scripts/Editor/SRDebugEditor.cs | 308 + .../Scripts/Editor/SRDebugEditor.cs.meta | 3 + .../Scripts/Editor/SRDebugEditorPaths.cs | 11 + .../Scripts/Editor/SRDebugEditorPaths.cs.meta | 3 + .../Scripts/Editor/SRDebugEditorStrings.cs | 43 + .../Editor/SRDebugEditorStrings.cs.meta | 3 + .../Scripts/Editor/SRIntegrityCheckWindow.cs | 183 + .../Editor/SRIntegrityCheckWindow.cs.meta | 3 + .../Scripts/Editor/SRInternalEditorUtil.cs | 707 ++ .../Editor/SRInternalEditorUtil.cs.meta | 3 + .../Scripts/Editor/SROptionsWindow.cs | 455 + .../Scripts/Editor/SROptionsWindow.cs.meta | 12 + .../Scripts/Editor/SettingsEditor.cs | 50 + .../Scripts/Editor/SettingsEditor.cs.meta | 8 + .../Scripts/Editor/SettingsWindow.cs | 1026 +++ .../Scripts/Editor/SettingsWindow.cs.meta | 12 + .../StompyRobot.SRDebugger.Editor.asmdef | 11 + .../StompyRobot.SRDebugger.Editor.asmdef.meta | 7 + .../Scripts/Editor/WelcomeWindow.cs | 194 + .../Scripts/Editor/WelcomeWindow.cs.meta | 12 + .../SRDebugger/Scripts/IBugReporterHandler.cs | 65 + .../Scripts/IBugReporterHandler.cs.meta | 11 + .../SRDebugger/Scripts/IOptionContainer.cs | 88 + .../Scripts/IOptionContainer.cs.meta | 3 + .../SRDebugger/Scripts/Internal.meta | 5 + .../SRDebugger/Scripts/Internal/Api.cs | 16 + .../SRDebugger/Scripts/Internal/Api.cs.meta | 8 + .../SRDebugger/Scripts/Internal/ApiUtil.cs | 96 + .../Scripts/Internal/ApiUtil.cs.meta | 8 + .../Scripts/Internal/BugReportApi.cs | 189 + .../Scripts/Internal/BugReportApi.cs.meta | 8 + .../Internal/BugReportScreenshotUtil.cs | 29 + .../Internal/BugReportScreenshotUtil.cs.meta | 8 + .../Scripts/Internal/CircularBuffer.cs | 371 + .../Scripts/Internal/CircularBuffer.cs.meta | 8 + .../SRDebugger/Scripts/Internal/EditorUtil.cs | 4 + .../Scripts/Internal/EditorUtil.cs.meta | 8 + .../Internal/InternalBugReporterHandler.cs | 23 + .../InternalBugReporterHandler.cs.meta | 11 + .../Internal/InternalOptionsRegistry.cs | 42 + .../Internal/InternalOptionsRegistry.cs.meta | 11 + .../Scripts/Internal/OptionControlFactory.cs | 174 + .../Internal/OptionControlFactory.cs.meta | 8 + .../Scripts/Internal/OptionDefinition.cs | 93 + .../Scripts/Internal/OptionDefinition.cs.meta | 8 + .../SRDebugger/Scripts/Internal/Paths.cs | 14 + .../SRDebugger/Scripts/Internal/Paths.cs.meta | 8 + .../Internal/SRScriptRecompileHelper.cs | 73 + .../Internal/SRScriptRecompileHelper.cs.meta | 11 + .../SRDebugger/Scripts/Internal/Service.cs | 122 + .../Scripts/Internal/Service.cs.meta | 8 + .../SRDebugger/Scripts/Internal/Strings.cs | 24 + .../Scripts/Internal/Strings.cs.meta | 8 + .../SRDebugger/Scripts/Internal/Util.cs | 233 + .../SRDebugger/Scripts/Internal/Util.cs.meta | 8 + .../SRDebugger/Scripts/Profiler.meta | 5 + .../Profiler/ProfilerCameraListener.cs | 4 + .../Profiler/ProfilerCameraListener.cs.meta | 8 + .../Profiler/ProfilerLateUpdateListener.cs | 22 + .../ProfilerLateUpdateListener.cs.meta | 8 + .../Scripts/Profiler/ProfilerServiceImpl.cs | 128 + .../Profiler/ProfilerServiceImpl.cs.meta | 8 + .../Scripts/Profiler/SRPProfilerService.cs | 139 + .../Profiler/SRPProfilerService.cs.meta | 11 + .../StompyRobot/SRDebugger/Scripts/SRDebug.cs | 59 + .../SRDebugger/Scripts/SRDebug.cs.meta | 8 + .../SRDebugger/Scripts/SRDebuggerInit.cs | 19 + .../SRDebugger/Scripts/SRDebuggerInit.cs.meta | 8 + .../Scripts/SROptions.Attributes.cs | 39 + .../Scripts/SROptions.Attributes.cs.meta | 8 + .../SRDebugger/Scripts/SROptions.Test.cs | 4 + .../SRDebugger/Scripts/SROptions.Test.cs.meta | 8 + .../SRDebugger/Scripts/SROptions.cs | 4 + .../SRDebugger/Scripts/SROptions.cs.meta | 8 + .../SRDebugger/Scripts/Services.meta | 5 + .../Services/ConsoleFilterStateService.cs | 58 + .../ConsoleFilterStateService.cs.meta | 11 + .../Scripts/Services/IBugReportService.cs | 32 + .../Services/IBugReportService.cs.meta | 8 + .../Scripts/Services/IConsoleFilterState.cs | 27 + .../Services/IConsoleFilterState.cs.meta | 11 + .../Scripts/Services/IConsoleService.cs | 116 + .../Scripts/Services/IConsoleService.cs.meta | 8 + .../Scripts/Services/IDebugCameraService.cs | 9 + .../Services/IDebugCameraService.cs.meta | 8 + .../Scripts/Services/IDebugPanelService.cs | 35 + .../Services/IDebugPanelService.cs.meta | 8 + .../Scripts/Services/IDebugService.cs | 240 + .../Scripts/Services/IDebugService.cs.meta | 8 + .../Scripts/Services/IDebugTriggerService.cs | 9 + .../Services/IDebugTriggerService.cs.meta | 8 + .../Scripts/Services/IDockConsoleService.cs | 9 + .../Services/IDockConsoleService.cs.meta | 8 + .../Scripts/Services/IOptionsService.cs | 43 + .../Scripts/Services/IOptionsService.cs.meta | 8 + .../Scripts/Services/IPinEntryService.cs | 22 + .../Scripts/Services/IPinEntryService.cs.meta | 8 + .../Scripts/Services/IPinnedOptionsService.cs | 19 + .../Services/IPinnedOptionsService.cs.meta | 8 + .../Scripts/Services/IProfilerService.cs | 42 + .../Scripts/Services/IProfilerService.cs.meta | 8 + .../Services/ISystemInformationService.cs | 98 + .../ISystemInformationService.cs.meta | 8 + .../Scripts/Services/Implementation.meta | 5 + .../Implementation/BugReportApiService.cs | 59 + .../BugReportApiService.cs.meta | 8 + .../Implementation/BugReportPopoverService.cs | 167 + .../BugReportPopoverService.cs.meta | 8 + .../ConsoleFilterStateService.cs | 57 + .../ConsoleFilterStateService.cs.meta | 11 + .../Implementation/DebugCameraServiceImpl.cs | 32 + .../DebugCameraServiceImpl.cs.meta | 8 + .../Implementation/DebugPanelServiceImpl.cs | 171 + .../DebugPanelServiceImpl.cs.meta | 8 + .../Implementation/DebugTriggerImpl.cs | 225 + .../Implementation/DebugTriggerImpl.cs.meta | 8 + .../Implementation/DockConsoleServiceImpl.cs | 148 + .../DockConsoleServiceImpl.cs.meta | 8 + .../KeyboardShortcutListenerService.cs | 265 + .../KeyboardShortcutListenerService.cs.meta | 8 + ...nsServiceImpl.ReflectionOptionContainer.cs | 75 + ...viceImpl.ReflectionOptionContainer.cs.meta | 3 + .../Implementation/OptionsServiceImpl.cs | 185 + .../Implementation/OptionsServiceImpl.cs.meta | 8 + .../Implementation/PinEntryServiceImpl.cs | 129 + .../PinEntryServiceImpl.cs.meta | 8 + .../Implementation/PinnedUIServiceImpl.cs | 271 + .../PinnedUIServiceImpl.cs.meta | 8 + .../Services/Implementation/SRDebugService.cs | 382 + .../Implementation/SRDebugService.cs.meta | 8 + .../Implementation/StandardConsoleService.cs | 210 + .../StandardConsoleService.cs.meta | 8 + .../SystemInformationService.cs | 270 + .../SystemInformationService.cs.meta | 8 + .../Scripts/Services/ServiceSelectors.cs | 1 + .../Scripts/Services/ServiceSelectors.cs.meta | 8 + .../SRDebugger/Scripts/Settings.cs | 704 ++ .../SRDebugger/Scripts/Settings.cs.meta | 8 + Assets/StompyRobot/SRDebugger/Scripts/UI.meta | 5 + .../SRDebugger/Scripts/UI/Controls.meta | 5 + .../Scripts/UI/Controls/ConsoleEntryView.cs | 112 + .../UI/Controls/ConsoleEntryView.cs.meta | 8 + .../Scripts/UI/Controls/ConsoleLogControl.cs | 196 + .../UI/Controls/ConsoleLogControl.cs.meta | 8 + .../SRDebugger/Scripts/UI/Controls/Data.meta | 5 + .../Scripts/UI/Controls/Data/ActionControl.cs | 52 + .../UI/Controls/Data/ActionControl.cs.meta | 8 + .../Scripts/UI/Controls/Data/BoolControl.cs | 44 + .../UI/Controls/Data/BoolControl.cs.meta | 8 + .../UI/Controls/Data/DataBoundControl.cs | 131 + .../UI/Controls/Data/DataBoundControl.cs.meta | 8 + .../Scripts/UI/Controls/Data/EnumControl.cs | 109 + .../UI/Controls/Data/EnumControl.cs.meta | 8 + .../Scripts/UI/Controls/Data/NumberControl.cs | 200 + .../UI/Controls/Data/NumberControl.cs.meta | 8 + .../UI/Controls/Data/OptionsControlBase.cs | 74 + .../Controls/Data/OptionsControlBase.cs.meta | 8 + .../UI/Controls/Data/ReadOnlyControl.cs | 36 + .../UI/Controls/Data/ReadOnlyControl.cs.meta | 12 + .../Scripts/UI/Controls/Data/StringControl.cs | 47 + .../UI/Controls/Data/StringControl.cs.meta | 8 + .../Scripts/UI/Controls/InfoBlock.cs | 12 + .../Scripts/UI/Controls/InfoBlock.cs.meta | 8 + .../Scripts/UI/Controls/MultiTapButton.cs | 30 + .../UI/Controls/MultiTapButton.cs.meta | 8 + .../Scripts/UI/Controls/PinEntryControl.cs | 214 + .../UI/Controls/PinEntryControl.cs.meta | 8 + .../Scripts/UI/Controls/Profiler.meta | 5 + .../UI/Controls/Profiler/ProfilerFPSLabel.cs | 38 + .../Profiler/ProfilerFPSLabel.cs.meta | 8 + .../Controls/Profiler/ProfilerMemoryBlock.cs | 79 + .../Profiler/ProfilerMemoryBlock.cs.meta | 8 + .../UI/Controls/Profiler/ProfilerMonoBlock.cs | 91 + .../Profiler/ProfilerMonoBlock.cs.meta | 8 + .../UI/Controls/ProfilerEnableControl.cs | 73 + .../UI/Controls/ProfilerEnableControl.cs.meta | 8 + .../UI/Controls/ProfilerGraphAxisLabel.cs | 51 + .../Controls/ProfilerGraphAxisLabel.cs.meta | 8 + .../UI/Controls/ProfilerGraphControl.cs | 550 ++ .../UI/Controls/ProfilerGraphControl.cs.meta | 8 + .../Scripts/UI/Controls/SRTabButton.cs | 26 + .../Scripts/UI/Controls/SRTabButton.cs.meta | 8 + .../SRDebugger/Scripts/UI/DebugPanelRoot.cs | 34 + .../Scripts/UI/DebugPanelRoot.cs.meta | 8 + .../Scripts/UI/DebuggerTabController.cs | 119 + .../Scripts/UI/DebuggerTabController.cs.meta | 8 + .../Scripts/UI/MobileMenuController.cs | 162 + .../Scripts/UI/MobileMenuController.cs.meta | 8 + .../SRDebugger/Scripts/UI/Other.meta | 5 + .../Scripts/UI/Other/BugReportPopoverRoot.cs | 12 + .../UI/Other/BugReportPopoverRoot.cs.meta | 8 + .../UI/Other/BugReportSheetController.cs | 195 + .../UI/Other/BugReportSheetController.cs.meta | 8 + .../Scripts/UI/Other/CategoryGroup.cs | 56 + .../Scripts/UI/Other/CategoryGroup.cs.meta | 8 + .../UI/Other/ConfigureCanvasFromSettings.cs | 56 + .../Other/ConfigureCanvasFromSettings.cs.meta | 8 + .../UI/Other/ConsoleTabQuickViewControl.cs | 71 + .../Other/ConsoleTabQuickViewControl.cs.meta | 8 + .../UI/Other/DebugPanelBackgroundBehaviour.cs | 32 + .../DebugPanelBackgroundBehaviour.cs.meta | 8 + .../Scripts/UI/Other/DockConsoleController.cs | 266 + .../UI/Other/DockConsoleController.cs.meta | 12 + .../Scripts/UI/Other/DockConsoleRoot.cs | 3 + .../Scripts/UI/Other/DockConsoleRoot.cs.meta | 8 + .../Scripts/UI/Other/ErrorNotifier.cs | 56 + .../Scripts/UI/Other/ErrorNotifier.cs.meta | 3 + .../Scripts/UI/Other/FloatOverElement.cs | 44 + .../Scripts/UI/Other/FloatOverElement.cs.meta | 11 + .../Scripts/UI/Other/HandleManager.cs | 106 + .../Scripts/UI/Other/HandleManager.cs.meta | 12 + .../SRDebugger/Scripts/UI/Other/IEnableTab.cs | 7 + .../Scripts/UI/Other/IEnableTab.cs.meta | 8 + .../UI/Other/LoadingSpinnerBehaviour.cs | 35 + .../UI/Other/LoadingSpinnerBehaviour.cs.meta | 8 + .../Scripts/UI/Other/PinnedUIRoot.cs | 26 + .../Scripts/UI/Other/PinnedUIRoot.cs.meta | 8 + .../SRDebugger/Scripts/UI/Other/SRTab.cs | 52 + .../SRDebugger/Scripts/UI/Other/SRTab.cs.meta | 8 + .../Scripts/UI/Other/SRTabController.cs | 133 + .../Scripts/UI/Other/SRTabController.cs.meta | 8 + .../Scripts/UI/Other/SafeAreaSizer.cs | 153 + .../Scripts/UI/Other/SafeAreaSizer.cs.meta | 11 + .../Scripts/UI/Other/ScrollRectPatch.cs | 4 + .../Scripts/UI/Other/ScrollRectPatch.cs.meta | 8 + .../UI/Other/ScrollSettingsBehaviour.cs | 23 + .../UI/Other/ScrollSettingsBehaviour.cs.meta | 8 + .../Scripts/UI/Other/SetLayerFromSettings.cs | 12 + .../UI/Other/SetLayerFromSettings.cs.meta | 8 + .../Scripts/UI/Other/TriggerRoot.cs | 21 + .../Scripts/UI/Other/TriggerRoot.cs.meta | 8 + .../Scripts/UI/Other/VersionTextBehaviour.cs | 19 + .../UI/Other/VersionTextBehaviour.cs.meta | 8 + .../SRDebugger/Scripts/UI/Tabs.meta | 5 + .../Scripts/UI/Tabs/BugReportTabController.cs | 45 + .../UI/Tabs/BugReportTabController.cs.meta | 8 + .../Scripts/UI/Tabs/ConsoleTabController.cs | 410 + .../UI/Tabs/ConsoleTabController.cs.meta | 8 + .../Scripts/UI/Tabs/InfoTabController.cs | 145 + .../Scripts/UI/Tabs/InfoTabController.cs.meta | 8 + .../Scripts/UI/Tabs/OptionsTabController.cs | 377 + .../UI/Tabs/OptionsTabController.cs.meta | 8 + .../Scripts/UI/Tabs/ProfilerTabController.cs | 49 + .../UI/Tabs/ProfilerTabController.cs.meta | 8 + .../StompyRobot/SRDebugger/Scripts/Version.cs | 5 + .../SRDebugger/Scripts/Version.cs.meta | 12 + .../SRDebugger/StompyRobot.SRDebugger.asmdef | 17 + .../StompyRobot.SRDebugger.asmdef.meta | 7 + Assets/StompyRobot/SRDebugger/UI.meta | 5 + Assets/StompyRobot/SRDebugger/UI/Fonts.meta | 5 + .../SRDebugger/UI/Fonts/FONT LICENSE.txt | 93 + .../SRDebugger/UI/Fonts/FONT LICENSE.txt.meta | 4 + .../SRDebugger/UI/Fonts/Orbitron Black.otf | Bin 0 -> 20232 bytes .../UI/Fonts/Orbitron Black.otf.meta | 14 + .../SRDebugger/UI/Fonts/Orbitron Bold.otf | Bin 0 -> 20388 bytes .../UI/Fonts/Orbitron Bold.otf.meta | 14 + .../SRDebugger/UI/Fonts/Orbitron Light.otf | Bin 0 -> 19344 bytes .../UI/Fonts/Orbitron Light.otf.meta | 14 + .../SRDebugger/UI/Fonts/Orbitron Medium.otf | Bin 0 -> 19256 bytes .../UI/Fonts/Orbitron Medium.otf.meta | 14 + .../UI/Fonts/SourceCodePro-Regular.otf | Bin 0 -> 90056 bytes .../UI/Fonts/SourceCodePro-Regular.otf.meta | 14 + Assets/StompyRobot/SRDebugger/UI/Prefabs.meta | 5 + .../SRDebugger/UI/Prefabs/AboutTab.prefab | 585 ++ .../UI/Prefabs/AboutTab.prefab.meta | 4 + .../SRDebugger/UI/Prefabs/Console.meta | 5 + .../SRDebugger/UI/Prefabs/Console/Item.prefab | 734 ++ .../UI/Prefabs/Console/Item.prefab.meta | 4 + .../SRDebugger/UI/Prefabs/InfoBlock.prefab | 256 + .../UI/Prefabs/InfoBlock.prefab.meta | 4 + .../SRDebugger/UI/Prefabs/Options.meta | 5 + .../UI/Prefabs/Options/Category.prefab | 628 ++ .../UI/Prefabs/Options/Category.prefab.meta | 4 + .../UI/Prefabs/SR_ModalPopup.prefab | 1098 +++ .../UI/Prefabs/SR_ModalPopup.prefab.meta | 7 + .../SRDebugger/UI/Prefabs/SideBar.meta | 5 + .../SideBar/ConsoleTabButtonContent.prefab | 843 ++ .../ConsoleTabButtonContent.prefab.meta | 4 + .../SRDebugger/UI/Prefabs/SideBar/Tab.prefab | 667 ++ .../UI/Prefabs/SideBar/Tab.prefab.meta | 4 + Assets/StompyRobot/SRDebugger/UI/Sprites.meta | 5 + .../SRDebugger/UI/Sprites/Default.meta | 5 + .../SRDebugger/UI/Sprites/Default/Alert.PSD | Bin 0 -> 22508 bytes .../UI/Sprites/Default/Alert.PSD.meta | 110 + .../SRDebugger/UI/Sprites/Default/BG.meta | 5 + .../UI/Sprites/Default/BG/footer_lodyas.png | Bin 0 -> 16432 bytes .../Sprites/Default/BG/footer_lodyas.png.meta | 88 + .../SRDebugger/UI/Sprites/Default/Circle.psd | Bin 0 -> 29006 bytes .../UI/Sprites/Default/Circle.psd.meta | 88 + .../SRDebugger/UI/Sprites/Default/Icons.meta | 5 + .../UI/Sprites/Default/Icons/Filter-50.png | Bin 0 -> 630 bytes .../Sprites/Default/Icons/Filter-50.png.meta | 91 + .../UI/Sprites/Default/Icons/clipboard-50.png | Bin 0 -> 381 bytes .../Default/Icons/clipboard-50.png.meta | 91 + .../UI/Sprites/Default/Icons/close-50.png | Bin 0 -> 1037 bytes .../Sprites/Default/Icons/close-50.png.meta | 91 + .../UI/Sprites/Default/Icons/collapse-32.png | Bin 0 -> 284 bytes .../Default/Icons/collapse-32.png.meta | 91 + .../UI/Sprites/Default/Icons/console-64.png | Bin 0 -> 613 bytes .../Sprites/Default/Icons/console-64.png.meta | 91 + .../UI/Sprites/Default/Icons/down-50.png | Bin 0 -> 474 bytes .../UI/Sprites/Default/Icons/down-50.png.meta | 91 + .../UI/Sprites/Default/Icons/feedback-64.png | Bin 0 -> 1303 bytes .../Default/Icons/feedback-64.png.meta | 91 + .../Default/Icons/heart_monitor-64.png | Bin 0 -> 917 bytes .../Default/Icons/heart_monitor-64.png.meta | 91 + .../UI/Sprites/Default/Icons/info-64.png | Bin 0 -> 1261 bytes .../UI/Sprites/Default/Icons/info-64.png.meta | 91 + .../UI/Sprites/Default/Icons/menu-25.png | Bin 0 -> 196 bytes .../UI/Sprites/Default/Icons/menu-25.png.meta | 91 + .../UI/Sprites/Default/Icons/menu-32.png | Bin 0 -> 138 bytes .../UI/Sprites/Default/Icons/menu-32.png.meta | 91 + .../UI/Sprites/Default/Icons/menu-50.png | Bin 0 -> 274 bytes .../UI/Sprites/Default/Icons/menu-50.png.meta | 91 + .../UI/Sprites/Default/Icons/message-64.png | Bin 0 -> 932 bytes .../Sprites/Default/Icons/message-64.png.meta | 91 + .../Default/Icons/open-dropdown-50.png | Bin 0 -> 409 bytes .../Default/Icons/open-dropdown-50.png.meta | 91 + .../UI/Sprites/Default/Icons/outline-64.png | Bin 0 -> 603 bytes .../Sprites/Default/Icons/outline-64.png.meta | 91 + .../UI/Sprites/Default/Icons/pin-50.png | Bin 0 -> 1088 bytes .../UI/Sprites/Default/Icons/pin-50.png.meta | 91 + .../UI/Sprites/Default/Icons/pin-64.png | Bin 0 -> 1200 bytes .../UI/Sprites/Default/Icons/pin-64.png.meta | 91 + .../UI/Sprites/Default/Icons/refresh-50.png | Bin 0 -> 677 bytes .../Sprites/Default/Icons/refresh-50.png.meta | 91 + .../UI/Sprites/Default/Icons/spider-64.png | Bin 0 -> 1515 bytes .../Sprites/Default/Icons/spider-64.png.meta | 91 + .../Default/Icons/stompy_white_128.png | Bin 0 -> 6801 bytes .../Default/Icons/stompy_white_128.png.meta | 88 + .../UI/Sprites/Default/Icons/trash2-32.png | Bin 0 -> 374 bytes .../Sprites/Default/Icons/trash2-32.png.meta | 91 + .../UI/Sprites/Default/Icons/trash2-50.png | Bin 0 -> 1005 bytes .../Sprites/Default/Icons/trash2-50.png.meta | 91 + .../SRDebugger/UI/Sprites/Default/Logo.psd | Bin 0 -> 48785 bytes .../UI/Sprites/Default/Logo.psd.meta | 88 + .../SRDebugger/UI/Sprites/Default/Logo@2x.psd | Bin 0 -> 60669 bytes .../UI/Sprites/Default/Logo@2x.psd.meta | 88 + .../SRDebugger/UI/Sprites/Default/Pin.meta | 5 + .../Default/Pin/NumberButton_Fill@2x.psd | Bin 0 -> 31868 bytes .../Default/Pin/NumberButton_Fill@2x.psd.meta | 88 + .../Default/Pin/NumberButton_Outline@2x.psd | Bin 0 -> 34054 bytes .../Pin/NumberButton_Outline@2x.psd.meta | 88 + .../UI/Sprites/Default/Pin/PinDot_Fill@2x.psd | Bin 0 -> 25402 bytes .../Default/Pin/PinDot_Fill@2x.psd.meta | 88 + .../Sprites/Default/Pin/PinDot_Outline@2x.psd | Bin 0 -> 24838 bytes .../Default/Pin/PinDot_Outline@2x.psd.meta | 88 + .../UI/Sprites/Default/RoundedCorner-2px.psd | Bin 0 -> 24228 bytes .../Default/RoundedCorner-2px.psd.meta | 88 + .../Sprites/Default/RoundedCorner-2px@2x.psd | Bin 0 -> 26626 bytes .../Default/RoundedCorner-2px@2x.psd.meta | 88 + .../UI/Sprites/Default/RoundedCorner-5px.psd | Bin 0 -> 24316 bytes .../Default/RoundedCorner-5px.psd.meta | 88 + .../Sprites/Default/RoundedCorner-5px@2x.psd | Bin 0 -> 29996 bytes .../Default/RoundedCorner-5px@2x.psd.meta | 88 + .../UI/Sprites/Default/loading@2x.png | Bin 0 -> 2252 bytes .../UI/Sprites/Default/loading@2x.png.meta | 88 + Assets/StompyRobot/SRDebugger/UI/Styles.meta | 5 + .../SRDebugger/UI/Styles/Default.asset | 419 + .../SRDebugger/UI/Styles/Default.asset.meta | 4 + .../UI/Styles/DefaultConsoleAltRow.asset | 22 + .../UI/Styles/DefaultConsoleAltRow.asset.meta | 4 + .../UI/Styles/DefaultConsoleSelectedRow.asset | 22 + .../DefaultConsoleSelectedRow.asset.meta | 4 + .../UI/Styles/DefaultTabActive.asset | 34 + .../UI/Styles/DefaultTabActive.asset.meta | 4 + Assets/StompyRobot/SRF.meta | 5 + Assets/StompyRobot/SRF/External.meta | 5 + .../SRF/External/Jetbrains.Annotations.cs | 938 ++ .../External/Jetbrains.Annotations.cs.meta | 8 + Assets/StompyRobot/SRF/External/MiniJSON.cs | 626 ++ .../StompyRobot/SRF/External/MiniJSON.cs.meta | 8 + Assets/StompyRobot/SRF/Internal.meta | 5 + .../SRF/Internal/ComponentMenuPaths.cs | 81 + .../SRF/Internal/ComponentMenuPaths.cs.meta | 8 + Assets/StompyRobot/SRF/LICENSE | 19 + Assets/StompyRobot/SRF/LICENSE.meta | 4 + Assets/StompyRobot/SRF/README.md | 12 + Assets/StompyRobot/SRF/README.md.meta | 4 + Assets/StompyRobot/SRF/Scripts.meta | 5 + .../StompyRobot/SRF/Scripts/Collections.meta | 5 + .../SRF/Scripts/Collections/SRList.cs | 346 + .../SRF/Scripts/Collections/SRList.cs.meta | 8 + .../StompyRobot/SRF/Scripts/Components.meta | 5 + .../SRF/Scripts/Components/SRAutoSingleton.cs | 74 + .../Components/SRAutoSingleton.cs.meta | 8 + .../SRF/Scripts/Components/SRMonoBehaviour.cs | 202 + .../Components/SRMonoBehaviour.cs.meta | 8 + .../Scripts/Components/SRMonoBehaviourEx.cs | 215 + .../Components/SRMonoBehaviourEx.cs.meta | 8 + .../SRF/Scripts/Components/SRSingleton.cs | 82 + .../Scripts/Components/SRSingleton.cs.meta | 8 + Assets/StompyRobot/SRF/Scripts/Coroutines.cs | 18 + .../SRF/Scripts/Coroutines.cs.meta | 8 + .../StompyRobot/SRF/Scripts/Extensions.meta | 5 + .../SRF/Scripts/Extensions/FloatExtensions.cs | 27 + .../Extensions/FloatExtensions.cs.meta | 8 + .../Extensions/GameObjectExtensions.cs | 100 + .../Extensions/GameObjectExtensions.cs.meta | 8 + .../SRF/Scripts/Extensions/IListExtensions.cs | 47 + .../Extensions/IListExtensions.cs.meta | 8 + .../SRF/Scripts/Extensions/NetFxExtensions.cs | 32 + .../Extensions/NetFxExtensions.cs.meta | 8 + .../Scripts/Extensions/StringExtensions.cs | 13 + .../Extensions/StringExtensions.cs.meta | 8 + .../Scripts/Extensions/TransformExtensions.cs | 91 + .../Extensions/TransformExtensions.cs.meta | 8 + Assets/StompyRobot/SRF/Scripts/Helpers.meta | 5 + .../SRF/Scripts/Helpers/AssetUtil.cs | 63 + .../SRF/Scripts/Helpers/AssetUtil.cs.meta | 8 + .../SRF/Scripts/Helpers/Hierarchy.cs | 73 + .../SRF/Scripts/Helpers/Hierarchy.cs.meta | 8 + .../SRF/Scripts/Helpers/MethodReference.cs | 37 + .../Scripts/Helpers/MethodReference.cs.meta | 8 + .../SRF/Scripts/Helpers/PropertyReference.cs | 208 + .../Scripts/Helpers/PropertyReference.cs.meta | 8 + .../SRF/Scripts/Helpers/SRDebugUtil.cs | 64 + .../SRF/Scripts/Helpers/SRDebugUtil.cs.meta | 8 + .../SRF/Scripts/Helpers/SRFileUtil.cs | 73 + .../SRF/Scripts/Helpers/SRFileUtil.cs.meta | 8 + .../SRF/Scripts/Helpers/SRInstantiate.cs | 19 + .../SRF/Scripts/Helpers/SRInstantiate.cs.meta | 8 + .../Helpers/SRMath.Tweening.Functions.cs | 788 ++ .../Helpers/SRMath.Tweening.Functions.cs.meta | 8 + .../SRF/Scripts/Helpers/SRMath.Tweening.cs | 209 + .../Scripts/Helpers/SRMath.Tweening.cs.meta | 8 + .../StompyRobot/SRF/Scripts/Helpers/SRMath.cs | 151 + .../SRF/Scripts/Helpers/SRMath.cs.meta | 8 + .../SRF/Scripts/Helpers/SRReflection.cs | 46 + .../SRF/Scripts/Helpers/SRReflection.cs.meta | 8 + Assets/StompyRobot/SRF/Scripts/Service.meta | 5 + .../SRF/Scripts/Service/Attributes.cs | 39 + .../SRF/Scripts/Service/Attributes.cs.meta | 8 + .../SRF/Scripts/Service/IAsyncService.cs | 7 + .../SRF/Scripts/Service/IAsyncService.cs.meta | 8 + .../Service/SRDependencyServiceBase.cs | 91 + .../Service/SRDependencyServiceBase.cs.meta | 8 + .../SRF/Scripts/Service/SRSceneServiceBase.cs | 128 + .../Service/SRSceneServiceBase.cs.meta | 8 + .../SRF/Scripts/Service/SRServiceBase.cs | 17 + .../SRF/Scripts/Service/SRServiceBase.cs.meta | 8 + .../SRF/Scripts/Service/SRServiceManager.cs | 530 ++ .../Scripts/Service/SRServiceManager.cs.meta | 8 + Assets/StompyRobot/SRF/Scripts/UI.meta | 5 + .../SRF/Scripts/UI/ContentFitText.cs | 145 + .../SRF/Scripts/UI/ContentFitText.cs.meta | 8 + .../SRF/Scripts/UI/CopyLayoutElement.cs | 95 + .../SRF/Scripts/UI/CopyLayoutElement.cs.meta | 8 + .../SRF/Scripts/UI/CopyPreferredSize.cs | 50 + .../SRF/Scripts/UI/CopyPreferredSize.cs.meta | 8 + .../SRF/Scripts/UI/CopyPreferredSizes.cs | 107 + .../SRF/Scripts/UI/CopyPreferredSizes.cs.meta | 11 + .../Scripts/UI/CopySizeIntoLayoutElement.cs | 76 + .../UI/CopySizeIntoLayoutElement.cs.meta | 12 + .../StompyRobot/SRF/Scripts/UI/DragHandle.cs | 190 + .../SRF/Scripts/UI/DragHandle.cs.meta | 8 + Assets/StompyRobot/SRF/Scripts/UI/Editor.meta | 5 + .../UI/Editor/CopyLayoutElementEditor.cs | 39 + .../UI/Editor/CopyLayoutElementEditor.cs.meta | 8 + .../UI/Editor/CopyPreferredSizeEditor.cs | 34 + .../UI/Editor/CopyPreferredSizeEditor.cs.meta | 8 + .../UI/Editor/CopyPreferredSizesEditor.cs | 31 + .../Editor/CopyPreferredSizesEditor.cs.meta | 11 + .../UI/Editor/LongPressButtonEditor.cs | 28 + .../UI/Editor/LongPressButtonEditor.cs.meta | 8 + .../Scripts/UI/Editor/SRNumberButtonEditor.cs | 32 + .../UI/Editor/SRNumberButtonEditor.cs.meta | 8 + .../UI/Editor/StompyRobot.SRF.Editor.asmdef | 10 + .../Editor/StompyRobot.SRF.Editor.asmdef.meta | 7 + .../Scripts/UI/Editor/StyleComponentEditor.cs | 105 + .../UI/Editor/StyleComponentEditor.cs.meta | 8 + .../SRF/Scripts/UI/Editor/StyleSheetEditor.cs | 178 + .../UI/Editor/StyleSheetEditor.cs.meta | 8 + .../SRF/Scripts/UI/FlashGraphic.cs | 71 + .../SRF/Scripts/UI/FlashGraphic.cs.meta | 8 + .../SRF/Scripts/UI/InheritColour.cs | 48 + .../SRF/Scripts/UI/InheritColour.cs.meta | 8 + Assets/StompyRobot/SRF/Scripts/UI/Layout.meta | 5 + .../SRF/Scripts/UI/Layout/FlowLayoutGroup.cs | 304 + .../Scripts/UI/Layout/FlowLayoutGroup.cs.meta | 8 + .../UI/Layout/VirtualVerticalLayoutGroup.cs | 607 ++ .../Layout/VirtualVerticalLayoutGroup.cs.meta | 8 + .../SRF/Scripts/UI/LongPressButton.cs | 74 + .../SRF/Scripts/UI/LongPressButton.cs.meta | 8 + .../SRF/Scripts/UI/ResponsiveBase.cs | 55 + .../SRF/Scripts/UI/ResponsiveBase.cs.meta | 8 + .../SRF/Scripts/UI/ResponsiveEnable.cs | 102 + .../SRF/Scripts/UI/ResponsiveEnable.cs.meta | 8 + .../SRF/Scripts/UI/ResponsiveResize.cs | 77 + .../SRF/Scripts/UI/ResponsiveResize.cs.meta | 8 + .../SRF/Scripts/UI/SRNumberButton.cs | 83 + .../SRF/Scripts/UI/SRNumberButton.cs.meta | 8 + .../SRF/Scripts/UI/SRNumberSpinner.cs | 176 + .../SRF/Scripts/UI/SRNumberSpinner.cs.meta | 8 + .../SRF/Scripts/UI/SRRetinaScaler.cs | 68 + .../SRF/Scripts/UI/SRRetinaScaler.cs.meta | 8 + .../StompyRobot/SRF/Scripts/UI/SRSpinner.cs | 87 + .../SRF/Scripts/UI/SRSpinner.cs.meta | 8 + Assets/StompyRobot/SRF/Scripts/UI/SRText.cs | 26 + .../StompyRobot/SRF/Scripts/UI/SRText.cs.meta | 8 + .../SRF/Scripts/UI/ScrollToBottomBehaviour.cs | 98 + .../UI/ScrollToBottomBehaviour.cs.meta | 12 + .../SRF/Scripts/UI/StyleComponent.cs | 195 + .../SRF/Scripts/UI/StyleComponent.cs.meta | 8 + .../StompyRobot/SRF/Scripts/UI/StyleRoot.cs | 59 + .../SRF/Scripts/UI/StyleRoot.cs.meta | 8 + .../StompyRobot/SRF/Scripts/UI/StyleSheet.cs | 110 + .../SRF/Scripts/UI/StyleSheet.cs.meta | 8 + .../SRF/Scripts/UI/Unselectable.cs | 35 + .../SRF/Scripts/UI/Unselectable.cs.meta | 8 + Assets/StompyRobot/SRF/StompyRobot.SRF.asmdef | 3 + .../SRF/StompyRobot.SRF.asmdef.meta | 7 + Assets/StompyRobot/SROptions.meta | 8 + .../SROptions/SROptions.Attributes.cs | 64 + .../SROptions/SROptions.Attributes.cs.meta | 11 + .../StompyRobot/SROptions/SROptions.Test.cs | 379 + .../SROptions/SROptions.Test.cs.meta | 11 + Assets/StompyRobot/SROptions/SROptions.cs | 54 + .../StompyRobot/SROptions/SROptions.cs.meta | 11 + Assets/StompyRobot/SROptions/link.xml | 5 + Assets/StompyRobot/SROptions/link.xml.meta | 7 + 636 files changed, 79018 insertions(+) create mode 100644 Assets/StompyRobot.meta create mode 100644 Assets/StompyRobot/SRDebugger.meta create mode 100644 Assets/StompyRobot/SRDebugger/Animations.meta create mode 100644 Assets/StompyRobot/SRDebugger/Animations/UI.meta create mode 100644 Assets/StompyRobot/SRDebugger/Animations/UI/Pin.meta create mode 100644 Assets/StompyRobot/SRDebugger/Animations/UI/Pin/Invalid.anim create mode 100644 Assets/StompyRobot/SRDebugger/Animations/UI/Pin/Invalid.anim.meta create mode 100644 Assets/StompyRobot/SRDebugger/Animations/UI/Pin/Pin.controller create mode 100644 Assets/StompyRobot/SRDebugger/Animations/UI/Pin/Pin.controller.meta create mode 100644 Assets/StompyRobot/SRDebugger/Animations/UI/Pin/Result.controller create mode 100644 Assets/StompyRobot/SRDebugger/Animations/UI/Pin/Result.controller.meta create mode 100644 Assets/StompyRobot/SRDebugger/Animations/UI/Trigger.meta create mode 100644 Assets/StompyRobot/SRDebugger/Animations/UI/Trigger/ErrorPulse.anim create mode 100644 Assets/StompyRobot/SRDebugger/Animations/UI/Trigger/ErrorPulse.anim.meta create mode 100644 Assets/StompyRobot/SRDebugger/Animations/UI/Trigger/ErrorPulse.controller create mode 100644 Assets/StompyRobot/SRDebugger/Animations/UI/Trigger/ErrorPulse.controller.meta create mode 100644 Assets/StompyRobot/SRDebugger/Animations/UI/Trigger/Hidden.anim create mode 100644 Assets/StompyRobot/SRDebugger/Animations/UI/Trigger/Hidden.anim.meta create mode 100644 Assets/StompyRobot/SRDebugger/Editor.meta create mode 100644 Assets/StompyRobot/SRDebugger/Editor/BG_Dark.png create mode 100644 Assets/StompyRobot/SRDebugger/Editor/BG_Dark.png.meta create mode 100644 Assets/StompyRobot/SRDebugger/Editor/BG_Light.png create mode 100644 Assets/StompyRobot/SRDebugger/Editor/BG_Light.png.meta create mode 100644 Assets/StompyRobot/SRDebugger/Editor/DemoSprite.png create mode 100644 Assets/StompyRobot/SRDebugger/Editor/DemoSprite.png.meta create mode 100644 Assets/StompyRobot/SRDebugger/Editor/Icons.meta create mode 100644 Assets/StompyRobot/SRDebugger/Editor/Icons/Dark.meta create mode 100644 Assets/StompyRobot/SRDebugger/Editor/Icons/Dark/console-25.png create mode 100644 Assets/StompyRobot/SRDebugger/Editor/Icons/Dark/console-25.png.meta create mode 100644 Assets/StompyRobot/SRDebugger/Editor/Icons/Dark/options-25.png create mode 100644 Assets/StompyRobot/SRDebugger/Editor/Icons/Dark/options-25.png.meta create mode 100644 Assets/StompyRobot/SRDebugger/Editor/Icons/Dark/profiler-25.png create mode 100644 Assets/StompyRobot/SRDebugger/Editor/Icons/Dark/profiler-25.png.meta create mode 100644 Assets/StompyRobot/SRDebugger/Editor/Icons/Light.meta create mode 100644 Assets/StompyRobot/SRDebugger/Editor/Icons/Light/console-25.png create mode 100644 Assets/StompyRobot/SRDebugger/Editor/Icons/Light/console-25.png.meta create mode 100644 Assets/StompyRobot/SRDebugger/Editor/Icons/Light/options-25.png create mode 100644 Assets/StompyRobot/SRDebugger/Editor/Icons/Light/options-25.png.meta create mode 100644 Assets/StompyRobot/SRDebugger/Editor/Icons/Light/profiler-25.png create mode 100644 Assets/StompyRobot/SRDebugger/Editor/Icons/Light/profiler-25.png.meta create mode 100644 Assets/StompyRobot/SRDebugger/Editor/Logo_DarkBG.png create mode 100644 Assets/StompyRobot/SRDebugger/Editor/Logo_DarkBG.png.meta create mode 100644 Assets/StompyRobot/SRDebugger/Editor/Logo_LightBG.png create mode 100644 Assets/StompyRobot/SRDebugger/Editor/Logo_LightBG.png.meta create mode 100644 Assets/StompyRobot/SRDebugger/Editor/WelcomeLogo_DarkBG.png create mode 100644 Assets/StompyRobot/SRDebugger/Editor/WelcomeLogo_DarkBG.png.meta create mode 100644 Assets/StompyRobot/SRDebugger/Editor/WelcomeLogo_LightBG.png create mode 100644 Assets/StompyRobot/SRDebugger/Editor/WelcomeLogo_LightBG.png.meta create mode 100644 Assets/StompyRobot/SRDebugger/PlaymakerIntegration.unitypackage create mode 100644 Assets/StompyRobot/SRDebugger/PlaymakerIntegration.unitypackage.meta create mode 100644 Assets/StompyRobot/SRDebugger/README.txt create mode 100644 Assets/StompyRobot/SRDebugger/README.txt.meta create mode 100644 Assets/StompyRobot/SRDebugger/Resources.meta create mode 100644 Assets/StompyRobot/SRDebugger/Resources/SRDebugger.meta create mode 100644 Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI.meta create mode 100644 Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/BugReportPopover.prefab create mode 100644 Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/BugReportPopover.prefab.meta create mode 100644 Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/BugReportSheet.prefab create mode 100644 Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/BugReportSheet.prefab.meta create mode 100644 Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/DebugPanel.prefab create mode 100644 Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/DebugPanel.prefab.meta create mode 100644 Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/DockConsole.prefab create mode 100644 Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/DockConsole.prefab.meta create mode 100644 Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Options.meta create mode 100644 Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Options/ActionOption.prefab create mode 100644 Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Options/ActionOption.prefab.meta create mode 100644 Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Options/BoolOption.prefab create mode 100644 Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Options/BoolOption.prefab.meta create mode 100644 Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Options/EnumOption.prefab create mode 100644 Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Options/EnumOption.prefab.meta create mode 100644 Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Options/NumberOption.prefab create mode 100644 Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Options/NumberOption.prefab.meta create mode 100644 Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Options/ReadOnlyOption.prefab create mode 100644 Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Options/ReadOnlyOption.prefab.meta create mode 100644 Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Options/StringOption.prefab create mode 100644 Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Options/StringOption.prefab.meta create mode 100644 Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/PinEntry.prefab create mode 100644 Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/PinEntry.prefab.meta create mode 100644 Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/PinnedUI.prefab create mode 100644 Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/PinnedUI.prefab.meta create mode 100644 Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Tabs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Tabs/BugReporter.prefab create mode 100644 Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Tabs/BugReporter.prefab.meta create mode 100644 Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Tabs/Console.prefab create mode 100644 Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Tabs/Console.prefab.meta create mode 100644 Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Tabs/Options.prefab create mode 100644 Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Tabs/Options.prefab.meta create mode 100644 Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Tabs/Profiler.prefab create mode 100644 Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Tabs/Profiler.prefab.meta create mode 100644 Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Tabs/System.prefab create mode 100644 Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Tabs/System.prefab.meta create mode 100644 Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Trigger.prefab create mode 100644 Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Trigger.prefab.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scenes.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scenes/Sample.unity create mode 100644 Assets/StompyRobot/SRDebugger/Scenes/Sample.unity.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/AutoInitialize.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/AutoInitialize.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Editor.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Editor/ApiSignup.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Editor/ApiSignup.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Editor/ApiSignupWindow.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Editor/ApiSignupWindow.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Editor/IntegrityChecking.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Editor/IntegrityChecking.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Editor/Migrations.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Editor/Migrations.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Editor/ProfilerCameraListenerEditor.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Editor/ProfilerCameraListenerEditor.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Editor/SRDebugEditor.Compiler.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Editor/SRDebugEditor.Compiler.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Editor/SRDebugEditor.Resources.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Editor/SRDebugEditor.Resources.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Editor/SRDebugEditor.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Editor/SRDebugEditor.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Editor/SRDebugEditorPaths.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Editor/SRDebugEditorPaths.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Editor/SRDebugEditorStrings.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Editor/SRDebugEditorStrings.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Editor/SRIntegrityCheckWindow.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Editor/SRIntegrityCheckWindow.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Editor/SRInternalEditorUtil.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Editor/SRInternalEditorUtil.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Editor/SROptionsWindow.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Editor/SROptionsWindow.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Editor/SettingsEditor.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Editor/SettingsEditor.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Editor/SettingsWindow.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Editor/SettingsWindow.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Editor/StompyRobot.SRDebugger.Editor.asmdef create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Editor/StompyRobot.SRDebugger.Editor.asmdef.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Editor/WelcomeWindow.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Editor/WelcomeWindow.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/IBugReporterHandler.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/IBugReporterHandler.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/IOptionContainer.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/IOptionContainer.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Internal.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Internal/Api.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Internal/Api.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Internal/ApiUtil.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Internal/ApiUtil.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Internal/BugReportApi.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Internal/BugReportApi.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Internal/BugReportScreenshotUtil.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Internal/BugReportScreenshotUtil.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Internal/CircularBuffer.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Internal/CircularBuffer.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Internal/EditorUtil.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Internal/EditorUtil.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Internal/InternalBugReporterHandler.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Internal/InternalBugReporterHandler.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Internal/InternalOptionsRegistry.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Internal/InternalOptionsRegistry.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Internal/OptionControlFactory.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Internal/OptionControlFactory.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Internal/OptionDefinition.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Internal/OptionDefinition.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Internal/Paths.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Internal/Paths.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Internal/SRScriptRecompileHelper.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Internal/SRScriptRecompileHelper.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Internal/Service.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Internal/Service.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Internal/Strings.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Internal/Strings.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Internal/Util.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Internal/Util.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Profiler.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Profiler/ProfilerCameraListener.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Profiler/ProfilerCameraListener.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Profiler/ProfilerLateUpdateListener.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Profiler/ProfilerLateUpdateListener.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Profiler/ProfilerServiceImpl.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Profiler/ProfilerServiceImpl.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Profiler/SRPProfilerService.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Profiler/SRPProfilerService.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/SRDebug.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/SRDebug.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/SRDebuggerInit.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/SRDebuggerInit.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/SROptions.Attributes.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/SROptions.Attributes.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/SROptions.Test.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/SROptions.Test.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/SROptions.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/SROptions.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Services.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Services/ConsoleFilterStateService.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Services/ConsoleFilterStateService.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Services/IBugReportService.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Services/IBugReportService.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Services/IConsoleFilterState.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Services/IConsoleFilterState.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Services/IConsoleService.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Services/IConsoleService.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Services/IDebugCameraService.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Services/IDebugCameraService.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Services/IDebugPanelService.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Services/IDebugPanelService.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Services/IDebugService.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Services/IDebugService.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Services/IDebugTriggerService.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Services/IDebugTriggerService.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Services/IDockConsoleService.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Services/IDockConsoleService.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Services/IOptionsService.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Services/IOptionsService.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Services/IPinEntryService.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Services/IPinEntryService.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Services/IPinnedOptionsService.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Services/IPinnedOptionsService.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Services/IProfilerService.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Services/IProfilerService.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Services/ISystemInformationService.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Services/ISystemInformationService.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/BugReportApiService.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/BugReportApiService.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/BugReportPopoverService.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/BugReportPopoverService.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/ConsoleFilterStateService.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/ConsoleFilterStateService.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/DebugCameraServiceImpl.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/DebugCameraServiceImpl.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/DebugPanelServiceImpl.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/DebugPanelServiceImpl.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/DebugTriggerImpl.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/DebugTriggerImpl.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/DockConsoleServiceImpl.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/DockConsoleServiceImpl.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/KeyboardShortcutListenerService.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/KeyboardShortcutListenerService.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/OptionsServiceImpl.ReflectionOptionContainer.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/OptionsServiceImpl.ReflectionOptionContainer.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/OptionsServiceImpl.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/OptionsServiceImpl.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/PinEntryServiceImpl.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/PinEntryServiceImpl.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/PinnedUIServiceImpl.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/PinnedUIServiceImpl.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/SRDebugService.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/SRDebugService.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/StandardConsoleService.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/StandardConsoleService.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/SystemInformationService.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/SystemInformationService.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Services/ServiceSelectors.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Services/ServiceSelectors.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Settings.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Settings.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Controls.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/ConsoleEntryView.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/ConsoleEntryView.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/ConsoleLogControl.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/ConsoleLogControl.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data/ActionControl.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data/ActionControl.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data/BoolControl.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data/BoolControl.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data/DataBoundControl.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data/DataBoundControl.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data/EnumControl.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data/EnumControl.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data/NumberControl.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data/NumberControl.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data/OptionsControlBase.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data/OptionsControlBase.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data/ReadOnlyControl.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data/ReadOnlyControl.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data/StringControl.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data/StringControl.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/InfoBlock.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/InfoBlock.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/MultiTapButton.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/MultiTapButton.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/PinEntryControl.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/PinEntryControl.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Profiler.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Profiler/ProfilerFPSLabel.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Profiler/ProfilerFPSLabel.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Profiler/ProfilerMemoryBlock.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Profiler/ProfilerMemoryBlock.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Profiler/ProfilerMonoBlock.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Profiler/ProfilerMonoBlock.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/ProfilerEnableControl.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/ProfilerEnableControl.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/ProfilerGraphAxisLabel.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/ProfilerGraphAxisLabel.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/ProfilerGraphControl.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/ProfilerGraphControl.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/SRTabButton.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/SRTabButton.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/DebugPanelRoot.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/DebugPanelRoot.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/DebuggerTabController.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/DebuggerTabController.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/MobileMenuController.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/MobileMenuController.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Other.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Other/BugReportPopoverRoot.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Other/BugReportPopoverRoot.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Other/BugReportSheetController.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Other/BugReportSheetController.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Other/CategoryGroup.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Other/CategoryGroup.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Other/ConfigureCanvasFromSettings.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Other/ConfigureCanvasFromSettings.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Other/ConsoleTabQuickViewControl.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Other/ConsoleTabQuickViewControl.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Other/DebugPanelBackgroundBehaviour.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Other/DebugPanelBackgroundBehaviour.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Other/DockConsoleController.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Other/DockConsoleController.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Other/DockConsoleRoot.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Other/DockConsoleRoot.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Other/ErrorNotifier.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Other/ErrorNotifier.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Other/FloatOverElement.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Other/FloatOverElement.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Other/HandleManager.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Other/HandleManager.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Other/IEnableTab.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Other/IEnableTab.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Other/LoadingSpinnerBehaviour.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Other/LoadingSpinnerBehaviour.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Other/PinnedUIRoot.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Other/PinnedUIRoot.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Other/SRTab.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Other/SRTab.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Other/SRTabController.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Other/SRTabController.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Other/SafeAreaSizer.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Other/SafeAreaSizer.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Other/ScrollRectPatch.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Other/ScrollRectPatch.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Other/ScrollSettingsBehaviour.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Other/ScrollSettingsBehaviour.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Other/SetLayerFromSettings.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Other/SetLayerFromSettings.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Other/TriggerRoot.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Other/TriggerRoot.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Other/VersionTextBehaviour.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Other/VersionTextBehaviour.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Tabs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Tabs/BugReportTabController.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Tabs/BugReportTabController.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Tabs/ConsoleTabController.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Tabs/ConsoleTabController.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Tabs/InfoTabController.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Tabs/InfoTabController.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Tabs/OptionsTabController.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Tabs/OptionsTabController.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Tabs/ProfilerTabController.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/UI/Tabs/ProfilerTabController.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Version.cs create mode 100644 Assets/StompyRobot/SRDebugger/Scripts/Version.cs.meta create mode 100644 Assets/StompyRobot/SRDebugger/StompyRobot.SRDebugger.asmdef create mode 100644 Assets/StompyRobot/SRDebugger/StompyRobot.SRDebugger.asmdef.meta create mode 100644 Assets/StompyRobot/SRDebugger/UI.meta create mode 100644 Assets/StompyRobot/SRDebugger/UI/Fonts.meta create mode 100644 Assets/StompyRobot/SRDebugger/UI/Fonts/FONT LICENSE.txt create mode 100644 Assets/StompyRobot/SRDebugger/UI/Fonts/FONT LICENSE.txt.meta create mode 100644 Assets/StompyRobot/SRDebugger/UI/Fonts/Orbitron Black.otf create mode 100644 Assets/StompyRobot/SRDebugger/UI/Fonts/Orbitron Black.otf.meta create mode 100644 Assets/StompyRobot/SRDebugger/UI/Fonts/Orbitron Bold.otf create mode 100644 Assets/StompyRobot/SRDebugger/UI/Fonts/Orbitron Bold.otf.meta create mode 100644 Assets/StompyRobot/SRDebugger/UI/Fonts/Orbitron Light.otf create mode 100644 Assets/StompyRobot/SRDebugger/UI/Fonts/Orbitron Light.otf.meta create mode 100644 Assets/StompyRobot/SRDebugger/UI/Fonts/Orbitron Medium.otf create mode 100644 Assets/StompyRobot/SRDebugger/UI/Fonts/Orbitron Medium.otf.meta create mode 100644 Assets/StompyRobot/SRDebugger/UI/Fonts/SourceCodePro-Regular.otf create mode 100644 Assets/StompyRobot/SRDebugger/UI/Fonts/SourceCodePro-Regular.otf.meta create mode 100644 Assets/StompyRobot/SRDebugger/UI/Prefabs.meta create mode 100644 Assets/StompyRobot/SRDebugger/UI/Prefabs/AboutTab.prefab create mode 100644 Assets/StompyRobot/SRDebugger/UI/Prefabs/AboutTab.prefab.meta create mode 100644 Assets/StompyRobot/SRDebugger/UI/Prefabs/Console.meta create mode 100644 Assets/StompyRobot/SRDebugger/UI/Prefabs/Console/Item.prefab create mode 100644 Assets/StompyRobot/SRDebugger/UI/Prefabs/Console/Item.prefab.meta create mode 100644 Assets/StompyRobot/SRDebugger/UI/Prefabs/InfoBlock.prefab create mode 100644 Assets/StompyRobot/SRDebugger/UI/Prefabs/InfoBlock.prefab.meta create mode 100644 Assets/StompyRobot/SRDebugger/UI/Prefabs/Options.meta create mode 100644 Assets/StompyRobot/SRDebugger/UI/Prefabs/Options/Category.prefab create mode 100644 Assets/StompyRobot/SRDebugger/UI/Prefabs/Options/Category.prefab.meta create mode 100644 Assets/StompyRobot/SRDebugger/UI/Prefabs/SR_ModalPopup.prefab create mode 100644 Assets/StompyRobot/SRDebugger/UI/Prefabs/SR_ModalPopup.prefab.meta create mode 100644 Assets/StompyRobot/SRDebugger/UI/Prefabs/SideBar.meta create mode 100644 Assets/StompyRobot/SRDebugger/UI/Prefabs/SideBar/ConsoleTabButtonContent.prefab create mode 100644 Assets/StompyRobot/SRDebugger/UI/Prefabs/SideBar/ConsoleTabButtonContent.prefab.meta create mode 100644 Assets/StompyRobot/SRDebugger/UI/Prefabs/SideBar/Tab.prefab create mode 100644 Assets/StompyRobot/SRDebugger/UI/Prefabs/SideBar/Tab.prefab.meta create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites.meta create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default.meta create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Alert.PSD create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Alert.PSD.meta create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/BG.meta create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/BG/footer_lodyas.png create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/BG/footer_lodyas.png.meta create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Circle.psd create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Circle.psd.meta create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons.meta create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/Filter-50.png create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/Filter-50.png.meta create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/clipboard-50.png create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/clipboard-50.png.meta create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/close-50.png create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/close-50.png.meta create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/collapse-32.png create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/collapse-32.png.meta create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/console-64.png create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/console-64.png.meta create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/down-50.png create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/down-50.png.meta create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/feedback-64.png create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/feedback-64.png.meta create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/heart_monitor-64.png create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/heart_monitor-64.png.meta create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/info-64.png create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/info-64.png.meta create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/menu-25.png create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/menu-25.png.meta create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/menu-32.png create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/menu-32.png.meta create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/menu-50.png create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/menu-50.png.meta create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/message-64.png create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/message-64.png.meta create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/open-dropdown-50.png create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/open-dropdown-50.png.meta create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/outline-64.png create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/outline-64.png.meta create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/pin-50.png create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/pin-50.png.meta create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/pin-64.png create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/pin-64.png.meta create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/refresh-50.png create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/refresh-50.png.meta create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/spider-64.png create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/spider-64.png.meta create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/stompy_white_128.png create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/stompy_white_128.png.meta create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/trash2-32.png create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/trash2-32.png.meta create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/trash2-50.png create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/trash2-50.png.meta create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Logo.psd create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Logo.psd.meta create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Logo@2x.psd create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Logo@2x.psd.meta create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Pin.meta create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Pin/NumberButton_Fill@2x.psd create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Pin/NumberButton_Fill@2x.psd.meta create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Pin/NumberButton_Outline@2x.psd create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Pin/NumberButton_Outline@2x.psd.meta create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Pin/PinDot_Fill@2x.psd create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Pin/PinDot_Fill@2x.psd.meta create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Pin/PinDot_Outline@2x.psd create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Pin/PinDot_Outline@2x.psd.meta create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/RoundedCorner-2px.psd create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/RoundedCorner-2px.psd.meta create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/RoundedCorner-2px@2x.psd create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/RoundedCorner-2px@2x.psd.meta create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/RoundedCorner-5px.psd create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/RoundedCorner-5px.psd.meta create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/RoundedCorner-5px@2x.psd create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/RoundedCorner-5px@2x.psd.meta create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/loading@2x.png create mode 100644 Assets/StompyRobot/SRDebugger/UI/Sprites/Default/loading@2x.png.meta create mode 100644 Assets/StompyRobot/SRDebugger/UI/Styles.meta create mode 100644 Assets/StompyRobot/SRDebugger/UI/Styles/Default.asset create mode 100644 Assets/StompyRobot/SRDebugger/UI/Styles/Default.asset.meta create mode 100644 Assets/StompyRobot/SRDebugger/UI/Styles/DefaultConsoleAltRow.asset create mode 100644 Assets/StompyRobot/SRDebugger/UI/Styles/DefaultConsoleAltRow.asset.meta create mode 100644 Assets/StompyRobot/SRDebugger/UI/Styles/DefaultConsoleSelectedRow.asset create mode 100644 Assets/StompyRobot/SRDebugger/UI/Styles/DefaultConsoleSelectedRow.asset.meta create mode 100644 Assets/StompyRobot/SRDebugger/UI/Styles/DefaultTabActive.asset create mode 100644 Assets/StompyRobot/SRDebugger/UI/Styles/DefaultTabActive.asset.meta create mode 100644 Assets/StompyRobot/SRF.meta create mode 100644 Assets/StompyRobot/SRF/External.meta create mode 100644 Assets/StompyRobot/SRF/External/Jetbrains.Annotations.cs create mode 100644 Assets/StompyRobot/SRF/External/Jetbrains.Annotations.cs.meta create mode 100644 Assets/StompyRobot/SRF/External/MiniJSON.cs create mode 100644 Assets/StompyRobot/SRF/External/MiniJSON.cs.meta create mode 100644 Assets/StompyRobot/SRF/Internal.meta create mode 100644 Assets/StompyRobot/SRF/Internal/ComponentMenuPaths.cs create mode 100644 Assets/StompyRobot/SRF/Internal/ComponentMenuPaths.cs.meta create mode 100644 Assets/StompyRobot/SRF/LICENSE create mode 100644 Assets/StompyRobot/SRF/LICENSE.meta create mode 100644 Assets/StompyRobot/SRF/README.md create mode 100644 Assets/StompyRobot/SRF/README.md.meta create mode 100644 Assets/StompyRobot/SRF/Scripts.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/Collections.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/Collections/SRList.cs create mode 100644 Assets/StompyRobot/SRF/Scripts/Collections/SRList.cs.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/Components.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/Components/SRAutoSingleton.cs create mode 100644 Assets/StompyRobot/SRF/Scripts/Components/SRAutoSingleton.cs.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/Components/SRMonoBehaviour.cs create mode 100644 Assets/StompyRobot/SRF/Scripts/Components/SRMonoBehaviour.cs.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/Components/SRMonoBehaviourEx.cs create mode 100644 Assets/StompyRobot/SRF/Scripts/Components/SRMonoBehaviourEx.cs.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/Components/SRSingleton.cs create mode 100644 Assets/StompyRobot/SRF/Scripts/Components/SRSingleton.cs.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/Coroutines.cs create mode 100644 Assets/StompyRobot/SRF/Scripts/Coroutines.cs.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/Extensions.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/Extensions/FloatExtensions.cs create mode 100644 Assets/StompyRobot/SRF/Scripts/Extensions/FloatExtensions.cs.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/Extensions/GameObjectExtensions.cs create mode 100644 Assets/StompyRobot/SRF/Scripts/Extensions/GameObjectExtensions.cs.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/Extensions/IListExtensions.cs create mode 100644 Assets/StompyRobot/SRF/Scripts/Extensions/IListExtensions.cs.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/Extensions/NetFxExtensions.cs create mode 100644 Assets/StompyRobot/SRF/Scripts/Extensions/NetFxExtensions.cs.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/Extensions/StringExtensions.cs create mode 100644 Assets/StompyRobot/SRF/Scripts/Extensions/StringExtensions.cs.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/Extensions/TransformExtensions.cs create mode 100644 Assets/StompyRobot/SRF/Scripts/Extensions/TransformExtensions.cs.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/Helpers.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/Helpers/AssetUtil.cs create mode 100644 Assets/StompyRobot/SRF/Scripts/Helpers/AssetUtil.cs.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/Helpers/Hierarchy.cs create mode 100644 Assets/StompyRobot/SRF/Scripts/Helpers/Hierarchy.cs.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/Helpers/MethodReference.cs create mode 100644 Assets/StompyRobot/SRF/Scripts/Helpers/MethodReference.cs.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/Helpers/PropertyReference.cs create mode 100644 Assets/StompyRobot/SRF/Scripts/Helpers/PropertyReference.cs.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/Helpers/SRDebugUtil.cs create mode 100644 Assets/StompyRobot/SRF/Scripts/Helpers/SRDebugUtil.cs.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/Helpers/SRFileUtil.cs create mode 100644 Assets/StompyRobot/SRF/Scripts/Helpers/SRFileUtil.cs.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/Helpers/SRInstantiate.cs create mode 100644 Assets/StompyRobot/SRF/Scripts/Helpers/SRInstantiate.cs.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/Helpers/SRMath.Tweening.Functions.cs create mode 100644 Assets/StompyRobot/SRF/Scripts/Helpers/SRMath.Tweening.Functions.cs.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/Helpers/SRMath.Tweening.cs create mode 100644 Assets/StompyRobot/SRF/Scripts/Helpers/SRMath.Tweening.cs.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/Helpers/SRMath.cs create mode 100644 Assets/StompyRobot/SRF/Scripts/Helpers/SRMath.cs.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/Helpers/SRReflection.cs create mode 100644 Assets/StompyRobot/SRF/Scripts/Helpers/SRReflection.cs.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/Service.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/Service/Attributes.cs create mode 100644 Assets/StompyRobot/SRF/Scripts/Service/Attributes.cs.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/Service/IAsyncService.cs create mode 100644 Assets/StompyRobot/SRF/Scripts/Service/IAsyncService.cs.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/Service/SRDependencyServiceBase.cs create mode 100644 Assets/StompyRobot/SRF/Scripts/Service/SRDependencyServiceBase.cs.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/Service/SRSceneServiceBase.cs create mode 100644 Assets/StompyRobot/SRF/Scripts/Service/SRSceneServiceBase.cs.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/Service/SRServiceBase.cs create mode 100644 Assets/StompyRobot/SRF/Scripts/Service/SRServiceBase.cs.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/Service/SRServiceManager.cs create mode 100644 Assets/StompyRobot/SRF/Scripts/Service/SRServiceManager.cs.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/UI.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/UI/ContentFitText.cs create mode 100644 Assets/StompyRobot/SRF/Scripts/UI/ContentFitText.cs.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/UI/CopyLayoutElement.cs create mode 100644 Assets/StompyRobot/SRF/Scripts/UI/CopyLayoutElement.cs.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/UI/CopyPreferredSize.cs create mode 100644 Assets/StompyRobot/SRF/Scripts/UI/CopyPreferredSize.cs.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/UI/CopyPreferredSizes.cs create mode 100644 Assets/StompyRobot/SRF/Scripts/UI/CopyPreferredSizes.cs.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/UI/CopySizeIntoLayoutElement.cs create mode 100644 Assets/StompyRobot/SRF/Scripts/UI/CopySizeIntoLayoutElement.cs.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/UI/DragHandle.cs create mode 100644 Assets/StompyRobot/SRF/Scripts/UI/DragHandle.cs.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/UI/Editor.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/UI/Editor/CopyLayoutElementEditor.cs create mode 100644 Assets/StompyRobot/SRF/Scripts/UI/Editor/CopyLayoutElementEditor.cs.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/UI/Editor/CopyPreferredSizeEditor.cs create mode 100644 Assets/StompyRobot/SRF/Scripts/UI/Editor/CopyPreferredSizeEditor.cs.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/UI/Editor/CopyPreferredSizesEditor.cs create mode 100644 Assets/StompyRobot/SRF/Scripts/UI/Editor/CopyPreferredSizesEditor.cs.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/UI/Editor/LongPressButtonEditor.cs create mode 100644 Assets/StompyRobot/SRF/Scripts/UI/Editor/LongPressButtonEditor.cs.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/UI/Editor/SRNumberButtonEditor.cs create mode 100644 Assets/StompyRobot/SRF/Scripts/UI/Editor/SRNumberButtonEditor.cs.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/UI/Editor/StompyRobot.SRF.Editor.asmdef create mode 100644 Assets/StompyRobot/SRF/Scripts/UI/Editor/StompyRobot.SRF.Editor.asmdef.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/UI/Editor/StyleComponentEditor.cs create mode 100644 Assets/StompyRobot/SRF/Scripts/UI/Editor/StyleComponentEditor.cs.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/UI/Editor/StyleSheetEditor.cs create mode 100644 Assets/StompyRobot/SRF/Scripts/UI/Editor/StyleSheetEditor.cs.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/UI/FlashGraphic.cs create mode 100644 Assets/StompyRobot/SRF/Scripts/UI/FlashGraphic.cs.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/UI/InheritColour.cs create mode 100644 Assets/StompyRobot/SRF/Scripts/UI/InheritColour.cs.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/UI/Layout.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/UI/Layout/FlowLayoutGroup.cs create mode 100644 Assets/StompyRobot/SRF/Scripts/UI/Layout/FlowLayoutGroup.cs.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/UI/Layout/VirtualVerticalLayoutGroup.cs create mode 100644 Assets/StompyRobot/SRF/Scripts/UI/Layout/VirtualVerticalLayoutGroup.cs.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/UI/LongPressButton.cs create mode 100644 Assets/StompyRobot/SRF/Scripts/UI/LongPressButton.cs.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/UI/ResponsiveBase.cs create mode 100644 Assets/StompyRobot/SRF/Scripts/UI/ResponsiveBase.cs.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/UI/ResponsiveEnable.cs create mode 100644 Assets/StompyRobot/SRF/Scripts/UI/ResponsiveEnable.cs.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/UI/ResponsiveResize.cs create mode 100644 Assets/StompyRobot/SRF/Scripts/UI/ResponsiveResize.cs.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/UI/SRNumberButton.cs create mode 100644 Assets/StompyRobot/SRF/Scripts/UI/SRNumberButton.cs.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/UI/SRNumberSpinner.cs create mode 100644 Assets/StompyRobot/SRF/Scripts/UI/SRNumberSpinner.cs.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/UI/SRRetinaScaler.cs create mode 100644 Assets/StompyRobot/SRF/Scripts/UI/SRRetinaScaler.cs.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/UI/SRSpinner.cs create mode 100644 Assets/StompyRobot/SRF/Scripts/UI/SRSpinner.cs.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/UI/SRText.cs create mode 100644 Assets/StompyRobot/SRF/Scripts/UI/SRText.cs.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/UI/ScrollToBottomBehaviour.cs create mode 100644 Assets/StompyRobot/SRF/Scripts/UI/ScrollToBottomBehaviour.cs.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/UI/StyleComponent.cs create mode 100644 Assets/StompyRobot/SRF/Scripts/UI/StyleComponent.cs.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/UI/StyleRoot.cs create mode 100644 Assets/StompyRobot/SRF/Scripts/UI/StyleRoot.cs.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/UI/StyleSheet.cs create mode 100644 Assets/StompyRobot/SRF/Scripts/UI/StyleSheet.cs.meta create mode 100644 Assets/StompyRobot/SRF/Scripts/UI/Unselectable.cs create mode 100644 Assets/StompyRobot/SRF/Scripts/UI/Unselectable.cs.meta create mode 100644 Assets/StompyRobot/SRF/StompyRobot.SRF.asmdef create mode 100644 Assets/StompyRobot/SRF/StompyRobot.SRF.asmdef.meta create mode 100644 Assets/StompyRobot/SROptions.meta create mode 100644 Assets/StompyRobot/SROptions/SROptions.Attributes.cs create mode 100644 Assets/StompyRobot/SROptions/SROptions.Attributes.cs.meta create mode 100644 Assets/StompyRobot/SROptions/SROptions.Test.cs create mode 100644 Assets/StompyRobot/SROptions/SROptions.Test.cs.meta create mode 100644 Assets/StompyRobot/SROptions/SROptions.cs create mode 100644 Assets/StompyRobot/SROptions/SROptions.cs.meta create mode 100644 Assets/StompyRobot/SROptions/link.xml create mode 100644 Assets/StompyRobot/SROptions/link.xml.meta diff --git a/Assets/StompyRobot.meta b/Assets/StompyRobot.meta new file mode 100644 index 0000000..4e202e9 --- /dev/null +++ b/Assets/StompyRobot.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0e643f3142c4c734797ae28d8d8026ca +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger.meta b/Assets/StompyRobot/SRDebugger.meta new file mode 100644 index 0000000..33c41ee --- /dev/null +++ b/Assets/StompyRobot/SRDebugger.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 68e2be5603abf954ca61a56c2ef9fcb3 +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/StompyRobot/SRDebugger/Animations.meta b/Assets/StompyRobot/SRDebugger/Animations.meta new file mode 100644 index 0000000..4c91f9d --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Animations.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 90ce24abd5f7a3a4987f8df26a9b100c +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/StompyRobot/SRDebugger/Animations/UI.meta b/Assets/StompyRobot/SRDebugger/Animations/UI.meta new file mode 100644 index 0000000..e4eeefd --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Animations/UI.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 669a18994751c204db332e07a02c6c83 +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/StompyRobot/SRDebugger/Animations/UI/Pin.meta b/Assets/StompyRobot/SRDebugger/Animations/UI/Pin.meta new file mode 100644 index 0000000..356d4f2 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Animations/UI/Pin.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: f6fc3d5dd53388a49ab0ce7abc999cc3 +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/StompyRobot/SRDebugger/Animations/UI/Pin/Invalid.anim b/Assets/StompyRobot/SRDebugger/Animations/UI/Pin/Invalid.anim new file mode 100644 index 0000000..378ac4c --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Animations/UI/Pin/Invalid.anim @@ -0,0 +1,164 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!74 &7400000 +AnimationClip: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: Invalid + serializedVersion: 4 + m_AnimationType: 2 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_PositionCurves: [] + m_ScaleCurves: [] + m_FloatCurves: + - curve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 760 + outSlope: 760 + tangentMode: 10 + - time: .0500000007 + value: 38 + inSlope: -77.285675 + outSlope: -77.285675 + tangentMode: 10 + - time: .166666672 + value: -68.6999969 + inSlope: -146.952332 + outSlope: -146.952332 + tangentMode: 10 + - time: .316666663 + value: 24.3999996 + inSlope: 48.333313 + outSlope: 48.333313 + tangentMode: 10 + - time: .416666657 + value: -28 + inSlope: -122.000015 + outSlope: -122.000015 + tangentMode: 10 + - time: .516666651 + value: 0 + inSlope: 280.000031 + outSlope: 280.000031 + tangentMode: 10 + m_PreInfinity: 2 + m_PostInfinity: 2 + attribute: m_AnchoredPosition.x + path: + classID: 224 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 10 + m_PreInfinity: 2 + m_PostInfinity: 2 + attribute: m_AnchoredPosition.y + path: + classID: 224 + script: {fileID: 0} + m_PPtrCurves: [] + m_SampleRate: 60 + m_WrapMode: 0 + m_Bounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} + m_ClipBindingConstant: + genericBindings: + - path: 0 + attribute: 1460864421 + script: {fileID: 0} + classID: 224 + customType: 0 + isPPtrCurve: 0 + - path: 0 + attribute: 538195251 + script: {fileID: 0} + classID: 224 + customType: 0 + isPPtrCurve: 0 + pptrCurveMapping: [] + m_AnimationClipSettings: + serializedVersion: 2 + m_StartTime: 0 + m_StopTime: .516666651 + m_OrientationOffsetY: 0 + m_Level: 0 + m_CycleOffset: 0 + m_LoopTime: 0 + m_LoopBlend: 0 + m_LoopBlendOrientation: 0 + m_LoopBlendPositionY: 0 + m_LoopBlendPositionXZ: 0 + m_KeepOriginalOrientation: 0 + m_KeepOriginalPositionY: 1 + m_KeepOriginalPositionXZ: 0 + m_HeightFromFeet: 0 + m_Mirror: 0 + m_EditorCurves: + - curve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 760 + outSlope: 760 + tangentMode: 10 + - time: .0500000007 + value: 38 + inSlope: -77.285675 + outSlope: -77.285675 + tangentMode: 10 + - time: .166666672 + value: -68.6999969 + inSlope: -146.952332 + outSlope: -146.952332 + tangentMode: 10 + - time: .316666663 + value: 24.3999996 + inSlope: 48.333313 + outSlope: 48.333313 + tangentMode: 10 + - time: .416666657 + value: -28 + inSlope: -122.000015 + outSlope: -122.000015 + tangentMode: 10 + - time: .516666651 + value: 0 + inSlope: 280.000031 + outSlope: 280.000031 + tangentMode: 10 + m_PreInfinity: 2 + m_PostInfinity: 2 + attribute: m_AnchoredPosition.x + path: + classID: 224 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 10 + m_PreInfinity: 2 + m_PostInfinity: 2 + attribute: m_AnchoredPosition.y + path: + classID: 224 + script: {fileID: 0} + m_EulerEditorCurves: [] + m_Events: [] diff --git a/Assets/StompyRobot/SRDebugger/Animations/UI/Pin/Invalid.anim.meta b/Assets/StompyRobot/SRDebugger/Animations/UI/Pin/Invalid.anim.meta new file mode 100644 index 0000000..980dc8e --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Animations/UI/Pin/Invalid.anim.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 298885be62621e042b5946b9c09c039d +NativeFormatImporter: + userData: diff --git a/Assets/StompyRobot/SRDebugger/Animations/UI/Pin/Pin.controller b/Assets/StompyRobot/SRDebugger/Animations/UI/Pin/Pin.controller new file mode 100644 index 0000000..5136b55 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Animations/UI/Pin/Pin.controller @@ -0,0 +1,126 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!91 &9100000 +AnimatorController: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: Pin + serializedVersion: 2 + m_AnimatorParameters: + - m_Name: Invalid + m_Type: 9 + m_DefaultFloat: 0 + m_DefaultInt: 0 + m_DefaultBool: 0 + m_Controller: {fileID: 9100000} + m_AnimatorLayers: + - serializedVersion: 3 + m_Name: Base Layer + m_StateMachine: {fileID: 110781490} + m_Mask: {fileID: 0} + m_BlendingMode: 0 + m_SyncedLayerIndex: -1 + m_StateMachineMotionSetIndex: 0 + m_DefaultWeight: 0 + m_IKPass: 0 + m_SyncedLayerAffectsTiming: 0 + m_Controller: {fileID: 9100000} +--- !u!1101 &110168930 +Transition: + serializedVersion: 2 + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: + m_SrcState: {fileID: 110264508} + m_DstState: {fileID: 110288774} + m_TransitionDuration: .100000001 + m_TransitionOffset: 0 + m_Conditions: + - m_ConditionMode: 1 + m_ConditionEvent: Invalid + m_EventTreshold: 0 + m_ExitTime: .899999976 + m_Atomic: 1 + m_Solo: 0 + m_Mute: 0 + m_CanTransitionToSelf: 0 +--- !u!1101 &110170326 +Transition: + serializedVersion: 2 + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: + m_SrcState: {fileID: 110288774} + m_DstState: {fileID: 110264508} + m_TransitionDuration: .100000001 + m_TransitionOffset: 0 + m_Conditions: + - m_ConditionMode: 5 + m_ConditionEvent: Invalid + m_EventTreshold: 0 + m_ExitTime: 1 + m_Atomic: 1 + m_Solo: 0 + m_Mute: 0 + m_CanTransitionToSelf: 0 +--- !u!1102 &110264508 +State: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: Idle + m_Speed: 1 + m_CycleOffset: 0 + m_Motions: + - {fileID: 0} + m_ParentStateMachine: {fileID: 110781490} + m_Position: {x: 24, y: 12, z: 0} + m_IKOnFeet: 0 + m_Mirror: 0 + m_Tag: +--- !u!1102 &110288774 +State: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: Invalid + m_Speed: 1 + m_CycleOffset: 0 + m_Motions: + - {fileID: 7400000, guid: 298885be62621e042b5946b9c09c039d, type: 2} + m_ParentStateMachine: {fileID: 110781490} + m_Position: {x: 288, y: 12, z: 0} + m_IKOnFeet: 0 + m_Mirror: 0 + m_Tag: +--- !u!1107 &110781490 +StateMachine: + serializedVersion: 2 + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: Base Layer + m_DefaultState: {fileID: 110264508} + m_States: + - {fileID: 110288774} + - {fileID: 110264508} + m_ChildStateMachine: [] + m_ChildStateMachinePosition: [] + m_OrderedTransitions: + data: + first: {fileID: 110264508} + second: + - {fileID: 110168930} + data: + first: {fileID: 110288774} + second: + - {fileID: 110170326} + data: + first: {fileID: 0} + second: [] + m_MotionSetCount: 1 + m_AnyStatePosition: {x: -96, y: -84, z: 0} + m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} diff --git a/Assets/StompyRobot/SRDebugger/Animations/UI/Pin/Pin.controller.meta b/Assets/StompyRobot/SRDebugger/Animations/UI/Pin/Pin.controller.meta new file mode 100644 index 0000000..a3750d8 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Animations/UI/Pin/Pin.controller.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 35724102027368d4988847df7e923ddc +NativeFormatImporter: + userData: diff --git a/Assets/StompyRobot/SRDebugger/Animations/UI/Pin/Result.controller b/Assets/StompyRobot/SRDebugger/Animations/UI/Pin/Result.controller new file mode 100644 index 0000000..518f95a --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Animations/UI/Pin/Result.controller @@ -0,0 +1,53 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!91 &9100000 +AnimatorController: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: Result + serializedVersion: 2 + m_AnimatorParameters: [] + m_AnimatorLayers: + - serializedVersion: 3 + m_Name: Base Layer + m_StateMachine: {fileID: 110789792} + m_Mask: {fileID: 0} + m_BlendingMode: 0 + m_SyncedLayerIndex: -1 + m_StateMachineMotionSetIndex: 0 + m_DefaultWeight: 0 + m_IKPass: 0 + m_SyncedLayerAffectsTiming: 0 + m_Controller: {fileID: 9100000} +--- !u!1102 &110289792 +State: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: Invalid + m_Speed: 1 + m_CycleOffset: 0 + m_Motions: + - {fileID: 7400000, guid: 298885be62621e042b5946b9c09c039d, type: 2} + m_ParentStateMachine: {fileID: 110789792} + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_Mirror: 0 + m_Tag: +--- !u!1107 &110789792 +StateMachine: + serializedVersion: 2 + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: Base Layer + m_DefaultState: {fileID: 110289792} + m_States: + - {fileID: 110289792} + m_ChildStateMachine: [] + m_ChildStateMachinePosition: [] + m_OrderedTransitions: {} + m_MotionSetCount: 1 + m_AnyStatePosition: {x: 50, y: 20, z: 0} + m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} diff --git a/Assets/StompyRobot/SRDebugger/Animations/UI/Pin/Result.controller.meta b/Assets/StompyRobot/SRDebugger/Animations/UI/Pin/Result.controller.meta new file mode 100644 index 0000000..be430d8 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Animations/UI/Pin/Result.controller.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: bed23c49fcd255d489e4d56fc45840c5 +NativeFormatImporter: + userData: diff --git a/Assets/StompyRobot/SRDebugger/Animations/UI/Trigger.meta b/Assets/StompyRobot/SRDebugger/Animations/UI/Trigger.meta new file mode 100644 index 0000000..2dfb991 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Animations/UI/Trigger.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 53b19c72877e74249aedbf338e4d12f1 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger/Animations/UI/Trigger/ErrorPulse.anim b/Assets/StompyRobot/SRDebugger/Animations/UI/Trigger/ErrorPulse.anim new file mode 100644 index 0000000..3164b83 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Animations/UI/Trigger/ErrorPulse.anim @@ -0,0 +1,281 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!74 &7400000 +AnimationClip: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: ErrorPulse + serializedVersion: 6 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: [] + m_PositionCurves: [] + m_ScaleCurves: [] + m_FloatCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_IsActive + path: SR_Text + classID: 1 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_IsActive + path: SR_Icon + classID: 1 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + - serializedVersion: 2 + time: 0.25 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + - serializedVersion: 2 + time: 0.5 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + - serializedVersion: 2 + time: 0.75 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Alpha + path: SR_Text + classID: 225 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + - serializedVersion: 2 + time: 0.5 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Alpha + path: SR_Icon + classID: 225 + script: {fileID: 0} + m_PPtrCurves: [] + m_SampleRate: 60 + m_WrapMode: 0 + m_Bounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} + m_ClipBindingConstant: + genericBindings: + - serializedVersion: 2 + path: 3467184727 + attribute: 2086281974 + script: {fileID: 0} + typeID: 1 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 2427880523 + attribute: 2086281974 + script: {fileID: 0} + typeID: 1 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 3467184727 + attribute: 1574349066 + script: {fileID: 0} + typeID: 225 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 2427880523 + attribute: 1574349066 + script: {fileID: 0} + typeID: 225 + customType: 0 + isPPtrCurve: 0 + pptrCurveMapping: [] + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 1 + m_OrientationOffsetY: 0 + m_Level: 0 + m_CycleOffset: 0 + m_HasAdditiveReferencePose: 0 + m_LoopTime: 1 + m_LoopBlend: 0 + m_LoopBlendOrientation: 0 + m_LoopBlendPositionY: 0 + m_LoopBlendPositionXZ: 0 + m_KeepOriginalOrientation: 0 + m_KeepOriginalPositionY: 1 + m_KeepOriginalPositionXZ: 0 + m_HeightFromFeet: 0 + m_Mirror: 0 + m_EditorCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_IsActive + path: SR_Text + classID: 1 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_IsActive + path: SR_Icon + classID: 1 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + - serializedVersion: 2 + time: 0.25 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + - serializedVersion: 2 + time: 0.5 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + - serializedVersion: 2 + time: 0.75 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Alpha + path: SR_Text + classID: 225 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + - serializedVersion: 2 + time: 0.5 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Alpha + path: SR_Icon + classID: 225 + script: {fileID: 0} + m_EulerEditorCurves: [] + m_HasGenericRootTransform: 0 + m_HasMotionFloatCurves: 0 + m_GenerateMotionCurves: 0 + m_Events: [] diff --git a/Assets/StompyRobot/SRDebugger/Animations/UI/Trigger/ErrorPulse.anim.meta b/Assets/StompyRobot/SRDebugger/Animations/UI/Trigger/ErrorPulse.anim.meta new file mode 100644 index 0000000..845ae3d --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Animations/UI/Trigger/ErrorPulse.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0cfda343a5ba51947ab58f607f5ca9a5 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger/Animations/UI/Trigger/ErrorPulse.controller b/Assets/StompyRobot/SRDebugger/Animations/UI/Trigger/ErrorPulse.controller new file mode 100644 index 0000000..d1a7ddd --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Animations/UI/Trigger/ErrorPulse.controller @@ -0,0 +1,153 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!91 &9100000 +AnimatorController: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: ErrorPulse + serializedVersion: 5 + m_AnimatorParameters: + - m_Name: Display + m_Type: 4 + m_DefaultFloat: 0 + m_DefaultInt: 0 + m_DefaultBool: 0 + m_Controller: {fileID: 0} + m_AnimatorLayers: + - serializedVersion: 5 + m_Name: Base Layer + m_StateMachine: {fileID: 1107071966271980136} + m_Mask: {fileID: 0} + m_Motions: [] + m_Behaviours: [] + m_BlendingMode: 0 + m_SyncedLayerIndex: -1 + m_DefaultWeight: 0 + m_IKPass: 0 + m_SyncedLayerAffectsTiming: 0 + m_Controller: {fileID: 9100000} +--- !u!1101 &1101098509855648160 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 2 + m_ConditionEvent: Display + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: 1102413107779766724} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0 + m_TransitionOffset: 0 + m_ExitTime: 0 + m_HasExitTime: 1 + m_HasFixedDuration: 0 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!1101 &1101354260903571370 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 1 + m_ConditionEvent: Display + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: 1102179137546092990} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0 + m_TransitionOffset: 0 + m_ExitTime: 0.75 + m_HasExitTime: 0 + m_HasFixedDuration: 0 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!1102 &1102179137546092990 +AnimatorState: + serializedVersion: 5 + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: Showing + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: + - {fileID: 1101098509855648160} + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 7400000, guid: 0cfda343a5ba51947ab58f607f5ca9a5, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!1102 &1102413107779766724 +AnimatorState: + serializedVersion: 5 + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: Hidden + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: + - {fileID: 1101354260903571370} + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 7400000, guid: e11d486ec67959544b6425209045f6c7, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!1107 &1107071966271980136 +AnimatorStateMachine: + serializedVersion: 5 + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: Base Layer + m_ChildStates: + - serializedVersion: 1 + m_State: {fileID: 1102413107779766724} + m_Position: {x: 264, y: 120, z: 0} + - serializedVersion: 1 + m_State: {fileID: 1102179137546092990} + m_Position: {x: 504, y: 120, z: 0} + m_ChildStateMachines: [] + m_AnyStateTransitions: [] + m_EntryTransitions: [] + m_StateMachineTransitions: {} + m_StateMachineBehaviours: [] + m_AnyStatePosition: {x: 50, y: 20, z: 0} + m_EntryPosition: {x: 50, y: 120, z: 0} + m_ExitPosition: {x: 800, y: 120, z: 0} + m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} + m_DefaultState: {fileID: 1102413107779766724} diff --git a/Assets/StompyRobot/SRDebugger/Animations/UI/Trigger/ErrorPulse.controller.meta b/Assets/StompyRobot/SRDebugger/Animations/UI/Trigger/ErrorPulse.controller.meta new file mode 100644 index 0000000..e3d797c --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Animations/UI/Trigger/ErrorPulse.controller.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 449919ad070ed5f428b1698571eee16d +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 9100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger/Animations/UI/Trigger/Hidden.anim b/Assets/StompyRobot/SRDebugger/Animations/UI/Trigger/Hidden.anim new file mode 100644 index 0000000..fb0a55a --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Animations/UI/Trigger/Hidden.anim @@ -0,0 +1,131 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!74 &7400000 +AnimationClip: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: Hidden + serializedVersion: 6 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: [] + m_PositionCurves: [] + m_ScaleCurves: [] + m_FloatCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_IsActive + path: SR_Text + classID: 1 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_IsActive + path: SR_Icon + classID: 1 + script: {fileID: 0} + m_PPtrCurves: [] + m_SampleRate: 60 + m_WrapMode: 0 + m_Bounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} + m_ClipBindingConstant: + genericBindings: + - serializedVersion: 2 + path: 3467184727 + attribute: 2086281974 + script: {fileID: 0} + typeID: 1 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 2427880523 + attribute: 2086281974 + script: {fileID: 0} + typeID: 1 + customType: 0 + isPPtrCurve: 0 + pptrCurveMapping: [] + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 0 + m_OrientationOffsetY: 0 + m_Level: 0 + m_CycleOffset: 0 + m_HasAdditiveReferencePose: 0 + m_LoopTime: 0 + m_LoopBlend: 0 + m_LoopBlendOrientation: 0 + m_LoopBlendPositionY: 0 + m_LoopBlendPositionXZ: 0 + m_KeepOriginalOrientation: 0 + m_KeepOriginalPositionY: 1 + m_KeepOriginalPositionXZ: 0 + m_HeightFromFeet: 0 + m_Mirror: 0 + m_EditorCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_IsActive + path: SR_Text + classID: 1 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_IsActive + path: SR_Icon + classID: 1 + script: {fileID: 0} + m_EulerEditorCurves: [] + m_HasGenericRootTransform: 0 + m_HasMotionFloatCurves: 0 + m_GenerateMotionCurves: 0 + m_Events: [] diff --git a/Assets/StompyRobot/SRDebugger/Animations/UI/Trigger/Hidden.anim.meta b/Assets/StompyRobot/SRDebugger/Animations/UI/Trigger/Hidden.anim.meta new file mode 100644 index 0000000..cb0cd94 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Animations/UI/Trigger/Hidden.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e11d486ec67959544b6425209045f6c7 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger/Editor.meta b/Assets/StompyRobot/SRDebugger/Editor.meta new file mode 100644 index 0000000..8c20471 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Editor.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 92ae0c944a17e8c4f803140a0bc49a29 +folderAsset: yes +timeCreated: 1441903352 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger/Editor/BG_Dark.png b/Assets/StompyRobot/SRDebugger/Editor/BG_Dark.png new file mode 100644 index 0000000000000000000000000000000000000000..1ff2a5feab61b72d0e53afeaf989de67ebda80e3 GIT binary patch literal 817 zcmV-11J3-3P)x>DJdx`Dk>~2EG8xt2-oh!%JPmvPy;7| z+2t_K$=+Fc4;YHE^83@)*{->;R>mMk>CiGw=SQOI8L(6+1u)HonCF1AkfM5=Q>Swz zG2<3v0F*Q*ogpG?JonF(QmdxlC(-lkB(M+oWh(`mcFAW#IQt%SOX$)G%jjVBB-Q{V zE$vg`#fx}AviDx$E;ywLWVNafJrassIUY+^r`uW5RM$ck#O(4engNIKt4rjPIOpbg{bXSkU zbM_`6gWnBc(5-?oG1^R@E~mwc^w|tiI&(P)HQe25NUs_$rnh_`Ln2P5?+jXgZ<|$C zW!+uNvO;+7>S`6TnY$IwCFZ%(bH@vFh0uK=5Pi?0Vp#EnCDHrxeGR6J^ymV*@8=3R zm&U2ueINY2=*1jt1WMNM_zsGxzWcuvtI`?IRH$!=vt~q2p^~!s`Xc<9o&*e<~2u!KfU+yw+*?o<+9< zF#HQ?K4y$!y5EAmqTHx+h{OGi(W*pedWdIX-K0uqMwS+Mh?{h90B44d?PA30t3770 vGd+Yh>}NsxV?w9%^FCl!^65qX`6se}bi@`MwN4A~00000NkvXXu0mjfSde&^ literal 0 HcmV?d00001 diff --git a/Assets/StompyRobot/SRDebugger/Editor/BG_Dark.png.meta b/Assets/StompyRobot/SRDebugger/Editor/BG_Dark.png.meta new file mode 100644 index 0000000..e80ad01 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Editor/BG_Dark.png.meta @@ -0,0 +1,55 @@ +fileFormatVersion: 2 +guid: a2a19a03702d1e84b92ce38f8b7af009 +timeCreated: 1451840718 +licenseType: Store +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger/Editor/BG_Light.png b/Assets/StompyRobot/SRDebugger/Editor/BG_Light.png new file mode 100644 index 0000000000000000000000000000000000000000..2f0dc2951f00542ba669418247d228f5ffc6822c GIT binary patch literal 1648 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%0A7|1ovm@l^ls|ECBMWs?;` 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´~k3$5mKE;N{szZLL0b;!^&_aVxf&jJvqD zOYOElJ!DM1MR(L5Zi~>8L|twwNgkKq4iRJzeYJq^Xdo0r+e{894NR+94M<*|7Kc{# zxNkIwDbzK73U1@j2e$oZR1083z^OA{8zo*;8+*kA65>4$MxmwqHmVe3$l&-^m^fPb zDI!DfjaSWd>Rc6qXf~yVZ1<_NuGh{t&%RKRg3jWqjgmqQ-Pr=#@IW0_W}CXj!z6dQ z0d#QBTUMts=YO&0NlC|I4sEV(D=g?F4o$lrxqh=2xm~caOL};HA5_IF9Wv2u1KVJ_ ze|ZjATAIz)-H6$|5_%CtCe^#DDQ_Lbe-=iXu~?MgSxQmGRY*oh!mmi1)&)pmYTL7u|=xm`!k+Hy-ryn zLN`$g=SZ8L)4Z|snA?hL4vvPV+#^EDvctp2YTprM@ErME-}wCbCF8U zN@j?eF=aBB-*Zbl%Wh|}Jdxpf7Jqz32$$o?RJD zDg9AyTrPbhrGmQMJX@~k1RuRN_+lC&jYtWfVY=@Ktad19#Q~rl>2vnRt3{)90?!EDnPUKLAccCRT)pgbxJNMw2fvWL&3~9 z5{)Qp!i1F&<&aAfI)I;nAtvES%OU)bKizD>?;P|7*^)ox8~v{qSn|WbL}I5@1<@G)H8T1MD-T zBMIzZ*0&QyE~i!I8tiGGZX%zZ^LR~6Cv92D`0TpbuRw4bqBkx93Jd_=@B-g(D4@M! zfBfXZeRcF$jOYCK@_9bvk-)X3bO*`|8UvrzI_R@I1=?*e@4?-?(@Nqpk&}+ZUzfkh z+LG0>I`q-fO_4iCoX}duSionX*jl zn-h*U)kkKr9KqUXsi?P@-+K^9v)l-cKv2$aowqXJO-{Yug1ZS;P%3dLfxS@91z1ao z4eAnEfJA{KyX}{FaNuR>rtnx*S&V zoE}x*JT7R2YBB({|FzOjB1+d9oUG$Y`8yP8I#mmrhto>Yu*$wBoLBg3-316LI4GXz zr+y>~{Ig+cjX-TC{zLbEILa}IZe8G-CSJesWBbZ7lYTNin#TT0e@&@xMgw{R0#MXv(!UDDhT2}>IFkei-cavp;39x zRprO1FTDfb5Raj9J{zD_cr#dyd;pOoyCQibPC-}VI;yoZtnft^dc*OoEwpB0`ByV+yF9?9johRL9)G5_i21h{^2q2#Y1f?kqoAcJ zvk7B7ouZlO&vVJ0dDBp1+D`G>>*5=Tk@oaQ2fBhHyUW{2+R!ayP1hHkcLxj|BE*V^ z?{v}L&+a0=6qCg^@ck3US-YM?_V^dYlTED4RN7AY$F*`FBHQWIuKj!Z;=;Vdj<>L( zs!W7*w+UDAPWAIv5t|iU62x7OSLo_)qcbzv7UK7Lh1z%Xg^fQ4S*oFB-}cLAOMXe| zeU;3cxRF#AmNURj{UuT|r-D$N3phtFg4&W#UZX8UeCYkIt{Zl*9&5R2nc*;ri&@Ak zCP?3ElbagTLvreNM&N|~zG<2C+fBEqn&JSxpVj&Qydp3~EGp`%6E2Xsj|`>GgjS7r0(`+k$q+JULUa%aqW^aimT8T!ZFX9ZMGuJ z4?d=4m8@aA};~;l34 z%1JT_t`06he?lVVJ6w<8|AYMsBr*aXQW7o8lhEvT0FL#Ls=tLyo**efv{7!A!0EvS zcW~CY4vEXsuS({{uWfHkU)Kq3;I$rO@D4EP*N9J2@SM{h;ooFnEf(|Ucc;Y?95I{$ z4Ab-&-?=)-K@Fs%=~f=L-)w#-`r1ykassd8@+Ynyluou>*4Zg%y>@KDe37N^*n-!Q zFn}Yp1FXRO05n~#Jkik6wBF-fJppKby^wFe4ckT2Qxk#NRjWWmIM zm~HPCAr~PkiWK#0`*Bs@3?{v05&07~wh4op1-FfSHF0yElobTH1qQ5vAeU}N138h1 zDD=RB0yB(0Y4OG*FhjSwE|}|R7aPM1Jvr|+Gux0nefO#)gzSPo2qz*DL#jahOyTrn zn~JIH!u?ExIbr*JDG}qW)Nh!>0*YJP7QE{j8-xTKwWiNMEA&o$@z&JJTmjz)GQ4vW zMi*g1&A2)N!&awV8ygOE#Ua*R zLHJRpQzDO3>5m(&)stTaF`n*b+m0S17Ss-{f_vikZ#B!NjM9zrkF-O%$>FPLau0U` zR!m_LjVZO?2E(_XpL7kDY34bbrH0W^aCMa4oSut3pF>WKUb1U1cO>^xWzvTF@Nn`W zC|HT`Tzu$oXMPq&c)Pm^3ID>u*`COJSGl?BrEcjUG53Fu!+4;uf27yL=8BbcY2AV> zQKn_z+Rbs?EP27)+Xjm`HuV~oL65y4>_eu{S?_Fr^xz$3>@w{Q62WG2#(&B8xt6EB zPRK>Y^U`sckl?hd%d(Y|tweVG9;Nf^=CfCy69_8>J57&Yoz0uc=gBa~t%YymYr3eqboF_o9 zzAs^=n;(dXp3p&j^cqMXa{?67@1H45U4&H_9q1(X@o+F0Y^W-y00mJt7Rp$EFEi z8HzBMa-yq;vUWCS4Y9|^ePp7E0E@8eTpE{{0?}liQTUesDFk~3@UiQ9LH#eFz(i3b z80ZVc0#4Z1pr9F|m@9e6q@+2FY>$NO*srDUI`9KdBB#VML@5O~H&BZT&Xur5xL8HT zgz+SNAk&$nMvdpSOZ!M8O+$qT&{>?3Pil19H6v22>tK|_XT-pqsx6SX!#A1Bu0nPu z8T?WjIqSQWz{>JQ;5Jt^pPSH!MZvJ~u__}5ZOX|!0qtkrxRXs6C8*bl<`Zhhsk*1{ z8ZmWYNDyNRuD0Wfs{1%|P;b_}o;rt#Q_-JxSfQXAABl(3P^2laZ&gV*TknthO6r~{ zJTE_b;k4Zqwe5LER!!8zDuu$Kd~gnzE5UwznvR;9JJUN5WTaVs8<^fE)jMy-W!I6% zKwdzMJR1kqzVTu<;dz$tLt$yA{%H6-AhCW~5O*2CoeR)HLToHkShCN1PA?4|;TNtUxr9PU-|5-#}8= ze#1eF>l26r3GB#ckxOr~!xjKkE-k0BvXTQ8gND=SZCDWqkGDP-eR|vr%R0EeSDc|6 z;voLS7vgl!WcovmPfUjCAtH)6Jq;ZX$xQWoFHF$#OTCVkMA>bBX}I$kKJuB*L1vl9 zzauOy``;nL6;);(tGKLV`02s2IPz{s6V0Uj!gWtaO&1nyw;cBY~=P2c? zFwmg)8nWfEc7SIH7()nOFLjhCU3 zOp+F}nws&vph1WjdC6(b%t!TjB&L9AYLTYS6DPSwP{Fv|OT`N&zr;sm6WN7^dI5)}6g-5|$1W z!$)pVq@B0;aukH-`BMK&Zc{`Pk>)aiNjaXFh@e`oglz%1yTPcv{fV~GbK*yX!-wCH z_;+m;Ci#drMVU93{ms83J4mBl+G-1^K>rq@DZ1vkcf(FSw(yu_BC09QY4mbiRW;;O z3Nrq^WtL8;7Qd@xMoOI1_Lxf^H+p88fra)aFZ>`<(Er7Lrb9%gKUwFp%MQ3T+Rtgc zRgHKbPid_XhyRB$236UZRpXTij}yfYI%PFcAD;2QuZyH0`&VsZAy+PZFEhn~2=YIg zHb#*KaJG#D^Uf)O7b}bkufZ&_pIm+dB6vg^ z?$l>)E7o2fYUE6`3tcbyfjtD=<|IIhLZ*62rs?3DfeXZH;eXN>%0K%_3FaPeM>?k6 z(UU)v=lWD=4Vvjbl)D&c+k?=ObZ2h)`x4R6+4Jq+MRzBl4YCGSZmm+{4D?0_hcMV? zpa6QgpRpTbZeD`X$q*YWq8N+7R0@p=%8WRKdk}auxQNa?c}Gr}+8;?6T)`WoJn+ zl9lRAVn%R2qNNo^nQ_OaB&vv$dA@!JoUfoOg{qOeHmJ%gdyGC+Dnhh;i0Xn5WUwx< zkb|P`e}!$ptySTzJ|-oTgC7hFSyuOFO1ePZ-z!id1e(h%4(89TEL$Fm=VpJ6KLQ~i z=GbM-?PPKF2^SdH#j@VFOW^7HLu!ygw-3UZnyXh#gA#8Sm&ucm@_^ZbK(k^7yW^Xc3 z7|lE$l3e-Lpg9GFw^f80kw>{h`=v4pwu_iD={>X3o`|(xL@K>)dv$I&S~tP8BUHzA zVjtIjHT>Q4og*lwSH}MQ^x)!r+LOR0EF96%Ax3%JD}jhucpe1Ti)o+6Qxl+wCEVz2 z>ABrbwN{^^73sJ37VY>`x;*hq?8$)GK(fnf^gplP3NgGrGvWxfoh{XM2FyFleglg8 zep!}DbNbO%9lS{Qb+^yotK)AI?hVx0@Yep=^G;CBcJIW;D$9Sx?2BXf3tbb`6SFE; zPsY?~0>=$|cJkvTTYW}ndi-HAjBiU-v4di-+wfwYWq-yHcy(=IPW{}&UX$7k+K6`* zB|ViAaM_?O_s5OA{|pBc{fuW)s?#-59(MZ-_dpjXt5Nrr1Tq^}Wr(ZgGw)@QWEWiR z0!0tDPq#apc`09Epi(`q=AHL`<;(lLM_?7h$XqF)I0>D3f^4QCont4U3p7QU2h42A z)@uO?MoYPU6fDPaW7% zIN5}p(`dTUXKnKZBN>m0Ew5}z8#q~g`f9ByVDL6yeuFt#JtK7)T4L=RWwy?WAY7#fp%h8dL9}Q z+-h>!@Fwz$l%HKOr@^6m%G2e&P`jOx#cddrm2T#axOUAwc0KfhDrT`Pi@$Jfz}TxN zlEw4E^M+gkrlM=oLx%|$H9ja~fZhA(eVkxoH))d6z9PPtYH#0!HUqh1^3Gi7dSm;4 z`RWCRkw*`lQ`pMaXmKyM30|k4>%Yx> zRg6Q__2Pw)uX65L14i!{!W)MmW+rT;pqzqGGTn#28&Y^8D{MFGIU$k@$bF8`W3ZFo zf4|p16Pv*QKruYW@u#E)R2=qtVs9q!_mZJ{3GdYq3W_6a=82H1L#_4!8?!Cg%Mg9~ zbRd(QXA?8M7iH38%xB3F!G~tj8A>$6&C%MUhj{4q5`OCg=%z$9WnM4fgV`@Idc#8zV*BQ#CIH&a{d~&X-Y-Pb*(1Wec{Z|2& zvW*0hMCLawD$dfe2wydBTTV7XnFm-O@Fu3F{2)`$HsB*0wtroSJj0ou8$_ZH9(hRn zVukgpFmHt6Nf-7|$|ZU!oMUI?`ugXhCtL6o5cAo+z|(Uk2ZPfWeYTKwRUZr};r)t! zGsLs#hCn#*;Lh&b`(1>Zq)#ExOXUrIbU5YB>flGaFVp9O?qFKh4N#KI4>nlZ#ypNt zTU_XN=LUKmpT2F`xBg%c_<58RmE!@g>pg2RYSnjfZ1ymI|8t*%Fy*Y(L01!RU0{8X z2uEb);sw-*)n^k%ybJ1}0bFw5SYGvxFx22p-hwxUqHNwDDo}EBcm=Vu_J(~@B66_! z>0UT?S6G@D@^|aULP;XQ>J0Os)Z|fS+!#A6mwbUos0t{aeM3;^%JK%!`8I0`S_i}E zTr#vLJE^HRz*!wX%8x$4i@wtGH?+`xwkiXtz#R6jJnojJlVP|Xv^S}z)GTe#D#_M4 zl4#MZnZ~?;Hszz#V~xi&Hjrr0;pwQsuB2L9?@Tzz!KR-E@9{fQbsT_p?uRC2|3~{T>~LPWE1ocbtiLM zzGq1|JsV=(+)lCP**O5_wr&71wOJ3qGcYql(5|%tUBaS7Q;gPVEvcbENQXF6|5Y1- zjthgki(QD*d8Su2mCrtp`PZZltZwQQ{5J-%05svVFkU~u);dM|=?gb@{T)6H{=|th z_EhPK{W+c(3aRb3SGQtieoH$EZ4bsk;Cg;}e|;>aq=XI+4-esD4^(~}4tldjXl(k! zhf(>UM-eM5mM?-pk4ha{i`f0Pj!J%xJi#9sFG3TST?Xqlp#+JCS#C@FIC-pd=o+O0 zT*g~2LdB`1fl*!k#)qowl6+zJI_B>;5l-<;jMjNrz4zG+!v#qq*rA z5gCh<937Urb*UPy8muC%WKKuU`3~)`4RHTFeXJh4awi^SZTHK^ApNn;}yCp`eJrE!ma{cm{by zd&FRVqOeWOpX(H7>cFPY4JrZhXU?g7Y!tuX1=gPVcWOA(r3YPx>rOEPqZ>zBqZ%y< zFRwOw-*UU){`=%3+*v7Xo?`AbzPQi$6o2W-fBMHXE5_K_k^WgK_l-Y2B&jP&3B$?o z#Sy|CjWxzStQcsAcz#Ln;h{2DOTuy~m#>7};aMI+@7Wc`V z3Bq_Gn!F%xq}Yg18d90EmX(S_A77p^kjRXmZTe>DX}~PmuE8pt%n;ESs^Cqe9ijSr zrg#M%THRWjr*{Tv5=pyDkk^*O>E`q5&ATfGly@qEcuhU$?hR{0rWNn$H1=uF9X(e2 zG&mSjN>;)|2#@6bZNqp+_ath{SFA>%kb3lZ6)kYkc;hbw(Gk-SN120lW86c!=Tme4 zR6xgcVZktu6(x)vA0BdR&|g!UW_G}XL-`x{y};iPO~Dk@;F8yhD9YJ z>%Xs2@b`p!lNr|F|3P}OZ}2}}0J~VhP<-WBai-cx%NJHeH&6B2iBf{=8si5Nu4b3a2P(5@IRA&9trKu@gcj%fxX*pUZM{{UicN(b*K=+AU}&Mb zm6tzgI5XdX-TjHF*OjTH*ilv>>7YkxiGkyk(+cnl)^8_ULV|Ea4|CP#DqqFazKy}Q z14q^TcTg}gVm&+t8rzQR*84ymjhUzC_3}6Hb+x$%uDZ1RklV;C#3~A@`?*PJyCniC zFMM0#P3_gY_}_DjQ&Z<|n}IrVw7VW9FWR}~Nz;Zd5fvT=-Nu&KN02}nu+yIR&RA5N z=5qe4b>Cz9<8*=FB3t|6L1flftUCarY{`Jt!*tmhph@{loryAnPGA| zTC{ZvFP5OzzNaV8u&^+PgC`Tig7BK7?3i|5C0q%)$o}g}K7q1YI2UTUVlXp1$95L@aPZ^ezT;Au?To|o_b zIt-g6NS~p2T$Z-4ST>Lnn0M?_d4K3Y^T!@+%B#@+;Ol%A52U%Tb}Km|tA9EY-$4yIm<^ zC-x_!$QTLR3@%l$s@Q=;=xQX-BagsTIsM9k<+Gwh616+Qr!yVPN*=|=7wtEtCFHx4 zH?vSK&hrg!sL}BQ`x>T@7>52+NEJ9h(2$&ZUR_@sIy={IhILz^>%5Y-*9R|W=yvHD zi%x=jPOT%^(YK#IWhncyG2NSpF0ZayV^Yik{e}k>G}BT_mK*ID>9T4k*T_phhS@!Ay!kEEYq1c zbefk{7sU<_HZjVorn!H+y2}NhKS`?#?ngcvxv3_;!Rr%&DLd1 zpY?9oi&T3j*!&lXD~1(HQ}<1ugHPX0CpvT$d8VJA`2DWAtuoH&CX4ct(^EeIeV{qb zBO2`U^50rZTU&)y`linJ{-DU7W8qCobVxl&rp5lbA5eLk31Lq)-MJ$v@-llXx5dY)=vKdIAqmA9{6C***`M zQ*O{yx1HX|XDi%i*t&siJDuq%Y@bh}3rsfxdWbSeUA})BNOY<(M8~Umse(4U1|m=d zBn17wcZ3m4S+)O6?BNWHq2dvX=6!kAs>6m6pW4hKgGI?a%rV8h%R^?KtP%5tiF1(i z&_zK*O95$1r~fm?@9$8yFnyLj#6#u-{C^uv7NEeV^Ae6JBez56NRw)!lMZgJ^Bb1G zvXu!@#k(RLe1Jh9M~Ldigc`$k-s0Ctzt>m_ZLr^20|y+NSpHNlAHS=wb|tT0xAWs% zLg}_|v}j=8U70Su8o1_KuzOG^5A3zTxR(awg^a z2x`Rs+0|Xr4c-(tdJg@WmIA&V*H8JKl_^2fQTh7s8RDYgh0MajDd=#Sq_jC#|1jSY z;4}>nk{_fxr$@3mtvge9+xAYQ4pNKTqVzeg^OmOzRm{iehiu}f?`xxo?eavMHZ$8$ zykt>O5&v9Netai9X|fY8NNJVf-@=UFUMnL~COFeg!ArmE(IENmJL5&C9AQu_(|q?B zFXP{CE=ui#a=N|pFEdwhV}<(*icRli1zi-=msIe-&zRcI%E(c7IH}+A?QFEIWv46P z&?<6jSirOO2;Z0o@m2(TFxB+RytzUp{0x(O#Z;5?+2z9n2AQvna^pSYvF6~>EKR@7 z4wjrJyTHd$|4rwh?DE5;IHBoW&RXOet&!pu6R}wk9(Uh-OhNMO-`SeSQQX=aOGFVl zxRhHAHYGVApvA)vOnRMEr%p`F`FX-qaw&qUqj`0xYTy+doz3avEhq1MbEd2>u8ff;4AoRNyM(Voz! zopind^||HyhhIxq!!9Rl^=O@R5_`9z21V`_cEN&uXAj01$F=mDy9RKv$(6ZAVRX^i zibLN)4>-3kZDnuMz;V?xtMhO$%W?z7arBNK;!!0`ELDCY6&)O<@Kj~Q8DYd>C)@DJ z%&8BXKiP|tQO!QFr3Wja=V*Z>qcO*CMa$;MH=g5pq+Qn~h77mzEDOO}nlV&~?BA5} zME*ZZ*^20m^4U9ab4+u>y5A&JcpEPz#FayLzhYpBEv!_ZlAdR`Y>8d87=aObT?S_E~>*?cFc)+wmN!9S*1Ue zJ}_UCM3cmxcfi?}V6@lJ3~-06w&w`Xt4k=q=qA^hEzK`i${C=|{z`kri69%lU>8G$ zpJ@MZ96%OF2Q%4CIKrtsh4ma3=k4G}%1HREL7EpC7+w8vCG!nY#Z`hiE;TTuU+|bl*jxPF{W@r{yvTPdH!8MRL(peR^BRUXM8- z^vc!$SQY7@xwVo0W+a3RXtoVc3JOq(+?F$rRvP?paxPY)_T#=3F;t^Jpkolyk11qz z+HKdHg6UPuqm9jthp*m~TgTjK1`CnCLygQkiw zbnf?sRu>&tOk(k^LJ<)#CdRKMMkZRI3ND#9WSSZXfp@W+Ak5{Kw#o8Ki}-(Zy>(Po zZ}jdTfUaw*xjrU}~ZOyS&VorGr@jwNH3Pt+JrxW`C- z;-ZtaVO2k27&vM#wzJ2~$WrhB%x=J?da$LVgICY2#NII?`QnB6iNdl-5wkRDINmU` zYhMxDWw+aneV z-6V1KhiuL5=HoCF*+ql6UOp05;|kLp>EoJ} zHx$i5syt15*5tSIrLOc?tfk`uL8M6KLGk>Z;nAoZxJ>`m<=AwOJhkYG&tEP&pWQ0` zw%kaCV8(1Y&L51(Go1R$oJg7lJ9Qu7X-mBn zCAD09S>b7W{I#0_y!XdQg|mc>Hj(yrlZyv7ktxH;!mF90G!3+|Qv&f<(abp&7XHZ=O1oJo%jeu8nXuF%QeyAMn;9;4ZA+Z2UhK2Q4PY&8 z>AxOKg}6758xZhpW2rFpp?GKntK5xd2ser?;QMc z%bK0|JXa25GC+f0@tfwT=f@`zIgg%soa~*$Z^0Nk6FxOg8~2m>qia&!(SVnKQ(pF< ztAw55uXLpc9$YJLj{e`F(|`IbNGwk~iM-q9Y`il+JLVKQg;~vba8o3YVBQ<1TF-QZZWh`faGm=e+ zSZ7nzl27!rHtb|kY3|^<6zzM`+%Dz{u6z-R#$($l`zc>j=i2Q_ratP9iofW4)<_Xc=ezfbH`eQO;QHJ*DYVB7II4&c z=g&Ex#-HE$*Lv)VRp;%&O-kF+7G^|*P23mpE2eDOfgHjd)EA?1@sUpPF4TCU z$MC|bV8x+;Fp$Tt>V8t|*v#?-Lj2#=b{oKG{~>Skv}pC9<@|82O4T8bn)p?-3p))X z+mqY!wkXYLOZ>#QFITKxyXjPlF@9oC!s~uk-K+)!@too%eHsB`#gyLhW=<_2X-g4} zNTYqw#`R-fE=gw*x9u}6ZpsQ9UFz=|Lf)TsxO88ksjA`Br5=ThQJ7-ok4RzZ%`@bk zmarBYQKkLBtNS2iE&QB|Ld|TTuBJhKWK*##nSUgu=vO=DSkLtOJ)FpT+~?06(3-H( zmOpLSu3^EY;ZDggY}Gn`zfC3+nKw-=0WOIr28S%w?u9RA?y-v?#A<^z3H?tbo*qZ4 zk-fDm6aDKVbZ>)olDE^Y-_4RB* ztQ!ewc`bNLJG=D0O~HzFLC@BmaKM)w{sgPRlerVp*sR3QczANOn2vU~W2cpMEEkhI z-2Vukydvd7wuYH^GdKSbp)TNAO^3nPX+7LNYnSP{`B!{qJ>#rKAM?0Br0FP3YyC9K zLpOPrIJuY5li5MSF1UwaC6N|)ENa>vhhUX2YWTFzHC8yj!m=UlzFP90`>&>{?W88u z#2zPw{OPQ(%0pKSVhqXG>o==g8bb(s{dKv{ya#&KuTblgb&?RBUiXD*MI06q2DEDr zg!ml-{{MoPBp3?tyIAx$Jk;OET8k~NDEQaSn9KzmToh0LL{+@^=ReBYo-6`X|{&eh~H8C zr|aYw2L2>vs_;f~yPn6T&S@8#6XfwARS-mVMs*MYjG1*%B1<_Ow*5fc8bf=u2P2P`8rru|LFn(M5^QuR!y zq{hKBzlEJy0<Nw!gVqv~3VHOr>-Bs_&F{T35&e(w=fYVk++mA8ZI zTSfW){OahBPqP-^MR8+Z$x@SHd#x^sN?&cbwDkr}#R)0?!DhbiWWHXgYlo>-!)NA) zU$=Xp1gZyvnf>F5+C*gg!qLciS>`)~=&`gwKPGqm<}w+G*AKjy{j zWFD2-oqJEpPYi?k?%DKFHfC4Ibi~K(Q?B$Flr!x$R#uv2k*8-8cURb$%O=USKj%;ZWdfjZY$1ns4arLz0T$%V(I6}YeNf(s(m)jukvE~2a zCGjyGJ6U;^z~s7c=ZPH1E*rR>>uW0R*Ep0vlgrC)HB*|Ge|vT+K7glFZ=8)STkkHD zbW&ODEiz~cmZsq6l+}paHVw;W4NqrgxeQ`Gk&oI46u8RJQkbrw$ZPeJQKEx#1|N}^ z`eTo910pr)G2UfvvA3Hw8#(V@t!#yah#V;t&;G)8C_&LFe_65K0^1eCraZ2?xG>jy zB&rvwSU{U*ZZJOU+sW3LZV^Favo7TA$>bIDW6OPut^d)nNoIadFN#_`={Mst9sGO8 z^qtR&El8*hKRe()T$oHovHq22RCh7gf&xPryeU}nty;u~FT(22@U>JWG6$Wcj^m=< zwnmVS;ppcgaM+&O;51Hho$))jIC~PQJ>^dKtMhYQN=R@V@$>Vm)Kh?oH@i&!FKPaN z1Tl{&1C&R)->55jgkUc4vpX1bQ<6wvUIeJV&FC+1k%@k38q5@g@C#D9Khz#EdsK01 zyYbqvP}?$r)n?jOII-uW!f(O+aiem6o(Jj%g|_b;tD2W943!JRi5H^tUdtqm`F(u; zcn#&ys9dEw%>4oVqweOK8i7fBkr&AHx1VNq|7>sDeU=5{(M%*>d#}a#B)PXR%2voa zy$g^08H*-Yu1bK~@704rpOoEnBj!iegCg5(TFd821>(Hon7<+w|FAXw65hh+*$8pL zV3_(q-~WW1jZ(a5+*Ys9LXAapmi8N2@7#5JmWH4DX@Z7=d8OhHhl;=1Y)OMRyH^or zSh5G)@5WAvbj8*d^4Z!pDC#^)TlzTOzV^9D@~ZYVD%17Mthh~zVEny2ele~hm_PII zAmAi=Mk?IE^s6!4ox8zlelsHFGm$!l>@hMd%Kr6ha-?@%pwG$H*!NKnY-hUDfhI~?jAV71?tau{uIgD zWv4-9DqI=+hH!lc>&4nwk}=~=5i2*0vGHUJlCd&t&%87;#GI8Bl|k^nSiF|91KH?v z_~w~IZiI-wz`Vq+M*Acl)!gyyY}U&XoA2v1&y1NSP}4;BXoDJz-m+V#rRneLH02Fn z=0`?Vp(e#Oq!cM`z&{@={1({j(Su+2?~M;eANuSjQK{MKd-M2JXI5O%Oqunbf7lq3 zh)Y<>-`&jx|67&vVO>6VM2S+uAHSKCZso_gpWQw2jafm5X~q&LQo(m_bHpZ zf&f16p9V)(OGi%MMb{!5!J1e&iyD*rcATTE$KL@4Wnu~ilFw70S?l_?>Pt)6zl96e z9ENYbK3?GKRFqL#ASnL(z9KX6PfwM5tKu}#|BS@rW5lj^TE26cX3+~UHz zj*0s$4^gnAl~ZPE>3UEx$hOvfQqMQGG!Ize%y3z8VB`Z%ha`=NTwR

  • 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%0DO>Y{LlIa*jT_W zib2-zFk=P6G|EG2UXL9E1H^S;MD}`UHismW_S9qTDPI;`X02|(I7=WK*)ru@e#tn@ zF9;53-G{-haZCV`=(g`xfnU^@gq#vE-r9G{Iapfn;Hbv@*QqrXwB}%Ze{9GGYvNR! znZ#iqa6*rcj@IZ`^1geY##?huN4NdmT=HXJ`a(jr;o|EsU=|i3J%jogJwVur4_PF} z{hOGtiwu@0>%-R=pmcN072f=twU2#U&gvm2SZMnGN}-D;Ym9hTSo2vP&imm0p;B+_ z(YR~whYI*bO7rV>t;Zv~XRwuCq7Sq|41NztKSw*zYo{)Au~_r8?p*Sa(AEI(>y=Kk zB~?2+{oT6Xe3PH2g~BZjrCi$Bhni$eni@kZZ`_C|N1}9Mo1Qu>=->StP+KbDgdLez zJWT9QKwwZ}kkrF*+z@~ldY=27OouT7VYhiJ2sdS)&bDg6DkFJHS_DrZz zN^L+$V9HqNQVF$m!RYV&M0u#9c=`a~$p#`bOigWJl0l>x;>nU1tP;8_8tWA%g(uT^ zj$d8Y{JQGYJv)?XbM*u2a(yGnUqD=OK0dbO+={(^ygR)b(&=3L^8_r- zcvYUX>sLbFFrCYVyX3d5r7jsV=CdgJCwT zpJCz4&`Z+xeS+@hdQSQ;1O<6JxV5zH&Hp*NtrWB7(5G#MMb0plpf)NXx-2I?SU#CF z+3`JKdY@^?qpmp-n>aYmTmRSw!AByIdMG z>M^^gdBw;>5s{fK<`GI!&K>~1-aObVHnnf`zoDG7yn9Nt@W+CerJo-a@l zbb89FlxKCB*^&f3l&Jbv-z-hd$9^HW$As0R{k}()O zEzS?%I$$xy`UUL1n6F=bb4syT4F7HGz?XixO#xk{I1=$Y6#=w}i^b-sU+)A>{W(;# z2F97*d~hmBd$NbkVXv%7hQ%OobJ_g83@XUgg`DuXV*pN^PUIJ!oN6wr&PA4#5v#TW zjOnKRa}&qIJ8pSGHf(#j?%*6 z*OR^?7O%ir7U|DJdQS_3)S9X>pS>n%6V@Y|e5w`)lMcgpQP(NDAW!9pclLu`Dk>b6 zwP@lqy>L1VF!&ob8ddMR6Mxzs*~zFeQ7~65`3A3$!FvR6idS2F|0O(-JKZ8oeKg6p z+QB>+bQy^9`*utyw?MF*CZQ|zo&ZcXem`*S{D(rP<_%4-B8Cd=!AQo0L89FJJ~;?R zm1(j0WXfJxHlz5T`KSwsxK`usj9c{{IrI(9AXE<1MhV?qI}$3)a@o^o5MTD*ZggUs z=oHeBrZMBXIXt(T>0*NuhjK*5B;Ae6k<%$+3Iit?0WIPK0+%&Uy}LTQo@eAF>Qkg-j^~N3pCv^i|ku!J|lmpZTt0aanU?UVw2s3 zfM`9gn>9dqZtS6^kvR$|_Q-S=67Vy=n6U6W|47Y`n~1W43*pPYahSKQK}dRnAV&IeW5IqU$Ovu4rf5286CF z`}yw>DVwc4o*tgX06^M#2SAh0vf6~0xZpseV}$bJatA@GK3j9KOmDX45V2zCQbq)Z zFrrZ|NC*93b1l+ptKVu(_wES!#rCK$JL2JO44f2Xt2NwFMby(#Qr1KwpKZvMfe_Pq z{5Cn(pv-hyloVX@l@%^L%rBR?waG`hP6WEsR38wW{V<9A`)6(xQ!|0b?He(8jVmff zlCZ4H8N!kzEi0#&*e|&H&oAv2`m2Jte-W#yZU-BoEIQkgQubz65FcO&&DG5WgS-_6 z*F+pUBg=#!QpL(NqyiGOpHj6vUS+g4pj&x^0ufAp*K{<|BC_4ew4|Ah+%OpWH<~u7 zwk~&gsktkq_jRF^YAgTfWLhbY9jv*9?BjnGmJ?TDfMHW+Dy%k>2TjAPh_cYLBCg5e7TUm6;N)y5NA2U^HR61#5Y)AW3dEXE<7XwH%3gnR5Z}kG5AX)m>)dS$MkIiT67*iJvpm|1S$ro`OG+A4Yze zT$;&}ts=Q$+wkuFhEs#a;$nr-fFUxAgK>PWk(p|bBI0Xsw>f8Ku!1hbC}0UW>YEA8Du-7{8t0jG^WV$BRb>4YBH3)c%g7rNTq zdz**?xa@MS|8Qx(b0CX!n|||<*D>xpd^pkK=Vc_mgQjc?l(o&)S~7>{?6;}j$T3J9 zdfAg~B?5I6c)CMyg3rc*QZe`$Z`^GS4t#p98H?Bq$bw3lMnQZFlOg6Quri zaNdlqMG*Dc_fZLli~+>zhAXy-orj3n2h(UC#QxWO$%Co|Ml41;-43^u6tW>fnR-^# z@4vU&Y~S?pB_%oQ9*H;kd-mjVmfQXXeuJ{f={4r1m8luaFNf};0A#5fC3xph`%Z(r z<-B%nBmv_!21x2=B5th~Mo;sHVHv=mHSL8Z5(_&Q7h!KMlFDogLf;1Bjh`D`^}X?P zEUC^FfZWRlOjAN>6X(wy7U#qk)p|w=KMxqGyo|mkI3o@_>PJAD$*mE~gl#H)tx|Oy^p!<+edX_xv8uY%Xc_H@^4_9fUXZOeIJo+5rqat{ zur}*{Zm|p9bPmPZA+eh0oz(z;#E@`6SB#K0orqHO+;ryvy%YF;}&St5(=gw}QA)8F4krCS<+P`8+e^6PRE; zOF`3-H^*2Wd~uGoX>85@S^MdJxWgo`i%&%?Qkm&sGBqOVt{73IyGQlrKQg5_-2AW z8&dQWvex|>{tpg=rGQRKK1n5dcA`BI%V&1f-Gf1AkzFev!HZ9>Te111;6wm;DWn_= zump4&RafreP)(t;c9KW+$2N3GWEQ%JUwWzTd_V1X+sDRD=p{Fk?jPIn`eh!%u|tP0 zjxES@S0TRsIr^OX`Wt}XR(k$TP^3kEv4-IL`Hk3Tnp@SCs-(p#9BqjH5N2W7Ixoee zKde2#4(yP!|5NgrcMhZMr|1*zIsqpPI8nw_^s$t}6es3l4)Hqot7r_1KgN$2PLGxn zM1pTyT-GtAjw96ZsQ=0ip;7RCF7b!+Ef>+vJtiBOUp{=59`|SBpJ^PGt z`3J2{oK#uC>=Nq<=QjaT`LFHMqYo?*HS^CT)M6m{yt(h!@RW49`uhnO%qaQZxeNhS zZDly}6XM9iU=d$}8>_rbYRtc$m+q=441*0>iem*Kc@i&oH?N*0h z;B7}2&0UL7HQb$B-qkrhJK0ya^Sp9YVQLheB-^61{&V9PQ%wE?>GGv>y^eW6S}6-3 zKXxLO30nl@%lU<!be3dlWmwE7NpPWEKnq(lCz1fEX~PabJ75=`3jdDhAwLoS;eIz?;l-XSX&&-CWA!{SlAb0|C@dSNWL{xs$l2F zs}iIF-m0(Zs9xKy&7lyokC|5q#AV}1!#*ii#^3Cnx;$LvBRo@R6A2hO1tSAE8gPa% zv#HmBJ_(%OKWz=_0XFfYn;deiC|Ja>yhiyMavG1Lf_7BW-|-YelPnFtDG}Q=@(B*V zOo*L55(_^g7y9FvKCX#5ztRZcS0ZUZ zVXnn*@)E+Lqeb4wC5%*L7M3d=wg?8zSt7 z^^Lc-EHGhuI)j4a)5)+Sxksq|;udA%PYqT3Wg$)|9@*k6Tuw;s=nofGs_L?2rYzIZ(g6c#Cpt1gp6rLpR3df5M_9@7;}zzf5EN{igcW zvTRAp-v~$HDrRJUj{5c(#x0=Lv$tQZ zMG3!sKCd1`hYx-GK$B=sgOeD}0Bs%yLO+ah9ZcK3GWLPD@~Ure1^Bf6W(zt`x>XN~kbx^&oP4-kIuAdMTuvuU0D^VOF-#C2N zsqV8zDj{tCON_oQ=%(X_mcTI1$pC!cZ$)^Uqm%yOp?vVH_S*TDa?Tw7y3ca9r5f5C zhe?f)tbOH$T!%3UcPz&=9EuaLn%uM07)=pDuWpg&J#nq5`St;nlBgan9}zzSkX7AyK?KD)RVH=iCNY$EI7O_F?S)t?$@S+3ur3`>c zJD5)G|I5--xpEmi3bGsg7`eIF0`mMOUKi{gC`LnPI7lnBOTn{J-jR>5`6giv9rtI0 zy4SY_x9EH<8Cr+aXUT%UK3}A$aw2{xc@x;vh+xEh)_&!u^ZZSrYSIg$A~+FRc!7hK z5e?(QCKO0MTzjUuB~{L*oS-0W_%)n3m*CH9Pb+R&^q(o88tLvUni!Rs%Tr|UJU5bc zvO4OV{_vdo+!)4&AR$IkAXXAOF%JIS~kg@l~sw-+ud^C_xQ2#tQ9nrg0fKe)zyFRUeR`C9&->2CaR ztwW>8RjRFX5q_v4MCIUmnw;t@l%xdIH&Z}lRj#R8-5O^BvR1)G{fA(+xI(DWFJ7a z4m_a-glDz=H+<$h6#Rr_J7heBwK1XHdumi{j}ot*tZzdO6CRiH#`ba5)R`#o=+-qT z9y{UL8bv=0UUf)e%BmDon$udP$Qu~f_NFRnl|t*Hy?hYz2$imP10-;{*d*b=LR5q) z;&o>ja%|1dqXGpy1KgDQGOX$}FENvps@6Y<;Th4H_cE$0xi(nYHiNPI8MY_0J*p|C zd!8gk;VF0C?>kAjO;U<}|Fa!KBSO2DIZ9`qt3Y1&U>IbT?B$lTFi=L;;J`hyf#YsX zB*;pA)v~+E1Y10 z1R-UwWHJxg^8hcs^6S!}fpOXw_(Ne?2eRmevNAp6e}tAtZFqTwQ!K3)2loEXbx_je ztk;L1Uta{h12JAyBcGw=RHcI$9IgKj>-IQrNrY|wHY9&-vx8=nmQP$qw9jxDGAfMM zOC-cRLXvB1kT%}kAlV7n<4qg&#S(uvILVmYICj?cxwiBHNkh|iz`utlhL}~GZx@GN zJ7ODKwj(j7EY01UC5TTFGEUA<_4bW`uk%d@P)AvMbJah}MIb8}GmqfNwST8578Qc0 zN^PwmjZ*1E9e7H}2>%{($)e zh-3lmnDeLHkv&l1F}JMjY#{qg$H=Sy=46M|uKf+q?ORf$}29*^LFNeMlTllUh#d9JsHHx5V?eHZ}DA? z6x!J42>FiE<+w`kcXuIEss0Utww9eA6nodk=vG6Ef11}BiU75`&1xNWrn=qmHP)aP z%judeKIE>`Si2)!`_WmyEoWUWEH1ow+~r!*=Y9?b3W3HLBT!_U_@n4?&~GWN@3P1} z!I;sz4)dQ#7;RlbP`^S_%8%E5QT_Ax@SjPz>HW209BQ;|w%1E}n>23f#A%R%9L$fY z%iZ#c$ImG)%|;c>8LO08X>og@onoLU;w&YicZ~hB>@SW_-@ucQ8}Jx7x_bGGpw^G#@|IxeS#&2@9d5 zW*RI~=hmRGW{^|%ttkttP^D0)nnE|~frT=GDFDMS8*FPRgO9Yvw5GHn(1IAOHw zF~MY(Ta1IbLsYsJ8H=%kuw7luq1j@0_>BJ3w(MjF{BRSDS}X?K)fh<0E`W-Zk@8 zQV9+=G=FTlL~7M+*?Z<1Xyz#Gl#mxcf$?%KEmkc~NN*BJU89yQFS;bOq?z08EnL;Q zP5FMo0$q87ehNPertb-lO58peh!TDoNfNeVacK?-?LNzv(@SAe2twfIg9k$%yce39 zu1rWR21hzm2R#$Zcy7D+)~ZDy)e~%*ju}m*jyGw!w@VHbzlFU9+{8ej=A0rzwKpUY zl?z$1tWy_d{J^No^^+}7>ldLmt0jSE?FY`Qw4v@ZXx|Xqs<2%0-v4UBu1V|RG7e-0 zxE*e#+L3_UGOXcgEbI`CgACBA&-WVH_KCIZ9NO{VvQY}QS&sBMhRfo~{I5N1^Sb+} z<^)xF>iU~r+(s2}yTa9`b9!{}3U1r6qO8Q5jb>iz=_2nn%>2v9 zZgA3gmIUC9^Y*-%zr{0CAf8j9BV+K<3U@lm+{HN_d(wq`jybPR-ST5H=Gzve^9k7Z zzR2A<_&l9pnYzzKohN+#N83dc#8pS%xzG?SLe4`V7@`J}Hx?os=BjQTtFA;>MwI8pc91X%-^$cK_qp>erIcUx zKQDWExl@+f{{DqJeSnXq!PYWOKjHEcUg=)!{5I1D`ELqahlyrmu6e(b<8^Hd%jK#a zH%~n1Razq<=%VAMR&5_>3dtz#`BBM99wJ}_X9z2J2wcW0_V#0#rDMJ^Wc%j@tUdgb zuu3eSpp|x+bPuQ`7rrYoU#4OT{gIy8!PkHm-lZR0H<)R?%sDE6luFwstJ9@b?Ulz z6NlfU7A7h-wHZJ8h)a`dC!=pU*Z5Iwv0|GC(Zrh!r(NGk{0+A!jE*;#OAdL^L z%2lP$3-*}!f7z&b9*Dbz7h+(TKI}KfKM_koci!9c$RSoNQPb1ach0uV`9l|GiM1CN z_||>)f)fpo81>-d!RN&RMUK~Efe)1I%tnW@+x4SAB!)g#sg{FccZX(()1KQ$no&r4#N3zF8MHODLuR)!jFCO-!zlkUw zU%5t=L5mI1smtS|M>>jeKK*&x2hKjE4aSbPp-pVL;RPa8tedbW*mC|GcAvPa7)~DF zBj_fr?LGa{nd`}{yIqdMW;&@gWIQl$LFgl2cAI~PBH|Ys$!V+oiF$lXhd}9ATz46lvASSA*ZjK@qMAP(OiYj zAX^mz|fAlvCWc_QEtJ0ip0TWQ*Y=kbeb_ zI7BXcemroaix~NmvYF#)^!fpKYVGAa`T4X1e?xeQ`w}?x_W3!??69Uz&(vHY9t$%I&YsnfB~AWUk1KGP#4yl&`K2zrS*{ zCY?0?5ipdpXM&|x6pIInd*FS&@~_qH(66j;8|!j=_NLjfw3lPki)$gY|1)`)cH%mK zvgW)9=9UR6AT#ngmcQ!--34i(;|8L{PzvXG=Av?4hK^Y?Yt&np#KtjptVQ2%j^Liz};N`1yTs#ca ze9r7a(Ze4rKoESN+>66hdUKUdKNV`nWqtg`>NfW=qo~^=l7~oQF3CRRb0ucQKw~;R zDfmuBX;#-G)P1RdSEhcyfoZnEVPzz+L?un;$<)PY5Phm{Zy#YcSuzp02&FSMf{Qi4 zh9ZHD#uo-o()$yX@#$zD{*jOs=aU|2Dk&g>FHb;Vl=bNu4$459%-uLV>Q!g>E5GYu zat3?@jllJ2^XKcqb?waBz9Z5g(JcS@2PuqqMxB` zJxg4zoB3etqTG4^UhPft4(=7a?8HV2is!C&9Z=2o8+Ji?IlyP<8t(p}zoMwujFn-; zujPP#-`3ep#Dt}9r!H!o)@gCs0;PRNg#La0MLZ7?oEzyiZlas~qXDSp#LKS!4k={U zX%t@BI3#<{Nmm)dWt>0GuCa}`^NkT)P=;pJhkHo^^V#;`m<29iz(wAw5XXVXujERB z=HQTQKp4QA0kz;z=I#ms@3bVfY42>;eXeS$ww5#&ul!}l{{4R1N=HfH0#knT8mdG~ z$~<2Ghe5^KlGCTm3qQ*Z3)u9`>N_KNwsB3}4WCCfNh!6;kxUot{?AbU|4cG=!x(nk z`~D>_*LKK;IBtrTmDT>{q03_*0Q^5+6D8U(8&FN!nOn&@8|P#D0?PECEAf}K02xS4 z%Q9wxi1xhu>EUw^RgyASmCV<2u_rmczvVd--r0%j_i4{OsVWk-FH2-O4JhkbFUO%V z*C5Z#_K~_g{--e+G*kA*z4G0D7pwn9T`*h&?(4EVCUG;yZf6+j@a1JBacinBd@@vr z&TX7qZTd}o_;}OC=r8=o_OddUU)s>oBV8I-AiwH#UDn$g3pB8|r*XW<9(OI~ZM+C^^}t_!%b)lPs?H#R7#YG-T!LI%9#RANG0)jaNSbnev(n%5su`glWr@iVr&Q zLPKGACjKz=sYqrhzt6O02A`HZL;T0XUMvu{2XN>!wjsc@Gl<6G`beQXOG)cPif69L zcGoW!X3?!Hw48=qIW%*;+1>M4bgFreI~~?w_cK)dDCJqVUOSf@o=-;4qb`RYvmsmM{(@U5AIc+G4SLpsy&ru z__%*|DIr3~8aTkHbWtd+o!%HZ38PibbN4Hi_aq0Zt5dNy9Zp@iZ z>k4e*UAZ~3?D+Hk{EOk)x9dyOE$H>>=tX7Fn0DJQUvJ595)ZTc2wX%+kB~+f)7U$! zP)64AJ1;d^TmDW`Q8|Sj)?Vf)T)g+wv7D>n7wL=Z4I+4$9PA1uv4eD-4M{npmC!hT z;~B@g%x`$E?(tt2cb~@S+r!5$eo8lze*C^q+v=3_a8}}R@q+YAhO?Gy=%}|gGX~rU z{wsBDa#!0%4nHx%BQjyf^W@LA$qljql_}e`BdoK*RDBc+@{BSTJIhfq!`41!F5d76 zX?=suc@DcnvFDllfd&28U}vd<7JDhp_mHo4-|2ShaM9U)r0bf#a6A}=Qvi5V*B&I*m~=*D#LGEl#&n-q@)`}x_o#&^P5_%Gg{07JGIZuF)&EK-{pR(p2$kr-Od|N^E|h52cqd$^X#Tg!G5YE zM>8@NQ};)t;$lYvm%$ISTp>m?ZPBY}Ewz4QWT&>y-Zr@LL@L*U(j7QteY=>b*_qjd zzUMlRzhh~UJoJHrNGag_Rs>u-Gf1&k_Yaj*bLC?<<;um(Njcow2`h{!f=G7B*wG0` zDs$W{!))ayNPSG~CRK^wOPKCbxSikp_;zx>|B6n!xZL}a7uAc^(-IGH-P8->{`s186X2$)sh)N{H zscsp%`EsI?eV>?5o3od{b`J<1v#@JgZK;rqH>t&N;EJjYV=U%p-j9NdJ9oQNoM)9K zJYN#e7h-)+(+RxTrH+0yx}d?P`&Ve~A3yWQ6A8T$PHcC5|A;?a_#n>a`!7T|K@T_I z^`%6x4H>+@7XrkuY<8dgK!3M13ZQ)qr^NR$V$hnepAGZ{gBtz{Opsu8mqOi2Zq7Y7 z2RokM-sP~ePAPf`!9V6mJYzDs zSXVNJ zvsCGXpWAc7=kp20$3H*6wXG~Tj<%&rH>J_CslnQX<K!TAvv)HdWK+$#O&%e|eL?dlipEC(fWDo}X>c=sdL`3*P>jR7-!` z6#u(`epVaBKkOT!d|Y4bmjFxV0P?&XWKN{q1EGgjJ4kH9VBNsgal`FWF^fx6mG0c! z+TL-;jn;%|jQRNI-4rlPq{A+j-oMVf_WB(l%qwf{OkoIyK3j$|g?>>URnhS@@yB}P zaV8>@JM+}pw|Rz4wVMv2{?s{Vz`71nex*-y(Jy>O_lG#bXXl2=c`)aYyc)#I466W- zP}QqC7kezd9=aJOyU-eCrkjprRL8UYb%tcH>~Gp3%=o>{+#@L(c=Rp%VT&T9aoCKzY=q0V^wh&J%?Po*gIQxl}mH zthH-|T80}R3Fjk)6VA;inUe;oM-2@Py2sLAmZzE**)kZksf5bbd9tBf`A;7csC%9b zqZFxr1z^i|7Wx{d+_cz_ugj7fuUAZ2;Di?uaEk`FkYS?Q8TH5=K;BC zTm)hjKguU33G$$lF^c1}cc*C8&Lfs@lD3oA0s)IEm|s(E*qQ!58dVrq8-|@`?HTeO z68TmP#1aZyJ(gVL|F=KnqY7&j{OPC|vWjMF!F?puo}@%=G7z!F7M6NQF04_0oYau& zf=Ilg3_%a%pwA{lfX$N}p^tY?NVEDX6K@nA*gOHWj9&R!$K8 zrj$Nkh~q-RneUP0BCwxpd0c(xrH(Q1=MM6Q<{i-o{=|Q~Wn|~KQCF5LL3tW%wKra` zanAuJJowo(^|lig4W-cB{!}e|?NxJ|xHs;;TC=?^6bG>r9K-|jdQ7*XA#QE9xF z%;J1i4r@jj^U>kTdFGPLPG_|vnV$8)bKxpeE^X=0NdLO#+`Sc1QS?O5HZgYq+04y| zfO8eJ=I^owhOm2V8vH6UxMcXxR2bQy0IZ(@R%Fl7wWpagyJPNL5(0Mv*FYH}D$DY7R{EjI(llJ!C>Coi!PuNvH>+8Y2?QLudMVxnW}Xx$S(MGLT@a1kQH zC9pRoDgW`9Q|O)GP%ab<{YQF$d8p&aXqm{}L`6;qR{Xd~ouMR~{v$EhmQV*tWT&SA z>)K*%zwX@@7s~p+uL3;z?VeqBI+;2pjK7X4*2+m^(xUo$u}@L7%13b&STuUJeeqo` z5^_^~r->Q88&AP4_k(5t)yooBHaT|3^u)`R^@^Js-;a!7r?zb|;ZAz7;UrXhAadP? zW)K!I&ik8h?;mjD9(}5#zh0B|j!{T9{WDz?xJd`oj3glxDU`nFf&AG0*8M`rg)yv9 z%csz1t?ULd;Ykt~k@a0wc~)*;(6`)NG$VFQLW%dkVXy_eXDL+ULr)tdsVWk~w9g8A zDyf3WKo5?1;L+NHt4%4;j}dgWPfMm+m{k!$o8XuFi!}=ayZo&qzVueoRd8V4FCR75 zaUZt@O_fKbV(G4xN;SthRhLH$w@gy2M+a=?bRK)|J^5vBbj}MM{16JK0=3N^kn{$4 zcd!2Pt2W5c#>>JtWt7d0?X5hVH2kX7SE>B>->TsuMAaTFb>mKtXcGgD?0s|$J~W#o z3F1|c)kLd+$+SZNb^6MC#QeVBjOqmP33}~WYSKlip^_TQ(Tu@8)tFDipH0Zt5n$nd z(bKX55Mj{>f|M-Ev|@3fTU+>)#eJ#|Ct(jpUU>G>QEkcUY-fWHO$q zGLi?OHmr0NyitnUGQby{{wg^fMSOVwQNn5R)<@jX`Sehl#3;^ zVXB=%prBbJu-+pruAEK&kybEE{}0IYROFS33g5!dR2+;ro7`n?HlJzC>|YL-9~Y@s52j(9z3?IX=GAi?SjPQ9hP~EFj0T16*QO6MiukR&BR2q-P_e~K zOt8&2XbH60M@X8>G*_F~=|}uD+T#3lcYR4l$dh3<$f>?}`khBc7*)8e(>j?cJ%kJ? zq8KTX3}oI-Pb74tH&2z&@<#uDjhKI+r=`nR=X^`UH@J0iNY5C{f7*JJvlb<}gmUq%65#`!PxS*Dq3=^RC2te!HF~CZ^&PwF^BMd?^{^?j=5cVot#O|2G z`|zQrvC-`L>m9Kvi=*PFiLHPt2FJa4n8dLP6hS+1z(#!_R}%K608j1n@P2+&9c^m8 zDGW@32&xAm85fa)zd7ka0tvs{Iw0=%w`9mgVGvAI_kZg77gQb(QO*}SYlt<~eDENd z&=k%d2ut51ypoM23-gW{J|-!fN6=Ch<5!qY@FJfyVY02G9n-AItq`G)JZH7RnicW$ zdAP})InY2NiXWL~l+5x<=EzBch+yJdN={t)t-?>dDGTY%NsoW8Y84gp11s*SytA^@iYMXaE^F;}EfA5XDQ))Y zo30mVCz3$4_j%(-?=d1~Xj;6_jP5()3VXJi_$IA{72oZn0P# z=hRa_Q9t$=wd_@vELsx&X#;tTj`N*!^#VtVlt5lV39W}T-|h=;=%Sl~ zmkEO!11-SlDOV$L@>@_!FdM5b_QmWFy%B*CKKgy7)!$HuAD-&9UTNRqr2E)>x0^nA zg_S~1>-ZBaDk7`T0kLg}NN7=*sU7Wo!=(hgj>> z4i)+-o*RDXB)qg8qgHN;+f!?bIl&||-Bgu(n=_0NW$vUWM=4sW!DnTcxiU{C&DcTD zy+^yKixu&=2@6(-sL^(X`*^8t(4chXTY;5txmDcXz$%VRqA{;hS-;(#q7A8}viRj; zz?E~Xf%wy7$v68&WUxh4*RoW6Augq$MDy!O*aW z_3+=hG*z*WW%J!E`K40T(`HLgb14oZp>i0wtAbt?kpMl4&l!}igYst0Zo&H}pMKh} zJwb-6)X-2?D@u~O9-ZXo;o0*#6VC(KUImQ<3j5_EM-(_i{LOi7`~J(z+9aI~+R3+? z-8^XAaC}~7<;LYf2ylGmPBI!{dB_hpm4=47w)A#_6M>NBAb|r)vIMgI6erR-WM}Ya zX8Mf^KM^Ot8?-$NgnVXi`)Aq1*XtosMX~4AY;%N8$8E_J3Ydjs9IrIl2XJvk_bHib z%;Gc1O}t@(;k}+!xtNLt;{f}-z7en1t`(La7|T4H#*FdH!PV12GgTYlmmb<04DObf zt<@RR4v&m^o>JhXyg}1@zWiwnI5IAFc-{8p_MVXJfnSdFZuyQEYv5mFg@Aqjjg~Aa zj6tobylqkitfO4n9YhbmoF^SEEzvFrkI&+)St4vYOx6ed^kFWYKSz6bno-c2L?6n@P&H@w)7(&j{K7`wCMsZB>eEm!!DaiR3UKRK zTU!s{wR$njV7c&-lvv!DH^~Wnr4g5S2Q6m)W0NK%T>Vw`p<#3x58ci%> zj-EQi%Xax6DJG(`BAkk}^Z&iA_+O2Nqss=;)_Z!Asv{NC-D~igIK>INF?V~F_C8W# za74XaeRlq+7za!|HG(%80eeBdOCGz{5VE|MvoD8?ZW4<_LLYN3O^h-0^ABF8RMbm# z&Bx;K`ZDhReowTDAfZ8tL2=WYB&9)7QXwL*Fa~fl%PuUGSRXi+j;oG?3IhCtYqsj8 zwHJgV(+!grjj$$&`6W7){bgk)!w*gml?>s`3MwvqOw=-FpDgH6{5&{>#6SM%tAFu2LOi zuVrzj*+!_Il(ze!fMt&o2yTsO+-ad~yv`a!*VVbfRfozGgAcKlN5^Y-bCA=9e-@f6 z`>krVGd(98Nx1B^#p+$rM(9es`TXZ~i{4nkk$gX8oa63vcjiz|ws)T*`Ph_}1({di zN8Jktq&og0?R-J(s$MJ{w1aPs|Ly@#CFE>_0-{Turt0>A8diVjcIkWYyOdhdv6uJw z#yYEVcJYWXKl;Q_m2m4lVjl(2>CdPlDF3NofZxfPDbif5^;+gnu{sykKFU`JJRH|8 zwtZ*G0^eH#cPdhOdAa*xY4NYt)(F5+-cz7h%(*&RviBe9WpiW|IGm z)S@X11(0zwhEObEy;O(7^N9RGAj=fu)1Z$Qqf)uCO%oPr|9+;|eqw81XA-8Srsgmu z@xjp6b}U}F%t%;smEG#C-EuvO@7+(|@YluoEC(ywo3f`R;Dk^3K3_H8 zEL%H1UT9zBV)*=_1eFT3-*hYlR;@_M+cs$TR3aq^OuYXn=Grg+k7$Bkm0>7ihxqdZ>B@=?T#A@p57squIMy{^7UbjNA=2;$yEbZrTz*9az zF{>_hyP#s=-DqUZJ^79j%KUy@P$@L7vOu)4Gm8bME~%tsoP{meU-@B18aT(O{HC-~@a;(w~UIf(sLz>pa9LAXf9!xjNBE?o1=!Lrpc&p&)NzYb3i zK>;}>*Gb#4Tpuab4^LUEj%kBn+(;Q+%Wq?F!27LencOr2Bc)=}c`;ennl$^vBIRcr zh-SZGq-(K0UX}#%#-JLo&okVXL3G4abIOYB9w#2@Kw zK$a`_Phe${_!s~+#jk5k0LL1Im04L%E}UlS{BgxgDFMOt1YxBd>9=5&{Uf?LUJ4|8 z+LzMM)$K=RY4(>*BuM~N5zn8ip1a@7tU=V&i@{O29?9el=Hci9ZDWL z$|`HBr0BoI|4Z`he|c(W%-C*-c*4}Cr;Y+b(j&}ZqA+_f46q<+0t*=kTLks_@_t@f z=JY_wAmTK;<-l+LXjeLA3S_u#aH$gDNz@+2mOi`46+L1RnOT-~orW+EzLhYH;Zg1% zcbtP7&fQPj4sYK@5wLXpajqNS*Sd!MIb_0;hImzZr9`@$!pn<``w1rOtP}ny)f= zGx1MS*kIzL>PZDzdi=>x-*#!E+hx&aL~=H!tcK}_uxeW@Oy(SCwlOkMRr*tq)F!@n zn9DjHh|ULF#!nd%=}mJ98*hqv%}!oWy%!a!dViOkA&=>MMhq48_mF>$P4oG<$1_wRth(Hy~!;y5lHHM~qc zp*FtHvZR*W>F2d*rMy0}w2pf}t-mJ3*kQ?H+g)|u0IoK3bD#|8@y}3TcLE)9TVuVz z?0uvSsqHkMDN^7Cob9J9IM4Ux$A^jJFWU=ab+w9CDf5WWY(dkx%wiqB&vJ z>+uBk4Kw4Yz4vCD;)|W-@6lywxe^GCMb66BJW4%_-h{2Kphksu#u}1RjvxY#UrHiG z`Jny8`2wb*j^P1YbJY-ika3v}``M6bVwuSb0Alj)^GV-(_jgWIy!~hjQ*OK71z$|q zDH{(tF)cba{kc{J;*v2^pLecwvI7Bz#3tVbOW*n_>;Ey@o}N*q5s*2jGW*SPp@>n} zikFltr=!%Oz-NKBPOlj_AyAEeAuz$4+~#)j`{@=Uj4Qm1it0W$o{0x8QP9B<2DCP6Ru^C3OJ_lgb%l05_QjD?ZmbUY6VRW8IPd_A-H zaiBfsskD2g!qUdW$9u2dUYwA@S~`VqD@ zYn7dMxp>skER|%UAYaH-tm_7{lhuKr#!=I^ZD1-gVqo!+GeTcb)vVFHw;&wd@M@?H z>k|a|&Xj5E#=>~%!M7MN4W9IStNj1)9pJ)~q5!-9VRY3$6^?Eyfs=1qX)tna~3*2%Y>^o@s^5(Mf-0L_{jm_7)Te#i&n7;m}eq%!)m#vRRhsjb4)1xNUi<2Z9Rq z!9l!Yy`s~YEnuJQO-b^&q|t^`g8;)YLBv4vV9m#@pIP&Nr!sLxpT}; zUrNmf%K!}I?d&q`5=nX)uNDsONl5+NPV6SP;$Im5D5&FE$1No?+~erPBid{D9fPF+ zs&LvEt)kE!bs(8}h9lyuxWXG)_~EuTHZ^@yoavSZL;{=vRtPIrf(4*8o$Nu9@5JMR zx2vVli?uT_#>mKs`&_wRu%Oq?I*meV5-cV8}|JmylP(kEmAYqJ%q&Bhpr_%H$-@Y1waF@$GiSGc|a1;HK<< zY_c{(WV#l|Q+X(GrtWN-;=gu$N;haGods}y+&?|{)mg+=mPsg3oelS#|4pSkv@Chf-cAZ*3%%S-k~o27u)zcz2h^g0fbm@j@me&HxTTv;nY@PhL# zpR46Qv*4`FX!*<9m@z>azR0t%E|`GOEvEj7Nkxb!)7S1Wx*f>+vR|*L8)u*J+)XtH zY{Plffla3`TRHP#q(_!83V(|^-+!q)~i?Z z{>^3UYKgYBf$3?izrepT8jK;?y)w`4z~*;5?mj5a4gt1$34wdFZvOY@y^O$E?`^8Z zMq47c<3<0k;L8LJO-;6|rfAuKfBwkG@=7yZ!R|-_#b^=k`OrFvVu89@V6J= zA;O~}!gIv5e+P%w?t_-~SKgh+k|q+^s6=gCB~bI635{G4zpgzw0+DR#N7%y9ir1(5 z@=y~?f&=zG4hkNMvQC+=b?|lHlaYl*eRB|3T_^l?g9Q)V ze(G9X7vO&4_7Ju)SV5X}#hOw4=K9^o<$)KP_n_cp5om*wfBpn&#r(xGaz$q$ z3}zGqHM*jQsbAQM>tb@0P~44~E4KZi9GnolJD!MqpdQ=n`P4;1vBy>zJ^7XUD2-{)nxoy5pPEP*S-X66TD-0%v zM~%MpUlG;HUhBs&N*ZY9^v$0;rdG9Zq^%yT*|=_I<^`t-kVIpt$oD-gAD=*ElPKr@ zOA9cm*9N>H4zI_jWvRvaSviII18idva05(K( z>l@a3SA?$@Kv>?NVP6NPY~V1zf=jQ*a056>EHV72ydzcrIcVD-g)PswUemd1d>-7c z9sp=O^VP;N`g`Y9CeZ0N-yfD=q%E`$P}(-G*y?y+^dm)+*|8-J=y84DQ=4cDKl3=g z^Gv!X>WMA0CQ*De$k2%#TivUs#NB@)9)mhobcy;%6Os~=)F$h4<1yghQEq{jw02R6 zmki(W1)i!RD2Y{fONbE+vT0S~d3I#Y^+v5%#&?-)l+}UWT&9^grgCUSR}FktP_bFA zANnf3D=fpW8Ke;Hum;B8$tc+8Vw9f=&RC(CP0i%Fd%wStLrTat6gj2rX=3 zJiA9$I;o8*+*s$w;Wpdt>q#+;jn<>8UIm`DAhq&f5`M)VF$}>VfDmeE;Cei)ex|o; zJ)nIpagxM?(DCn`fv@kZ`*{!2n1Ib%E3SE_E1uA8%Y*{{Ja9h?JVUpjhw5E#VVa+A zR?ywuvqH7)?#!?LE_B|AmgjLRsOY%PfuO=Kd)4Parz-&@Gyt<0%gZIp*2MGi#OU7Z zpt9<|6+JNYe31QYxe9!+T|&#W&9mpzvtQrO{)Pvhd)oZ9w9YLPUaALM*pW5&9%K;9 z$-=M%&v*jRiQ(ROCiGhW#WmymUk?@784`|X?}wX{|J2;CK8Gr1&s8nEY2ouYt97!! z=#L3#?{nj*3qX7l0X%OoHJ;Yy#<6%xRC~{ie?@T{r-X)G!p2i`oQUlguo)ELURtT( z|H_Td*WIW~79_#$omC?mHNax9FWLW%Abd-bSwKyYnnN9~$Vb~gI8{QNKpw$LY&^)B zK{e1^p#~x$r!BUO=%E`BZ8QB9b=w>G2wWpYn@IXEPmq`3K{DUpR;4*MN>B2{gJEf7 z;eWNxeF7t^PS!IPq(L)RYz7rYJ$X-}y|mK4FO8ee|6#O+G3nmal=dfzbp)nB&5 zFkECex8o6k>#k>@nhM|Qr4HrG^W>g;D-OulWsff(hI4eMifG@ayJ^>y1U5n%=waXltgT3WK4&#q#UQ+7*r`lae#SR@~{*92jxg6t~_cFzt?$Qso)E zMTJ^Qyn5DbY04L)S!9&aq4Q9uD6ZUIp{`wwh3-$-~LY(DRBlLoELG6wBo48@hWh?3k$|y{V zf30CN-bS{c*!->2E=o8RfTB5wpV*5*i6D~70C1bR7$(04$7xun)adId^H)d6#dZ%4pz$>kIPZq1mAnIt>4<=E(3dc;vyKlyGX&&rvsSep(mzg- zJ;i-u7C0zKZ~)*u#dWEyJ)lA+yiU1k?MN?09nTBCPwLJr!a#ncaeqYdj&N1`r7XkC zD{8elKxEH(Bzghw2axS|vGgnD!YU1F3z7%VDh*aX7ywwnU#%-h40UYQ*MTQoan&a* zpKs6$CXgZmXZSwf4RXVNNkyY)_+0>l@vB0oxMv#NCXeaxtBm@IOIgujYhtNQl7!au z#5`)7lVWD9fj>j<<+k%R`5BuVvR&EoaqWw*?`H_doOhN zF~moKbT5wA)H~^Tgx9tTNCJL!X(XE5cj0?|lCKTuCJ+J4nXRd(mqp(8dS9vqvtVd8 zLBRaXU5`%QH+9+ly5HA=*V?`lp)^=x(Gq8$tTX|_A#b1na-fvIer5K6wGC7LHQ;ER z9=HVHc`?8h-GIHY+Tqn?DqoJTQ5SWq#S~63v$VKWXh_IBpV&^Dg6i> zXa0)*EKig0np73cWXO+O2fCktri=Q-XWT|29}9F-_D!9ehC&WQtzi z<@3^MMSmWVHPyWJ+m?QnCF4)#i?smIGQb9-0H`v;GjG*0xZn1!`yy-$AFRY@+j&M6 zZERx9uZSf@yH&XdLqm1`LxDfPfENq$&wJfSrsXddYPP&r@aGFE1r>qYRp#yGeP%L5a5Q_rblc4$$!?4Z4bUm zzu*TsmKpjULz!KIW(hDX#%#crz=O>2NWSJB% zXIrK?lS4O_M|%DBk({EVZ`cHs^by&AX_{;B7mA4~&g8*276=suH1a5frH>SO2 zYNx()*=98P^sDnR8 zq=-k4qu=Bw1>!Bu3BRkFoZ{L()QlMZEK1k06LeAW*;ZE53unjs`N)t3V_?9Ew8o6dZ%y%+d*b)UTPcQ zPCALdW5Kzs^t@GCob}s)wHt6}jr!U3xZ@7p2p!{PW@a)3W?A>^a(&zLK&J4uh1XE) z@IF`kkml=o?F;L!8*9Mo7YhG)>-)k3Kzw!;RaJ`HWYRG+4ebDZ%}I#<3JZQb7t{YL zbXQ%+etuH)kXiPg!KiaTyTo=LAcCwE*-BHcgS|k`S7#oZQ3s0^{9H% zmse5S*@?r(pybL-^Dv4Q4w!Ruu;%&gwZElCJz?8EC?OThOplvi`-k%jr@-99%H?o zG(lJbVhW)y_>_?U^uw}5H7g4>6ERd6DS{itWjDoQ^ESlLf;vF;?#lzKGn$TD-q`~{ z)($}-e92mDBL(5K;_ghg7~Kzq?~FMKa}OSh!b^ZYX+VO3UH67Bvme}L57sk9lYz@^ z|Dm=@pBsSmhVNg8-o$A3&G~pjgX0UOuNdN1me*;|D?DJk(zx;baK>|#8Cthu-$epY zDgmDpVLM@o`5JZ9t+r*Tn=b~4UKJvMhYdE_<2q7}*R9>-mGH||Yy8KD+cO@l;MGv= zMw_0$9bO;Nm>FOQqj$w$uop_kj06-o8kga1JFF`fSWcAKejHi7EHQRx@_*k1fZ)Mb zD{Gk78t@9_zP7MX=%BFOr&b61!}d2Ke!xzL7l5_!kGh_u7o`d-^6(q-_+=`m_kOd)PVWJ{m9?IY6huI$DTb}WNYNu|v+9!T% zMr<4ClRD`xv7E$}&cQ#DD#&~3`7z2>bS6hjmLhi_aiyQI#WB|-3-r;DrcL7{Z$|Mc zX$ig$p$HHV5$ODg4maS4HZf5ti`TH^lBQAEYyK^2c7kA!*G93vP?NFehqYcHDN^4s>-1lrXb&R&FG zYJ>oo9^OeT3D{}Q?ETU|ZZRMCIYcUn zrtko1M_F_WPdK|QM@r7g51H1Z(+*)b6nrf)kBgbBa;{LArY9x0u?xuVH&v3>I-MNA zdzLm}O}HJtqP>V;SQst}4u10wfEc=en${$_Z%hE$@FwwUg?KlZ$=@*MR#&_EYd~y@ z<#aOZyA37vlD~hcxm$d*a^`1u9=!0#IV^E^w;#^xp({|A]MA9= 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 Swh{SZWh50I=HEB)|Nj7&^pUdw literal 0 HcmV?d00001 diff --git a/Assets/StompyRobot/SRDebugger/Editor/DemoSprite.png.meta b/Assets/StompyRobot/SRDebugger/Editor/DemoSprite.png.meta new file mode 100644 index 0000000..0dd9f1b --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Editor/DemoSprite.png.meta @@ -0,0 +1,55 @@ +fileFormatVersion: 2 +guid: 7b0a319b449bc9248bcf5e3dc38ca884 +timeCreated: 1451840718 +licenseType: Store +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger/Editor/Icons.meta b/Assets/StompyRobot/SRDebugger/Editor/Icons.meta new file mode 100644 index 0000000..8c45747 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Editor/Icons.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: c7fd7e484af89a5428ca411ea63f1c35 +folderAsset: yes +timeCreated: 1451840707 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger/Editor/Icons/Dark.meta b/Assets/StompyRobot/SRDebugger/Editor/Icons/Dark.meta new file mode 100644 index 0000000..fbf48eb --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Editor/Icons/Dark.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 4d23682c543997348af2ea8b5da08d31 +folderAsset: yes +timeCreated: 1451840707 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger/Editor/Icons/Dark/console-25.png b/Assets/StompyRobot/SRDebugger/Editor/Icons/Dark/console-25.png new file mode 100644 index 0000000000000000000000000000000000000000..12920b471eb59652fc3f16b31cdca36785ba43ce GIT binary patch literal 305 zcmeAS@N?(olHy`uVBq!ia0vp^k|4~%1|*NXY)uAIjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt33 zJ=4@yqg0@pMV>B>As*gur`_dkP~d5iJQ*l+Q1FI>dn$|h0c#=QBW?3GqX|ug_b38X7-on*4BX%V=}>b1eMi>(;NA1EkCa z{$D!~`Kh|$l_JY85tgma99tR{Ds?05d6!OPzFEe!_Q1Ef4*d*v(GO327pvY;H#_Q& uqVpME#!IXY-6D?~OBgR4>ehWFbeDC>`nhb~A6Y=IW$<+Mb6Mw<&;$S*U~s_z literal 0 HcmV?d00001 diff --git a/Assets/StompyRobot/SRDebugger/Editor/Icons/Dark/console-25.png.meta b/Assets/StompyRobot/SRDebugger/Editor/Icons/Dark/console-25.png.meta new file mode 100644 index 0000000..072d638 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Editor/Icons/Dark/console-25.png.meta @@ -0,0 +1,55 @@ +fileFormatVersion: 2 +guid: ec0451a83de031241b08885adca07a2a +timeCreated: 1451840719 +licenseType: Store +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger/Editor/Icons/Dark/options-25.png b/Assets/StompyRobot/SRDebugger/Editor/Icons/Dark/options-25.png new file mode 100644 index 0000000000000000000000000000000000000000..ff9547449ce6c0175cd8b7e29e5cbd325eaec629 GIT binary patch literal 287 zcmeAS@N?(olHy`uVBq!ia0vp^k|4~%1|*NXY)uAIjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt33 zJ=4@yqg0@p37#&FAs*gur(EQ0FyL{qo}_FMWWGUpx8q)6Z6);xpIdbm9~Q`OT+exM zLUCF9%ma@&-t%jF^nIu+TXK6#!}slzO&Xm3a&iCim>{{rRHb<3YQ~8|TicGfJvwM1 z)Ux=I-B&Z|PWYY#<&_KjS$@`Q_smdKI;Vst0K*(;H~;_u literal 0 HcmV?d00001 diff --git a/Assets/StompyRobot/SRDebugger/Editor/Icons/Dark/options-25.png.meta b/Assets/StompyRobot/SRDebugger/Editor/Icons/Dark/options-25.png.meta new file mode 100644 index 0000000..0e25dc1 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Editor/Icons/Dark/options-25.png.meta @@ -0,0 +1,55 @@ +fileFormatVersion: 2 +guid: f82ace81d91bcc2418fc06da36587d32 +timeCreated: 1451840719 +licenseType: Store +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger/Editor/Icons/Dark/profiler-25.png b/Assets/StompyRobot/SRDebugger/Editor/Icons/Dark/profiler-25.png new file mode 100644 index 0000000000000000000000000000000000000000..16ea03434cff05380132c17e5846f9071234c117 GIT binary patch literal 456 zcmeAS@N?(olHy`uVBq!ia0vp^k|4~%1|*NXY)uAIjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt33 zJ=4@yqg0@wmYyz-As*g)r#9vua^P{5Y!sAOsBGZmp1|VvLZjyZ$K3^Y7vuz(ar~FH zOWCkl!W&*cV95-x9eC0{=JbpFAw+?B0e zTjC!TU${OkYK2FB;=P@}WG=eD;gx-9d!{;kzVfe*y$gli*wz}mJhG86DC_v5wC_k* zf!y5WD<^~NtK2S~R}^B_YqGXKqV9j0t+m}o|D)!2x3{8~z8{~oaHiu7`xC8}{FdE| zU&P&eRnvP-_}=eJ!lEl}1CP|6zM&;lGmnK?&R^xH`peF)Dd!jdXSlJd_(@rl^v|z3 zOMWU!uH;W#&3Eqcgnu?qg!kXD>R0}A4oCAwyqn+a literal 0 HcmV?d00001 diff --git a/Assets/StompyRobot/SRDebugger/Editor/Icons/Dark/profiler-25.png.meta b/Assets/StompyRobot/SRDebugger/Editor/Icons/Dark/profiler-25.png.meta new file mode 100644 index 0000000..12f5aa4 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Editor/Icons/Dark/profiler-25.png.meta @@ -0,0 +1,55 @@ +fileFormatVersion: 2 +guid: a65d8899e293fc449bc3d57710810333 +timeCreated: 1451840718 +licenseType: Store +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger/Editor/Icons/Light.meta b/Assets/StompyRobot/SRDebugger/Editor/Icons/Light.meta new file mode 100644 index 0000000..8a2cc05 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Editor/Icons/Light.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 390d5a03531a448489ce6aa8aefdc6e1 +folderAsset: yes +timeCreated: 1451840707 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger/Editor/Icons/Light/console-25.png b/Assets/StompyRobot/SRDebugger/Editor/Icons/Light/console-25.png new file mode 100644 index 0000000000000000000000000000000000000000..2836b3f5fa5802fe30d8de9ae1f817cf9bef3b06 GIT binary patch literal 236 zcmVP000>X1^@s6#OZ}&00029NklP000>X1^@s6#OZ}&00027NklkYy%4217C=qPMZHei)*K-qv**r06G4GtNBgj5p61shcVP2w+ib{<4RP|^;-A&_-3 z$PC~d2pJ3_l8l1f^QS?gR6O(MDM_t~q&6 literal 0 HcmV?d00001 diff --git a/Assets/StompyRobot/SRDebugger/Editor/Icons/Light/options-25.png.meta b/Assets/StompyRobot/SRDebugger/Editor/Icons/Light/options-25.png.meta new file mode 100644 index 0000000..5bc21ae --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Editor/Icons/Light/options-25.png.meta @@ -0,0 +1,55 @@ +fileFormatVersion: 2 +guid: 0a0159476f63b134fbf8474a85bac7ab +timeCreated: 1451840717 +licenseType: Store +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger/Editor/Icons/Light/profiler-25.png b/Assets/StompyRobot/SRDebugger/Editor/Icons/Light/profiler-25.png new file mode 100644 index 0000000000000000000000000000000000000000..7b40727d2db0db8e94d7f58d89ad4ec4b8a8dda9 GIT binary patch literal 395 zcmV;60d)R}P)P000>X1^@s6#OZ}&0003}Nkl^Xca88om_`@D3=tj?^os~_rBYG zo18d8=?DyDdkLHj2wMhXNrNd`_pgQ6{*ZLus<;|rdkicNQQQKV0*}Cjq>mOgEs$5> z8n}^^b#=8s47>r;K_F!wu`Bg|5Zfc*8Mp!-zIn5hG_!pQychd^ozahW6~G+G%TK^v z6aYyWlBTxvYzE9FWxXleld>;8*g$rsxGD{ECX%R8qHB9?S%IWM0?@%1K-6uji+k_j za{!}A(zt^Z1)soKS>FOLoua);_8qd)xSK=l%9qE&iKL0`sEwlWzVp+oWXJ0ck_$Dn z2&}gbfn?a1u}V^4z10dytP|V#zfMq1H9@*K0{696ZAG~Db}ea3q^qnt2vTFu?w)45 p{sI~LAHN#x-@bLl9AZK1J6{M(9=5Zv^REB^002ovPDHLkV1iL1r)dBH literal 0 HcmV?d00001 diff --git a/Assets/StompyRobot/SRDebugger/Editor/Icons/Light/profiler-25.png.meta b/Assets/StompyRobot/SRDebugger/Editor/Icons/Light/profiler-25.png.meta new file mode 100644 index 0000000..c3e5a47 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Editor/Icons/Light/profiler-25.png.meta @@ -0,0 +1,55 @@ +fileFormatVersion: 2 +guid: 1e056ec0ed417e84f8129ebc5d3a5631 +timeCreated: 1451840717 +licenseType: Store +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger/Editor/Logo_DarkBG.png b/Assets/StompyRobot/SRDebugger/Editor/Logo_DarkBG.png new file mode 100644 index 0000000000000000000000000000000000000000..40dbb4d2f9f7e173e084e04b2f130ea39b82a255 GIT binary patch literal 3685 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 literal 0 HcmV?d00001 diff --git a/Assets/StompyRobot/SRDebugger/Editor/Logo_DarkBG.png.meta b/Assets/StompyRobot/SRDebugger/Editor/Logo_DarkBG.png.meta new file mode 100644 index 0000000..56c8e57 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Editor/Logo_DarkBG.png.meta @@ -0,0 +1,55 @@ +fileFormatVersion: 2 +guid: 5d748e97260523b408727350980e61d3 +timeCreated: 1451840717 +licenseType: Store +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger/Editor/Logo_LightBG.png b/Assets/StompyRobot/SRDebugger/Editor/Logo_LightBG.png new file mode 100644 index 0000000000000000000000000000000000000000..a43d7bde3d9649cd715f1ecaf4c3dc98b5846620 GIT binary patch literal 4014 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 XlWgCk{H!xS{-E*LotO%AVB&uOmgnvS literal 0 HcmV?d00001 diff --git a/Assets/StompyRobot/SRDebugger/Editor/Logo_LightBG.png.meta b/Assets/StompyRobot/SRDebugger/Editor/Logo_LightBG.png.meta new file mode 100644 index 0000000..ee00b42 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Editor/Logo_LightBG.png.meta @@ -0,0 +1,55 @@ +fileFormatVersion: 2 +guid: 28369deb7b17a7a43921a7a8e74e6229 +timeCreated: 1451840717 +licenseType: Store +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger/Editor/WelcomeLogo_DarkBG.png b/Assets/StompyRobot/SRDebugger/Editor/WelcomeLogo_DarkBG.png new file mode 100644 index 0000000000000000000000000000000000000000..8499dc5db9122c76d3f591284937ffc875b5c318 GIT binary patch literal 3592 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 literal 0 HcmV?d00001 diff --git a/Assets/StompyRobot/SRDebugger/Editor/WelcomeLogo_DarkBG.png.meta b/Assets/StompyRobot/SRDebugger/Editor/WelcomeLogo_DarkBG.png.meta new file mode 100644 index 0000000..6a3f71d --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Editor/WelcomeLogo_DarkBG.png.meta @@ -0,0 +1,55 @@ +fileFormatVersion: 2 +guid: e40803cf998d93748b519c0e3baa56db +timeCreated: 1451840719 +licenseType: Store +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger/Editor/WelcomeLogo_LightBG.png b/Assets/StompyRobot/SRDebugger/Editor/WelcomeLogo_LightBG.png new file mode 100644 index 0000000000000000000000000000000000000000..0b2d849507dc3ab5bb356d3021eb9d3ad82e777d GIT binary patch literal 3852 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 NYHi^_xNhzj{~!4`w0Zyl literal 0 HcmV?d00001 diff --git a/Assets/StompyRobot/SRDebugger/Editor/WelcomeLogo_LightBG.png.meta b/Assets/StompyRobot/SRDebugger/Editor/WelcomeLogo_LightBG.png.meta new file mode 100644 index 0000000..88e2359 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Editor/WelcomeLogo_LightBG.png.meta @@ -0,0 +1,55 @@ +fileFormatVersion: 2 +guid: 0c97a7a7f0adfd54faf9393ffdd90458 +timeCreated: 1451840717 +licenseType: Store +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger/PlaymakerIntegration.unitypackage b/Assets/StompyRobot/SRDebugger/PlaymakerIntegration.unitypackage new file mode 100644 index 0000000000000000000000000000000000000000..b801852826119074b2a5927052b0784e2bcb636d GIT binary patch literal 2831 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 YX!=c;6%-Uy7yaf;e`9_aRtSUr4-Debugger +--- !u!114 &11491500 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 191480} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: 18 + m_FlexibleWidth: 1 + m_FlexibleHeight: -1 +--- !u!114 &11491502 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 191480} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Text_Light + IgnoreImage: 0 +--- !u!114 &11491504 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 191480} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FontData: + m_Font: {fileID: 12800000, guid: 4e46f78eb6d69074d9b4fe427bb2f1a2, type: 3} + m_FontSize: 18 + m_FontStyle: 0 + m_BestFit: 1 + m_MinSize: 6 + m_MaxSize: 18 + m_Alignment: 4 + m_RichText: 0 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: .829999983 + m_Text: SEND BUG REPORT +--- !u!114 &11491528 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 191496} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 40436e7c301de034f916ee1e7ddabeeb, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: +--- !u!114 &11491530 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 191496} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d1bf029da478aff42a6d6e0ed8e21203, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + StyleSheet: {fileID: 11400000, guid: cdfb48dd49c2d7a4d9f8805cd96e0241, type: 2} +--- !u!114 &11491532 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 191496} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1301386320, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &11491534 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 191496} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 58bc4004a23c662408dd40e6d01ac936, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _retinaScale: 2 + _thresholdDpi: 250 +--- !u!114 &11491536 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 191496} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 +--- !u!114 &11491574 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 191520} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: .835294127} + 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 &11491576 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 191522} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1297475563, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + 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 +--- !u!114 &11491606 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 191538} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1297475563, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Padding: + m_Left: 20 + m_Right: 20 + m_Top: 20 + m_Bottom: 20 + m_ChildAlignment: 4 + m_Spacing: 15 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 0 +--- !u!114 &11491608 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 191540} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6f0ff44b792ef2042856036000e22450, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: +--- !u!114 &11491610 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 191540} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1367256648, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Content: {fileID: 22491538} + m_Horizontal: 0 + m_Vertical: 1 + m_MovementType: 2 + m_Elasticity: .100000001 + m_Inertia: 0 + m_DecelerationRate: .135000005 + m_ScrollSensitivity: 40 + m_HorizontalScrollbar: {fileID: 0} + m_VerticalScrollbar: {fileID: 0} + 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 &11496518 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 191538} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1741964061, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_HorizontalFit: 0 + m_VerticalFit: 2 +--- !u!222 &22227436 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 127436} +--- !u!222 &22291470 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 191472} +--- !u!222 &22291474 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 191480} +--- !u!222 &22291500 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 191520} +--- !u!223 &22391466 +Canvas: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 191496} + m_Enabled: 1 + serializedVersion: 2 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 1 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingLayerID: 0 + m_SortingOrder: 121 +--- !u!224 &22427436 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 127436} + 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: 22491540} + m_RootOrder: 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: .5, y: .5} +--- !u!224 &22476364 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 176364} + 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: 22491538} + m_Father: {fileID: 22491540} + m_RootOrder: 1 + 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: .5, y: .5} +--- !u!224 &22491472 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 191472} + 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: 22491538} + m_RootOrder: 2 + 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: .5} +--- !u!224 &22491480 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 191480} + 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: 22491538} + m_RootOrder: 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: .5} +--- !u!224 &22491496 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 191496} + 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: 22491520} + - {fileID: 22491540} + m_Father: {fileID: 0} + m_RootOrder: 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 &22491520 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 191520} + 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: 22491496} + m_RootOrder: 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: .5, y: .5} +--- !u!224 &22491522 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 191522} + 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: 22491538} + m_RootOrder: 1 + 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: .5, y: .5} +--- !u!224 &22491538 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 191538} + 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: 22491480} + - {fileID: 22491522} + - {fileID: 22491472} + m_Father: {fileID: 22476364} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: .5, y: 1} +--- !u!224 &22491540 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 191540} + 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: 22427436} + - {fileID: 22476364} + m_Father: {fileID: 22491496} + m_RootOrder: 1 + 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: .5, y: .5} +--- !u!225 &22591466 +CanvasGroup: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 191496} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 +--- !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: 191496} + m_IsPrefabParent: 1 diff --git a/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/BugReportPopover.prefab.meta b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/BugReportPopover.prefab.meta new file mode 100644 index 0000000..a41f449 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/BugReportPopover.prefab.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: b1e14a36132e86c4a86149b6ecbe53f4 +NativeFormatImporter: + userData: diff --git a/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/BugReportSheet.prefab b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/BugReportSheet.prefab new file mode 100644 index 0000000..1d7fd03 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/BugReportSheet.prefab @@ -0,0 +1,2618 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &102518 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22402518} + - 222: {fileID: 22202520} + - 114: {fileID: 11402514} + - 114: {fileID: 11402516} + - 114: {fileID: 11402518} + m_Layer: 5 + m_Name: SR_Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &102520 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22402520} + - 222: {fileID: 22202522} + - 114: {fileID: 11402522} + - 114: {fileID: 11413090} + m_Layer: 5 + m_Name: SR_Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &102522 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22402522} + - 114: {fileID: 11427898} + m_Layer: 5 + m_Name: SR_LoadingSpinner + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &106062 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22406062} + - 222: {fileID: 22206062} + - 114: {fileID: 11406068} + - 114: {fileID: 11406062} + m_Layer: 5 + m_Name: SR_Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &106066 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22406066} + - 114: {fileID: 11485580} + - 114: {fileID: 11406072} + - 114: {fileID: 11485586} + m_Layer: 5 + m_Name: SR_SubmitButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &106068 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22406068} + - 222: {fileID: 22206066} + - 114: {fileID: 11406074} + m_Layer: 5 + m_Name: SR_Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &106072 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22406072} + - 222: {fileID: 22206068} + - 114: {fileID: 11406076} + m_Layer: 5 + m_Name: SR_Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &127898 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22427898} + - 114: {fileID: 11427900} + m_Layer: 5 + m_Name: SR_Center + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &145868 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22445868} + - 114: {fileID: 11445868} + - 114: {fileID: 11445864} + - 114: {fileID: 11445866} + m_Layer: 5 + m_Name: SR_CancelButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &145870 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22445870} + - 114: {fileID: 11445870} + m_Layer: 5 + m_Name: SR_Buttons + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &145872 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22445872} + - 222: {fileID: 22245872} + - 114: {fileID: 11445872} + m_Layer: 5 + m_Name: SR_Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &145874 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22445874} + - 222: {fileID: 22245874} + - 114: {fileID: 11445874} + m_Layer: 5 + m_Name: SR_Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &148850 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22448850} + m_Layer: 5 + m_Name: SR_TextContainer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &148852 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22448852} + m_Layer: 5 + m_Name: SR_TextContainer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &185546 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22485546} + - 114: {fileID: 11402520} + - 114: {fileID: 11485542} + - 114: {fileID: 11475964} + m_Layer: 5 + m_Name: BugReportSheet + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &185550 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22485550} + - 114: {fileID: 11485516} + - 114: {fileID: 11442356} + m_Layer: 5 + m_Name: SR_Form + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &185552 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22485552} + - 114: {fileID: 11485518} + - 114: {fileID: 11485544} + m_Layer: 5 + m_Name: SR_Row + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &185554 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22485554} + - 222: {fileID: 22285568} + - 114: {fileID: 11485520} + - 114: {fileID: 11485524} + - 114: {fileID: 11485546} + m_Layer: 5 + m_Name: SR_Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &185556 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22485556} + - 114: {fileID: 11485522} + - 114: {fileID: 11485526} + - 114: {fileID: 11485534} + m_Layer: 5 + m_Name: SR_Input + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &185558 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22485558} + - 222: {fileID: 22285570} + - 114: {fileID: 11485528} + m_Layer: 5 + m_Name: SR_Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &185560 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22485560} + - 222: {fileID: 22285572} + - 114: {fileID: 11485530} + m_Layer: 5 + m_Name: SR_Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &185562 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22485562} + - 222: {fileID: 22285574} + - 114: {fileID: 11485532} + - 114: {fileID: 11485578} + m_Layer: 5 + m_Name: SR_Placeholder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &185566 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22485566} + - 114: {fileID: 11485538} + m_Layer: 5 + m_Name: SR_Spacer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &185568 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22485568} + - 114: {fileID: 11485540} + m_Layer: 5 + m_Name: SR_Spacer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &185570 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22485570} + - 222: {fileID: 22285576} + - 114: {fileID: 11485552} + - 114: {fileID: 11485576} + m_Layer: 5 + m_Name: SR_Placeholder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &185572 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22485572} + - 222: {fileID: 22285578} + - 114: {fileID: 11485554} + m_Layer: 5 + m_Name: SR_Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &185574 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22485574} + - 222: {fileID: 22285580} + - 114: {fileID: 11485556} + m_Layer: 5 + m_Name: SR_Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &185576 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22485576} + - 114: {fileID: 11485562} + - 114: {fileID: 11485558} + - 114: {fileID: 11485550} + m_Layer: 5 + m_Name: SR_Input + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &185578 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22485578} + - 222: {fileID: 22285582} + - 114: {fileID: 11485564} + - 114: {fileID: 11485560} + - 114: {fileID: 11485548} + m_Layer: 5 + m_Name: SR_Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &185580 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22485580} + - 114: {fileID: 11485566} + - 114: {fileID: 11485574} + m_Layer: 5 + m_Name: SR_Row + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &185582 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22485582} + - 222: {fileID: 22285584} + - 114: {fileID: 11485572} + - 114: {fileID: 11485570} + - 114: {fileID: 11485568} + m_Layer: 5 + m_Name: SR_Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &185584 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22485584} + - 114: {fileID: 11406066} + - 114: {fileID: 11485582} + m_Layer: 5 + m_Name: SR_ProgressBar + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &185586 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22485586} + - 222: {fileID: 22285586} + - 114: {fileID: 11485584} + - 114: {fileID: 11406064} + m_Layer: 5 + m_Name: SR_Fill + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &185588 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22485588} + - 222: {fileID: 22285588} + - 114: {fileID: 11485588} + m_Layer: 5 + m_Name: SR_Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &11402514 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 102518} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FontData: + m_Font: {fileID: 12800000, guid: 677c9fb41b6c7e14199885b0b31740ee, type: 3} + m_FontSize: 12 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 'Bug reports will be sent to the developer with anonymous debug information + attached. A screenshot of the game will be also be sent with your bug report. + + + Leaving an email address is optional, but will allow the developer to contact + you for additional information if required.' +--- !u!114 &11402516 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 102518} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Text_Light + IgnoreImage: 0 +--- !u!114 &11402518 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 102518} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 +--- !u!114 &11402520 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185546} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 63d76b94b1c670b4cbafd57dd8dcd2ff, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + ButtonContainer: {fileID: 145870} + ButtonText: {fileID: 11406076} + CancelButton: {fileID: 11445868} + DescriptionField: {fileID: 11485562} + EmailField: {fileID: 11485522} + ProgressBar: {fileID: 11406066} + ResultMessageText: {fileID: 11485572} + SubmitButton: {fileID: 11485580} +--- !u!114 &11402522 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 102520} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Sprite: {fileID: 21300000, guid: b69c9e0b4f478f94a8b015db733dc6f7, 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 &11406062 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 106062} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: ScrollBar + IgnoreImage: 0 +--- !u!114 &11406064 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185586} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Toggle_BG_Active + IgnoreImage: 0 +--- !u!114 &11406066 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185584} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -113659843, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: .258823544, g: .258823544, b: .258823544, a: 1} + m_HighlightedColor: {r: .323529422, g: .323529422, b: .323529422, a: 1} + m_PressedColor: {r: .154411793, g: .154411793, b: .154411793, a: 1} + m_DisabledColor: {r: .258823544, g: .258823544, b: .258823544, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: .100000001 + 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: 0 + m_TargetGraphic: {fileID: 0} + m_FillRect: {fileID: 22485586} + m_HandleRect: {fileID: 0} + m_Direction: 0 + m_MinValue: 0 + m_MaxValue: 1 + m_WholeNumbers: 0 + m_Value: .187000006 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.Slider+SliderEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &11406068 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 106062} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: .441176474, g: .441176474, b: .441176474, a: .709803939} + 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 &11406072 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 106066} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 56 + m_PreferredHeight: 35 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 +--- !u!114 &11406074 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 106068} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + 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 &11406076 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 106072} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FontData: + m_Font: {fileID: 12800000, guid: 4e46f78eb6d69074d9b4fe427bb2f1a2, type: 3} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: SUBMIT +--- !u!114 &11413090 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 102520} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 44d058d954e809c4fa87cfab328237d7, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + FrameCount: 12 + SpinDuration: .800000012 +--- !u!114 &11427898 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 102522} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 35 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 +--- !u!114 &11427900 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 127898} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -405508275, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 4 + m_Spacing: 0 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 1 +--- !u!114 &11442356 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185550} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 620 + m_PreferredHeight: -1 + m_FlexibleWidth: 0 + m_FlexibleHeight: -1 +--- !u!114 &11445864 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 145868} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 56 + m_PreferredHeight: 35 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 +--- !u!114 &11445866 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 145868} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Options_Item_Background + IgnoreImage: 0 +--- !u!114 &11445868 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 145868} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 11485562} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: .258823544, g: .258823544, b: .258823544, a: 1} + m_HighlightedColor: {r: .323529422, g: .323529422, b: .323529422, a: 1} + m_PressedColor: {r: .154411793, g: .154411793, b: .154411793, a: 1} + m_DisabledColor: {r: .258823544, g: .258823544, b: .258823544, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: 0 + 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: 11406074} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 11402520} + m_MethodName: Cancel + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + 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 &11445870 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 145870} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -405508275, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 0 + m_Spacing: 20 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 0 +--- !u!114 &11445872 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 145872} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + 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 &11445874 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 145874} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FontData: + m_Font: {fileID: 12800000, guid: 4e46f78eb6d69074d9b4fe427bb2f1a2, type: 3} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: CANCEL +--- !u!114 &11475964 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185546} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 40436e7c301de034f916ee1e7ddabeeb, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: +--- !u!114 &11485516 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185550} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1297475563, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Padding: + m_Left: 10 + m_Right: 10 + m_Top: 10 + m_Bottom: 10 + m_ChildAlignment: 0 + m_Spacing: 20 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 0 +--- !u!114 &11485518 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185552} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 +--- !u!114 &11485520 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185554} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FontData: + m_Font: {fileID: 12800000, guid: dff6bf51d54250840bdef2ca8260c146, type: 3} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Email Address +--- !u!114 &11485522 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185556} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 575553740, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 11485562} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: .258823544, g: .258823544, b: .258823544, a: 1} + m_HighlightedColor: {r: .325490206, g: .325490206, b: .325490206, a: 1} + m_PressedColor: {r: .152941182, g: .152941182, b: .152941182, a: 1} + m_DisabledColor: {r: .258823544, g: .258823544, b: .258823544, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: .100000001 + 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: 11485528} + m_TextComponent: {fileID: 11485530} + m_Placeholder: {fileID: 11485532} + m_ContentType: 6 + m_InputType: 0 + m_AsteriskChar: 42 + m_KeyboardType: 7 + m_LineType: 0 + m_HideMobileInput: 1 + m_CharacterValidation: 5 + m_CharacterLimit: 0 + m_EndEdit: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.InputField+SubmitEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null + m_OnValueChange: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.InputField+OnChangeEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null + m_SelectionColor: {r: .65882355, g: .807843149, b: 1, a: .752941191} + m_Text: + m_CaretBlinkRate: 1.70000005 +--- !u!114 &11485524 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185554} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Text_Light + IgnoreImage: 0 +--- !u!114 &11485526 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185556} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: 30 + m_PreferredWidth: 260 + m_PreferredHeight: -1 + m_FlexibleWidth: 1 + m_FlexibleHeight: -1 +--- !u!114 &11485528 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185558} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + 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 &11485530 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185560} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FontData: + m_Font: {fileID: 12800000, guid: 718657b6be420a6498b0f091c199a215, type: 3} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 0 + m_RichText: 0 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: +--- !u!114 &11485532 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185562} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: .737254918, g: .737254918, b: .737254918, a: 1} + m_FontData: + m_Font: {fileID: 12800000, guid: 718657b6be420a6498b0f091c199a215, type: 3} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 0 + m_RichText: 0 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: (optional) +--- !u!114 &11485534 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185556} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Text_Input + IgnoreImage: 0 +--- !u!114 &11485538 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185566} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: 10000 + m_FlexibleHeight: -1 +--- !u!114 &11485540 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185568} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: 10000 + m_FlexibleHeight: -1 +--- !u!114 &11485542 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185546} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -405508275, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Padding: + m_Left: 5 + m_Right: 5 + m_Top: 5 + m_Bottom: 5 + m_ChildAlignment: 0 + m_Spacing: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 0 +--- !u!114 &11485544 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185552} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f3a5149e46522d84cb8079537220a929, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 4 + ChildForceExpandHeight: 0 + ChildForceExpandWidth: 1 + Spacing: 6 +--- !u!114 &11485546 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185554} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 +--- !u!114 &11485548 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185578} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 +--- !u!114 &11485550 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185576} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Text_Input + IgnoreImage: 0 +--- !u!114 &11485552 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185570} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: .737254918, g: .737254918, b: .737254918, a: 1} + m_FontData: + m_Font: {fileID: 12800000, guid: 718657b6be420a6498b0f091c199a215, type: 3} + m_FontSize: 12 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 0 + m_RichText: 0 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Describe the bug, including what you were doing when it happened. +--- !u!114 &11485554 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185572} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FontData: + m_Font: {fileID: 12800000, guid: 718657b6be420a6498b0f091c199a215, type: 3} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 0 + m_RichText: 0 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: +--- !u!114 &11485556 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185574} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + 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 &11485558 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185576} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: 30 + m_PreferredWidth: 200 + m_PreferredHeight: 180 + m_FlexibleWidth: 1 + m_FlexibleHeight: -1 +--- !u!114 &11485560 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185578} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Text_Light + IgnoreImage: 0 +--- !u!114 &11485562 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185576} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 575553740, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 11485522} + m_SelectOnDown: {fileID: 11485580} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: .258823544, g: .258823544, b: .258823544, a: 1} + m_HighlightedColor: {r: .325490206, g: .325490206, b: .325490206, a: 1} + m_PressedColor: {r: .152941182, g: .152941182, b: .152941182, a: 1} + m_DisabledColor: {r: .258823544, g: .258823544, b: .258823544, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: .100000001 + 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: 11485556} + m_TextComponent: {fileID: 11485554} + m_Placeholder: {fileID: 11485552} + m_ContentType: 1 + m_InputType: 1 + m_AsteriskChar: 42 + m_KeyboardType: 0 + m_LineType: 2 + m_HideMobileInput: 0 + m_CharacterValidation: 0 + m_CharacterLimit: 0 + m_EndEdit: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.InputField+SubmitEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null + m_OnValueChange: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.InputField+OnChangeEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null + m_SelectionColor: {r: .65882355, g: .807843149, b: 1, a: .752941191} + m_Text: + m_CaretBlinkRate: 1.70000005 +--- !u!114 &11485564 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185578} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FontData: + m_Font: {fileID: 12800000, guid: dff6bf51d54250840bdef2ca8260c146, type: 3} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Description +--- !u!114 &11485566 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185580} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 +--- !u!114 &11485568 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185582} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 +--- !u!114 &11485570 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185582} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Text_Light + IgnoreImage: 0 +--- !u!114 &11485572 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185582} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FontData: + m_Font: {fileID: 12800000, guid: dff6bf51d54250840bdef2ca8260c146, type: 3} + m_FontSize: 12 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: Error submitting bug report (Server returned 401 - NotAuthorized) +--- !u!114 &11485574 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185580} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1297475563, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 0 + m_Spacing: 6 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 0 +--- !u!114 &11485576 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185570} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Text_Dim + IgnoreImage: 0 +--- !u!114 &11485578 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185562} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Text_Dim + IgnoreImage: 0 +--- !u!114 &11485580 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 106066} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 11485562} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: .258823544, g: .258823544, b: .258823544, a: 1} + m_HighlightedColor: {r: .323529422, g: .323529422, b: .323529422, a: 1} + m_PressedColor: {r: .154411793, g: .154411793, b: .154411793, a: 1} + m_DisabledColor: {r: .258823544, g: .258823544, b: .258823544, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: 0 + 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: 11445872} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 11402520} + m_MethodName: Submit + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + 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 &11485582 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185584} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 56 + m_PreferredHeight: 35 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 +--- !u!114 &11485584 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185586} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: .278431386, g: .278431386, b: .278431386, a: 1} + 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 &11485586 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 106066} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Options_Item_Background + IgnoreImage: 0 +--- !u!114 &11485588 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185588} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FontData: + m_Font: {fileID: 12800000, guid: 4e46f78eb6d69074d9b4fe427bb2f1a2, type: 3} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: SENDING... +--- !u!222 &22202520 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 102518} +--- !u!222 &22202522 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 102520} +--- !u!222 &22206062 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 106062} +--- !u!222 &22206066 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 106068} +--- !u!222 &22206068 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 106072} +--- !u!222 &22245872 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 145872} +--- !u!222 &22245874 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 145874} +--- !u!222 &22285568 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185554} +--- !u!222 &22285570 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185558} +--- !u!222 &22285572 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185560} +--- !u!222 &22285574 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185562} +--- !u!222 &22285576 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185570} +--- !u!222 &22285578 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185572} +--- !u!222 &22285580 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185574} +--- !u!222 &22285582 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185578} +--- !u!222 &22285584 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185582} +--- !u!222 &22285586 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185586} +--- !u!222 &22285588 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185588} +--- !u!224 &22402518 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 102518} + 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: 22485550} + m_RootOrder: 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: .5, y: .5} +--- !u!224 &22402520 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 102520} + 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: 22402522} + m_RootOrder: 0 + m_AnchorMin: {x: .5, y: .5} + m_AnchorMax: {x: .5, y: .5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 32, y: 32} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22402522 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 102522} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .699999988, y: .699999988, z: .699999988} + m_Children: + - {fileID: 22402520} + m_Father: {fileID: 22427898} + m_RootOrder: 1 + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 341.509094, y: -17.5} + m_SizeDelta: {x: 35, y: 35} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22406062 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 106062} + 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: 22485584} + m_RootOrder: 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: .5, y: .5} +--- !u!224 &22406066 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 106066} + 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: 22445872} + - {fileID: 22406072} + m_Father: {fileID: 22445870} + m_RootOrder: 1 + 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: .5, y: .5} +--- !u!224 &22406068 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 106068} + 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: 22445868} + m_RootOrder: 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: .5, y: .5} +--- !u!224 &22406072 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 106072} + 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: 22406066} + m_RootOrder: 1 + 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: .5, y: .5} +--- !u!224 &22427898 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 127898} + 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: 22485588} + - {fileID: 22402522} + m_Father: {fileID: 22485584} + m_RootOrder: 2 + 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: .5, y: .5} +--- !u!224 &22445868 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 145868} + 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: 22406068} + - {fileID: 22445874} + m_Father: {fileID: 22445870} + m_RootOrder: 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: .5, y: .5} +--- !u!224 &22445870 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 145870} + 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: 22445868} + - {fileID: 22406066} + m_Father: {fileID: 22485550} + m_RootOrder: 4 + 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: .5, y: .5} +--- !u!224 &22445872 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 145872} + 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: 22406066} + m_RootOrder: 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: .5, y: .5} +--- !u!224 &22445874 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 145874} + 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: 22445868} + m_RootOrder: 1 + 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: .5, y: .5} +--- !u!224 &22448850 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 148850} + 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: 22485560} + m_Father: {fileID: 22485556} + m_RootOrder: 1 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -10, y: -8} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22448852 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 148852} + 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: 22485572} + m_Father: {fileID: 22485576} + m_RootOrder: 1 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -10, y: -8} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22485546 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185546} + 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: 22485566} + - {fileID: 22485550} + - {fileID: 22485568} + m_Father: {fileID: 0} + m_RootOrder: 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: .5, y: 1} +--- !u!224 &22485550 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185550} + 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: 22402518} + - {fileID: 22485552} + - {fileID: 22485580} + - {fileID: 22485582} + - {fileID: 22445870} + - {fileID: 22485584} + m_Father: {fileID: 22485546} + m_RootOrder: 1 + 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: .5, y: .5} +--- !u!224 &22485552 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185552} + 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: 22485554} + - {fileID: 22485556} + m_Father: {fileID: 22485550} + m_RootOrder: 1 + 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: .5, y: .5} +--- !u!224 &22485554 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185554} + 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: 22485552} + m_RootOrder: 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: .5, y: .5} +--- !u!224 &22485556 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185556} + 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: 22485558} + - {fileID: 22448850} + - {fileID: 22485562} + m_Father: {fileID: 22485552} + m_RootOrder: 1 + 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: .5, y: .5} +--- !u!224 &22485558 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185558} + 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: 22485556} + m_RootOrder: 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: .5, y: .5} +--- !u!224 &22485560 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185560} + 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: 22448850} + m_RootOrder: 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: .5, y: .5} +--- !u!224 &22485562 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185562} + 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: 22485556} + m_RootOrder: 2 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -10, y: -8} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22485566 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185566} + 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: 22485546} + m_RootOrder: 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: .5, y: .5} +--- !u!224 &22485568 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185568} + 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: 22485546} + m_RootOrder: 2 + 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: .5, y: .5} +--- !u!224 &22485570 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185570} + 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: 22485576} + m_RootOrder: 2 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -10, y: -8} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22485572 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185572} + 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: 22448852} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 2.38418579e-07} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22485574 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185574} + 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: 22485576} + m_RootOrder: 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: .5, y: .5} +--- !u!224 &22485576 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185576} + 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: 22485574} + - {fileID: 22448852} + - {fileID: 22485570} + m_Father: {fileID: 22485580} + m_RootOrder: 1 + 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: .5, y: .5} +--- !u!224 &22485578 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185578} + 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: 22485580} + m_RootOrder: 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: .5, y: .5} +--- !u!224 &22485580 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185580} + 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: 22485578} + - {fileID: 22485576} + m_Father: {fileID: 22485550} + m_RootOrder: 2 + 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: .5, y: .5} +--- !u!224 &22485582 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185582} + 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: 22485550} + m_RootOrder: 3 + 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: .5, y: .5} +--- !u!224 &22485584 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185584} + 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: 22406062} + - {fileID: 22485586} + - {fileID: 22427898} + m_Father: {fileID: 22485550} + m_RootOrder: 5 + 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: .5, y: .5} +--- !u!224 &22485586 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185586} + 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: 22485584} + m_RootOrder: 1 + 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: .5, y: .5} +--- !u!224 &22485588 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185588} + 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: 22427898} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 282.509094, y: -17.5} + m_SizeDelta: {x: 83, y: 35} + m_Pivot: {x: .5, y: .5} +--- !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: 185546} + m_IsPrefabParent: 1 diff --git a/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/BugReportSheet.prefab.meta b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/BugReportSheet.prefab.meta new file mode 100644 index 0000000..bb2e7d1 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/BugReportSheet.prefab.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 307fd4bc23452cc41bdacc036bc9e0b1 +NativeFormatImporter: + userData: diff --git a/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/DebugPanel.prefab b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/DebugPanel.prefab new file mode 100644 index 0000000..5577945 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/DebugPanel.prefab @@ -0,0 +1,4052 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &106254 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22406254} + m_Layer: 5 + m_Name: SR_Viewport + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22406254 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 106254} + 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: 22408654} + m_Father: {fileID: 22408668} + 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 &108644 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 408644} + - component: {fileID: 11408644} + - component: {fileID: 11483494} + m_Layer: 0 + m_Name: DebugPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &408644 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108644} + 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: 22408646} + - {fileID: 22408676} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &11408644 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108644} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 64a45d1be7c826148a745e7d38b02161, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + Canvas: {fileID: 22308644} + CanvasGroup: {fileID: 22508644} + TabController: {fileID: 11408648} +--- !u!114 &11483494 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108644} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 40436e7c301de034f916ee1e7ddabeeb, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: +--- !u!1 &108646 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22408644} + - component: {fileID: 7462414093332749432} + m_Layer: 5 + m_Name: SR_Tab + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22408644 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108646} + 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: 22408672} + 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!114 &7462414093332749432 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108646} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, 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!1 &108648 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22408646} + - component: {fileID: 11408646} + - component: {fileID: 11408648} + - component: {fileID: 11401174} + m_Layer: 5 + m_Name: SR__TabController + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22408646 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108648} + 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: 408644} + 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: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &11408646 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108648} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 035be48566f8a3a4285521c6480d83ce, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + TabButtonContainer: {fileID: 22408654} + TabButtonPrefab: {fileID: 11423178, guid: 20aa0923117a8a449bbe649769f6bd16, type: 3} + TabContentsContainer: {fileID: 22408644} + TabHeaderContentContainer: {fileID: 22493820} + TabHeaderText: {fileID: 11408732} +--- !u!114 &11408648 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108648} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 295aaaf6e216af84e99f15dff7b6fc32, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + AboutTab: {fileID: 11427230, guid: b32f9ca33474ad44999aa3570c7f42ee, type: 3} + TabController: {fileID: 11408646} +--- !u!114 &11401174 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108648} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3cc3afaacd56e9b4f9f2b6201ec85267, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _maxMenuWidth: 185 + _peekAmount: 45 + Content: {fileID: 22408662} + Menu: {fileID: 22408682} + OpenButton: {fileID: 11412438} + TabController: {fileID: 11408646} +--- !u!1 &108650 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22408648} + - component: {fileID: 22208644} + - component: {fileID: 11408652} + - component: {fileID: 11408650} + - component: {fileID: 11408654} + m_Layer: 5 + m_Name: SR_Border + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22408648 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108650} + 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: 22408682} + 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: 1, y: 0} + m_Pivot: {x: 1, y: 0.5} +--- !u!222 &22208644 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108650} + m_CullTransparentMesh: 0 +--- !u!114 &11408652 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108650} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.25882354, g: 0.3882353, b: 0.54509807, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &11408650 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108650} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Content_Border + IgnoreImage: 0 +--- !u!114 &11408654 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108650} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: 1 + m_MinHeight: -1 + m_PreferredWidth: 2 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: 1 + m_LayoutPriority: 1 +--- !u!1 &108652 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22408650} + - component: {fileID: 11408656} + m_Layer: 5 + m_Name: SR_BorderTop + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22408650 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108652} + 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: 22408660} + m_Father: {fileID: 22408674} + 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} +--- !u!114 &11408656 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108652} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + 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!1 &108656 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22408654} + - component: {fileID: 11408664} + - component: {fileID: 11408666} + m_Layer: 5 + m_Name: SR_Content + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22408654 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108656} + 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: 22406254} + 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: 0} + m_Pivot: {x: 0.5, y: 1} +--- !u!114 &11408664 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108656} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} + m_Name: SR_ + 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 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 +--- !u!114 &11408666 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108656} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_HorizontalFit: 0 + m_VerticalFit: 2 +--- !u!1 &108658 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22408656} + - component: {fileID: 11408668} + m_Layer: 5 + m_Name: SR_BorderBot + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22408656 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108658} + 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: 22408690} + m_Father: {fileID: 22408680} + m_RootOrder: 5 + 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} +--- !u!114 &11408668 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108658} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + 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!1 &108660 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22408658} + - component: {fileID: 22208648} + - component: {fileID: 11408672} + - component: {fileID: 11408670} + - component: {fileID: 11412442} + m_Layer: 5 + m_Name: SR_BG + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22408658 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108660} + 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: 22408674} + 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!222 &22208648 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108660} + m_CullTransparentMesh: 0 +--- !u!114 &11408672 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108660} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.21568628, g: 0.21568628, b: 0.21568628, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 2 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &11408670 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108660} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Tab_Header_Background + IgnoreImage: 0 +--- !u!114 &11412442 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108660} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &108662 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22408660} + - component: {fileID: 22208650} + - component: {fileID: 11408678} + - component: {fileID: 11408676} + m_Layer: 5 + m_Name: SR_BorderTop + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22408660 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108662} + 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: 22408650} + 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} +--- !u!222 &22208650 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108662} + m_CullTransparentMesh: 0 +--- !u!114 &11408678 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108662} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.25882354, g: 0.25882354, b: 0.25882354, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &11408676 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108662} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: SideBar_Tab_Border + IgnoreImage: 0 +--- !u!1 &108664 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22408662} + - component: {fileID: 11408682} + - component: {fileID: 11408620} + - component: {fileID: 11408680} + m_Layer: 5 + m_Name: SR_Content + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22408662 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108664} + 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: 22408682} + - {fileID: 22408672} + m_Father: {fileID: 22408676} + 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 &11408682 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108664} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 0 + m_Spacing: 0 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 +--- !u!114 &11408620 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108664} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2415a15c0c9eea041863fc6c1a434ede, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + Entries: + - Components: + - {fileID: 11401174} + GameObjects: [] + Mode: 1 + ThresholdHeight: 0 + ThresholdWidth: 600 + - Components: + - {fileID: 11408680} + GameObjects: [] + Mode: 0 + ThresholdHeight: 0 + ThresholdWidth: 600 +--- !u!114 &11408680 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108664} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 395e9c70b6db8df408e038114524cc0b, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + Elements: + - SizeDefinitions: + - ElementWidth: 95 + ThresholdWidth: 360 + - ElementWidth: 185 + ThresholdWidth: 800 + Target: {fileID: 5629672260531400102} +--- !u!1 &108666 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22408664} + - component: {fileID: 11408684} + - component: {fileID: 11471400} + - component: {fileID: 22246752} + - component: {fileID: 11446752} + m_Layer: 5 + m_Name: SR_Footer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22408664 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108666} + 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: 3915120049643797431} + - {fileID: 22408694} + m_Father: {fileID: 22408680} + m_RootOrder: 7 + 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!114 &11408684 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108666} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: 65 + m_PreferredWidth: -1 + m_PreferredHeight: 65 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &11471400 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108666} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 2 + 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_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, 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_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 11446752} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 11408648} + m_MethodName: ShowAboutTab + 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 +--- !u!222 &22246752 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108666} + m_CullTransparentMesh: 0 +--- !u!114 &11446752 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108666} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &108668 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22408666} + - component: {fileID: 22208652} + - component: {fileID: 11408686} + - component: {fileID: 11479466} + m_Layer: 5 + m_Name: SR_Logo + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22408666 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108668} + 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: 22408684} + 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!222 &22208652 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108668} + m_CullTransparentMesh: 0 +--- !u!114 &11408686 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108668} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 2187241f9bab99244bfd668e9e056e25, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &11479466 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108668} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Icon_Logo + IgnoreImage: 0 +--- !u!1 &108670 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22408668} + - component: {fileID: 11408694} + - component: {fileID: 11408692} + - component: {fileID: 7183719140903056089} + - component: {fileID: 22208654} + - component: {fileID: 11465250} + m_Layer: 5 + m_Name: SR_Tabs + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22408668 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108670} + 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: 22406254} + m_Father: {fileID: 22408680} + m_RootOrder: 4 + 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!114 &11408694 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108670} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Content: {fileID: 22408654} + m_Horizontal: 0 + m_Vertical: 1 + m_MovementType: 2 + m_Elasticity: 0.1 + m_Inertia: 1 + m_DecelerationRate: 0.135 + m_ScrollSensitivity: 40 + m_Viewport: {fileID: 22406254} + m_HorizontalScrollbar: {fileID: 0} + m_VerticalScrollbar: {fileID: 0} + m_HorizontalScrollbarVisibility: 0 + m_VerticalScrollbarVisibility: 0 + m_HorizontalScrollbarSpacing: 0 + m_VerticalScrollbarSpacing: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &11408692 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108670} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + 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 &7183719140903056089 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108670} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3312d7739989d2b4e91e6319e9a96d76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: {x: 0, y: 0, z: 0, w: 0} + m_Softness: {x: 0, y: 0} +--- !u!222 &22208654 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108670} + m_CullTransparentMesh: 0 +--- !u!114 &11465250 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108670} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6f0ff44b792ef2042856036000e22450, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: +--- !u!1 &108674 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22408672} + - component: {fileID: 11408700} + - component: {fileID: 9183768535938270990} + m_Layer: 5 + m_Name: SR_Main + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22408672 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108674} + 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: 22408686} + - {fileID: 3350897897295162741} + - {fileID: 22408644} + - {fileID: 22408674} + m_Father: {fileID: 22408662} + 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: 1} +--- !u!114 &11408700 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108674} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + 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 &9183768535938270990 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108674} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, 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 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 +--- !u!1 &108676 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22408674} + - component: {fileID: 669692603587773928} + - component: {fileID: 7496301775254680474} + - component: {fileID: 863069217956075891} + m_Layer: 5 + m_Name: SR_Header + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22408674 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108676} + 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: 22408658} + - {fileID: 6564215152722829302} + - {fileID: 22408650} + m_Father: {fileID: 22408672} + 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!114 &669692603587773928 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108676} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 6 + m_Spacing: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 +--- !u!114 &7496301775254680474 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108676} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &863069217956075891 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108676} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cb581f748e6cd6d43805081fbb5242f8, type: 3} + m_Name: + m_EditorClassIdentifier: + CopyFrom: {fileID: 3350897897295162741} +--- !u!1 &108678 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22408676} + - component: {fileID: 22308644} + - component: {fileID: 11408706} + - component: {fileID: 11408704} + - component: {fileID: 11408702} + - component: {fileID: 11408708} + - component: {fileID: 22508644} + - component: {fileID: 11455874} + m_Layer: 5 + m_Name: SR_Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22408676 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108678} + 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: 22408662} + m_Father: {fileID: 408644} + 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} +--- !u!223 &22308644 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108678} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 1 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 25 + m_SortingLayerID: 0 + m_SortingOrder: 120 + m_TargetDisplay: 0 +--- !u!114 &11408706 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108678} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 1 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 92 + m_DefaultSpriteDPI: 92 + m_DynamicPixelsPerUnit: 1 +--- !u!114 &11408704 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108678} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &11408702 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108678} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d1bf029da478aff42a6d6e0ed8e21203, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + StyleSheet: {fileID: 11400000, guid: cdfb48dd49c2d7a4d9f8805cd96e0241, type: 2} +--- !u!114 &11408708 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108678} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 58bc4004a23c662408dd40e6d01ac936, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _disablePixelPerfect: 1 + _designDpi: 136 +--- !u!225 &22508644 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108678} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 +--- !u!114 &11455874 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108678} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f0ad3d8afa9fd64429a249b5bbb19557, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: +--- !u!1 &108682 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22408680} + - component: {fileID: 11408716} + m_Layer: 5 + m_Name: SR_Content + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22408680 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108682} + 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: 8354210815776441358} + - {fileID: 22408684} + - {fileID: 22471838} + - {fileID: 2025785291040318029} + - {fileID: 22408668} + - {fileID: 22408656} + - {fileID: 7688119205904931680} + - {fileID: 22408664} + - {fileID: 8218077548808656397} + m_Father: {fileID: 22408682} + 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!114 &11408716 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108682} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} + m_Name: SR_ + 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 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 +--- !u!1 &108684 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22408682} + - component: {fileID: 7059098901942704486} + - component: {fileID: 11408718} + m_Layer: 5 + m_Name: SR_SideBar + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22408682 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108684} + 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: 22408696} + - {fileID: 22408680} + - {fileID: 22408648} + m_Father: {fileID: 22408662} + 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!114 &7059098901942704486 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108684} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, 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: 0 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 +--- !u!114 &11408718 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108684} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: 60 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: 0 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &108686 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22408684} + - component: {fileID: 11408722} + - component: {fileID: 5245647052463653264} + m_Layer: 5 + m_Name: SR_Header + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22408684 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108686} + 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: 7675578889185745364} + - {fileID: 22408666} + m_Father: {fileID: 22408680} + 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!114 &11408722 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108686} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: 41 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &5245647052463653264 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108686} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 5 + m_Right: 5 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 4 + m_Spacing: 0 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 +--- !u!1 &108688 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22408686} + - component: {fileID: 22208660} + - component: {fileID: 11408728} + - component: {fileID: 11408726} + - component: {fileID: 11444470} + - component: {fileID: 5195938437043570377} + m_Layer: 5 + m_Name: SR_Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22408686 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108688} + 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: 22408672} + 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: 2} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &22208660 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108688} + m_CullTransparentMesh: 0 +--- !u!114 &11408728 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108688} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.20392157, g: 0.20392157, b: 0.20392157, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &11408726 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108688} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Tab_Background + IgnoreImage: 0 +--- !u!114 &11444470 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108688} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a819a08c122d6474a848377ee7ba3192, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + TransparentStyleKey: Tab_Background_Transparent + _styleSheet: {fileID: 11400000, guid: cdfb48dd49c2d7a4d9f8805cd96e0241, type: 2} +--- !u!114 &5195938437043570377 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108688} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &108690 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22408688} + - component: {fileID: 22208662} + - component: {fileID: 11408732} + - component: {fileID: 11408730} + - component: {fileID: 11412432} + m_Layer: 5 + m_Name: SR_Title + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22408688 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108690} + 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: 6564215152722829302} + 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, y: 0.5} +--- !u!222 &22208662 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108690} + m_CullTransparentMesh: 0 +--- !u!114 &11408732 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108690} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.99607843, g: 0.99607843, b: 0.99607843, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 4e46f78eb6d69074d9b4fe427bb2f1a2, type: 3} + m_FontSize: 18 + m_FontStyle: 0 + m_BestFit: 1 + m_MinSize: 6 + m_MaxSize: 18 + m_Alignment: 3 + m_AlignByGeometry: 1 + m_RichText: 0 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 0.83 + m_Text: TAB HEADER TEXT +--- !u!114 &11408730 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108690} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Tab_Header_Text + IgnoreImage: 0 +--- !u!114 &11412432 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108690} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: 18 + m_FlexibleWidth: 1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &108692 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22408690} + - component: {fileID: 22208664} + - component: {fileID: 11408738} + - component: {fileID: 11408736} + - component: {fileID: 11408734} + m_Layer: 5 + m_Name: SR_BorderBot + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22408690 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108692} + 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: 22408656} + 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} +--- !u!222 &22208664 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108692} + m_CullTransparentMesh: 0 +--- !u!114 &11408738 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108692} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.25882354, g: 0.25882354, b: 0.25882354, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &11408736 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108692} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: SideBar_Tab_Border + IgnoreImage: 0 +--- !u!114 &11408734 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108692} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + 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!1 &108696 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22408694} + - component: {fileID: 22208668} + - component: {fileID: 11408742} + - component: {fileID: 11408744} + - component: {fileID: 11429740} + m_Layer: 5 + m_Name: SR_Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22408694 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108696} + 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: 22408664} + m_RootOrder: 1 + 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: 51, y: 51} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &22208668 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108696} + m_CullTransparentMesh: 0 +--- !u!114 &11408742 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108696} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 534e3ec14cd78434b8676eec8a7fd9ba, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &11408744 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108696} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 64 + m_PreferredHeight: 64 + m_FlexibleWidth: 0 + m_FlexibleHeight: 0 + m_LayoutPriority: 1 +--- !u!114 &11429740 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108696} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Icon_Stompy + IgnoreImage: 0 +--- !u!1 &108698 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22408696} + - component: {fileID: 22208670} + - component: {fileID: 11408748} + - component: {fileID: 11408746} + - component: {fileID: 3890701369909698223} + m_Layer: 5 + m_Name: SR_Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22408696 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108698} + 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: 22408682} + 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, y: 1} +--- !u!222 &22208670 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108698} + m_CullTransparentMesh: 0 +--- !u!114 &11408748 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108698} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 72f587d74eb73bb4789dd3f6f10b3600, type: 3} + m_Type: 2 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &11408746 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108698} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: SideBar_Background + IgnoreImage: 0 +--- !u!114 &3890701369909698223 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108698} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &112426 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22412426} + - component: {fileID: 22212426} + - component: {fileID: 11412428} + m_Layer: 5 + m_Name: SR_BG + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22412426 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 112426} + 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: 22412432} + 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!222 &22212426 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 112426} + m_CullTransparentMesh: 0 +--- !u!114 &11412428 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 112426} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &112430 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22412430} + - component: {fileID: 22212428} + - component: {fileID: 11412436} + - component: {fileID: 11424494} + m_Layer: 5 + m_Name: SR_Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22412430 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 112430} + 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: 22412432} + m_RootOrder: 1 + 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: 25, y: 25} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &22212428 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 112430} + m_CullTransparentMesh: 0 +--- !u!114 &11412436 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 112430} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 48ee5588255d30d4e93c3d7627144a7c, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &11424494 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 112430} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Icon_Menu + IgnoreImage: 0 +--- !u!1 &112432 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22412432} + - component: {fileID: 11412438} + - component: {fileID: 11412434} + - component: {fileID: 11412426} + m_Layer: 5 + m_Name: SR_MenuButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &22412432 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 112432} + 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: 22412426} + - {fileID: 22412430} + m_Father: {fileID: 6564215152722829302} + 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: 21, y: -20} + m_SizeDelta: {x: 42, y: 40} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &11412438 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 112432} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 0.25882354, g: 0.25882354, b: 0.25882354, a: 0} + m_HighlightedColor: {r: 0.3254902, g: 0.3254902, b: 0.3254902, a: 1} + m_PressedColor: {r: 0.15294118, g: 0.15294118, b: 0.15294118, a: 1} + m_SelectedColor: {r: 0.3254902, g: 0.3254902, b: 0.3254902, a: 1} + m_DisabledColor: {r: 0.25882354, g: 0.25882354, b: 0.25882354, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 11412428} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 11401174} + m_MethodName: Open + 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 +--- !u!114 &11412434 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 112432} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 42 + m_PreferredHeight: 42 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &11412426 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 112432} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Options_Item_Button + IgnoreImage: 0 +--- !u!1 &117650 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22417650} + - component: {fileID: 11465410} + - component: {fileID: 11417648} + - component: {fileID: 11417654} + - component: {fileID: 11417644} + m_Layer: 5 + m_Name: SR_CloseButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22417650 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 117650} + 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: 22417656} + - {fileID: 22417652} + m_Father: {fileID: 6564215152722829302} + m_RootOrder: 4 + 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!114 &11465410 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 117650} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3fc6d8b69639fdc45a849df5b853c783, type: 3} + m_Name: SR_ + 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: 0.25882354, g: 0.25882354, b: 0.25882354, a: 0} + m_HighlightedColor: {r: 0.3254902, g: 0.3254902, b: 0.3254902, a: 1} + m_PressedColor: {r: 0.15294118, g: 0.15294118, b: 0.15294118, a: 1} + m_SelectedColor: {r: 0.3254902, g: 0.3254902, b: 0.3254902, a: 1} + m_DisabledColor: {r: 0.25882354, g: 0.25882354, b: 0.25882354, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 11417652} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 11408644} + m_MethodName: Close + 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 + _onLongPress: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 11408644} + m_MethodName: CloseAndDestroy + 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 + LongPressDuration: 0.9 +--- !u!114 &11417648 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 117650} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 40 + m_PreferredHeight: 40 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &11417654 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 117650} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Options_Item_Button + IgnoreImage: 0 +--- !u!114 &11417644 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 117650} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 0.25882354, g: 0.25882354, b: 0.25882354, a: 0} + m_HighlightedColor: {r: 0.3254902, g: 0.3254902, b: 0.3254902, a: 1} + m_PressedColor: {r: 0.15294118, g: 0.15294118, b: 0.15294118, a: 1} + m_SelectedColor: {r: 0.3254902, g: 0.3254902, b: 0.3254902, a: 1} + m_DisabledColor: {r: 0.25882354, g: 0.25882354, b: 0.25882354, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 11417652} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 11408644} + m_MethodName: Close + 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 +--- !u!1 &117652 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22417652} + - component: {fileID: 22217654} + - component: {fileID: 11417646} + - component: {fileID: 11417656} + m_Layer: 5 + m_Name: SR_Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22417652 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 117652} + 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: 22417650} + m_RootOrder: 1 + 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: 25, y: 25} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &22217654 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 117652} + m_CullTransparentMesh: 0 +--- !u!114 &11417646 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 117652} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 8ccc360b0ed61e54ba5d8fa329ca8988, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &11417656 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 117652} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Icon_Close + IgnoreImage: 0 +--- !u!1 &117654 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22417654} + - component: {fileID: 11417650} + m_Layer: 5 + m_Name: SR_Padding + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22417654 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 117654} + 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: 6564215152722829302} + 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!114 &11417650 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 117654} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: 10 + m_MinHeight: -1 + m_PreferredWidth: 10 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &117656 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22417656} + - component: {fileID: 22217656} + - component: {fileID: 11417652} + m_Layer: 5 + m_Name: SR_BG + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22417656 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 117656} + 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: 22417650} + 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!222 &22217656 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 117656} + m_CullTransparentMesh: 0 +--- !u!114 &11417652 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 117656} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &171836 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22471836} + - component: {fileID: 22271838} + - component: {fileID: 11471832} + - component: {fileID: 11471834} + m_Layer: 5 + m_Name: SR_BorderTop + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22471836 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 171836} + 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: 22471838} + 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.5} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0} +--- !u!222 &22271838 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 171836} + m_CullTransparentMesh: 0 +--- !u!114 &11471832 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 171836} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.25882354, g: 0.25882354, b: 0.25882354, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &11471834 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 171836} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: SideBar_Tab_Border + IgnoreImage: 0 +--- !u!1 &171838 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22471838} + - component: {fileID: 11471838} + m_Layer: 5 + m_Name: SR_BorderTop + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22471838 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 171838} + 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: 22471836} + m_Father: {fileID: 22408680} + 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} +--- !u!114 &11471838 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 171838} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + 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!1 &193820 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22493820} + - component: {fileID: 11493820} + - component: {fileID: 11471638} + m_Layer: 5 + m_Name: SR_Content + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22493820 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 193820} + 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: 6564215152722829302} + 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.5, y: 0.5} +--- !u!114 &11493820 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 193820} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: 40 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &11471638 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 193820} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 5 + m_Spacing: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 +--- !u!1 &1633622729134934479 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2025785291040318029} + - component: {fileID: 9192381188171846192} + m_Layer: 0 + m_Name: SR_ViewportLayout + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2025785291040318029 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1633622729134934479} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 20.75} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2937179389669823725} + - {fileID: 5629672260531400102} + m_Father: {fileID: 22408680} + 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.5, y: 0.5} +--- !u!114 &9192381188171846192 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1633622729134934479} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, 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: 0 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 +--- !u!1 &1992505646809844763 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3915120049643797431} + - component: {fileID: 677402580393833581} + m_Layer: 0 + m_Name: SR_SafeAreaPadding + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3915120049643797431 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1992505646809844763} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 20.75} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 22408664} + 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: 5, y: 882} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &677402580393833581 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1992505646809844763} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 00b72250a6a48194fbecb6ed8b983720, type: 3} + m_Name: + m_EditorClassIdentifier: + _edge: 0 + Scale: 0.8 +--- !u!1 &2276232515761104818 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7675578889185745364} + - component: {fileID: 446741282434309207} + m_Layer: 0 + m_Name: SR_SafeAreaPadding + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7675578889185745364 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2276232515761104818} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 20.75} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 22408684} + 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!114 &446741282434309207 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2276232515761104818} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 00b72250a6a48194fbecb6ed8b983720, type: 3} + m_Name: + m_EditorClassIdentifier: + _edge: 0 + Scale: 0.8 +--- !u!1 &2399568788453326601 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6564215152722829302} + - component: {fileID: 5842710458281029800} + - component: {fileID: 3674431899002987934} + m_Layer: 5 + m_Name: SR_MenuBar + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6564215152722829302 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2399568788453326601} + 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: 22412432} + - {fileID: 22417654} + - {fileID: 22408688} + - {fileID: 22493820} + - {fileID: 22417650} + - {fileID: 7660394993829833579} + m_Father: {fileID: 22408674} + 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!114 &5842710458281029800 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2399568788453326601} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, 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 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 +--- !u!114 &3674431899002987934 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2399568788453326601} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: 40 + m_PreferredWidth: -1 + m_PreferredHeight: 40 + m_FlexibleWidth: -1 + m_FlexibleHeight: 0 + m_LayoutPriority: 1 +--- !u!1 &3184537752044081249 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5629672260531400102} + - component: {fileID: 6398052368401373787} + m_Layer: 0 + m_Name: SR_Sizer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5629672260531400102 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3184537752044081249} + 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: 2025785291040318029} + 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!114 &6398052368401373787 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3184537752044081249} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 185 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &3808339065377150447 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2937179389669823725} + - component: {fileID: 3025714081368958224} + m_Layer: 0 + m_Name: SR_SafeAreaPadding + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2937179389669823725 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3808339065377150447} + 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: 2025785291040318029} + 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!114 &3025714081368958224 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3808339065377150447} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 00b72250a6a48194fbecb6ed8b983720, type: 3} + m_Name: + m_EditorClassIdentifier: + _edge: 0 + Scale: 1 +--- !u!1 &5228203936297046835 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7210500830217550559} + - component: {fileID: 7461398979788386398} + m_Layer: 5 + m_Name: SR_HeaderContentsPlaceholder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7210500830217550559 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5228203936297046835} + 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: 3350897897295162741} + 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!114 &7461398979788386398 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5228203936297046835} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: 41 + m_PreferredWidth: -1 + m_PreferredHeight: 41 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &5455849362435196569 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3350897897295162741} + - component: {fileID: 5599433513711034684} + - component: {fileID: 3476367748727509883} + m_Layer: 5 + m_Name: SR_HeaderPositionPlaceholder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3350897897295162741 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5455849362435196569} + 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: 8427262829401505738} + - {fileID: 7210500830217550559} + m_Father: {fileID: 22408672} + 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!114 &5599433513711034684 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5455849362435196569} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, 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: 1 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 +--- !u!114 &3476367748727509883 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5455849362435196569} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: 0 + m_FlexibleHeight: 0 + m_LayoutPriority: 1 +--- !u!1 &5971873785549621497 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8218077548808656397} + - component: {fileID: 1816833445081453435} + m_Layer: 0 + m_Name: SR_SafeAreaPadding + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8218077548808656397 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5971873785549621497} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 20.75} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 22408680} + m_RootOrder: 8 + 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!114 &1816833445081453435 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5971873785549621497} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 00b72250a6a48194fbecb6ed8b983720, type: 3} + m_Name: + m_EditorClassIdentifier: + _edge: 3 + Scale: 0.8 +--- !u!1 &6551599965287040658 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7688119205904931680} + - component: {fileID: 3969720879441369533} + m_Layer: 5 + m_Name: SR_Padding + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7688119205904931680 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6551599965287040658} + 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: 22408680} + m_RootOrder: 6 + 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!114 &3969720879441369533 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6551599965287040658} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: 5 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &7048687698098294079 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7660394993829833579} + - component: {fileID: 6960150134747544563} + m_Layer: 5 + m_Name: SR_SafeAreaPadding + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7660394993829833579 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7048687698098294079} + 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: 6564215152722829302} + m_RootOrder: 5 + 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!114 &6960150134747544563 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7048687698098294079} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 00b72250a6a48194fbecb6ed8b983720, type: 3} + m_Name: + m_EditorClassIdentifier: + _edge: 1 + Scale: 1 +--- !u!1 &7470919625926583321 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8427262829401505738} + - component: {fileID: 6386956874723559825} + m_Layer: 5 + m_Name: SR_SafeAreaPadding + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8427262829401505738 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7470919625926583321} + 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: 3350897897295162741} + 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!114 &6386956874723559825 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7470919625926583321} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 00b72250a6a48194fbecb6ed8b983720, type: 3} + m_Name: + m_EditorClassIdentifier: + _edge: 2 + Scale: 1 +--- !u!1 &7971109814286506168 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8354210815776441358} + - component: {fileID: 7173379586220923627} + m_Layer: 0 + m_Name: SR_SafeAreaPadding + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8354210815776441358 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7971109814286506168} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 20.75} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 22408680} + 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!114 &7173379586220923627 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7971109814286506168} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 00b72250a6a48194fbecb6ed8b983720, type: 3} + m_Name: + m_EditorClassIdentifier: + _edge: 2 + Scale: 1 diff --git a/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/DebugPanel.prefab.meta b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/DebugPanel.prefab.meta new file mode 100644 index 0000000..d7de21d --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/DebugPanel.prefab.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 3484bf178624a77488fdf8a593f2d7a0 +NativeFormatImporter: + userData: diff --git a/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/DockConsole.prefab b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/DockConsole.prefab new file mode 100644 index 0000000..3ef9ee0 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/DockConsole.prefab @@ -0,0 +1,40 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &174538 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 474508} + m_Layer: 0 + m_Name: DockConsole + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &474508 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 174538} + 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: 0 +--- !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: 174538} + m_IsPrefabParent: 1 diff --git a/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/DockConsole.prefab.meta b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/DockConsole.prefab.meta new file mode 100644 index 0000000..47473ef --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/DockConsole.prefab.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: e574103baba252a409527f51a20b3a29 +NativeFormatImporter: + userData: diff --git a/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Options.meta b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Options.meta new file mode 100644 index 0000000..af5e9fb --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Options.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 84bcdd02525430a4ea2342c43b924a76 +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Options/ActionOption.prefab b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Options/ActionOption.prefab new file mode 100644 index 0000000..2528b9f --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Options/ActionOption.prefab @@ -0,0 +1,547 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &119626 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22419626} + - 222: {fileID: 22219628} + - 114: {fileID: 11419624} + - 114: {fileID: 11419622} + - 114: {fileID: 11434580} + m_Layer: 5 + m_Name: SR_Indicator + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &119628 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22419628} + - 222: {fileID: 22219626} + - 114: {fileID: 11419628} + - 114: {fileID: 11419626} + - 114: {fileID: 11470742} + - 114: {fileID: 11470740} + m_Layer: 5 + m_Name: SR_SelectionToggle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195840 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495840} + - 222: {fileID: 22295842} + - 114: {fileID: 11495832} + - 114: {fileID: 11495830} + m_Layer: 5 + m_Name: SR_Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195842 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495844} + - 222: {fileID: 22295844} + - 114: {fileID: 11495840} + - 114: {fileID: 11495838} + m_Layer: 5 + m_Name: SR_BG + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195844 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495842} + - 114: {fileID: 11495834} + - 114: {fileID: 11495842} + - 114: {fileID: 11495836} + - 114: {fileID: 11495844} + - 114: {fileID: 11488334} + m_Layer: 5 + m_Name: ActionOption + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &11419622 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 119626} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Options_SelectionToggleBackground + IgnoreImage: 0 +--- !u!114 &11419624 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 119626} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: .396078438, g: .396078438, b: .396078438, a: 1} + 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 &11419626 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 119628} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 +--- !u!114 &11419628 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 119628} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 2109663825, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + 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: .397058845, g: .397058845, b: .397058845, a: 0} + m_HighlightedColor: {r: .325490206, g: .325490206, b: .325490206, a: .392156869} + m_PressedColor: {r: .152941182, g: .152941182, b: .152941182, a: 0} + m_DisabledColor: {r: .258823544, g: .258823544, b: .258823544, a: 0} + m_ColorMultiplier: 1 + m_FadeDuration: .0500000007 + 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: 11470742} + toggleTransition: 0 + graphic: {fileID: 11419624} + 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 &11434580 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 119626} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 +--- !u!114 &11470740 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 119628} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Options_SelectionToggle + IgnoreImage: 0 +--- !u!114 &11470742 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 119628} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + 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 &11488334 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195844} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 40436e7c301de034f916ee1e7ddabeeb, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: +--- !u!114 &11495830 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195840} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Options_Name + IgnoreImage: 0 +--- !u!114 &11495832 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195840} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FontData: + m_Font: {fileID: 12800000, guid: dff6bf51d54250840bdef2ca8260c146, type: 3} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Action Test +--- !u!114 &11495834 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195844} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -405508275, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Padding: + m_Left: 15 + m_Right: 15 + m_Top: 13 + m_Bottom: 13 + m_ChildAlignment: 3 + m_Spacing: 5 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 +--- !u!114 &11495836 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195844} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Options_Item_Background + IgnoreImage: 0 +--- !u!114 &11495838 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195842} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 +--- !u!114 &11495840 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195842} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: .996078432, g: .996078432, b: .996078432, a: 1} + 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 &11495842 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195844} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + 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: .258823544, g: .258823544, b: .258823544, a: 1} + m_HighlightedColor: {r: .323529422, g: .323529422, b: .323529422, a: 1} + m_PressedColor: {r: .154411793, g: .154411793, b: .154411793, a: 1} + m_DisabledColor: {r: .258823544, g: .258823544, b: .258823544, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: .100000001 + 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: 11495840} + 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 &11495844 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195844} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6c637c8d0d16d024fa920dda64fb38db, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + SelectionModeToggle: {fileID: 11419628} + Button: {fileID: 11495842} + Title: {fileID: 11495832} +--- !u!222 &22219626 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 119628} +--- !u!222 &22219628 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 119626} +--- !u!222 &22295842 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195840} +--- !u!222 &22295844 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195842} +--- !u!224 &22419626 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 119626} + 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: 22495842} + m_RootOrder: 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: .5, y: .5} +--- !u!224 &22419628 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 119628} + 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: 22495842} + m_RootOrder: 3 + 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: .5, y: .5} +--- !u!224 &22495840 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195840} + 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: 22495842} + m_RootOrder: 2 + 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: .5, y: .5} +--- !u!224 &22495842 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195844} + 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: 22419626} + - {fileID: 22495844} + - {fileID: 22495840} + - {fileID: 22419628} + m_Father: {fileID: 0} + m_RootOrder: 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: .5, y: .5} +--- !u!224 &22495844 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195842} + 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: 22495842} + m_RootOrder: 1 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -10, y: -10} + m_Pivot: {x: .5, y: .5} +--- !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: 195844} + m_IsPrefabParent: 1 diff --git a/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Options/ActionOption.prefab.meta b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Options/ActionOption.prefab.meta new file mode 100644 index 0000000..70ba984 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Options/ActionOption.prefab.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 308ca70361d90ed40bcc5c69d973f7ae +NativeFormatImporter: + userData: diff --git a/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Options/BoolOption.prefab b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Options/BoolOption.prefab new file mode 100644 index 0000000..6376731 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Options/BoolOption.prefab @@ -0,0 +1,694 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &115818 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22415818} + - 222: {fileID: 22215818} + - 114: {fileID: 11415814} + - 114: {fileID: 11415816} + - 114: {fileID: 11415818} + m_Layer: 5 + m_Name: SR_SelectionIndicator + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &132286 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22432286} + - 222: {fileID: 22232288} + - 114: {fileID: 11432282} + - 114: {fileID: 11432284} + - 114: {fileID: 11474626} + - 114: {fileID: 11474628} + m_Layer: 5 + m_Name: SR_SelectionToggle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &185184 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22485184} + - 222: {fileID: 22285186} + - 114: {fileID: 11485174} + - 114: {fileID: 11485172} + m_Layer: 5 + m_Name: SR_CheckBack + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &185186 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22485186} + - 222: {fileID: 22285188} + - 114: {fileID: 11485176} + - 114: {fileID: 11485178} + m_Layer: 5 + m_Name: SR_Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &185188 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22485188} + - 114: {fileID: 11485180} + - 114: {fileID: 11485182} + - 114: {fileID: 11485184} + - 114: {fileID: 11419250} + - 114: {fileID: 11429362} + m_Layer: 5 + m_Name: BoolOption + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &185190 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22485190} + - 222: {fileID: 22285190} + - 114: {fileID: 11485186} + m_Layer: 5 + m_Name: SR_CheckMark + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &185192 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22485192} + - 222: {fileID: 22285192} + - 114: {fileID: 11485192} + - 114: {fileID: 11485190} + m_Layer: 5 + m_Name: SR_BG + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &11415814 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 115818} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: .396078438, g: .396078438, b: .396078438, a: 1} + 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 &11415816 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 115818} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Options_SelectionToggleBackground + IgnoreImage: 0 +--- !u!114 &11415818 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 115818} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 +--- !u!114 &11419250 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185188} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 645dcae76b625be40b595e4bbc27abb6, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + SelectionModeToggle: {fileID: 11432282} + Title: {fileID: 11485176} + Toggle: {fileID: 11485182} +--- !u!114 &11429362 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185188} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 40436e7c301de034f916ee1e7ddabeeb, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: +--- !u!114 &11432282 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 132286} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 2109663825, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + 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: .397058845, g: .397058845, b: .397058845, a: 0} + m_HighlightedColor: {r: .325490206, g: .325490206, b: .325490206, a: 1} + m_PressedColor: {r: .152941182, g: .152941182, b: .152941182, a: 1} + m_DisabledColor: {r: .258823544, g: .258823544, b: .258823544, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: .100000001 + 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: 11474626} + toggleTransition: 0 + graphic: {fileID: 11415814} + 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 &11432284 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 132286} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 +--- !u!114 &11474626 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 132286} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + 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 &11474628 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 132286} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Options_SelectionToggle + IgnoreImage: 0 +--- !u!114 &11485172 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185184} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 20 + m_PreferredHeight: 20 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 +--- !u!114 &11485174 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185184} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + 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 &11485176 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185186} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FontData: + m_Font: {fileID: 12800000, guid: dff6bf51d54250840bdef2ca8260c146, type: 3} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Toggle Test +--- !u!114 &11485178 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185186} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Options_Name + IgnoreImage: 0 +--- !u!114 &11485180 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185188} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -405508275, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Padding: + m_Left: 15 + m_Right: 15 + m_Top: 13 + m_Bottom: 13 + m_ChildAlignment: 3 + m_Spacing: 5 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 +--- !u!114 &11485182 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185188} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 2109663825, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + 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: .258823544, g: .258823544, b: .258823544, a: 1} + m_HighlightedColor: {r: .323529422, g: .323529422, b: .323529422, a: 1} + m_PressedColor: {r: .154411793, g: .154411793, b: .154411793, a: 1} + m_DisabledColor: {r: .258823544, g: .258823544, b: .258823544, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: .00999999978 + 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: 11485192} + toggleTransition: 0 + graphic: {fileID: 11485186} + 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 &11485184 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185188} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Options_Item_Background + IgnoreImage: 0 +--- !u!114 &11485186 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185190} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + 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 &11485190 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185192} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 +--- !u!114 &11485192 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185192} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: .996078432, g: .996078432, b: .996078432, a: 1} + 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 &22215818 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 115818} +--- !u!222 &22232288 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 132286} +--- !u!222 &22285186 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185184} +--- !u!222 &22285188 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185186} +--- !u!222 &22285190 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185190} +--- !u!222 &22285192 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185192} +--- !u!224 &22415818 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 115818} + 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: 22485188} + m_RootOrder: 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: .5, y: .5} +--- !u!224 &22432286 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 132286} + 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: 22485188} + m_RootOrder: 4 + 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: .5, y: .5} +--- !u!224 &22485184 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185184} + 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: 22485190} + m_Father: {fileID: 22485188} + m_RootOrder: 2 + 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: .5, y: .5} +--- !u!224 &22485186 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185186} + 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: 22485188} + m_RootOrder: 3 + 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: .5, y: .5} +--- !u!224 &22485188 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185188} + 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: 22415818} + - {fileID: 22485192} + - {fileID: 22485184} + - {fileID: 22485186} + - {fileID: 22432286} + m_Father: {fileID: 0} + m_RootOrder: 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: .5, y: .5} +--- !u!224 &22485190 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185190} + 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: 22485184} + m_RootOrder: 0 + m_AnchorMin: {x: .5, y: .5} + m_AnchorMax: {x: .5, y: .5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 20} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22485192 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185192} + 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: 22485188} + m_RootOrder: 1 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -10, y: -10} + m_Pivot: {x: .5, y: .5} +--- !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: 185188} + m_IsPrefabParent: 1 diff --git a/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Options/BoolOption.prefab.meta b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Options/BoolOption.prefab.meta new file mode 100644 index 0000000..2f92a67 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Options/BoolOption.prefab.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: c00f61f0f69828745b7ef9145737e260 +NativeFormatImporter: + userData: diff --git a/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Options/EnumOption.prefab b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Options/EnumOption.prefab new file mode 100644 index 0000000..7c77ff1 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Options/EnumOption.prefab @@ -0,0 +1,1440 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &133318 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22433318} + - component: {fileID: 11433322} + - component: {fileID: 11433324} + - component: {fileID: 11463834} + - component: {fileID: 11436848} + - component: {fileID: 6822306026246044915} + m_Layer: 5 + m_Name: EnumOption + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22433318 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 133318} + 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: 22499506} + - {fileID: 22484448} + - {fileID: 22433320} + - {fileID: 22433324} + - {fileID: 22433332} + - {fileID: 22433334} + - {fileID: 22499504} + 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.5, y: 0.5} +--- !u!114 &11433322 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 133318} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Options_Item_Background + IgnoreImage: 0 +--- !u!114 &11433324 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 133318} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: 160 + m_MinHeight: 50 + m_PreferredWidth: -1 + m_PreferredHeight: 50 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &11463834 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 133318} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3b7f14311f0b3f442b273192dc8ffe4d, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + SelectionModeToggle: {fileID: 11499504} + ContentLayoutElement: {fileID: 11433332} + DisableOnReadOnly: + - {fileID: 133332} + - {fileID: 133324} + Spinner: {fileID: 11426528} + Title: {fileID: 11433350} + Value: {fileID: 11433338} +--- !u!114 &11436848 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 133318} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 40436e7c301de034f916ee1e7ddabeeb, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: +--- !u!114 &6822306026246044915 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 133318} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d5c292f06a2fb3644aac9698b40bd348, 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 + CopySources: + - Rect: {fileID: 22433326} + PaddingHeight: 10 + PaddingWidth: 70 + - Rect: {fileID: 22433334} + PaddingHeight: 10 + PaddingWidth: 20 + Operation: 0 +--- !u!1 &133320 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22433320} + - component: {fileID: 11433332} + - component: {fileID: 11433330} + - component: {fileID: 22233318} + - component: {fileID: 11433326} + - component: {fileID: 11426528} + m_Layer: 5 + m_Name: SR_Contents + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22433320 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 133320} + 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: 22433326} + m_Father: {fileID: 22433318} + 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: 0, y: 0} + m_SizeDelta: {x: -80, y: -10} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &11433332 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 133320} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 81 + m_PreferredHeight: -1 + m_FlexibleWidth: 1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &11433330 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 133320} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Options_Item_Background + IgnoreImage: 0 +--- !u!222 &22233318 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 133320} + m_CullTransparentMesh: 0 +--- !u!114 &11433326 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 133320} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &11426528 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 133320} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0b9fa4d99839aa940b36addec78cb92f, type: 3} + m_Name: SR_ + 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: 0.25882354, g: 0.25882354, b: 0.25882354, a: 1} + m_HighlightedColor: {r: 0.32352942, g: 0.32352942, b: 0.32352942, a: 1} + m_PressedColor: {r: 0.1544118, g: 0.1544118, b: 0.1544118, a: 1} + m_SelectedColor: {r: 0.32352942, g: 0.32352942, b: 0.32352942, a: 1} + m_DisabledColor: {r: 0.25882354, g: 0.25882354, b: 0.25882354, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 11433326} + _onSpinDecrement: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 11463834} + m_MethodName: GoToPrevious + 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 + _onSpinIncrement: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 11463834} + m_MethodName: GoToNext + 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 + DragThreshold: 55 +--- !u!1 &133324 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22433324} + - component: {fileID: 11463842} + - component: {fileID: 11463836} + m_Layer: 5 + m_Name: SR_ButtonDown + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22433324 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 133324} + 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: 22484450} + - {fileID: 22484452} + m_Father: {fileID: 22433318} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 5, y: 0} + m_SizeDelta: {x: 35, y: -10} + m_Pivot: {x: 0, y: 0.5} +--- !u!114 &11463842 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 133324} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: SR_ + 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: 0.25882354, g: 0.25882354, b: 0.25882354, a: 0} + m_HighlightedColor: {r: 0.3254902, g: 0.3254902, b: 0.3254902, a: 1} + m_PressedColor: {r: 0.15294118, g: 0.15294118, b: 0.15294118, a: 1} + m_SelectedColor: {r: 0.3254902, g: 0.3254902, b: 0.3254902, a: 1} + m_DisabledColor: {r: 0.25882354, g: 0.25882354, b: 0.25882354, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 11484448} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 11463834} + m_MethodName: GoToPrevious + 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 +--- !u!114 &11463836 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 133324} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Options_Item_Button + IgnoreImage: 0 +--- !u!1 &133326 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22433326} + - component: {fileID: 22233322} + - component: {fileID: 11433338} + - component: {fileID: 11433340} + m_Layer: 5 + m_Name: SR_Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22433326 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 133326} + 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: 22433320} + 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: -5} + m_SizeDelta: {x: 0, y: -30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &22233322 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 133326} + m_CullTransparentMesh: 0 +--- !u!114 &11433338 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 133326} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: dff6bf51d54250840bdef2ca8260c146, type: 3} + m_FontSize: 10 + m_FontStyle: 0 + m_BestFit: 1 + m_MinSize: 8 + m_MaxSize: 12 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 0 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Some Value +--- !u!114 &11433340 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 133326} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Options_Name + IgnoreImage: 0 +--- !u!1 &133330 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22433330} + - component: {fileID: 22233326} + - component: {fileID: 11433344} + m_Layer: 5 + m_Name: SR_Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22433330 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 133330} + 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: 22433332} + 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: -4} + m_SizeDelta: {x: 0, y: -8} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &22233326 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 133330} + m_CullTransparentMesh: 0 +--- !u!114 &11433344 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 133330} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.9705882, g: 0.9705882, b: 0.9705882, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: db8aec58b7ce99443a1c4f5cd4d9e408, type: 3} + 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!1 &133332 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22433332} + - component: {fileID: 11463840} + - component: {fileID: 11463838} + m_Layer: 5 + m_Name: SR_ButtonUp + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22433332 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 133332} + 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: 22433336} + - {fileID: 22433330} + m_Father: {fileID: 22433318} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -5, y: 0} + m_SizeDelta: {x: 35, y: -10} + m_Pivot: {x: 1, y: 0.5} +--- !u!114 &11463840 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 133332} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: SR_ + 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: 0.25882354, g: 0.25882354, b: 0.25882354, a: 0} + m_HighlightedColor: {r: 0.3254902, g: 0.3254902, b: 0.3254902, a: 1} + m_PressedColor: {r: 0.15294118, g: 0.15294118, b: 0.15294118, a: 1} + m_SelectedColor: {r: 0.3254902, g: 0.3254902, b: 0.3254902, a: 1} + m_DisabledColor: {r: 0.25882354, g: 0.25882354, b: 0.25882354, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 11433354} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 11463834} + m_MethodName: GoToNext + 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 +--- !u!114 &11463838 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 133332} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Options_Item_Button + IgnoreImage: 0 +--- !u!1 &133334 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22433334} + - component: {fileID: 22233328} + - component: {fileID: 11433350} + - component: {fileID: 11433352} + - component: {fileID: 11433348} + - component: {fileID: 22574564} + m_Layer: 5 + m_Name: SR_Title + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22433334 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 133334} + 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: 22433318} + m_RootOrder: 5 + 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: -6} + m_SizeDelta: {x: -10, y: 15} + m_Pivot: {x: 0.5, y: 1} +--- !u!222 &22233328 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 133334} + m_CullTransparentMesh: 0 +--- !u!114 &11433350 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 133334} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: dff6bf51d54250840bdef2ca8260c146, type: 3} + m_FontSize: 11 + 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: 0.76 + m_Text: Some Enum +--- !u!114 &11433352 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 133334} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Options_Name + IgnoreImage: 0 +--- !u!114 &11433348 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 133334} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!225 &22574564 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 133334} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 0 + m_BlocksRaycasts: 0 + m_IgnoreParentGroups: 0 +--- !u!1 &133336 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22433336} + - component: {fileID: 22233330} + - component: {fileID: 11433354} + m_Layer: 5 + m_Name: SR_BG + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22433336 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 133336} + 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: 22433332} + 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!222 &22233330 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 133336} + m_CullTransparentMesh: 0 +--- !u!114 &11433354 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 133336} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &184448 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22484448} + - component: {fileID: 22284448} + - component: {fileID: 11484442} + - component: {fileID: 11484444} + - component: {fileID: 11484446} + m_Layer: 5 + m_Name: SR_BG + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22484448 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 184448} + 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: 22433318} + 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: -10, y: -10} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &22284448 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 184448} + m_CullTransparentMesh: 0 +--- !u!114 &11484442 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 184448} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.25882354, g: 0.25882354, b: 0.25882354, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &11484444 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 184448} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &11484446 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 184448} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Options_Item_Background + IgnoreImage: 0 +--- !u!1 &184450 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22484450} + - component: {fileID: 22284450} + - component: {fileID: 11484448} + m_Layer: 5 + m_Name: SR_BG + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22484450 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 184450} + 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: 22433324} + 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!222 &22284450 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 184450} + m_CullTransparentMesh: 0 +--- !u!114 &11484448 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 184450} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &184452 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22484452} + - component: {fileID: 22284452} + - component: {fileID: 11484450} + m_Layer: 5 + m_Name: SR_Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22484452 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 184452} + 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: 22433324} + 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: -4} + m_SizeDelta: {x: 0, y: -8} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &22284452 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 184452} + m_CullTransparentMesh: 0 +--- !u!114 &11484450 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 184452} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.9705882, g: 0.9705882, b: 0.9705882, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: db8aec58b7ce99443a1c4f5cd4d9e408, type: 3} + 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!1 &199504 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22499504} + - component: {fileID: 22299506} + - component: {fileID: 11499504} + - component: {fileID: 11499506} + - component: {fileID: 11434950} + - component: {fileID: 11434952} + m_Layer: 5 + m_Name: SR_SelectionToggle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22499504 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 199504} + 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: 22433318} + m_RootOrder: 6 + 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.5} + m_SizeDelta: {x: 0, y: -1} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &22299506 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 199504} + m_CullTransparentMesh: 0 +--- !u!114 &11499504 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 199504} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3} + m_Name: SR_ + 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: 0.39705884, g: 0.39705884, b: 0.39705884, a: 0} + m_HighlightedColor: {r: 0.3254902, g: 0.3254902, b: 0.3254902, a: 0.39215687} + m_PressedColor: {r: 0.15294118, g: 0.15294118, b: 0.15294118, a: 0} + m_SelectedColor: {r: 0.3254902, g: 0.3254902, b: 0.3254902, a: 0.39215687} + m_DisabledColor: {r: 0.25882354, g: 0.25882354, b: 0.25882354, a: 0} + m_ColorMultiplier: 1 + m_FadeDuration: 0.05 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 11434950} + toggleTransition: 0 + graphic: {fileID: 11499508} + m_Group: {fileID: 0} + onValueChanged: + m_PersistentCalls: + m_Calls: [] + m_IsOn: 1 +--- !u!114 &11499506 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 199504} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &11434950 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 199504} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &11434952 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 199504} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Options_SelectionToggle + IgnoreImage: 0 +--- !u!1 &199506 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22499506} + - component: {fileID: 22299504} + - component: {fileID: 11499508} + - component: {fileID: 11499510} + - component: {fileID: 11484452} + m_Layer: 5 + m_Name: SR_Indicator + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22499506 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 199506} + 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: 22433318} + 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!222 &22299504 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 199506} + m_CullTransparentMesh: 0 +--- !u!114 &11499508 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 199506} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.39607844, g: 0.39607844, b: 0.39607844, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &11499510 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 199506} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Options_SelectionToggleBackground + IgnoreImage: 0 +--- !u!114 &11484452 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 199506} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 diff --git a/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Options/EnumOption.prefab.meta b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Options/EnumOption.prefab.meta new file mode 100644 index 0000000..3655e74 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Options/EnumOption.prefab.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 4a8c35e6c2782f145a2598c874369a08 +NativeFormatImporter: + userData: diff --git a/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Options/NumberOption.prefab b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Options/NumberOption.prefab new file mode 100644 index 0000000..39d325c --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Options/NumberOption.prefab @@ -0,0 +1,1420 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &169282 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22469282} + - component: {fileID: 22269284} + - component: {fileID: 11469280} + - component: {fileID: 11469278} + - component: {fileID: 11483360} + m_Layer: 5 + m_Name: SR_Indicator + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22469282 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 169282} + 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: 22480052} + 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!222 &22269284 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 169282} + m_CullTransparentMesh: 0 +--- !u!114 &11469280 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 169282} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.39607844, g: 0.39607844, b: 0.39607844, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &11469278 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 169282} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Options_SelectionToggleBackground + IgnoreImage: 0 +--- !u!114 &11483360 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 169282} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &169284 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22469284} + - component: {fileID: 22269282} + - component: {fileID: 11469284} + - component: {fileID: 11469282} + - component: {fileID: 11468636} + - component: {fileID: 11468634} + m_Layer: 5 + m_Name: SR_SelectionToggle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22469284 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 169284} + 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: 22480052} + m_RootOrder: 6 + 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 &22269282 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 169284} + m_CullTransparentMesh: 0 +--- !u!114 &11469284 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 169284} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3} + m_Name: SR_ + 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: 0.39705884, g: 0.39705884, b: 0.39705884, a: 0} + m_HighlightedColor: {r: 0.3254902, g: 0.3254902, b: 0.3254902, a: 0.39215687} + m_PressedColor: {r: 0.15294118, g: 0.15294118, b: 0.15294118, a: 0} + m_SelectedColor: {r: 0.3254902, g: 0.3254902, b: 0.3254902, a: 0.39215687} + m_DisabledColor: {r: 0.25882354, g: 0.25882354, b: 0.25882354, a: 0} + m_ColorMultiplier: 1 + m_FadeDuration: 0.05 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 11468636} + toggleTransition: 0 + graphic: {fileID: 11469280} + m_Group: {fileID: 0} + onValueChanged: + m_PersistentCalls: + m_Calls: [] + m_IsOn: 1 +--- !u!114 &11469282 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 169284} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &11468636 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 169284} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &11468634 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 169284} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Options_SelectionToggle + IgnoreImage: 0 +--- !u!1 &180050 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22480050} + - component: {fileID: 22280056} + - component: {fileID: 11480032} + m_Layer: 5 + m_Name: SR_BG + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22480050 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 180050} + 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: 22480064} + 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!222 &22280056 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 180050} + m_CullTransparentMesh: 0 +--- !u!114 &11480032 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 180050} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &180052 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22480052} + - component: {fileID: 11480036} + - component: {fileID: 11480042} + - component: {fileID: 11477008} + - component: {fileID: 11498028} + - component: {fileID: 8393033935506827558} + m_Layer: 5 + m_Name: NumberOption + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22480052 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 180052} + 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: 22469282} + - {fileID: 22483364} + - {fileID: 22480066} + - {fileID: 22480058} + - {fileID: 22480064} + - {fileID: 22480056} + - {fileID: 22469284} + 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.5, y: 0.5} +--- !u!114 &11480036 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 180052} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Options_Item_Background + IgnoreImage: 0 +--- !u!114 &11480042 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 180052} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: 160 + m_MinHeight: 50 + m_PreferredWidth: -1 + m_PreferredHeight: 50 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &11477008 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 180052} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4a6d9f7214a7c5e4b868bfc520d92799, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + SelectionModeToggle: {fileID: 11469284} + DisableOnReadOnly: + - {fileID: 180058} + - {fileID: 180064} + DownNumberButton: {fileID: 11480062} + NumberSpinner: {fileID: 11480058} + Title: {fileID: 11480046} + UpNumberButton: {fileID: 11480064} +--- !u!114 &11498028 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 180052} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 40436e7c301de034f916ee1e7ddabeeb, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: +--- !u!114 &8393033935506827558 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 180052} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d5c292f06a2fb3644aac9698b40bd348, 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 + CopySources: + - Rect: {fileID: 22480054} + PaddingHeight: 10 + PaddingWidth: 70 + - Rect: {fileID: 22480056} + PaddingHeight: 10 + PaddingWidth: 20 + Operation: 0 +--- !u!1 &180054 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22480054} + - component: {fileID: 22280058} + - component: {fileID: 11480040} + - component: {fileID: 11480038} + m_Layer: 5 + m_Name: SR_Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22480054 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 180054} + 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: 22480066} + 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: -5} + m_SizeDelta: {x: 0, y: -30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &22280058 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 180054} + m_CullTransparentMesh: 0 +--- !u!114 &11480040 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 180054} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: dff6bf51d54250840bdef2ca8260c146, type: 3} + m_FontSize: 10 + m_FontStyle: 0 + m_BestFit: 1 + m_MinSize: 8 + m_MaxSize: 12 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 0 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: +--- !u!114 &11480038 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 180054} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Options_Name + IgnoreImage: 0 +--- !u!1 &180056 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22480056} + - component: {fileID: 22280060} + - component: {fileID: 11480046} + - component: {fileID: 11480044} + - component: {fileID: 11480054} + - component: {fileID: 22553020} + m_Layer: 5 + m_Name: SR_Title + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22480056 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 180056} + 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: 22480052} + m_RootOrder: 5 + 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: -6} + m_SizeDelta: {x: -10, y: 15} + m_Pivot: {x: 0.5, y: 1} +--- !u!222 &22280060 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 180056} + m_CullTransparentMesh: 0 +--- !u!114 &11480046 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 180056} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: dff6bf51d54250840bdef2ca8260c146, type: 3} + m_FontSize: 11 + 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: 0.76 + m_Text: Some Property +--- !u!114 &11480044 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 180056} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Options_Name + IgnoreImage: 0 +--- !u!114 &11480054 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 180056} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!225 &22553020 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 180056} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 0 + m_BlocksRaycasts: 0 + m_IgnoreParentGroups: 0 +--- !u!1 &180058 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22480058} + - component: {fileID: 11480062} + - component: {fileID: 11487626} + m_Layer: 5 + m_Name: SR_ButtonDown + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22480058 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 180058} + 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: 22483362} + - {fileID: 22483360} + m_Father: {fileID: 22480052} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 5, y: 0} + m_SizeDelta: {x: 35, y: -10} + m_Pivot: {x: 0, y: 0.5} +--- !u!114 &11480062 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 180058} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e271d820ea3d50a40bd29c81c23cb2a1, type: 3} + m_Name: SR_ + 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: 0.25882354, g: 0.25882354, b: 0.25882354, a: 0} + m_HighlightedColor: {r: 0.3254902, g: 0.3254902, b: 0.3254902, a: 1} + m_PressedColor: {r: 0.15294118, g: 0.15294118, b: 0.15294118, a: 1} + m_SelectedColor: {r: 0.3254902, g: 0.3254902, b: 0.3254902, a: 1} + m_DisabledColor: {r: 0.25882354, g: 0.25882354, b: 0.25882354, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: 0 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 11483364} + m_OnClick: + m_PersistentCalls: + m_Calls: [] + Amount: -1 + TargetField: {fileID: 11480058} +--- !u!114 &11487626 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 180058} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Options_Item_Button + IgnoreImage: 0 +--- !u!1 &180060 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22480060} + - component: {fileID: 22280062} + - component: {fileID: 11480050} + m_Layer: 5 + m_Name: SR_Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22480060 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 180060} + 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: 22480064} + 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: -4} + m_SizeDelta: {x: 0, y: -8} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &22280062 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 180060} + m_CullTransparentMesh: 0 +--- !u!114 &11480050 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 180060} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.9705882, g: 0.9705882, b: 0.9705882, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: db8aec58b7ce99443a1c4f5cd4d9e408, type: 3} + 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!1 &180064 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22480064} + - component: {fileID: 11480064} + - component: {fileID: 11487628} + m_Layer: 5 + m_Name: SR_ButtonUp + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22480064 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 180064} + 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: 22480050} + - {fileID: 22480060} + m_Father: {fileID: 22480052} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -5, y: 0} + m_SizeDelta: {x: 35, y: -10} + m_Pivot: {x: 1, y: 0.5} +--- !u!114 &11480064 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 180064} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e271d820ea3d50a40bd29c81c23cb2a1, type: 3} + m_Name: SR_ + 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: 0.25882354, g: 0.25882354, b: 0.25882354, a: 0} + m_HighlightedColor: {r: 0.3254902, g: 0.3254902, b: 0.3254902, a: 1} + m_PressedColor: {r: 0.15294118, g: 0.15294118, b: 0.15294118, a: 1} + m_SelectedColor: {r: 0.3254902, g: 0.3254902, b: 0.3254902, a: 1} + m_DisabledColor: {r: 0.25882354, g: 0.25882354, b: 0.25882354, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: 0 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 11480032} + m_OnClick: + m_PersistentCalls: + m_Calls: [] + Amount: 1 + TargetField: {fileID: 11480058} +--- !u!114 &11487628 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 180064} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Options_Item_Button + IgnoreImage: 0 +--- !u!1 &180066 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22480066} + - component: {fileID: 11480056} + - component: {fileID: 11480058} + - component: {fileID: 11480060} + - component: {fileID: 22280070} + - component: {fileID: 11480070} + m_Layer: 5 + m_Name: SR_Contents + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22480066 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 180066} + 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: 22480054} + m_Father: {fileID: 22480052} + 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: 0, y: 0} + m_SizeDelta: {x: -80, y: -10} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &11480056 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 180066} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + 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 &11480058 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 180066} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f7e6a39da209c144797f44248b82bfb3, type: 3} + m_Name: SR_ + 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: 0.25882354, g: 0.25882354, b: 0.25882354, a: 1} + m_HighlightedColor: {r: 0.32352942, g: 0.32352942, b: 0.32352942, a: 1} + m_PressedColor: {r: 0.1544118, g: 0.1544118, b: 0.1544118, a: 1} + m_SelectedColor: {r: 0.32352942, g: 0.32352942, b: 0.32352942, a: 1} + m_DisabledColor: {r: 0.25882354, g: 0.25882354, b: 0.25882354, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: 0 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 11480070} + m_TextComponent: {fileID: 11480040} + m_Placeholder: {fileID: 0} + m_ContentType: 3 + m_InputType: 0 + m_AsteriskChar: 42 + m_KeyboardType: 2 + m_LineType: 0 + m_HideMobileInput: 0 + m_CharacterValidation: 2 + m_CharacterLimit: 15 + m_OnEndEdit: + m_PersistentCalls: + m_Calls: [] + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + 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: 76597 + m_CaretBlinkRate: 1.7 + m_CaretWidth: 1 + m_ReadOnly: 0 + m_ShouldActivateOnSelect: 1 + DragSensitivity: 0.01 + MaxValue: 1.7976931348623157e+308 + MinValue: -1.7976931348623157e+308 +--- !u!114 &11480060 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 180066} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Options_Item_Background + IgnoreImage: 0 +--- !u!222 &22280070 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 180066} + m_CullTransparentMesh: 0 +--- !u!114 &11480070 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 180066} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &183360 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22483360} + - component: {fileID: 22283360} + - component: {fileID: 11483362} + m_Layer: 5 + m_Name: SR_Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22483360 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 183360} + 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: 22480058} + 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: -4} + m_SizeDelta: {x: 0, y: -8} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &22283360 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 183360} + m_CullTransparentMesh: 0 +--- !u!114 &11483362 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 183360} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.9705882, g: 0.9705882, b: 0.9705882, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: db8aec58b7ce99443a1c4f5cd4d9e408, type: 3} + 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!1 &183362 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22483362} + - component: {fileID: 22283362} + - component: {fileID: 11483364} + m_Layer: 5 + m_Name: SR_BG + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22483362 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 183362} + 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: 22480058} + 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!222 &22283362 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 183362} + m_CullTransparentMesh: 0 +--- !u!114 &11483364 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 183362} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &183364 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22483364} + - component: {fileID: 22283364} + - component: {fileID: 11483370} + - component: {fileID: 11483368} + - component: {fileID: 11483366} + m_Layer: 5 + m_Name: SR_BG + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22483364 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 183364} + 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: 22480052} + 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: -10, y: -10} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &22283364 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 183364} + m_CullTransparentMesh: 0 +--- !u!114 &11483370 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 183364} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.25882354, g: 0.25882354, b: 0.25882354, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &11483368 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 183364} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &11483366 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 183364} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Options_Item_Background + IgnoreImage: 0 diff --git a/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Options/NumberOption.prefab.meta b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Options/NumberOption.prefab.meta new file mode 100644 index 0000000..971364d --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Options/NumberOption.prefab.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 2ac1e31ed7a70544795db2044eb915e1 +NativeFormatImporter: + userData: diff --git a/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Options/ReadOnlyOption.prefab b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Options/ReadOnlyOption.prefab new file mode 100644 index 0000000..08bf464 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Options/ReadOnlyOption.prefab @@ -0,0 +1,598 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &167924 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22433124} + - 222: {fileID: 22206914} + - 114: {fileID: 11488706} + - 114: {fileID: 11419938} + - 114: {fileID: 11413372} + m_Layer: 5 + m_Name: SR_Indicator + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &168226 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22410290} + - 222: {fileID: 22213266} + - 114: {fileID: 11445454} + - 114: {fileID: 11423502} + - 114: {fileID: 11449198} + - 114: {fileID: 11414386} + m_Layer: 5 + m_Name: SR_SelectionToggle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &170272 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22497950} + - 222: {fileID: 22249324} + - 114: {fileID: 11428352} + - 114: {fileID: 11439062} + - 225: {fileID: 22516822} + m_Layer: 5 + m_Name: SR_Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &176882 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22499572} + - 222: {fileID: 22243598} + - 114: {fileID: 11429772} + - 114: {fileID: 11474862} + m_Layer: 5 + m_Name: SR_Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &188384 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22405356} + - 222: {fileID: 22238478} + - 114: {fileID: 11494490} + - 114: {fileID: 11446886} + - 114: {fileID: 11450724} + m_Layer: 5 + m_Name: SR_BG + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &199282 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22478986} + - 114: {fileID: 11435484} + - 114: {fileID: 11430508} + - 114: {fileID: 11451446} + m_Layer: 5 + m_Name: ReadOnlyOption + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &11413372 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 167924} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 +--- !u!114 &11414386 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 168226} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Options_SelectionToggle + IgnoreImage: 0 +--- !u!114 &11419938 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 167924} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Options_SelectionToggleBackground + IgnoreImage: 0 +--- !u!114 &11423502 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 168226} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 +--- !u!114 &11428352 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 170272} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FontData: + m_Font: {fileID: 12800000, guid: dff6bf51d54250840bdef2ca8260c146, type: 3} + m_FontSize: 12 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: .74000001 + m_Text: Title +--- !u!114 &11429772 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 176882} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FontData: + m_Font: {fileID: 12800000, guid: dff6bf51d54250840bdef2ca8260c146, type: 3} + m_FontSize: 10 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_RichText: 0 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Here Is The Value +--- !u!114 &11430508 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 199282} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 41b5dbc85a74ae84dbb6c6685e1151fc, type: 3} + m_Name: + m_EditorClassIdentifier: + SelectionModeToggle: {fileID: 11445454} + ValueText: {fileID: 11429772} + Title: {fileID: 11428352} +--- !u!114 &11435484 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 199282} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1297475563, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Padding: + m_Left: 10 + m_Right: 10 + m_Top: 10 + m_Bottom: 10 + m_ChildAlignment: 0 + m_Spacing: 5 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 1 +--- !u!114 &11439062 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 170272} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Options_Name + IgnoreImage: 0 +--- !u!114 &11445454 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 168226} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 2109663825, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + 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: .397058845, g: .397058845, b: .397058845, a: 0} + m_HighlightedColor: {r: .325490206, g: .325490206, b: .325490206, a: .392156869} + m_PressedColor: {r: .152941182, g: .152941182, b: .152941182, a: 0} + m_DisabledColor: {r: .258823544, g: .258823544, b: .258823544, a: 0} + m_ColorMultiplier: 1 + m_FadeDuration: .0500000007 + 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: 11449198} + toggleTransition: 0 + graphic: {fileID: 11488706} + 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 &11446886 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 188384} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 +--- !u!114 &11449198 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 168226} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + 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 &11450724 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 188384} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Options_Item_Background + IgnoreImage: 0 +--- !u!114 &11451446 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 199282} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 40436e7c301de034f916ee1e7ddabeeb, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: +--- !u!114 &11474862 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 176882} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Options_Name + IgnoreImage: 0 +--- !u!114 &11488706 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 167924} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: .396078438, g: .396078438, b: .396078438, a: 1} + 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 &11494490 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 188384} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: .258823544, g: .258823544, b: .258823544, a: 1} + 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 &22206914 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 167924} +--- !u!222 &22213266 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 168226} +--- !u!222 &22238478 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 188384} +--- !u!222 &22243598 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 176882} +--- !u!222 &22249324 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 170272} +--- !u!224 &22405356 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 188384} + 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: 22478986} + m_RootOrder: 1 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -10, y: -10} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22410290 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 168226} + 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: 22478986} + m_RootOrder: 4 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: .5} + m_SizeDelta: {x: 0, y: -1} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22433124 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 167924} + 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: 22478986} + m_RootOrder: 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: .5, y: .5} +--- !u!224 &22478986 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 199282} + 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: 22433124} + - {fileID: 22405356} + - {fileID: 22497950} + - {fileID: 22499572} + - {fileID: 22410290} + m_Father: {fileID: 0} + m_RootOrder: 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: .5, y: .5} +--- !u!224 &22497950 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 170272} + 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: 22478986} + m_RootOrder: 2 + 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: .5, y: .5} +--- !u!224 &22499572 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 176882} + 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: 22478986} + m_RootOrder: 3 + 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: .5, y: .5} +--- !u!225 &22516822 +CanvasGroup: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 170272} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 0 + m_BlocksRaycasts: 0 + m_IgnoreParentGroups: 0 +--- !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: 199282} + m_IsPrefabParent: 1 diff --git a/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Options/ReadOnlyOption.prefab.meta b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Options/ReadOnlyOption.prefab.meta new file mode 100644 index 0000000..ef915f5 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Options/ReadOnlyOption.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 879b44b39edb0fc46897c1a117413e5a +timeCreated: 1466685446 +licenseType: Store +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Options/StringOption.prefab b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Options/StringOption.prefab new file mode 100644 index 0000000..949ad68 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Options/StringOption.prefab @@ -0,0 +1,717 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &161926 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22461926} + - 222: {fileID: 22261928} + - 114: {fileID: 11461924} + - 114: {fileID: 11461922} + - 114: {fileID: 11440966} + m_Layer: 5 + m_Name: SR_Indicator + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &161928 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22461928} + - 222: {fileID: 22261926} + - 114: {fileID: 11461928} + - 114: {fileID: 11461926} + - 114: {fileID: 11414548} + - 114: {fileID: 11414546} + m_Layer: 5 + m_Name: SR_SelectionToggle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &170318 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22470318} + - 114: {fileID: 11470312} + - 114: {fileID: 11465720} + - 114: {fileID: 11401942} + m_Layer: 5 + m_Name: StringOption + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &170320 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22470320} + - 222: {fileID: 22270320} + - 114: {fileID: 11470308} + - 114: {fileID: 11470310} + m_Layer: 5 + m_Name: SR_BG + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &170322 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22470322} + - 222: {fileID: 22270322} + - 114: {fileID: 11470316} + - 114: {fileID: 11470314} + - 225: {fileID: 22587672} + m_Layer: 5 + m_Name: SR_Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &170324 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22470324} + - 222: {fileID: 22270324} + - 114: {fileID: 11470318} + - 114: {fileID: 11470322} + - 114: {fileID: 11470326} + m_Layer: 5 + m_Name: SR_InputField + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &170326 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22470326} + - 222: {fileID: 22270326} + - 114: {fileID: 11470320} + - 114: {fileID: 11470324} + m_Layer: 5 + m_Name: SR_Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &11401942 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 170318} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 40436e7c301de034f916ee1e7ddabeeb, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: +--- !u!114 &11414546 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 161928} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Options_SelectionToggle + IgnoreImage: 0 +--- !u!114 &11414548 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 161928} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + 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 &11440966 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 161926} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 +--- !u!114 &11461922 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 161926} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Options_SelectionToggleBackground + IgnoreImage: 0 +--- !u!114 &11461924 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 161926} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: .396078438, g: .396078438, b: .396078438, a: 1} + 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 &11461926 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 161928} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 +--- !u!114 &11461928 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 161928} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 2109663825, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + 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: .397058845, g: .397058845, b: .397058845, a: 0} + m_HighlightedColor: {r: .325490206, g: .325490206, b: .325490206, a: .392156869} + m_PressedColor: {r: .152941182, g: .152941182, b: .152941182, a: 0} + m_DisabledColor: {r: .258823544, g: .258823544, b: .258823544, a: 0} + m_ColorMultiplier: 1 + m_FadeDuration: .0500000007 + 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: 11414548} + toggleTransition: 0 + graphic: {fileID: 11461924} + 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 &11465720 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 170318} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 019f81638c7cf1f438569f1ca9def175, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + SelectionModeToggle: {fileID: 11461928} + InputField: {fileID: 11470318} + Title: {fileID: 11470316} +--- !u!114 &11470308 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 170320} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + 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 &11470310 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 170320} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 +--- !u!114 &11470312 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 170318} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1297475563, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Padding: + m_Left: 10 + m_Right: 10 + m_Top: 10 + m_Bottom: 10 + m_ChildAlignment: 0 + m_Spacing: 5 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 1 +--- !u!114 &11470314 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 170322} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Options_Name + IgnoreImage: 0 +--- !u!114 &11470316 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 170322} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FontData: + m_Font: {fileID: 12800000, guid: dff6bf51d54250840bdef2ca8260c146, type: 3} + m_FontSize: 12 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: .74000001 + m_Text: Title +--- !u!114 &11470318 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 170324} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 575553740, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + 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: .258823544, g: .258823544, b: .258823544, a: 1} + m_HighlightedColor: {r: .323529422, g: .323529422, b: .323529422, a: 1} + m_PressedColor: {r: .154411793, g: .154411793, b: .154411793, a: 1} + m_DisabledColor: {r: .258823544, g: .258823544, b: .258823544, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: .100000001 + 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: 11470308} + m_TextComponent: {fileID: 11470320} + m_Placeholder: {fileID: 0} + m_ContentType: 0 + m_InputType: 0 + m_AsteriskChar: 42 + m_KeyboardType: 0 + m_LineType: 0 + m_HideMobileInput: 0 + m_CharacterValidation: 0 + m_CharacterLimit: 0 + m_EndEdit: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.InputField+SubmitEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null + m_OnValueChange: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.InputField+OnChangeEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null + m_SelectionColor: {r: .65882355, g: .807843149, b: 1, a: .752941191} + m_Text: Here Is The Value + m_CaretBlinkRate: 1.70000005 +--- !u!114 &11470320 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 170326} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FontData: + m_Font: {fileID: 12800000, guid: dff6bf51d54250840bdef2ca8260c146, type: 3} + m_FontSize: 10 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_RichText: 0 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: +--- !u!114 &11470322 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 170324} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Options_Item_Background + IgnoreImage: 0 +--- !u!114 &11470324 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 170326} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Options_Name + IgnoreImage: 0 +--- !u!114 &11470326 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 170324} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 160 + m_PreferredHeight: 17 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 +--- !u!222 &22261926 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 161928} +--- !u!222 &22261928 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 161926} +--- !u!222 &22270320 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 170320} +--- !u!222 &22270322 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 170322} +--- !u!222 &22270324 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 170324} +--- !u!222 &22270326 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 170326} +--- !u!224 &22461926 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 161926} + 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: 22470318} + m_RootOrder: 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: .5, y: .5} +--- !u!224 &22461928 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 161928} + 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: 22470318} + m_RootOrder: 4 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: .5} + m_SizeDelta: {x: 0, y: -1} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22470318 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 170318} + 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: 22461926} + - {fileID: 22470320} + - {fileID: 22470322} + - {fileID: 22470324} + - {fileID: 22461928} + m_Father: {fileID: 0} + m_RootOrder: 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: .5, y: .5} +--- !u!224 &22470320 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 170320} + 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: 22470318} + m_RootOrder: 1 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -10, y: -10} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22470322 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 170322} + 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: 22470318} + m_RootOrder: 2 + 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: .5, y: .5} +--- !u!224 &22470324 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 170324} + 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: 22470326} + m_Father: {fileID: 22470318} + m_RootOrder: 3 + 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: .5, y: .5} +--- !u!224 &22470326 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 170326} + 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: 22470324} + m_RootOrder: 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: .5, y: .5} +--- !u!225 &22587672 +CanvasGroup: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 170322} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 0 + m_BlocksRaycasts: 0 + m_IgnoreParentGroups: 0 +--- !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: 170318} + m_IsPrefabParent: 1 diff --git a/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Options/StringOption.prefab.meta b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Options/StringOption.prefab.meta new file mode 100644 index 0000000..44383de --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Options/StringOption.prefab.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: bf3001d52880d2342a654b878fdae9d5 +NativeFormatImporter: + userData: diff --git a/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/PinEntry.prefab b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/PinEntry.prefab new file mode 100644 index 0000000..191de80 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/PinEntry.prefab @@ -0,0 +1,5663 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &120640 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22420640} + - 114: {fileID: 11420640} + - 95: {fileID: 9520640} + m_Layer: 0 + m_Name: SR_Content + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195096 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495096} + - 222: {fileID: 22295096} + - 114: {fileID: 11495100} + - 114: {fileID: 11495098} + - 114: {fileID: 11495096} + m_Layer: 0 + m_Name: SR_Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195098 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495098} + - 222: {fileID: 22295098} + - 114: {fileID: 11495102} + - 114: {fileID: 11495104} + m_Layer: 0 + m_Name: SR_Fill + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195100 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495100} + - 222: {fileID: 22295100} + - 114: {fileID: 11495106} + m_Layer: 0 + m_Name: SR_Number + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195102 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495102} + - 222: {fileID: 22295102} + - 114: {fileID: 11495108} + - 114: {fileID: 11495110} + m_Layer: 0 + m_Name: SR_Ring + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195104 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495104} + - 222: {fileID: 22295104} + - 114: {fileID: 11495112} + - 114: {fileID: 11495114} + m_Layer: 0 + m_Name: SR_Ring + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195106 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495106} + - 222: {fileID: 22295106} + - 114: {fileID: 11495116} + - 114: {fileID: 11495118} + m_Layer: 0 + m_Name: SR_Fill + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195108 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495108} + - 222: {fileID: 22295108} + - 114: {fileID: 11495122} + - 114: {fileID: 11495120} + m_Layer: 0 + m_Name: SR_Fill + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195110 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495110} + - 222: {fileID: 22295110} + - 114: {fileID: 11495126} + - 114: {fileID: 11495124} + m_Layer: 0 + m_Name: SR_Fill + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195112 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495112} + - 222: {fileID: 22295112} + - 114: {fileID: 11495128} + - 114: {fileID: 11495130} + m_Layer: 0 + m_Name: SR_Ring + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195114 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495114} + - 222: {fileID: 22295114} + - 114: {fileID: 11495132} + m_Layer: 0 + m_Name: SR_Letters + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195116 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495116} + - 223: {fileID: 22395096} + - 114: {fileID: 11495140} + - 114: {fileID: 11495138} + - 114: {fileID: 11495136} + - 114: {fileID: 11495134} + - 114: {fileID: 11495142} + - 225: {fileID: 22595096} + - 114: {fileID: 11498200} + - 114: {fileID: 11447818} + m_Layer: 0 + m_Name: PinEntry + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195118 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495118} + - 222: {fileID: 22295116} + - 114: {fileID: 11495144} + m_Layer: 0 + m_Name: SR_Letters + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195120 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495120} + m_Layer: 0 + m_Name: SR_Cancel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195122 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495122} + - 222: {fileID: 22295118} + - 114: {fileID: 11495146} + m_Layer: 0 + m_Name: SR_Number + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195124 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495124} + - 114: {fileID: 11495154} + - 114: {fileID: 11495152} + - 114: {fileID: 11495150} + - 114: {fileID: 11495148} + m_Layer: 0 + m_Name: SR_5 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195126 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495126} + - 222: {fileID: 22295120} + - 114: {fileID: 11495156} + m_Layer: 0 + m_Name: SR_Letters + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195128 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495128} + - 222: {fileID: 22295122} + - 114: {fileID: 11495158} + - 114: {fileID: 11495160} + m_Layer: 0 + m_Name: SR_Ring + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195130 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495130} + - 114: {fileID: 11495164} + - 114: {fileID: 11495162} + m_Layer: 0 + m_Name: SR_3_PinDot + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195132 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495132} + - 114: {fileID: 11495168} + - 114: {fileID: 11495166} + m_Layer: 0 + m_Name: SR_Layout + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195134 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495134} + - 222: {fileID: 22295124} + - 114: {fileID: 11495170} + m_Layer: 0 + m_Name: SR_Letters + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195136 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495136} + - 222: {fileID: 22295126} + - 114: {fileID: 11495172} + m_Layer: 0 + m_Name: SR_Letters + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195138 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495138} + - 114: {fileID: 11495178} + - 114: {fileID: 11495176} + - 114: {fileID: 11495174} + - 114: {fileID: 11495180} + m_Layer: 0 + m_Name: SR_4 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195140 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495140} + - 114: {fileID: 11495186} + - 114: {fileID: 11495184} + - 114: {fileID: 11495182} + - 114: {fileID: 11495188} + m_Layer: 0 + m_Name: SR_2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195142 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495142} + - 222: {fileID: 22295128} + - 114: {fileID: 11495192} + - 114: {fileID: 11495190} + m_Layer: 0 + m_Name: SR_Outline + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195144 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495144} + - 222: {fileID: 22295130} + - 114: {fileID: 11495194} + - 114: {fileID: 11495196} + m_Layer: 0 + m_Name: SR_Ring + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195146 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495146} + - 222: {fileID: 22295132} + - 114: {fileID: 11495198} + - 114: {fileID: 11495200} + m_Layer: 0 + m_Name: SR_Fill + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195148 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495148} + - 114: {fileID: 11495208} + - 114: {fileID: 11495206} + - 114: {fileID: 11495204} + - 114: {fileID: 11495202} + m_Layer: 0 + m_Name: SR_9 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195150 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495150} + - 222: {fileID: 22295134} + - 114: {fileID: 11495212} + - 114: {fileID: 11495210} + m_Layer: 0 + m_Name: SR_Outline + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195152 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495152} + - 222: {fileID: 22295136} + - 114: {fileID: 11495214} + m_Layer: 0 + m_Name: SR_Number + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195154 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495154} + - 222: {fileID: 22295138} + - 114: {fileID: 11495216} + m_Layer: 0 + m_Name: SR_Number + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195156 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495156} + - 114: {fileID: 11495224} + - 114: {fileID: 11495222} + - 114: {fileID: 11495220} + - 114: {fileID: 11495218} + m_Layer: 0 + m_Name: SR_8 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195158 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495158} + - 222: {fileID: 22295140} + - 114: {fileID: 11495228} + - 114: {fileID: 11495226} + m_Layer: 0 + m_Name: SR_Outline + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195160 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495160} + - 222: {fileID: 22295142} + - 114: {fileID: 11495230} + - 114: {fileID: 11495232} + m_Layer: 0 + m_Name: SR_Fill + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195162 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495162} + - 222: {fileID: 22295144} + - 114: {fileID: 11495234} + m_Layer: 0 + m_Name: SR_Letters + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195164 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495164} + - 222: {fileID: 22295146} + - 114: {fileID: 11495236} + - 114: {fileID: 11495238} + m_Layer: 0 + m_Name: SR_Fill + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195166 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495166} + - 222: {fileID: 22295148} + - 114: {fileID: 11495240} + m_Layer: 0 + m_Name: SR_Letters + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195168 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495168} + - 114: {fileID: 11495246} + - 114: {fileID: 11495244} + - 114: {fileID: 11495242} + - 114: {fileID: 11495248} + m_Layer: 0 + m_Name: SR_1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195170 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495170} + - 222: {fileID: 22295150} + - 114: {fileID: 11495250} + - 114: {fileID: 11495252} + m_Layer: 0 + m_Name: SR_Ring + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195172 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495172} + - 222: {fileID: 22295152} + - 114: {fileID: 11495254} + m_Layer: 0 + m_Name: SR_Number + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195174 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495174} + - 222: {fileID: 22295154} + - 114: {fileID: 11495256} + - 114: {fileID: 11495258} + m_Layer: 0 + m_Name: SR_Ring + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195176 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495176} + - 114: {fileID: 11495266} + - 114: {fileID: 11495264} + - 114: {fileID: 11495262} + - 114: {fileID: 11495260} + m_Layer: 0 + m_Name: SR_0 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195178 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495178} + - 222: {fileID: 22295156} + - 114: {fileID: 11495268} + - 114: {fileID: 11495270} + m_Layer: 0 + m_Name: SR_Fill + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195180 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495180} + - 114: {fileID: 11495274} + m_Layer: 0 + m_Name: SR_Result + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195182 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495182} + - 114: {fileID: 11495276} + m_Layer: 0 + m_Name: SR_NumberGrid + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195184 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495184} + - 222: {fileID: 22295158} + - 114: {fileID: 11495278} + - 114: {fileID: 11495280} + m_Layer: 0 + m_Name: SR_Ring + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195186 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495186} + - 222: {fileID: 22295160} + - 114: {fileID: 11495282} + m_Layer: 0 + m_Name: SR_Number + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195188 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495188} + - 222: {fileID: 22295162} + - 114: {fileID: 11495284} + m_Layer: 0 + m_Name: SR_Number + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195190 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495190} + - 114: {fileID: 11495292} + - 114: {fileID: 11495290} + - 114: {fileID: 11495288} + - 114: {fileID: 11495286} + m_Layer: 0 + m_Name: SR_7 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195192 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495192} + - 222: {fileID: 22295164} + - 114: {fileID: 11495294} + m_Layer: 0 + m_Name: SR_Number + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195194 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495194} + - 222: {fileID: 22295166} + - 114: {fileID: 11495296} + - 114: {fileID: 11495298} + m_Layer: 0 + m_Name: SR_Fill + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195196 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495196} + - 222: {fileID: 22295168} + - 114: {fileID: 11495300} + - 114: {fileID: 11495302} + m_Layer: 0 + m_Name: SR_Fill + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195198 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495198} + - 222: {fileID: 22295170} + - 114: {fileID: 11495304} + - 114: {fileID: 11495306} + m_Layer: 0 + m_Name: SR_Fill + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195200 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495200} + - 222: {fileID: 22295172} + - 114: {fileID: 11495308} + - 114: {fileID: 11495310} + m_Layer: 0 + m_Name: SR_Ring + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195202 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495202} + - 222: {fileID: 22295174} + - 114: {fileID: 11495312} + m_Layer: 0 + m_Name: SR_Number + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195204 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495204} + - 222: {fileID: 22295176} + - 114: {fileID: 11495316} + - 114: {fileID: 11495314} + m_Layer: 0 + m_Name: SR_Outline + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195206 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495206} + - 114: {fileID: 11495324} + - 114: {fileID: 11495322} + - 114: {fileID: 11495320} + - 114: {fileID: 11495318} + m_Layer: 0 + m_Name: SR_6 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195208 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495208} + - 222: {fileID: 22295178} + - 114: {fileID: 11495326} + m_Layer: 0 + m_Name: SR_Number + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195210 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495210} + - 114: {fileID: 11495332} + - 114: {fileID: 11495330} + - 114: {fileID: 11495328} + - 114: {fileID: 11495334} + m_Layer: 0 + m_Name: SR_3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195212 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495212} + - 114: {fileID: 11495338} + - 114: {fileID: 11495336} + m_Layer: 0 + m_Name: SR_4_PinDot + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195214 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495214} + - 222: {fileID: 22295180} + - 114: {fileID: 11495340} + - 114: {fileID: 11495342} + m_Layer: 0 + m_Name: SR_Fill + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195216 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495216} + - 114: {fileID: 11495346} + - 114: {fileID: 11495344} + m_Layer: 0 + m_Name: SR_2_PinDot + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195218 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495218} + m_Layer: 0 + m_Name: SR_Space + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195220 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495220} + - 114: {fileID: 11495348} + - 114: {fileID: 11495350} + m_Layer: 0 + m_Name: SR_1_PinDot + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195222 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495222} + - 222: {fileID: 22295182} + - 114: {fileID: 11495352} + m_Layer: 0 + m_Name: SR_Prompt + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195224 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495224} + - 222: {fileID: 22295184} + - 114: {fileID: 11495354} + - 114: {fileID: 11495356} + m_Layer: 0 + m_Name: SR_Ring + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195226 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495226} + - 222: {fileID: 22295186} + - 114: {fileID: 11495358} + m_Layer: 0 + m_Name: SR_Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195228 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495228} + - 222: {fileID: 22295188} + - 114: {fileID: 11495360} + m_Layer: 0 + m_Name: SR_Letters + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195230 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495230} + - 222: {fileID: 22295190} + - 114: {fileID: 11495362} + - 114: {fileID: 11495364} + m_Layer: 0 + m_Name: SR_Fill + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195232 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495232} + - 222: {fileID: 22295192} + - 114: {fileID: 11495368} + - 114: {fileID: 11495366} + m_Layer: 0 + m_Name: SR_Fill + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!95 &9520640 +Animator: + serializedVersion: 3 + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 120640} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 9100000, guid: 35724102027368d4988847df7e923ddc, type: 2} + m_CullingMode: 0 + m_UpdateMode: 2 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 +--- !u!114 &11420640 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 120640} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -405508275, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 4 + m_Spacing: 5 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 +--- !u!114 &11447818 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195116} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f0ad3d8afa9fd64429a249b5bbb19557, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: +--- !u!114 &11495096 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195096} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: PinEntry_CancelButton + IgnoreImage: 0 +--- !u!114 &11495098 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195096} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FontData: + m_Font: {fileID: 12800000, guid: 677c9fb41b6c7e14199885b0b31740ee, type: 3} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Delete +--- !u!114 &11495100 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195096} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + 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: .735294104, g: .735294104, b: .735294104, a: 1} + m_PressedColor: {r: .258823544, g: .388235301, b: .533333361, a: 1} + m_DisabledColor: {r: .426470578, g: .426470578, b: .426470578, a: .784313738} + m_ColorMultiplier: 1 + m_FadeDuration: .100000001 + 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: 11495098} + 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 &11495102 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195098} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Sprite: {fileID: 21300000, guid: 6fe1234e2b04b2e44b33619147d02408, 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 &11495104 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195098} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: PinEntry_Number_Ring_Fill + IgnoreImage: 0 +--- !u!114 &11495106 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195100} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FontData: + m_Font: {fileID: 12800000, guid: 718657b6be420a6498b0f091c199a215, type: 3} + m_FontSize: 32 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_RichText: 0 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 5 +--- !u!114 &11495108 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195102} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Sprite: {fileID: 21300000, guid: 3967d34dc919aa04cac871bbf2ebce4b, 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 &11495110 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195102} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: PinEntry_Number_Ring + IgnoreImage: 0 +--- !u!114 &11495112 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195104} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Sprite: {fileID: 21300000, guid: 3967d34dc919aa04cac871bbf2ebce4b, 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 &11495114 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195104} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: PinEntry_Number_Ring + IgnoreImage: 0 +--- !u!114 &11495116 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195106} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Sprite: {fileID: 21300000, guid: 6fe1234e2b04b2e44b33619147d02408, 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 &11495118 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195106} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: PinEntry_Number_Ring_Fill + IgnoreImage: 0 +--- !u!114 &11495120 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195108} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: PinEntry_Dot_Fill + IgnoreImage: 0 +--- !u!114 &11495122 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195108} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Sprite: {fileID: 21300000, guid: a097b58da8de2bf4cb593d05feca1d98, 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 &11495124 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195110} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: PinEntry_Dot_Fill + IgnoreImage: 0 +--- !u!114 &11495126 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195110} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Sprite: {fileID: 21300000, guid: a097b58da8de2bf4cb593d05feca1d98, 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 &11495128 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195112} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Sprite: {fileID: 21300000, guid: 3967d34dc919aa04cac871bbf2ebce4b, 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 &11495130 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195112} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: PinEntry_Number_Ring + IgnoreImage: 0 +--- !u!114 &11495132 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195114} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FontData: + m_Font: {fileID: 12800000, guid: 718657b6be420a6498b0f091c199a215, type: 3} + m_FontSize: 12 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_RichText: 0 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: .800000012 + m_Text: MNO +--- !u!114 &11495134 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195116} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d1bf029da478aff42a6d6e0ed8e21203, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + StyleSheet: {fileID: 11400000, guid: cdfb48dd49c2d7a4d9f8805cd96e0241, type: 2} +--- !u!114 &11495136 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195116} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1301386320, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &11495138 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195116} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 58bc4004a23c662408dd40e6d01ac936, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _retinaScale: 2 + _thresholdDpi: 250 +--- !u!114 &11495140 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195116} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 +--- !u!114 &11495142 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195116} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac5725a9566ed324c98b66c6cb03c5cf, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + Background: {fileID: 11495358} + CanCancel: 1 + CancelButton: {fileID: 11495100} + CancelButtonText: {fileID: 11495098} + CanvasGroup: {fileID: 22595096} + DotAnimator: {fileID: 9520640} + NumberButtons: + - {fileID: 11495266} + - {fileID: 11495246} + - {fileID: 11495186} + - {fileID: 11495332} + - {fileID: 11495178} + - {fileID: 11495154} + - {fileID: 11495324} + - {fileID: 11495292} + - {fileID: 11495224} + - {fileID: 11495208} + NumberDots: + - {fileID: 11495350} + - {fileID: 11495344} + - {fileID: 11495162} + - {fileID: 11495336} + PromptText: {fileID: 11495352} +--- !u!114 &11495144 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195118} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FontData: + m_Font: {fileID: 12800000, guid: 718657b6be420a6498b0f091c199a215, type: 3} + m_FontSize: 12 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_RichText: 0 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: .800000012 + m_Text: DEF +--- !u!114 &11495146 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195122} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FontData: + m_Font: {fileID: 12800000, guid: 718657b6be420a6498b0f091c199a215, type: 3} + m_FontSize: 32 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_RichText: 0 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 9 +--- !u!114 &11495148 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195124} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7134149b092993149867a9ce13a5ec50, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: +--- !u!114 &11495150 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195124} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 95878e800ddd366418edfb56a22f9d56, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + DecayTime: .150000006 + DefaultColor: {r: .258823544, g: .388235301, b: .541176498, a: 0} + FlashColor: {r: .536764741, g: .749080837, b: 1, a: .784313738} + Target: {fileID: 11495230} +--- !u!114 &11495152 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195124} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: PinEntry_Number_Button + IgnoreImage: 0 +--- !u!114 &11495154 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195124} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + 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: .258823544, g: .388235301, b: .53725493, a: 1} + m_PressedColor: {r: .258823544, g: .388235301, b: .53725493, a: 1} + m_DisabledColor: {r: 1, g: 1, b: 1, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: 0 + 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: 11495308} + 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 &11495156 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195126} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FontData: + m_Font: {fileID: 12800000, guid: 718657b6be420a6498b0f091c199a215, type: 3} + m_FontSize: 12 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_RichText: 0 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: .800000012 + m_Text: GHI +--- !u!114 &11495158 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195128} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Sprite: {fileID: 21300000, guid: 3967d34dc919aa04cac871bbf2ebce4b, 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 &11495160 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195128} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: PinEntry_Number_Ring + IgnoreImage: 0 +--- !u!114 &11495162 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195130} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 2109663825, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 0 + 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: .960784316, g: .960784316, b: .960784316, a: 1} + m_PressedColor: {r: .784313738, g: .784313738, b: .784313738, a: 1} + m_DisabledColor: {r: .784313738, g: .784313738, b: .784313738, a: .501960814} + m_ColorMultiplier: 1 + m_FadeDuration: .100000001 + 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: 0 + m_TargetGraphic: {fileID: 0} + toggleTransition: 1 + graphic: {fileID: 11495368} + 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 &11495164 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195130} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 15 + m_PreferredHeight: 15 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 +--- !u!114 &11495166 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195132} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1741964061, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_HorizontalFit: 2 + m_VerticalFit: 2 +--- !u!114 &11495168 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195132} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1297475563, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 4 + m_Spacing: 15 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 0 +--- !u!114 &11495170 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195134} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FontData: + m_Font: {fileID: 12800000, guid: 718657b6be420a6498b0f091c199a215, type: 3} + m_FontSize: 12 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_RichText: 0 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: .800000012 + m_Text: TUV +--- !u!114 &11495172 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195136} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FontData: + m_Font: {fileID: 12800000, guid: 718657b6be420a6498b0f091c199a215, type: 3} + m_FontSize: 12 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_RichText: 0 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: .800000012 + m_Text: PQRS +--- !u!114 &11495174 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195138} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 95878e800ddd366418edfb56a22f9d56, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + DecayTime: .150000006 + DefaultColor: {r: .258823544, g: .388235301, b: .541176498, a: 0} + FlashColor: {r: .536764741, g: .749080837, b: 1, a: .784313738} + Target: {fileID: 11495304} +--- !u!114 &11495176 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195138} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: PinEntry_Number_Button + IgnoreImage: 0 +--- !u!114 &11495178 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195138} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + 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: .258823544, g: .388235301, b: .53725493, a: 1} + m_PressedColor: {r: .258823544, g: .388235301, b: .53725493, a: 1} + m_DisabledColor: {r: 1, g: 1, b: 1, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: 0 + 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: 11495354} + 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 &11495180 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195138} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7134149b092993149867a9ce13a5ec50, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: +--- !u!114 &11495182 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195140} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 95878e800ddd366418edfb56a22f9d56, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + DecayTime: .150000006 + DefaultColor: {r: .258823544, g: .388235301, b: .541176498, a: 0} + FlashColor: {r: .536764741, g: .749080837, b: 1, a: .784313738} + Target: {fileID: 11495340} +--- !u!114 &11495184 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195140} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: PinEntry_Number_Button + IgnoreImage: 0 +--- !u!114 &11495186 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195140} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + 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: .258823544, g: .388235301, b: .53725493, a: 1} + m_PressedColor: {r: .258823544, g: .388235301, b: .53725493, a: 1} + m_DisabledColor: {r: 1, g: 1, b: 1, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: 0 + 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: 11495158} + 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 &11495188 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195140} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7134149b092993149867a9ce13a5ec50, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: +--- !u!114 &11495190 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195142} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: PinEntry_Dot_Ring + IgnoreImage: 0 +--- !u!114 &11495192 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195142} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Sprite: {fileID: 21300000, guid: ca27eb96a4f0c4145a479ad3e29790a2, 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 &11495194 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195144} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Sprite: {fileID: 21300000, guid: 3967d34dc919aa04cac871bbf2ebce4b, 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 &11495196 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195144} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: PinEntry_Number_Ring + IgnoreImage: 0 +--- !u!114 &11495198 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195146} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Sprite: {fileID: 21300000, guid: 6fe1234e2b04b2e44b33619147d02408, 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 &11495200 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195146} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: PinEntry_Number_Ring_Fill + IgnoreImage: 0 +--- !u!114 &11495202 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195148} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7134149b092993149867a9ce13a5ec50, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: +--- !u!114 &11495204 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195148} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 95878e800ddd366418edfb56a22f9d56, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + DecayTime: .150000006 + DefaultColor: {r: .258823544, g: .388235301, b: .541176498, a: 0} + FlashColor: {r: .536764741, g: .749080837, b: 1, a: .784313738} + Target: {fileID: 11495102} +--- !u!114 &11495206 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195148} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: PinEntry_Number_Button + IgnoreImage: 0 +--- !u!114 &11495208 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195148} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + 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: .258823544, g: .388235301, b: .53725493, a: 1} + m_PressedColor: {r: .258823544, g: .388235301, b: .53725493, a: 1} + m_DisabledColor: {r: 1, g: 1, b: 1, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: 0 + 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: 11495250} + 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 &11495210 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195150} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: PinEntry_Dot_Ring + IgnoreImage: 0 +--- !u!114 &11495212 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195150} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Sprite: {fileID: 21300000, guid: ca27eb96a4f0c4145a479ad3e29790a2, 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 &11495214 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195152} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FontData: + m_Font: {fileID: 12800000, guid: 718657b6be420a6498b0f091c199a215, type: 3} + m_FontSize: 32 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_RichText: 0 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 1 +--- !u!114 &11495216 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195154} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FontData: + m_Font: {fileID: 12800000, guid: 718657b6be420a6498b0f091c199a215, type: 3} + m_FontSize: 32 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_RichText: 0 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 7 +--- !u!114 &11495218 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195156} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7134149b092993149867a9ce13a5ec50, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: +--- !u!114 &11495220 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195156} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 95878e800ddd366418edfb56a22f9d56, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + DecayTime: .150000006 + DefaultColor: {r: .258823544, g: .388235301, b: .541176498, a: 0} + FlashColor: {r: .536764741, g: .749080837, b: 1, a: .784313738} + Target: {fileID: 11495198} +--- !u!114 &11495222 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195156} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: PinEntry_Number_Button + IgnoreImage: 0 +--- !u!114 &11495224 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195156} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + 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: .258823544, g: .388235301, b: .53725493, a: 1} + m_PressedColor: {r: .258823544, g: .388235301, b: .53725493, a: 1} + m_DisabledColor: {r: 1, g: 1, b: 1, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: 0 + 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: 11495194} + 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 &11495226 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195158} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: PinEntry_Dot_Ring + IgnoreImage: 0 +--- !u!114 &11495228 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195158} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Sprite: {fileID: 21300000, guid: ca27eb96a4f0c4145a479ad3e29790a2, 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 &11495230 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195160} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Sprite: {fileID: 21300000, guid: 6fe1234e2b04b2e44b33619147d02408, 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 &11495232 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195160} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: PinEntry_Number_Ring_Fill + IgnoreImage: 0 +--- !u!114 &11495234 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195162} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FontData: + m_Font: {fileID: 12800000, guid: 718657b6be420a6498b0f091c199a215, type: 3} + m_FontSize: 12 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_RichText: 0 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: .800000012 + m_Text: WXYZ +--- !u!114 &11495236 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195164} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Sprite: {fileID: 21300000, guid: 6fe1234e2b04b2e44b33619147d02408, 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 &11495238 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195164} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: PinEntry_Number_Ring_Fill + IgnoreImage: 0 +--- !u!114 &11495240 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195166} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FontData: + m_Font: {fileID: 12800000, guid: 718657b6be420a6498b0f091c199a215, type: 3} + m_FontSize: 12 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_RichText: 0 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: .800000012 + m_Text: ABC +--- !u!114 &11495242 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195168} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 95878e800ddd366418edfb56a22f9d56, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + DecayTime: .150000006 + DefaultColor: {r: .258823544, g: .388235301, b: .541176498, a: 0} + FlashColor: {r: .536764741, g: .749080837, b: 1, a: .784313738} + Target: {fileID: 11495236} +--- !u!114 &11495244 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195168} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: PinEntry_Number_Button + IgnoreImage: 0 +--- !u!114 &11495246 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195168} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + 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: .258823544, g: .388235301, b: .53725493, a: 1} + m_PressedColor: {r: .258823544, g: .388235301, b: .53725493, a: 1} + m_DisabledColor: {r: 1, g: 1, b: 1, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: 0 + 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: 11495256} + 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 &11495248 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195168} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7134149b092993149867a9ce13a5ec50, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: +--- !u!114 &11495250 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195170} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Sprite: {fileID: 21300000, guid: 3967d34dc919aa04cac871bbf2ebce4b, 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 &11495252 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195170} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: PinEntry_Number_Ring + IgnoreImage: 0 +--- !u!114 &11495254 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195172} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FontData: + m_Font: {fileID: 12800000, guid: 718657b6be420a6498b0f091c199a215, type: 3} + m_FontSize: 32 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_RichText: 0 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1.10000002 + m_Text: 0 +--- !u!114 &11495256 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195174} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Sprite: {fileID: 21300000, guid: 3967d34dc919aa04cac871bbf2ebce4b, 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 &11495258 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195174} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: PinEntry_Number_Ring + IgnoreImage: 0 +--- !u!114 &11495260 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195176} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7134149b092993149867a9ce13a5ec50, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: +--- !u!114 &11495262 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195176} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 95878e800ddd366418edfb56a22f9d56, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + DecayTime: .150000006 + DefaultColor: {r: .258823544, g: .388235301, b: .541176498, a: 0} + FlashColor: {r: .536764741, g: .749080837, b: 1, a: .784313738} + Target: {fileID: 11495116} +--- !u!114 &11495264 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195176} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: PinEntry_Number_Button + IgnoreImage: 0 +--- !u!114 &11495266 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195176} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + 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: .258823544, g: .388235301, b: .53725493, a: 1} + m_PressedColor: {r: .258823544, g: .388235301, b: .53725493, a: 1} + m_DisabledColor: {r: 1, g: 1, b: 1, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: 0 + 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: 11495108} + 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 &11495268 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195178} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Sprite: {fileID: 21300000, guid: a097b58da8de2bf4cb593d05feca1d98, 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 &11495270 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195178} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: PinEntry_Dot_Fill + IgnoreImage: 0 +--- !u!114 &11495274 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195180} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: 15 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 +--- !u!114 &11495276 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195182} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -2095666955, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 4 + m_StartCorner: 0 + m_StartAxis: 0 + m_CellSize: {x: 64, y: 64} + m_Spacing: {x: 16, y: 16} + m_Constraint: 1 + m_ConstraintCount: 3 +--- !u!114 &11495278 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195184} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Sprite: {fileID: 21300000, guid: 3967d34dc919aa04cac871bbf2ebce4b, 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 &11495280 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195184} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: PinEntry_Number_Ring + IgnoreImage: 0 +--- !u!114 &11495282 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195186} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FontData: + m_Font: {fileID: 12800000, guid: 718657b6be420a6498b0f091c199a215, type: 3} + m_FontSize: 32 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_RichText: 0 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 3 +--- !u!114 &11495284 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195188} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FontData: + m_Font: {fileID: 12800000, guid: 718657b6be420a6498b0f091c199a215, type: 3} + m_FontSize: 32 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_RichText: 0 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 4 +--- !u!114 &11495286 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195190} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7134149b092993149867a9ce13a5ec50, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: +--- !u!114 &11495288 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195190} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 95878e800ddd366418edfb56a22f9d56, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + DecayTime: .150000006 + DefaultColor: {r: .258823544, g: .388235301, b: .541176498, a: 0} + FlashColor: {r: .536764741, g: .749080837, b: 1, a: .784313738} + Target: {fileID: 11495362} +--- !u!114 &11495290 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195190} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: PinEntry_Number_Button + IgnoreImage: 0 +--- !u!114 &11495292 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195190} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + 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: .258823544, g: .388235301, b: .53725493, a: 1} + m_PressedColor: {r: .258823544, g: .388235301, b: .53725493, a: 1} + m_DisabledColor: {r: 1, g: 1, b: 1, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: 0 + 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: 11495278} + 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 &11495294 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195192} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FontData: + m_Font: {fileID: 12800000, guid: 718657b6be420a6498b0f091c199a215, type: 3} + m_FontSize: 32 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_RichText: 0 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 8 +--- !u!114 &11495296 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195194} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Sprite: {fileID: 21300000, guid: 6fe1234e2b04b2e44b33619147d02408, 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 &11495298 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195194} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: PinEntry_Number_Ring_Fill + IgnoreImage: 0 +--- !u!114 &11495300 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195196} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Sprite: {fileID: 21300000, guid: 6fe1234e2b04b2e44b33619147d02408, 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 &11495302 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195196} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: PinEntry_Number_Ring_Fill + IgnoreImage: 0 +--- !u!114 &11495304 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195198} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Sprite: {fileID: 21300000, guid: 6fe1234e2b04b2e44b33619147d02408, 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 &11495306 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195198} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: PinEntry_Number_Ring_Fill + IgnoreImage: 0 +--- !u!114 &11495308 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195200} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Sprite: {fileID: 21300000, guid: 3967d34dc919aa04cac871bbf2ebce4b, 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 &11495310 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195200} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: PinEntry_Number_Ring + IgnoreImage: 0 +--- !u!114 &11495312 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195202} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FontData: + m_Font: {fileID: 12800000, guid: 718657b6be420a6498b0f091c199a215, type: 3} + m_FontSize: 32 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_RichText: 0 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 6 +--- !u!114 &11495314 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195204} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: PinEntry_Dot_Ring + IgnoreImage: 0 +--- !u!114 &11495316 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195204} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Sprite: {fileID: 21300000, guid: ca27eb96a4f0c4145a479ad3e29790a2, 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 &11495318 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195206} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7134149b092993149867a9ce13a5ec50, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: +--- !u!114 &11495320 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195206} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 95878e800ddd366418edfb56a22f9d56, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + DecayTime: .150000006 + DefaultColor: {r: .258823544, g: .388235301, b: .541176498, a: 0} + FlashColor: {r: .536764741, g: .749080837, b: 1, a: .784313738} + Target: {fileID: 11495300} +--- !u!114 &11495322 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195206} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: PinEntry_Number_Button + IgnoreImage: 0 +--- !u!114 &11495324 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195206} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + 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: .258823544, g: .388235301, b: .53725493, a: 1} + m_PressedColor: {r: .258823544, g: .388235301, b: .53725493, a: 1} + m_DisabledColor: {r: 1, g: 1, b: 1, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: 0 + 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: 11495112} + 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 &11495326 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195208} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FontData: + m_Font: {fileID: 12800000, guid: 718657b6be420a6498b0f091c199a215, type: 3} + m_FontSize: 32 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_RichText: 0 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 2 +--- !u!114 &11495328 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195210} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 95878e800ddd366418edfb56a22f9d56, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + DecayTime: .150000006 + DefaultColor: {r: .258823544, g: .388235301, b: .541176498, a: 0} + FlashColor: {r: .536764741, g: .749080837, b: 1, a: .784313738} + Target: {fileID: 11495296} +--- !u!114 &11495330 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195210} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: PinEntry_Number_Button + IgnoreImage: 0 +--- !u!114 &11495332 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195210} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + 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: .258823544, g: .388235301, b: .53725493, a: 1} + m_PressedColor: {r: .258823544, g: .388235301, b: .53725493, a: 1} + m_DisabledColor: {r: 1, g: 1, b: 1, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: 0 + 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: 11495128} + 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 &11495334 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195210} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7134149b092993149867a9ce13a5ec50, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: +--- !u!114 &11495336 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195212} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 2109663825, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 0 + 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: .960784316, g: .960784316, b: .960784316, a: 1} + m_PressedColor: {r: .784313738, g: .784313738, b: .784313738, a: 1} + m_DisabledColor: {r: .784313738, g: .784313738, b: .784313738, a: .501960814} + m_ColorMultiplier: 1 + m_FadeDuration: .100000001 + 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: 0 + m_TargetGraphic: {fileID: 0} + toggleTransition: 1 + graphic: {fileID: 11495126} + 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 &11495338 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195212} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 15 + m_PreferredHeight: 15 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 +--- !u!114 &11495340 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195214} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Sprite: {fileID: 21300000, guid: 6fe1234e2b04b2e44b33619147d02408, 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 &11495342 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195214} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: PinEntry_Number_Ring_Fill + IgnoreImage: 0 +--- !u!114 &11495344 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195216} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 2109663825, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 0 + 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: .960784316, g: .960784316, b: .960784316, a: 1} + m_PressedColor: {r: .784313738, g: .784313738, b: .784313738, a: 1} + m_DisabledColor: {r: .784313738, g: .784313738, b: .784313738, a: .501960814} + m_ColorMultiplier: 1 + m_FadeDuration: .100000001 + 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: 0 + m_TargetGraphic: {fileID: 0} + toggleTransition: 1 + graphic: {fileID: 11495122} + 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 &11495346 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195216} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 15 + m_PreferredHeight: 15 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 +--- !u!114 &11495348 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195220} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 15 + m_PreferredHeight: 15 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 +--- !u!114 &11495350 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195220} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 2109663825, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 0 + 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: .960784316, g: .960784316, b: .960784316, a: 1} + m_PressedColor: {r: .784313738, g: .784313738, b: .784313738, a: 1} + m_DisabledColor: {r: .784313738, g: .784313738, b: .784313738, a: .501960814} + m_ColorMultiplier: 1 + m_FadeDuration: .100000001 + 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: 0 + m_TargetGraphic: {fileID: 0} + toggleTransition: 1 + graphic: {fileID: 11495268} + 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 &11495352 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195222} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FontData: + m_Font: {fileID: 12800000, guid: 677c9fb41b6c7e14199885b0b31740ee, type: 3} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 1 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Prompt Text Here +--- !u!114 &11495354 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195224} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Sprite: {fileID: 21300000, guid: 3967d34dc919aa04cac871bbf2ebce4b, 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 &11495356 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195224} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: PinEntry_Number_Ring + IgnoreImage: 0 +--- !u!114 &11495358 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195226} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: .835294127} + 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 &11495360 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195228} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FontData: + m_Font: {fileID: 12800000, guid: 718657b6be420a6498b0f091c199a215, type: 3} + m_FontSize: 12 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_RichText: 0 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: .800000012 + m_Text: JKL +--- !u!114 &11495362 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195230} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Sprite: {fileID: 21300000, guid: 6fe1234e2b04b2e44b33619147d02408, 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 &11495364 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195230} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: PinEntry_Number_Ring_Fill + IgnoreImage: 0 +--- !u!114 &11495366 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195232} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: PinEntry_Dot_Fill + IgnoreImage: 0 +--- !u!114 &11495368 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195232} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Sprite: {fileID: 21300000, guid: a097b58da8de2bf4cb593d05feca1d98, 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 &11498200 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195116} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 40436e7c301de034f916ee1e7ddabeeb, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: +--- !u!222 &22295096 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195096} +--- !u!222 &22295098 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195098} +--- !u!222 &22295100 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195100} +--- !u!222 &22295102 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195102} +--- !u!222 &22295104 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195104} +--- !u!222 &22295106 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195106} +--- !u!222 &22295108 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195108} +--- !u!222 &22295110 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195110} +--- !u!222 &22295112 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195112} +--- !u!222 &22295114 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195114} +--- !u!222 &22295116 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195118} +--- !u!222 &22295118 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195122} +--- !u!222 &22295120 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195126} +--- !u!222 &22295122 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195128} +--- !u!222 &22295124 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195134} +--- !u!222 &22295126 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195136} +--- !u!222 &22295128 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195142} +--- !u!222 &22295130 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195144} +--- !u!222 &22295132 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195146} +--- !u!222 &22295134 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195150} +--- !u!222 &22295136 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195152} +--- !u!222 &22295138 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195154} +--- !u!222 &22295140 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195158} +--- !u!222 &22295142 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195160} +--- !u!222 &22295144 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195162} +--- !u!222 &22295146 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195164} +--- !u!222 &22295148 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195166} +--- !u!222 &22295150 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195170} +--- !u!222 &22295152 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195172} +--- !u!222 &22295154 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195174} +--- !u!222 &22295156 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195178} +--- !u!222 &22295158 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195184} +--- !u!222 &22295160 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195186} +--- !u!222 &22295162 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195188} +--- !u!222 &22295164 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195192} +--- !u!222 &22295166 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195194} +--- !u!222 &22295168 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195196} +--- !u!222 &22295170 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195198} +--- !u!222 &22295172 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195200} +--- !u!222 &22295174 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195202} +--- !u!222 &22295176 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195204} +--- !u!222 &22295178 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195208} +--- !u!222 &22295180 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195214} +--- !u!222 &22295182 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195222} +--- !u!222 &22295184 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195224} +--- !u!222 &22295186 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195226} +--- !u!222 &22295188 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195228} +--- !u!222 &22295190 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195230} +--- !u!222 &22295192 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195232} +--- !u!223 &22395096 +Canvas: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195116} + m_Enabled: 1 + serializedVersion: 2 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 1 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingLayerID: 0 + m_SortingOrder: 122 +--- !u!224 &22420640 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 120640} + 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: 22495220} + - {fileID: 22495216} + - {fileID: 22495130} + - {fileID: 22495212} + m_Father: {fileID: 22495180} + m_RootOrder: 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: .5, y: .5} +--- !u!224 &22495096 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195096} + 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: 22495120} + m_RootOrder: 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: .5, y: .5} +--- !u!224 &22495098 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195098} + 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: 22495148} + m_RootOrder: 1 + m_AnchorMin: {x: .5, y: .5} + m_AnchorMax: {x: .5, y: .5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 64, y: 64} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22495100 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195100} + 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: 22495124} + m_RootOrder: 2 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 11} + m_SizeDelta: {x: 0, y: -22} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22495102 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195102} + 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: 22495176} + m_RootOrder: 0 + m_AnchorMin: {x: .5, y: .5} + m_AnchorMax: {x: .5, y: .5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 64, y: 64} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22495104 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195104} + 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: 22495206} + m_RootOrder: 0 + m_AnchorMin: {x: .5, y: .5} + m_AnchorMax: {x: .5, y: .5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 64, y: 64} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22495106 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195106} + 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: 22495176} + m_RootOrder: 1 + m_AnchorMin: {x: .5, y: .5} + m_AnchorMax: {x: .5, y: .5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 64, y: 64} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22495108 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195108} + 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: 22495216} + m_RootOrder: 1 + m_AnchorMin: {x: .5, y: .5} + m_AnchorMax: {x: .5, y: .5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 15, y: 15} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22495110 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195110} + 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: 22495212} + m_RootOrder: 1 + m_AnchorMin: {x: .5, y: .5} + m_AnchorMax: {x: .5, y: .5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 15, y: 15} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22495112 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195112} + 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: 22495210} + m_RootOrder: 0 + m_AnchorMin: {x: .5, y: .5} + m_AnchorMax: {x: .5, y: .5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 64, y: 64} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22495114 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195114} + 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: 22495206} + m_RootOrder: 3 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -11} + m_SizeDelta: {x: 0, y: -22} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22495116 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195116} + 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: 22495226} + - {fileID: 22495132} + m_Father: {fileID: 0} + m_RootOrder: 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 &22495118 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195118} + 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: 22495210} + m_RootOrder: 3 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -11} + m_SizeDelta: {x: 0, y: -22} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22495120 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195120} + 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: 22495096} + m_Father: {fileID: 22495182} + m_RootOrder: 11 + 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: .5, y: .5} +--- !u!224 &22495122 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195122} + 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: 22495148} + m_RootOrder: 2 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 11} + m_SizeDelta: {x: 0, y: -22} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22495124 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195124} + 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: 22495200} + - {fileID: 22495160} + - {fileID: 22495100} + - {fileID: 22495228} + m_Father: {fileID: 22495182} + m_RootOrder: 4 + 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: .5, y: .5} +--- !u!224 &22495126 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195126} + 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: 22495138} + m_RootOrder: 3 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -11} + m_SizeDelta: {x: 0, y: -22} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22495128 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195128} + 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: 22495140} + m_RootOrder: 0 + m_AnchorMin: {x: .5, y: .5} + m_AnchorMax: {x: .5, y: .5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 64, y: 64} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22495130 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195130} + 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: 22495142} + - {fileID: 22495232} + m_Father: {fileID: 22420640} + m_RootOrder: 2 + 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: .5, y: .5} +--- !u!224 &22495132 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195132} + 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: 22495222} + - {fileID: 22495180} + - {fileID: 22495182} + m_Father: {fileID: 22495116} + m_RootOrder: 1 + m_AnchorMin: {x: .5, y: .5} + m_AnchorMax: {x: .5, y: .5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22495134 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195134} + 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: 22495156} + m_RootOrder: 3 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -11} + m_SizeDelta: {x: 0, y: -22} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22495136 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195136} + 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: 22495190} + m_RootOrder: 3 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -11} + m_SizeDelta: {x: 0, y: -22} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22495138 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195138} + 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: 22495224} + - {fileID: 22495198} + - {fileID: 22495188} + - {fileID: 22495126} + m_Father: {fileID: 22495182} + m_RootOrder: 3 + 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: .5, y: .5} +--- !u!224 &22495140 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195140} + 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: 22495128} + - {fileID: 22495214} + - {fileID: 22495208} + - {fileID: 22495166} + m_Father: {fileID: 22495182} + m_RootOrder: 1 + 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: .5, y: .5} +--- !u!224 &22495142 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195142} + 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: 22495130} + m_RootOrder: 0 + m_AnchorMin: {x: .5, y: .5} + m_AnchorMax: {x: .5, y: .5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 15, y: 15} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22495144 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195144} + 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: 22495156} + m_RootOrder: 0 + m_AnchorMin: {x: .5, y: .5} + m_AnchorMax: {x: .5, y: .5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 64, y: 64} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22495146 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195146} + 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: 22495156} + m_RootOrder: 1 + m_AnchorMin: {x: .5, y: .5} + m_AnchorMax: {x: .5, y: .5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 64, y: 64} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22495148 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195148} + 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: 22495170} + - {fileID: 22495098} + - {fileID: 22495122} + - {fileID: 22495162} + m_Father: {fileID: 22495182} + m_RootOrder: 8 + 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: .5, y: .5} +--- !u!224 &22495150 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195150} + 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: 22495220} + m_RootOrder: 0 + m_AnchorMin: {x: .5, y: .5} + m_AnchorMax: {x: .5, y: .5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 15, y: 15} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22495152 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195152} + 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: 22495168} + m_RootOrder: 2 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 11} + m_SizeDelta: {x: 0, y: -22} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22495154 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195154} + 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: 22495190} + m_RootOrder: 2 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 11} + m_SizeDelta: {x: 0, y: -22} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22495156 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195156} + 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: 22495144} + - {fileID: 22495146} + - {fileID: 22495192} + - {fileID: 22495134} + m_Father: {fileID: 22495182} + m_RootOrder: 7 + 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: .5, y: .5} +--- !u!224 &22495158 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195158} + 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: 22495212} + m_RootOrder: 0 + m_AnchorMin: {x: .5, y: .5} + m_AnchorMax: {x: .5, y: .5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 15, y: 15} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22495160 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195160} + 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: 22495124} + m_RootOrder: 1 + m_AnchorMin: {x: .5, y: .5} + m_AnchorMax: {x: .5, y: .5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 64, y: 64} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22495162 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195162} + 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: 22495148} + m_RootOrder: 3 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -11} + m_SizeDelta: {x: 0, y: -22} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22495164 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195164} + 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: 22495168} + m_RootOrder: 1 + m_AnchorMin: {x: .5, y: .5} + m_AnchorMax: {x: .5, y: .5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 64, y: 64} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22495166 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195166} + 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: 22495140} + m_RootOrder: 3 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -11} + m_SizeDelta: {x: 0, y: -22} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22495168 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195168} + 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: 22495174} + - {fileID: 22495164} + - {fileID: 22495152} + m_Father: {fileID: 22495182} + m_RootOrder: 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: .5, y: .5} +--- !u!224 &22495170 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195170} + 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: 22495148} + m_RootOrder: 0 + m_AnchorMin: {x: .5, y: .5} + m_AnchorMax: {x: .5, y: .5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 64, y: 64} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22495172 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195172} + 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: 22495176} + m_RootOrder: 2 + 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: .5, y: .5} +--- !u!224 &22495174 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195174} + 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: 22495168} + m_RootOrder: 0 + m_AnchorMin: {x: .5, y: .5} + m_AnchorMax: {x: .5, y: .5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 64, y: 64} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22495176 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195176} + 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: 22495102} + - {fileID: 22495106} + - {fileID: 22495172} + m_Father: {fileID: 22495182} + m_RootOrder: 10 + 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: .5, y: .5} +--- !u!224 &22495178 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195178} + 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: 22495220} + m_RootOrder: 1 + m_AnchorMin: {x: .5, y: .5} + m_AnchorMax: {x: .5, y: .5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 15, y: 15} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22495180 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195180} + 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: 22420640} + m_Father: {fileID: 22495132} + m_RootOrder: 1 + 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: .5, y: .5} +--- !u!224 &22495182 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195182} + 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: 22495168} + - {fileID: 22495140} + - {fileID: 22495210} + - {fileID: 22495138} + - {fileID: 22495124} + - {fileID: 22495206} + - {fileID: 22495190} + - {fileID: 22495156} + - {fileID: 22495148} + - {fileID: 22495218} + - {fileID: 22495176} + - {fileID: 22495120} + m_Father: {fileID: 22495132} + m_RootOrder: 2 + 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: .5, y: .5} +--- !u!224 &22495184 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195184} + 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: 22495190} + m_RootOrder: 0 + m_AnchorMin: {x: .5, y: .5} + m_AnchorMax: {x: .5, y: .5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 64, y: 64} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22495186 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195186} + 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: 22495210} + m_RootOrder: 2 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 11} + m_SizeDelta: {x: 0, y: -22} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22495188 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195188} + 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: 22495138} + m_RootOrder: 2 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 11} + m_SizeDelta: {x: 0, y: -22} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22495190 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195190} + 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: 22495184} + - {fileID: 22495230} + - {fileID: 22495154} + - {fileID: 22495136} + m_Father: {fileID: 22495182} + m_RootOrder: 6 + 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: .5, y: .5} +--- !u!224 &22495192 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195192} + 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: 22495156} + m_RootOrder: 2 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 11} + m_SizeDelta: {x: 0, y: -22} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22495194 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195194} + 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: 22495210} + m_RootOrder: 1 + m_AnchorMin: {x: .5, y: .5} + m_AnchorMax: {x: .5, y: .5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 64, y: 64} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22495196 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195196} + 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: 22495206} + m_RootOrder: 1 + m_AnchorMin: {x: .5, y: .5} + m_AnchorMax: {x: .5, y: .5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 64, y: 64} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22495198 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195198} + 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: 22495138} + m_RootOrder: 1 + m_AnchorMin: {x: .5, y: .5} + m_AnchorMax: {x: .5, y: .5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 64, y: 64} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22495200 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195200} + 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: 22495124} + m_RootOrder: 0 + m_AnchorMin: {x: .5, y: .5} + m_AnchorMax: {x: .5, y: .5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 64, y: 64} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22495202 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195202} + 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: 22495206} + m_RootOrder: 2 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 11} + m_SizeDelta: {x: 0, y: -22} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22495204 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195204} + 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: 22495216} + m_RootOrder: 0 + m_AnchorMin: {x: .5, y: .5} + m_AnchorMax: {x: .5, y: .5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 15, y: 15} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22495206 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195206} + 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: 22495104} + - {fileID: 22495196} + - {fileID: 22495202} + - {fileID: 22495114} + m_Father: {fileID: 22495182} + m_RootOrder: 5 + 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: .5, y: .5} +--- !u!224 &22495208 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195208} + 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: 22495140} + m_RootOrder: 2 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 11} + m_SizeDelta: {x: 0, y: -22} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22495210 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195210} + 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: 22495112} + - {fileID: 22495194} + - {fileID: 22495186} + - {fileID: 22495118} + m_Father: {fileID: 22495182} + m_RootOrder: 2 + 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: .5, y: .5} +--- !u!224 &22495212 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195212} + 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: 22495158} + - {fileID: 22495110} + m_Father: {fileID: 22420640} + m_RootOrder: 3 + 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: .5, y: .5} +--- !u!224 &22495214 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195214} + 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: 22495140} + m_RootOrder: 1 + m_AnchorMin: {x: .5, y: .5} + m_AnchorMax: {x: .5, y: .5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 64, y: 64} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22495216 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195216} + 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: 22495204} + - {fileID: 22495108} + m_Father: {fileID: 22420640} + m_RootOrder: 1 + 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: .5, y: .5} +--- !u!224 &22495218 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195218} + 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: 22495182} + m_RootOrder: 9 + 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: .5, y: .5} +--- !u!224 &22495220 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195220} + 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: 22495150} + - {fileID: 22495178} + m_Father: {fileID: 22420640} + m_RootOrder: 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: .5, y: .5} +--- !u!224 &22495222 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195222} + 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: 22495132} + m_RootOrder: 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: .5, y: .5} +--- !u!224 &22495224 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195224} + 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: 22495138} + m_RootOrder: 0 + m_AnchorMin: {x: .5, y: .5} + m_AnchorMax: {x: .5, y: .5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 64, y: 64} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22495226 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195226} + 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: 22495116} + m_RootOrder: 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: .5, y: .5} +--- !u!224 &22495228 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195228} + 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: 22495124} + m_RootOrder: 3 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -11} + m_SizeDelta: {x: 0, y: -22} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22495230 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195230} + 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: 22495190} + m_RootOrder: 1 + m_AnchorMin: {x: .5, y: .5} + m_AnchorMax: {x: .5, y: .5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 64, y: 64} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22495232 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195232} + 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: 22495130} + m_RootOrder: 1 + m_AnchorMin: {x: .5, y: .5} + m_AnchorMax: {x: .5, y: .5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 15, y: 15} + m_Pivot: {x: .5, y: .5} +--- !u!225 &22595096 +CanvasGroup: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195116} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 +--- !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: 195116} + m_IsPrefabParent: 1 diff --git a/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/PinEntry.prefab.meta b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/PinEntry.prefab.meta new file mode 100644 index 0000000..3fc96bc --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/PinEntry.prefab.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 3234e6770548fe841adb652f4ad4bca6 +NativeFormatImporter: + userData: diff --git a/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/PinnedUI.prefab b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/PinnedUI.prefab new file mode 100644 index 0000000..75fffe9 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/PinnedUI.prefab @@ -0,0 +1,7728 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &101212 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22489430} + - component: {fileID: 11490248} + - component: {fileID: 11494348} + - component: {fileID: 11425454} + m_Layer: 5 + m_Name: SR_WarningButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22489430 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 101212} + 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: 22467544} + - {fileID: 22400618} + - {fileID: 22429112} + m_Father: {fileID: 22487510} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 1549, y: -16} + m_SizeDelta: {x: 44, y: 32} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &11490248 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 101212} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -405508275, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Padding: + m_Left: 8 + m_Right: 8 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 4 + m_Spacing: 4 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 +--- !u!114 &11494348 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 101212} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 2109663825, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + 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: 0} + toggleTransition: 0 + graphic: {fileID: 11490306} + m_Group: {fileID: 0} + onValueChanged: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 11462302} + m_MethodName: TogglesUpdated + 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_IsOn: 1 +--- !u!114 &11425454 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 101212} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: 42 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &101666 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22425592} + - component: {fileID: 22223466} + - component: {fileID: 11413472} + - component: {fileID: 11422844} + - component: {fileID: 11428104} + m_Layer: 5 + m_Name: SR_BG + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22425592 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 101666} + 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: 22469196} + 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!222 &22223466 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 101666} + m_CullTransparentMesh: 0 +--- !u!114 &11413472 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 101666} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.2784314, g: 0.2784314, b: 0.2784314, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 +--- !u!114 &11422844 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 101666} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &11428104 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 101666} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: + IgnoreImage: 0 +--- !u!1 &102936 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22469196} + - component: {fileID: 11444830} + - component: {fileID: 11402242} + - component: {fileID: 11419732} + m_Layer: 5 + m_Name: SR_InfoButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22469196 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 102936} + 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: 22425592} + - {fileID: 22406668} + - {fileID: 22463742} + m_Father: {fileID: 22487510} + m_RootOrder: 9 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 1594, y: -16} + m_SizeDelta: {x: 44, y: 32} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &11444830 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 102936} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -405508275, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Padding: + m_Left: 8 + m_Right: 8 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 4 + m_Spacing: 4 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 +--- !u!114 &11402242 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 102936} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 2109663825, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + 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: 0} + toggleTransition: 1 + graphic: {fileID: 11413472} + m_Group: {fileID: 0} + onValueChanged: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 11462302} + m_MethodName: TogglesUpdated + 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_IsOn: 1 +--- !u!114 &11419732 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 102936} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: 42 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &103946 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22428736} + - component: {fileID: 11469588} + - component: {fileID: 11416152} + - component: {fileID: 11434910} + - component: {fileID: 22211912} + - component: {fileID: 11483024} + - component: {fileID: 11480758} + - component: {fileID: 11482838} + m_Layer: 5 + m_Name: SR_ConsoleScrollRect + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22428736 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 103946} + 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: 22479180} + - {fileID: 22417406} + m_Father: {fileID: 22452010} + 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: 2} + m_SizeDelta: {x: 0, y: -4} + m_Pivot: {x: 0, y: 0.5} +--- !u!114 &11469588 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 103946} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + 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 &11416152 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 103946} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1367256648, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Content: {fileID: 22479180} + m_Horizontal: 0 + m_Vertical: 1 + m_MovementType: 2 + m_Elasticity: 0.1 + m_Inertia: 1 + m_DecelerationRate: 0.135 + m_ScrollSensitivity: 40 + m_Viewport: {fileID: 0} + m_HorizontalScrollbar: {fileID: 0} + m_VerticalScrollbar: {fileID: 11423940} + m_HorizontalScrollbarVisibility: 0 + m_VerticalScrollbarVisibility: 0 + m_HorizontalScrollbarSpacing: 0 + m_VerticalScrollbarSpacing: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &11434910 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 103946} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -1200242548, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_ShowMaskGraphic: 0 +--- !u!222 &22211912 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 103946} + m_CullTransparentMesh: 0 +--- !u!114 &11483024 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 103946} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + 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_Sprite: {fileID: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 +--- !u!114 &11480758 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 103946} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6f0ff44b792ef2042856036000e22450, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: +--- !u!114 &11482838 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 103946} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 413376b74a5948a4db9e0a5c9c002724, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _consoleScrollLayoutGroup: {fileID: 11403470} + _consoleScrollRect: {fileID: 11416152} +--- !u!1 &108234 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22405428} + m_Layer: 5 + m_Name: SR_SlidingArea + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22405428 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108234} + 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: 22492950} + m_Father: {fileID: 22417406} + 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: -10} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &109250 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22438040} + - component: {fileID: 22290382} + - component: {fileID: 11402994} + - component: {fileID: 11493056} + m_Layer: 5 + m_Name: SR_Sprite + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22438040 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 109250} + 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: 22460106} + m_RootOrder: 1 + 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: 16, y: 16} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &22290382 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 109250} + m_CullTransparentMesh: 0 +--- !u!114 &11402994 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 109250} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + 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_Sprite: {fileID: 21300000, guid: 2fd39c3920ff82048ad7b8aac693d224, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 +--- !u!114 &11493056 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 109250} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Icon_Menu_Small + IgnoreImage: 0 +--- !u!1 &109696 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22445992} + - component: {fileID: 22273598} + - component: {fileID: 11437742} + - component: {fileID: 11467968} + - component: {fileID: 11455422} + m_Layer: 5 + m_Name: SR_TopLeftHandle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22445992 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 109696} + 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: 22471734} + m_RootOrder: 8 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: -10, y: 10} + m_SizeDelta: {x: 44, y: 44} + m_Pivot: {x: 0, y: 1} +--- !u!222 &22273598 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 109696} + m_CullTransparentMesh: 0 +--- !u!114 &11437742 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 109696} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + 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_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 +--- !u!114 &11467968 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 109696} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8faed27c04557e24e8aecd35f2b4d9d3, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + Axis: 0 + Invert: 1 + MaxSize: -1 + TargetLayoutElement: {fileID: 11461848} + TargetRectTransform: {fileID: 0} +--- !u!114 &11455422 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 109696} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8faed27c04557e24e8aecd35f2b4d9d3, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + Axis: 1 + Invert: 0 + MaxSize: -1 + TargetLayoutElement: {fileID: 11461848} + TargetRectTransform: {fileID: 0} +--- !u!1 &112328 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22412160} + - component: {fileID: 22242140} + - component: {fileID: 11439412} + - component: {fileID: 11466008} + m_Layer: 5 + m_Name: SR_TopHandle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &22412160 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 112328} + 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: 22414340} + m_Father: {fileID: 22452010} + m_RootOrder: 2 + 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: 4} + m_Pivot: {x: 0.5, y: 0} +--- !u!222 &22242140 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 112328} + m_CullTransparentMesh: 0 +--- !u!114 &11439412 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 112328} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.30882353, g: 0.30882353, b: 0.30882353, a: 0.3764706} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 +--- !u!114 &11466008 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 112328} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Sidebar_Border + IgnoreImage: 0 +--- !u!1 &112730 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22412730} + - component: {fileID: 22212730} + - component: {fileID: 11412728} + - component: {fileID: 11412726} + m_Layer: 5 + m_Name: SR_HandleCollider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22412730 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 112730} + 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: 22471726} + 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, y: 0} + m_SizeDelta: {x: 22, y: -40} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &22212730 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 112730} + m_CullTransparentMesh: 0 +--- !u!114 &11412728 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 112730} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + 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_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 +--- !u!114 &11412726 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 112730} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8faed27c04557e24e8aecd35f2b4d9d3, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + Axis: 0 + Invert: 1 + MaxSize: -1 + TargetLayoutElement: {fileID: 11461848} + TargetRectTransform: {fileID: 0} +--- !u!1 &112770 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22462038} + - component: {fileID: 22278316} + - component: {fileID: 11488768} + - component: {fileID: 11406848} + m_Layer: 5 + m_Name: SR_HandleCollider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22462038 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 112770} + 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: 22459188} + 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: -7} + m_SizeDelta: {x: -40, y: 22} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &22278316 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 112770} + m_CullTransparentMesh: 0 +--- !u!114 &11488768 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 112770} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + 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_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 +--- !u!114 &11406848 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 112770} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8faed27c04557e24e8aecd35f2b4d9d3, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + Axis: 1 + Invert: 0 + MaxSize: -1 + TargetLayoutElement: {fileID: 11461848} + TargetRectTransform: {fileID: 0} +--- !u!1 &113926 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22414340} + - component: {fileID: 22217942} + - component: {fileID: 11477556} + - component: {fileID: 11434120} + - component: {fileID: 11492410} + m_Layer: 5 + m_Name: SR_HandleCollider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22414340 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 113926} + 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: 22412160} + 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: -15, y: -6} + m_SizeDelta: {x: -30, y: 24} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &22217942 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 113926} + m_CullTransparentMesh: 0 +--- !u!114 &11477556 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 113926} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + 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_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 +--- !u!114 &11434120 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 113926} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8faed27c04557e24e8aecd35f2b4d9d3, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + Axis: 1 + Invert: 0 + MaxSize: -1 + TargetLayoutElement: {fileID: 11411474} + TargetRectTransform: {fileID: 0} +--- !u!114 &11492410 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 113926} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -1862395651, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Delegates: + - eventID: 13 + callback: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 11462302} + m_MethodName: OnBeginDrag + 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 + - eventID: 14 + callback: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 11462302} + m_MethodName: OnEndDrag + 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 + delegates: + - eventID: 13 + callback: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 11462302} + m_MethodName: OnBeginDrag + 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 + - eventID: 14 + callback: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 11462302} + m_MethodName: OnEndDrag + 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 +--- !u!1 &115286 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22456864} + - component: {fileID: 22288270} + - component: {fileID: 11487274} + - component: {fileID: 11402158} + - component: {fileID: 4489589748577050320} + m_Layer: 0 + m_Name: SR_BG + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22456864 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 115286} + 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: 22450732} + 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!222 &22288270 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 115286} + m_CullTransparentMesh: 0 +--- !u!114 &11487274 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 115286} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.21568628, g: 0.21568628, b: 0.21568628, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 +--- !u!114 &11402158 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 115286} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Tab_Header_Background + IgnoreImage: 0 +--- !u!114 &4489589748577050320 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 115286} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &116980 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22415418} + - component: {fileID: 11449458} + - component: {fileID: 22245578} + - component: {fileID: 11455120} + - component: {fileID: 11488384} + - component: {fileID: 11443788} + m_Layer: 5 + m_Name: SR_Toggle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22415418 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 116980} + 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: 22440056} + - {fileID: 22427376} + m_Father: {fileID: 22487510} + 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: 45, y: -16} + m_SizeDelta: {x: 30, y: 32} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &11449458 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 116980} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + 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: 0.25882354, g: 0.25882354, b: 0.25882354, a: 0} + m_HighlightedColor: {r: 0.3254902, g: 0.3254902, b: 0.3254902, a: 1} + m_PressedColor: {r: 0.15294118, g: 0.15294118, b: 0.15294118, a: 1} + m_DisabledColor: {r: 0.25882354, g: 0.25882354, b: 0.25882354, a: 1} + 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: 11462048} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 11462302} + m_MethodName: ToggleDropdownVisible + 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 +--- !u!222 &22245578 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 116980} + m_CullTransparentMesh: 0 +--- !u!114 &11455120 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 116980} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 30 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &11488384 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 116980} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 95878e800ddd366418edfb56a22f9d56, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + DecayTime: 0.15 + DefaultColor: {r: 0.2784314, g: 0.2784314, b: 0.2784314, a: 0} + FlashColor: {r: 0.2784314, g: 0.2784314, b: 0.2784314, a: 1} + Target: {fileID: 11462048} +--- !u!114 &11443788 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 116980} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Tab_Header_Button + IgnoreImage: 0 +--- !u!1 &118288 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22400618} + - component: {fileID: 22288278} + - component: {fileID: 11420042} + - component: {fileID: 11475018} + - component: {fileID: 11411898} + m_Layer: 5 + m_Name: SR_Blob + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22400618 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 118288} + 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: 22489430} + 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: 8, y: -16} + m_SizeDelta: {x: 8, y: 8} + m_Pivot: {x: 0, y: 0.5} +--- !u!222 &22288278 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 118288} + m_CullTransparentMesh: 0 +--- !u!114 &11420042 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 118288} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.95686275, g: 0.7607843, b: 0.34117648, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 54b8502585d246249bd1f7540a8bf2b9, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 +--- !u!114 &11475018 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 118288} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Console_Warning_Blob + IgnoreImage: 0 +--- !u!114 &11411898 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 118288} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 8 + m_PreferredHeight: 8 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &119998 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22448178} + - component: {fileID: 22251232} + - component: {fileID: 11404694} + - component: {fileID: 11484448} + - component: {fileID: 11452394} + m_Layer: 5 + m_Name: SR_BG + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22448178 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 119998} + 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: 22493742} + 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!222 &22251232 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 119998} + m_CullTransparentMesh: 0 +--- !u!114 &11404694 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 119998} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.2784314, g: 0.2784314, b: 0.2784314, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 +--- !u!114 &11484448 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 119998} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &11452394 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 119998} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: + IgnoreImage: 0 +--- !u!1 &120834 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22419886} + - component: {fileID: 22278436} + - component: {fileID: 11431444} + m_Layer: 5 + m_Name: SR_BG + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22419886 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 120834} + 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: 22488734} + 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!222 &22278436 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 120834} + m_CullTransparentMesh: 0 +--- !u!114 &11431444 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 120834} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + 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_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 +--- !u!1 &123682 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22423682} + - component: {fileID: 11423682} + m_Layer: 0 + m_Name: SR_FlowLayout + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22423682 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 123682} + 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: 22476948} + 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: 1, y: 0} +--- !u!114 &11423682 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 123682} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f3a5149e46522d84cb8079537220a929, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 8 + ChildForceExpandHeight: 1 + ChildForceExpandWidth: 0 + Spacing: 2 +--- !u!1 &124190 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22478500} + - component: {fileID: 11425054} + - component: {fileID: 11405394} + m_Layer: 0 + m_Name: SR_VerticalSplitter + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22478500 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 124190} + 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: 22420880} + - {fileID: 22482604} + m_Father: {fileID: 22439328} + 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 &11425054 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 124190} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1297475563, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + 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 &11405394 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 124190} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: 0 + m_LayoutPriority: 1 +--- !u!1 &124722 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22493742} + - component: {fileID: 11454498} + - component: {fileID: 11411766} + - component: {fileID: 11467782} + m_Layer: 5 + m_Name: SR_ErrorButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22493742 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 124722} + 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: 22448178} + - {fileID: 22431974} + - {fileID: 22448952} + m_Father: {fileID: 22487510} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 1504, y: -16} + m_SizeDelta: {x: 44, y: 32} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &11454498 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 124722} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -405508275, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Padding: + m_Left: 8 + m_Right: 8 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 4 + m_Spacing: 4 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 +--- !u!114 &11411766 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 124722} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 2109663825, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + 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: 0} + toggleTransition: 0 + graphic: {fileID: 11404694} + m_Group: {fileID: 0} + onValueChanged: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 11462302} + m_MethodName: TogglesUpdated + 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_IsOn: 1 +--- !u!114 &11467782 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 124722} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: 42 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &125588 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22420880} + - component: {fileID: 11422016} + - component: {fileID: 11462302} + - component: {fileID: 22589178} + m_Layer: 0 + m_Name: SR_DockConsole + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &22420880 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 125588} + 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: 22450732} + - {fileID: 22427890} + - {fileID: 22452010} + m_Father: {fileID: 22478500} + 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: 808, y: -117} + m_SizeDelta: {x: 1616, y: 234} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &11422016 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 125588} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1297475563, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + 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 &11462302 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 125588} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c8181ba76f89dd64a96c1e8c2beccb26, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + BottomHandle: {fileID: 147648} + CanvasGroup: {fileID: 22589178} + Console: {fileID: 11482838} + Dropdown: {fileID: 135378} + DropdownToggleSprite: {fileID: 11404028} + TextErrors: {fileID: 11431552} + TextInfo: {fileID: 11478402} + TextWarnings: {fileID: 11467266} + ToggleErrors: {fileID: 11411766} + ToggleInfo: {fileID: 11402242} + ToggleWarnings: {fileID: 11494348} + TopBar: {fileID: 137394} + TopHandle: {fileID: 112328} + TopSafeAreaSpacer: {fileID: 7658326047140936194} + BottomSafeAreaSpacer: {fileID: 7842029730145317031} +--- !u!225 &22589178 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 125588} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 +--- !u!1 &126898 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22498756} + - component: {fileID: 11478318} + m_Layer: 5 + m_Name: SR_Spacer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22498756 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 126898} + 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: 22487510} + 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: 756, y: -16} + m_SizeDelta: {x: 1392, y: 32} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &11478318 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 126898} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + 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!1 &128748 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22487510} + - component: {fileID: 11460058} + - component: {fileID: 4217778713013389931} + m_Layer: 5 + m_Name: SR_Content + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22487510 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 128748} + 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: 8650125457728748414} + - {fileID: 22460106} + - {fileID: 22415418} + - {fileID: 22498756} + - {fileID: 22488734} + - {fileID: 22493742} + - {fileID: 22456556} + - {fileID: 22489430} + - {fileID: 22479100} + - {fileID: 22469196} + - {fileID: 5950465061723436011} + m_Father: {fileID: 22450732} + 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: 808, y: -16} + m_SizeDelta: {x: 1616, y: 32} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &11460058 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 128748} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -405508275, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 5 + m_Spacing: 0 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 +--- !u!114 &4217778713013389931 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 128748} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: 32 + m_PreferredWidth: -1 + m_PreferredHeight: 32 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &131058 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22485200} + - component: {fileID: 22246096} + - component: {fileID: 11415496} + - component: {fileID: 11464978} + - component: {fileID: 11402254} + m_Layer: 5 + m_Name: SR_TopRightHandle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22485200 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 131058} + 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: 22471734} + m_RootOrder: 7 + 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: 10} + m_SizeDelta: {x: 44, y: 44} + m_Pivot: {x: 1, y: 1} +--- !u!222 &22246096 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 131058} + m_CullTransparentMesh: 0 +--- !u!114 &11415496 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 131058} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + 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_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 +--- !u!114 &11464978 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 131058} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8faed27c04557e24e8aecd35f2b4d9d3, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + Axis: 0 + Invert: 0 + MaxSize: -1 + TargetLayoutElement: {fileID: 11461848} + TargetRectTransform: {fileID: 0} +--- !u!114 &11402254 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 131058} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8faed27c04557e24e8aecd35f2b4d9d3, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + Axis: 1 + Invert: 0 + MaxSize: -1 + TargetLayoutElement: {fileID: 11461848} + TargetRectTransform: {fileID: 0} +--- !u!1 &132546 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22422706} + - component: {fileID: 22267456} + - component: {fileID: 11495864} + - component: {fileID: 11488142} + m_Layer: 5 + m_Name: SR_HandleCollider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22422706 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 132546} + 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: 22408688} + 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, y: 0} + m_SizeDelta: {x: 22, y: -40} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &22267456 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 132546} + m_CullTransparentMesh: 0 +--- !u!114 &11495864 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 132546} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + 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_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 +--- !u!114 &11488142 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 132546} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8faed27c04557e24e8aecd35f2b4d9d3, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + Axis: 0 + Invert: 0 + MaxSize: -1 + TargetLayoutElement: {fileID: 11461848} + TargetRectTransform: {fileID: 0} +--- !u!1 &133628 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22427890} + - component: {fileID: 22257292} + - component: {fileID: 11431368} + - component: {fileID: 11429856} + m_Layer: 0 + m_Name: SR_Border + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22427890 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 133628} + 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: 22420880} + 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: 808, y: -32} + m_SizeDelta: {x: 1616, y: 2} + m_Pivot: {x: 0.5, y: 1} +--- !u!222 &22257292 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 133628} + m_CullTransparentMesh: 0 +--- !u!114 &11431368 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 133628} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.30882353, g: 0.30882353, b: 0.30882353, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 +--- !u!114 &11429856 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 133628} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: 2 + m_PreferredWidth: -1 + m_PreferredHeight: 2 + m_FlexibleWidth: -1 + m_FlexibleHeight: 0 + m_LayoutPriority: 1 +--- !u!1 &135378 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22452010} + - component: {fileID: 22541820} + - component: {fileID: 11411474} + m_Layer: 0 + m_Name: SR_Dropdown + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22452010 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 135378} + 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: 22477296} + - {fileID: 22428736} + - {fileID: 22412160} + - {fileID: 22458278} + m_Father: {fileID: 22420880} + 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: 808, y: -34} + m_SizeDelta: {x: 1616, y: 200} + m_Pivot: {x: 0.5, y: 1} +--- !u!225 &22541820 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 135378} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 +--- !u!114 &11411474 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 135378} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: 50 + m_PreferredWidth: -1 + m_PreferredHeight: 200 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &137394 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22450732} + - component: {fileID: 11439460} + - component: {fileID: 8741071219730480393} + m_Layer: 0 + m_Name: SR_TopBar + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22450732 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 137394} + 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: 22456864} + - {fileID: 1343749584475862202} + - {fileID: 22487510} + - {fileID: 8266484846030718889} + m_Father: {fileID: 22420880} + 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: 808, y: 0} + m_SizeDelta: {x: 1616, y: 32} + m_Pivot: {x: 0.5, y: 1} +--- !u!114 &11439460 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 137394} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: 0 + m_LayoutPriority: 1 +--- !u!114 &8741071219730480393 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 137394} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1297475563, guid: f70555f144d8491a825f0804e09c671c, 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!1 &139328 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22439328} + - component: {fileID: 22339328} + - component: {fileID: 11439322} + - component: {fileID: 11439324} + - component: {fileID: 11439326} + - component: {fileID: 11439328} + - component: {fileID: 11457318} + - component: {fileID: 11465078} + - component: {fileID: 11419944} + m_Layer: 0 + m_Name: PinnedUI + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22439328 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 139328} + 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: 22478500} + 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!223 &22339328 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 139328} + 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: 25 + m_SortingLayerID: 0 + m_SortingOrder: 117 + m_TargetDisplay: 0 +--- !u!114 &11439322 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 139328} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1301386320, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &11439324 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 139328} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 +--- !u!114 &11439326 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 139328} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 58bc4004a23c662408dd40e6d01ac936, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _disablePixelPerfect: 0 + _designDpi: 120 +--- !u!114 &11439328 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 139328} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d1bf029da478aff42a6d6e0ed8e21203, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + StyleSheet: {fileID: 11400000, guid: cdfb48dd49c2d7a4d9f8805cd96e0241, type: 2} +--- !u!114 &11457318 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 139328} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7d5f8248a0899ee48adc84c3fb98627a, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + Canvas: {fileID: 22339328} + Container: {fileID: 22423682} + DockConsoleController: {fileID: 11462302} + Options: {fileID: 176948} + OptionsLayoutGroup: {fileID: 11423682} + Profiler: {fileID: 178184} + ProfilerHandleManager: {fileID: 11468302} + ProfilerVerticalLayoutGroup: {fileID: 11439648} +--- !u!114 &11465078 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 139328} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 40436e7c301de034f916ee1e7ddabeeb, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: +--- !u!114 &11419944 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 139328} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f0ad3d8afa9fd64429a249b5bbb19557, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: +--- !u!1 &142316 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22456182} + - component: {fileID: 22270178} + - component: {fileID: 11456790} + m_Layer: 5 + m_Name: SR_BG + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22456182 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 142316} + 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: 22460106} + 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!222 &22270178 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 142316} + m_CullTransparentMesh: 0 +--- !u!114 &11456790 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 142316} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + 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_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 +--- !u!1 &143254 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22427376} + - component: {fileID: 22290916} + - component: {fileID: 11404028} + - component: {fileID: 11452994} + m_Layer: 5 + m_Name: SR_Sprite + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22427376 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 143254} + 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: 22415418} + m_RootOrder: 1 + 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: 16, y: 16} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &22290916 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 143254} + m_CullTransparentMesh: 0 +--- !u!114 &11404028 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 143254} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + 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_Sprite: {fileID: 21300000, guid: 159fc50f1c2574d4ea143a010597198a, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 +--- !u!114 &11452994 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 143254} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Icon_ToggleDropdown + IgnoreImage: 0 +--- !u!1 &145956 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22463742} + - component: {fileID: 22292776} + - component: {fileID: 11478402} + m_Layer: 5 + m_Name: SR_Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22463742 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 145956} + 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: 22469196} + 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: 28, y: -16} + m_SizeDelta: {x: 16, y: 17} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &22292776 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 145956} + m_CullTransparentMesh: 0 +--- !u!114 &11478402 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 145956} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + 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_FontData: + m_Font: {fileID: 12800000, guid: 718657b6be420a6498b0f091c199a215, type: 3} + m_FontSize: 13 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 65 +--- !u!1 &147648 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22458278} + - component: {fileID: 22252774} + - component: {fileID: 11470768} + - component: {fileID: 11449304} + m_Layer: 5 + m_Name: SR_BottomHandle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22458278 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 147648} + 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: 22483542} + m_Father: {fileID: 22452010} + m_RootOrder: 3 + 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: 0, y: 4} + m_Pivot: {x: 0.5, y: 0} +--- !u!222 &22252774 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 147648} + m_CullTransparentMesh: 0 +--- !u!114 &11470768 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 147648} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.30882353, g: 0.30882353, b: 0.30882353, a: 0.3764706} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 +--- !u!114 &11449304 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 147648} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Sidebar_Border + IgnoreImage: 0 +--- !u!1 &150968 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22420856} + - component: {fileID: 22254500} + - component: {fileID: 11434300} + - component: {fileID: 11429512} + m_Layer: 5 + m_Name: SR_Sprite + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22420856 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 150968} + 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: 22488734} + m_RootOrder: 1 + 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: 16, y: 16} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &22254500 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 150968} + m_CullTransparentMesh: 0 +--- !u!114 &11434300 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 150968} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + 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_Sprite: {fileID: 21300000, guid: 8b93e13a01362424a89df66b813b3403, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 +--- !u!114 &11429512 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 150968} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Icon_Trash_Small + IgnoreImage: 0 +--- !u!1 &161632 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22461632} + - component: {fileID: 22261632} + - component: {fileID: 11461630} + - component: {fileID: 11461632} + - component: {fileID: 22561632} + m_Layer: 0 + m_Name: SR_Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22461632 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 161632} + 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: 22471734} + 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!222 &22261632 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 161632} + m_CullTransparentMesh: 0 +--- !u!114 &11461630 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 161632} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.09558821, g: 0.09558821, b: 0.09558821, a: 0.87058824} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 +--- !u!114 &11461632 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 161632} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Pinned_Profiler_BG + IgnoreImage: 0 +--- !u!225 &22561632 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 161632} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 0 + m_BlocksRaycasts: 0 + m_IgnoreParentGroups: 0 +--- !u!1 &162546 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22408688} + - component: {fileID: 22294800} + - component: {fileID: 11403942} + m_Layer: 5 + m_Name: SR_RightHandle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22408688 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 162546} + 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: 22422706} + m_Father: {fileID: 22471734} + m_RootOrder: 4 + 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: 2, y: 0} + m_Pivot: {x: 0.5, y: 0} +--- !u!222 &22294800 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 162546} + m_CullTransparentMesh: 0 +--- !u!114 &11403942 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 162546} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.3455882, g: 0.3455882, b: 0.3455882, a: 0.7176471} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 +--- !u!1 &162844 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22406668} + - component: {fileID: 22203430} + - component: {fileID: 11461566} + - component: {fileID: 11427486} + - component: {fileID: 11401300} + m_Layer: 5 + m_Name: SR_Blob + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22406668 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 162844} + 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: 22469196} + 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: 8, y: -16} + m_SizeDelta: {x: 8, y: 8} + m_Pivot: {x: 0, y: 0.5} +--- !u!222 &22203430 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 162844} + m_CullTransparentMesh: 0 +--- !u!114 &11461566 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 162844} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.34117648, g: 0.7019608, b: 0.95686275, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 54b8502585d246249bd1f7540a8bf2b9, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 +--- !u!114 &11427486 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 162844} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Console_Info_Blob + IgnoreImage: 0 +--- !u!114 &11401300 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 162844} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 8 + m_PreferredHeight: 8 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &163402 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22448952} + - component: {fileID: 22248730} + - component: {fileID: 11431552} + m_Layer: 5 + m_Name: SR_Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22448952 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 163402} + 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: 22493742} + 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: 28, y: -16} + m_SizeDelta: {x: 16, y: 17} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &22248730 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 163402} + m_CullTransparentMesh: 0 +--- !u!114 &11431552 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 163402} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + 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_FontData: + m_Font: {fileID: 12800000, guid: 718657b6be420a6498b0f091c199a215, type: 3} + m_FontSize: 13 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 65 +--- !u!1 &164060 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22429112} + - component: {fileID: 22239910} + - component: {fileID: 11467266} + m_Layer: 5 + m_Name: SR_Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22429112 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 164060} + 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: 22489430} + 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: 28, y: -16} + m_SizeDelta: {x: 16, y: 17} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &22239910 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 164060} + m_CullTransparentMesh: 0 +--- !u!114 &11467266 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 164060} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + 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_FontData: + m_Font: {fileID: 12800000, guid: 718657b6be420a6498b0f091c199a215, type: 3} + m_FontSize: 13 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 65 +--- !u!1 &164638 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22460106} + - component: {fileID: 11468894} + - component: {fileID: 22247900} + - component: {fileID: 11448874} + - component: {fileID: 11472410} + - component: {fileID: 11407420} + m_Layer: 5 + m_Name: SR_Menu + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22460106 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 164638} + 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: 22456182} + - {fileID: 22438040} + m_Father: {fileID: 22487510} + 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: 15, y: -16} + m_SizeDelta: {x: 30, y: 32} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &11468894 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 164638} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + 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: 0.25882354, g: 0.25882354, b: 0.25882354, a: 0} + m_HighlightedColor: {r: 0.3254902, g: 0.3254902, b: 0.3254902, a: 1} + m_PressedColor: {r: 0.15294118, g: 0.15294118, b: 0.15294118, a: 1} + m_DisabledColor: {r: 0.25882354, g: 0.25882354, b: 0.25882354, a: 1} + 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: 11456790} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 11462302} + m_MethodName: MenuButtonPressed + 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 +--- !u!222 &22247900 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 164638} + m_CullTransparentMesh: 0 +--- !u!114 &11448874 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 164638} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 30 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &11472410 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 164638} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 95878e800ddd366418edfb56a22f9d56, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + DecayTime: 0.15 + DefaultColor: {r: 0.2784314, g: 0.2784314, b: 0.2784314, a: 0} + FlashColor: {r: 0.2784314, g: 0.2784314, b: 0.2784314, a: 1} + Target: {fileID: 11456790} +--- !u!114 &11407420 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 164638} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Tab_Header_Button + IgnoreImage: 0 +--- !u!1 &166248 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22440056} + - component: {fileID: 22245800} + - component: {fileID: 11462048} + m_Layer: 5 + m_Name: SR_BG + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22440056 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 166248} + 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: 22415418} + 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!222 &22245800 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 166248} + m_CullTransparentMesh: 0 +--- !u!114 &11462048 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 166248} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + 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_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 +--- !u!1 &168972 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22453596} + - component: {fileID: 22200286} + - component: {fileID: 11407714} + - component: {fileID: 11405820} + - component: {fileID: 11474212} + m_Layer: 5 + m_Name: SR_BottomRightHandle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22453596 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 168972} + 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: 22471734} + m_RootOrder: 9 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: 10, y: -10} + m_SizeDelta: {x: 44, y: 44} + m_Pivot: {x: 1, y: 0} +--- !u!222 &22200286 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 168972} + m_CullTransparentMesh: 0 +--- !u!114 &11407714 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 168972} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + 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_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 +--- !u!114 &11405820 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 168972} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8faed27c04557e24e8aecd35f2b4d9d3, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + Axis: 0 + Invert: 0 + MaxSize: -1 + TargetLayoutElement: {fileID: 11461848} + TargetRectTransform: {fileID: 0} +--- !u!114 &11474212 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 168972} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8faed27c04557e24e8aecd35f2b4d9d3, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + Axis: 1 + Invert: 1 + MaxSize: -1 + TargetLayoutElement: {fileID: 11461848} + TargetRectTransform: {fileID: 0} +--- !u!1 &171092 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22431974} + - component: {fileID: 22220090} + - component: {fileID: 11450434} + - component: {fileID: 11494414} + - component: {fileID: 11408564} + m_Layer: 5 + m_Name: SR_Blob + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22431974 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 171092} + 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: 22493742} + 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: 8, y: -16} + m_SizeDelta: {x: 8, y: 8} + m_Pivot: {x: 0, y: 0.5} +--- !u!222 &22220090 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 171092} + m_CullTransparentMesh: 0 +--- !u!114 &11450434 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 171092} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.95686275, g: 0.35686275, b: 0.34117648, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 54b8502585d246249bd1f7540a8bf2b9, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 +--- !u!114 &11494414 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 171092} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Console_Error_Blob + IgnoreImage: 0 +--- !u!114 &11408564 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 171092} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 8 + m_PreferredHeight: 8 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &171726 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22471726} + - component: {fileID: 22271724} + - component: {fileID: 11471728} + m_Layer: 5 + m_Name: SR_LeftHandle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22471726 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 171726} + 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: 22412730} + m_Father: {fileID: 22471734} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 2, y: 0} + m_Pivot: {x: 0.5, y: 0} +--- !u!222 &22271724 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 171726} + m_CullTransparentMesh: 0 +--- !u!114 &11471728 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 171726} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.3455882, g: 0.3455882, b: 0.3455882, a: 0.7176471} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 +--- !u!1 &171728 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22471728} + - component: {fileID: 22271726} + - component: {fileID: 11471730} + - component: {fileID: 11471732} + - component: {fileID: 11412730} + m_Layer: 5 + m_Name: SR_BottomLeftHandle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22471728 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 171728} + 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: 22471734} + m_RootOrder: 10 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: -10, y: 34} + m_SizeDelta: {x: 44, y: 44} + m_Pivot: {x: 0, y: 1} +--- !u!222 &22271726 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 171728} + m_CullTransparentMesh: 0 +--- !u!114 &11471730 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 171728} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + 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_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 +--- !u!114 &11471732 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 171728} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8faed27c04557e24e8aecd35f2b4d9d3, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + Axis: 0 + Invert: 1 + MaxSize: -1 + TargetLayoutElement: {fileID: 11461848} + TargetRectTransform: {fileID: 0} +--- !u!114 &11412730 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 171728} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8faed27c04557e24e8aecd35f2b4d9d3, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + Axis: 1 + Invert: 1 + MaxSize: -1 + TargetLayoutElement: {fileID: 11461848} + TargetRectTransform: {fileID: 0} +--- !u!1 &171730 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22471730} + - component: {fileID: 22271728} + - component: {fileID: 11471736} + - component: {fileID: 11471734} + m_Layer: 5 + m_Name: SR_HandleCollider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22471730 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 171730} + 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: 22471732} + 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: 7} + m_SizeDelta: {x: -40, y: 22} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &22271728 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 171730} + m_CullTransparentMesh: 0 +--- !u!114 &11471736 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 171730} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + 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_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 +--- !u!114 &11471734 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 171730} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8faed27c04557e24e8aecd35f2b4d9d3, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + Axis: 1 + Invert: 1 + MaxSize: -1 + TargetLayoutElement: {fileID: 11461848} + TargetRectTransform: {fileID: 0} +--- !u!1 &171732 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22471732} + - component: {fileID: 22271730} + - component: {fileID: 11471738} + m_Layer: 5 + m_Name: SR_BottomHandle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22471732 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 171732} + 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: 22471730} + m_Father: {fileID: 22471734} + m_RootOrder: 5 + 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: 0, y: 2} + m_Pivot: {x: 0.5, y: 0} +--- !u!222 &22271730 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 171732} + m_CullTransparentMesh: 0 +--- !u!114 &11471738 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 171732} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.3455882, g: 0.3455882, b: 0.3455882, a: 0.7176471} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 +--- !u!1 &171734 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22471734} + - component: {fileID: 11468302} + m_Layer: 0 + m_Name: SR_ProfilerContainer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22471734 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 171734} + 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: 22461632} + - {fileID: 22471736} + - {fileID: 22482566} + - {fileID: 22459188} + - {fileID: 22408688} + - {fileID: 22471732} + - {fileID: 22471726} + - {fileID: 22485200} + - {fileID: 22445992} + - {fileID: 22453596} + - {fileID: 22471728} + m_Father: {fileID: 22482602} + 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, y: 0} +--- !u!114 &11468302 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 171734} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4292e93ad30fda64b96c60d4d68b3c0d, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + BottomHandle: {fileID: 171732} + BottomLeftHandle: {fileID: 171728} + BottomRightHandle: {fileID: 168972} + DefaultAlignment: 2 + LeftHandle: {fileID: 171726} + RightHandle: {fileID: 162546} + TopHandle: {fileID: 174366} + TopLeftHandle: {fileID: 109696} + TopRightHandle: {fileID: 131058} +--- !u!1 &171736 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22471736} + - component: {fileID: 22571726} + m_Layer: 0 + m_Name: SR_FPSGraphContainer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22471736 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 171736} + 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: 22482564} + m_Father: {fileID: 22471734} + 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: 14} + m_SizeDelta: {x: 0, y: -14} + m_Pivot: {x: 0, y: 0} +--- !u!225 &22571726 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 171736} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 0 + m_BlocksRaycasts: 0 + m_IgnoreParentGroups: 0 +--- !u!1 &172826 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22479180} + - component: {fileID: 11403470} + - component: {fileID: 11413032} + m_Layer: 5 + m_Name: SR_Content + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22479180 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 172826} + 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: 22428736} + 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: 0} + m_Pivot: {x: 0.5, y: 1} +--- !u!114 &11403470 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 172826} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 19c408e3f064e184fa5e0d9862ac4d8b, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 0 + _selectedItemChanged: + m_PersistentCalls: + m_Calls: [] + AltRowStyleSheet: {fileID: 11400000, guid: 9e09b8950236048448238f4c0963f3ad, type: 2} + EnableSelection: 0 + ItemPrefab: {fileID: 22400004, guid: 408ed745743f47f46ac11b71f96cf1a4, type: 3} + RowPadding: 2 + RowStyleSheet: {fileID: 11400000, guid: cdfb48dd49c2d7a4d9f8805cd96e0241, type: 2} + SelectedRowStyleSheet: {fileID: 11400000, guid: d30366e803724014382b48500f16271c, + type: 2} + Spacing: 0 + StickToBottom: 1 +--- !u!114 &11413032 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 172826} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1741964061, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_HorizontalFit: 0 + m_VerticalFit: 2 +--- !u!1 &174366 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22459188} + - component: {fileID: 22248550} + - component: {fileID: 11406700} + m_Layer: 5 + m_Name: SR_TopHandle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22459188 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 174366} + 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: 22462038} + m_Father: {fileID: 22471734} + m_RootOrder: 3 + 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: 2} + m_Pivot: {x: 0.5, y: 0} +--- !u!222 &22248550 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 174366} + m_CullTransparentMesh: 0 +--- !u!114 &11406700 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 174366} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.3455882, g: 0.3455882, b: 0.3455882, a: 0.7176471} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 +--- !u!1 &176948 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22476948} + - component: {fileID: 11476948} + - component: {fileID: 11498324} + m_Layer: 0 + m_Name: SR_PinnedOptionsGroup + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22476948 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 176948} + 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: 22423682} + m_Father: {fileID: 22482604} + 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!114 &11476948 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 176948} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: 190 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: 1 + m_FlexibleHeight: 1 + m_LayoutPriority: 1 +--- !u!114 &11498324 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 176948} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 525a40520606ceb469b7494cb8ddef87, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + CopyMinHeight: 0 + CopyMinWidth: 1 + CopyPreferredHeight: 0 + CopyPreferredWidth: 0 + CopySource: {fileID: 22423682} + PaddingMinHeight: 0 + PaddingMinWidth: 0 + PaddingPreferredHeight: 0 + PaddingPreferredWidth: 0 +--- !u!1 &178184 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22482234} + - component: {fileID: 11439648} + m_Layer: 0 + m_Name: SR_ProfilerVerticalAlign + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &22482234 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178184} + 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: 22482602} + m_Father: {fileID: 22482604} + 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: -684} + m_SizeDelta: {x: 250, y: 684} + m_Pivot: {x: 0, y: 0} +--- !u!114 &11439648 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178184} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1297475563, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 7 + m_Spacing: 0 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 +--- !u!1 &179416 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22467544} + - component: {fileID: 22297048} + - component: {fileID: 11490306} + - component: {fileID: 11460760} + - component: {fileID: 11476364} + m_Layer: 5 + m_Name: SR_BG + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22467544 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 179416} + 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: 22489430} + 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!222 &22297048 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 179416} + m_CullTransparentMesh: 0 +--- !u!114 &11490306 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 179416} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.2784314, g: 0.2784314, b: 0.2784314, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 +--- !u!114 &11460760 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 179416} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &11476364 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 179416} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: + IgnoreImage: 0 +--- !u!1 &181184 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22483542} + - component: {fileID: 22254916} + - component: {fileID: 11436654} + - component: {fileID: 11420426} + - component: {fileID: 11448398} + m_Layer: 5 + m_Name: SR_HandleCollider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22483542 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 181184} + 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: 22458278} + 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: -15, y: 6.5} + m_SizeDelta: {x: -30, y: 23} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &22254916 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 181184} + m_CullTransparentMesh: 0 +--- !u!114 &11436654 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 181184} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + 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_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 +--- !u!114 &11420426 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 181184} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8faed27c04557e24e8aecd35f2b4d9d3, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + Axis: 1 + Invert: 1 + MaxSize: -1 + TargetLayoutElement: {fileID: 11411474} + TargetRectTransform: {fileID: 0} +--- !u!114 &11448398 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 181184} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -1862395651, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Delegates: + - eventID: 13 + callback: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 11462302} + m_MethodName: OnBeginDrag + 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 + - eventID: 14 + callback: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 11462302} + m_MethodName: OnEndDrag + 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 + delegates: + - eventID: 13 + callback: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 11462302} + m_MethodName: OnBeginDrag + 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 + - eventID: 14 + callback: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 11462302} + m_MethodName: OnEndDrag + 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 +--- !u!1 &182564 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22482564} + - component: {fileID: 22282564} + - component: {fileID: 11482572} + - component: {fileID: 11482574} + m_Layer: 5 + m_Name: SR_FPSGraph + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22482564 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182564} + 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: 22482568} + - {fileID: 22482570} + m_Father: {fileID: 22471736} + 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!222 &22282564 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182564} + m_CullTransparentMesh: 0 +--- !u!114 &11482572 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182564} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e5812a284a856b743b4f54c6a4637061, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + VerticalAlignment: 1 + FloatingScale: 1 + TargetFpsUseApplication: 0 + DrawAxes: 1 + TargetFps: 60 + Clip: 1 + VerticalPadding: 10 + LineColours: + - {r: 0.20392157, g: 0.5176471, b: 0.63529414, a: 1} + - {r: 0.4627451, g: 0.59607846, b: 0.02745098, a: 1} + - {r: 0.5921569, g: 0.45974308, b: 0.027450992, a: 1} +--- !u!114 &11482574 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182564} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: 160 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &182566 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22482568} + - component: {fileID: 11482576} + m_Layer: 5 + m_Name: SR_AxisLabel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22482568 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182566} + 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: 22482572} + - {fileID: 22482574} + m_Father: {fileID: 22482564} + 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: 60, y: 140} + m_SizeDelta: {x: 100, y: 14} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &11482576 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182566} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4694d7052fd506340ba6cad9f8a10f1b, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + Text: {fileID: 11482578} +--- !u!1 &182568 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22482574} + - component: {fileID: 22282566} + - component: {fileID: 11482578} + - component: {fileID: 11482580} + m_Layer: 5 + m_Name: SR_Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22482574 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182568} + 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: 22482568} + 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 &22282566 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182568} + m_CullTransparentMesh: 0 +--- !u!114 &11482578 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182568} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + 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_FontData: + m_Font: {fileID: 12800000, guid: 677c9fb41b6c7e14199885b0b31740ee, type: 3} + m_FontSize: 10 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 8 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 0 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 0 + m_LineSpacing: 0.77 + m_Text: 33ms (30FPS) +--- !u!114 &11482580 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182568} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Profiler_Axis_Text + IgnoreImage: 0 +--- !u!1 &182570 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22482572} + - component: {fileID: 22282568} + - component: {fileID: 11482582} + - component: {fileID: 11482584} + m_Layer: 5 + m_Name: SR_BG + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22482572 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182570} + 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: 22482568} + 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!222 &22282568 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182570} + m_CullTransparentMesh: 0 +--- !u!114 &11482582 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182570} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.3455882, g: 0.3455882, b: 0.3455882, a: 0.7176471} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 +--- !u!114 &11482584 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182570} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Profiler_Axis_Background + IgnoreImage: 0 +--- !u!1 &182572 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22482570} + - component: {fileID: 11482586} + m_Layer: 5 + m_Name: SR_AxisLabel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22482570 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182572} + 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: 22482576} + - {fileID: 22482578} + m_Father: {fileID: 22482564} + 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: 60, y: 70} + m_SizeDelta: {x: 100, y: 14} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &11482586 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182572} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4694d7052fd506340ba6cad9f8a10f1b, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + Text: {fileID: 11482588} +--- !u!1 &182574 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22482578} + - component: {fileID: 22282570} + - component: {fileID: 11482588} + - component: {fileID: 11482590} + m_Layer: 5 + m_Name: SR_Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22482578 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182574} + 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: 22482570} + 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 &22282570 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182574} + m_CullTransparentMesh: 0 +--- !u!114 &11482588 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182574} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + 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_FontData: + m_Font: {fileID: 12800000, guid: 677c9fb41b6c7e14199885b0b31740ee, type: 3} + m_FontSize: 10 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 8 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 0 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 0 + m_LineSpacing: 0.77 + m_Text: 17ms (60FPS) +--- !u!114 &11482590 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182574} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Profiler_Axis_Text + IgnoreImage: 0 +--- !u!1 &182576 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22482576} + - component: {fileID: 22282572} + - component: {fileID: 11482592} + - component: {fileID: 11482594} + m_Layer: 5 + m_Name: SR_BG + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22482576 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182576} + 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: 22482570} + 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!222 &22282572 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182576} + m_CullTransparentMesh: 0 +--- !u!114 &11482592 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182576} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.3455882, g: 0.3455882, b: 0.3455882, a: 0.7176471} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 +--- !u!114 &11482594 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182576} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Profiler_Axis_Background + IgnoreImage: 0 +--- !u!1 &182578 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22482566} + - component: {fileID: 11482596} + - component: {fileID: 22571724} + m_Layer: 5 + m_Name: SR_FPSGraphSubRow + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22482566 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182578} + 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: 22482580} + - {fileID: 22482582} + - {fileID: 22482584} + - {fileID: 22482586} + - {fileID: 22482588} + m_Father: {fileID: 22471734} + 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: 0} + m_SizeDelta: {x: 0, y: 12} + m_Pivot: {x: 0, y: 0} +--- !u!114 &11482596 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182578} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -405508275, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Padding: + m_Left: 4 + m_Right: 4 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 5 + m_Spacing: 6 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 +--- !u!225 &22571724 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182578} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 0 + m_BlocksRaycasts: 0 + m_IgnoreParentGroups: 0 +--- !u!1 &182580 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22482580} + - component: {fileID: 22282574} + - component: {fileID: 11482598} + - component: {fileID: 11482600} + - component: {fileID: 11482570} + m_Layer: 5 + m_Name: SR_FPS + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22482580 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182580} + 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: 22482566} + 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: 34.5, y: -6} + m_SizeDelta: {x: 61, y: 12} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &22282574 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182580} + m_CullTransparentMesh: 0 +--- !u!114 &11482598 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182580} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + 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_FontData: + m_Font: {fileID: 12800000, guid: 4e46f78eb6d69074d9b4fe427bb2f1a2, type: 3} + m_FontSize: 10 + m_FontStyle: 0 + m_BestFit: 1 + m_MinSize: 6 + m_MaxSize: 10 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 'FPS: 45.33' +--- !u!114 &11482600 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182580} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 85621644eaef06f44835068498590190, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + UpdateFrequency: 1 + _text: {fileID: 11482598} +--- !u!114 &11482570 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182580} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1573420865, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_EffectColor: {r: 0, g: 0, b: 0, a: 0.5} + m_EffectDistance: {x: 1, y: -1} + m_UseGraphicAlpha: 1 +--- !u!1 &182582 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22482582} + - component: {fileID: 11482602} + m_Layer: 5 + m_Name: SR_Spacer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22482582 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182582} + 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: 22482566} + 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: 78.5, y: -6} + m_SizeDelta: {x: 15, y: 12} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &11482602 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182582} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + 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!1 &182584 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22482584} + - component: {fileID: 11482604} + m_Layer: 5 + m_Name: SR_LegendItem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22482584 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182584} + 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: 22482590} + - {fileID: 22482592} + m_Father: {fileID: 22482566} + 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: 117, y: -6} + m_SizeDelta: {x: 50, y: 12} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &11482604 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182584} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -405508275, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 4 + m_Spacing: 4 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 +--- !u!1 &182586 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22482590} + - component: {fileID: 22282576} + - component: {fileID: 11482606} + - component: {fileID: 11482608} + m_Layer: 5 + m_Name: SR_Colour + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22482590 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182586} + 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: 22482584} + 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: -6} + m_SizeDelta: {x: 6, y: 6} + m_Pivot: {x: 0, y: 0.5} +--- !u!222 &22282576 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182586} + m_CullTransparentMesh: 0 +--- !u!114 &11482606 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182586} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.20392157, g: 0.5137255, b: 0.6313726, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 +--- !u!114 &11482608 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182586} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 6 + m_PreferredHeight: 6 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &182588 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22482592} + - component: {fileID: 22282578} + - component: {fileID: 11482610} + - component: {fileID: 11482568} + m_Layer: 5 + m_Name: SR_Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22482592 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182588} + 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: 22482584} + 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: 30, y: -6} + m_SizeDelta: {x: 40, y: 10} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &22282578 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182588} + m_CullTransparentMesh: 0 +--- !u!114 &11482610 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182588} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + 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_FontData: + m_Font: {fileID: 12800000, guid: 4e46f78eb6d69074d9b4fe427bb2f1a2, type: 3} + m_FontSize: 10 + m_FontStyle: 0 + m_BestFit: 1 + m_MinSize: 6 + m_MaxSize: 10 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Update +--- !u!114 &11482568 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182588} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1573420865, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_EffectColor: {r: 0, g: 0, b: 0, a: 0.5} + m_EffectDistance: {x: 1, y: -1} + m_UseGraphicAlpha: 1 +--- !u!1 &182590 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22482586} + - component: {fileID: 11482612} + m_Layer: 5 + m_Name: SR_LegendItem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22482586 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182590} + 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: 22482594} + - {fileID: 22482596} + m_Father: {fileID: 22482566} + 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: 173.5, y: -6} + m_SizeDelta: {x: 51, y: 12} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &11482612 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182590} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -405508275, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 4 + m_Spacing: 4 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 +--- !u!1 &182592 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22482594} + - component: {fileID: 22282580} + - component: {fileID: 11482614} + - component: {fileID: 11482616} + m_Layer: 5 + m_Name: SR_Colour + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22482594 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182592} + 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: 22482586} + 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: -6} + m_SizeDelta: {x: 6, y: 6} + m_Pivot: {x: 0, y: 0.5} +--- !u!222 &22282580 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182592} + m_CullTransparentMesh: 0 +--- !u!114 &11482614 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182592} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.45882353, g: 0.5921569, b: 0.02745098, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 +--- !u!114 &11482616 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182592} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 6 + m_PreferredHeight: 6 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &182594 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22482596} + - component: {fileID: 22282582} + - component: {fileID: 11482618} + - component: {fileID: 11482566} + m_Layer: 5 + m_Name: SR_Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22482596 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182594} + 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: 22482586} + 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: 30.5, y: -6} + m_SizeDelta: {x: 41, y: 10} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &22282582 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182594} + m_CullTransparentMesh: 0 +--- !u!114 &11482618 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182594} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + 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_FontData: + m_Font: {fileID: 12800000, guid: 4e46f78eb6d69074d9b4fe427bb2f1a2, type: 3} + m_FontSize: 10 + m_FontStyle: 0 + m_BestFit: 1 + m_MinSize: 6 + m_MaxSize: 10 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Render +--- !u!114 &11482566 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182594} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1573420865, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_EffectColor: {r: 0, g: 0, b: 0, a: 0.5} + m_EffectDistance: {x: 1, y: -1} + m_UseGraphicAlpha: 1 +--- !u!1 &182596 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22482588} + - component: {fileID: 11482620} + m_Layer: 5 + m_Name: SR_LegendItem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22482588 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182596} + 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: 22482598} + - {fileID: 22482600} + m_Father: {fileID: 22482566} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 225.5, y: -6} + m_SizeDelta: {x: 41, y: 12} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &11482620 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182596} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -405508275, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 4 + m_Spacing: 4 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 +--- !u!1 &182598 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22482598} + - component: {fileID: 22282584} + - component: {fileID: 11482622} + - component: {fileID: 11482624} + m_Layer: 5 + m_Name: SR_Colour + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22482598 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182598} + 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: 22482588} + 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: -6} + m_SizeDelta: {x: 6, y: 6} + m_Pivot: {x: 0, y: 0.5} +--- !u!222 &22282584 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182598} + m_CullTransparentMesh: 0 +--- !u!114 &11482622 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182598} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.5882353, g: 0.45490196, b: 0.02745098, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 +--- !u!114 &11482624 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182598} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 6 + m_PreferredHeight: 6 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &182600 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22482600} + - component: {fileID: 22282586} + - component: {fileID: 11482626} + - component: {fileID: 11482564} + m_Layer: 5 + m_Name: SR_Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22482600 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182600} + 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: 22482588} + 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: 25.5, y: -6} + m_SizeDelta: {x: 31, y: 10} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &22282586 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182600} + m_CullTransparentMesh: 0 +--- !u!114 &11482626 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182600} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + 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_FontData: + m_Font: {fileID: 12800000, guid: 4e46f78eb6d69074d9b4fe427bb2f1a2, type: 3} + m_FontSize: 10 + m_FontStyle: 0 + m_BestFit: 1 + m_MinSize: 6 + m_MaxSize: 10 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Other +--- !u!114 &11482564 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182600} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1573420865, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_EffectColor: {r: 0, g: 0, b: 0, a: 0.5} + m_EffectDistance: {x: 1, y: -1} + m_UseGraphicAlpha: 1 +--- !u!1 &182602 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22482602} + - component: {fileID: 11461848} + m_Layer: 0 + m_Name: SR_ProfilerGroup + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22482602 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182602} + 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: 22471734} + m_Father: {fileID: 22482234} + 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: -554} + m_SizeDelta: {x: 250, y: 130} + m_Pivot: {x: 0, y: 1} +--- !u!114 &11461848 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182602} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: 190 + m_MinHeight: 120 + m_PreferredWidth: 250 + m_PreferredHeight: 130 + m_FlexibleWidth: 0 + m_FlexibleHeight: 0 + m_LayoutPriority: 1 +--- !u!1 &182604 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22482604} + - component: {fileID: 11482628} + - component: {fileID: 11421030} + m_Layer: 0 + m_Name: SR_HorizontalSplitter + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22482604 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182604} + 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: 22482234} + - {fileID: 22476948} + m_Father: {fileID: 22478500} + 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!114 &11482628 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182604} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -405508275, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 6 + m_Spacing: 0 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 +--- !u!114 &11421030 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182604} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + 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!1 &186488 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22479100} + - component: {fileID: 11402794} + - component: {fileID: 22202312} + - component: {fileID: 11414578} + - component: {fileID: 11440152} + m_Layer: 5 + m_Name: SR_Border + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22479100 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 186488} + 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: 22487510} + m_RootOrder: 8 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 1571.5, y: -16} + m_SizeDelta: {x: 1, y: 32} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &11402794 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 186488} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + 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!222 &22202312 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 186488} + m_CullTransparentMesh: 0 +--- !u!114 &11414578 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 186488} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.25882354, g: 0.3882353, b: 0.54509807, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 +--- !u!114 &11440152 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 186488} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: + IgnoreImage: 0 +--- !u!1 &186870 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22456556} + - component: {fileID: 11465300} + - component: {fileID: 22283300} + - component: {fileID: 11431508} + - component: {fileID: 11489468} + m_Layer: 5 + m_Name: SR_Border + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22456556 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 186870} + 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: 22487510} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 1526.5, y: -16} + m_SizeDelta: {x: 1, y: 32} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &11465300 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 186870} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + 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!222 &22283300 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 186870} + m_CullTransparentMesh: 0 +--- !u!114 &11431508 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 186870} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.25882354, g: 0.3882353, b: 0.54509807, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 +--- !u!114 &11489468 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 186870} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: + IgnoreImage: 0 +--- !u!1 &194264 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22492950} + - component: {fileID: 22253090} + - component: {fileID: 11456794} + m_Layer: 5 + m_Name: SR_Bar + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22492950 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 194264} + 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: 22405428} + 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: 10} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &22253090 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 194264} + m_CullTransparentMesh: 0 +--- !u!114 &11456794 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 194264} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + 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_Sprite: {fileID: 21300000, guid: a0d7355cd1bbc6c44b68f572bb8c2722, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 +--- !u!1 &196458 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22488734} + - component: {fileID: 11481168} + - component: {fileID: 22211134} + - component: {fileID: 11480194} + - component: {fileID: 11403650} + - component: {fileID: 11471408} + m_Layer: 5 + m_Name: SR_Clear + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22488734 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 196458} + 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: 22419886} + - {fileID: 22420856} + m_Father: {fileID: 22487510} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 1467, y: -16} + m_SizeDelta: {x: 30, y: 32} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &11481168 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 196458} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + 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: 0.25882354, g: 0.25882354, b: 0.25882354, a: 0} + m_HighlightedColor: {r: 0.3254902, g: 0.3254902, b: 0.3254902, a: 1} + m_PressedColor: {r: 0.15294118, g: 0.15294118, b: 0.15294118, a: 1} + m_DisabledColor: {r: 0.25882354, g: 0.25882354, b: 0.25882354, a: 1} + 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: 11431444} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 11462302} + m_MethodName: ClearButtonPressed + 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 +--- !u!222 &22211134 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 196458} + m_CullTransparentMesh: 0 +--- !u!114 &11480194 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 196458} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 30 + m_PreferredHeight: 0 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &11403650 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 196458} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 95878e800ddd366418edfb56a22f9d56, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + DecayTime: 0.15 + DefaultColor: {r: 0.2784314, g: 0.2784314, b: 0.2784314, a: 0} + FlashColor: {r: 0.2784314, g: 0.2784314, b: 0.2784314, a: 1} + Target: {fileID: 11431444} +--- !u!114 &11471408 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 196458} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Tab_Header_Button + IgnoreImage: 0 +--- !u!1 &198844 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22417406} + - component: {fileID: 11423940} + - component: {fileID: 11446826} + m_Layer: 5 + m_Name: SR_ScrollBar + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22417406 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 198844} + 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: 22405428} + m_Father: {fileID: 22428736} + 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: -3, y: -2} + m_SizeDelta: {x: 5, y: -4} + m_Pivot: {x: 1, y: 1} +--- !u!114 &11423940 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 198844} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -2061169968, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 0.44117647, g: 0.44117647, b: 0.44117647, a: 0.70980394} + m_HighlightedColor: {r: 0.8897059, g: 0.8897059, b: 0.8897059, a: 0.8117647} + m_PressedColor: {r: 1, g: 1, b: 1, a: 1} + m_DisabledColor: {r: 0.31617647, g: 0.31617647, b: 0.31617647, a: 0.5176471} + 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: 11456794} + m_HandleRect: {fileID: 22492950} + m_Direction: 2 + m_Value: 0 + m_Size: 1 + m_NumberOfSteps: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &11446826 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 198844} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: ScrollBar + IgnoreImage: 0 +--- !u!1 &199772 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22477296} + - component: {fileID: 22236422} + - component: {fileID: 11441364} + - component: {fileID: 11489160} + m_Layer: 0 + m_Name: SR_BG + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22477296 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 199772} + 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: 22452010} + 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!222 &22236422 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 199772} + m_CullTransparentMesh: 0 +--- !u!114 &11441364 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 199772} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.20392157, g: 0.20392157, b: 0.20392157, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 +--- !u!114 &11489160 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 199772} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Tab_Background + IgnoreImage: 0 +--- !u!1 &5350666774247782237 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8650125457728748414} + - component: {fileID: 4892221943302803985} + m_Layer: 5 + m_Name: SR_SafeAreaPadding + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8650125457728748414 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5350666774247782237} + 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: 22487510} + 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: -16} + m_SizeDelta: {x: 0, y: 32} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &4892221943302803985 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5350666774247782237} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 00b72250a6a48194fbecb6ed8b983720, type: 3} + m_Name: + m_EditorClassIdentifier: + _edge: 0 + Scale: 1 +--- !u!1 &6313279842114154711 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5950465061723436011} + - component: {fileID: 7057597156555965529} + m_Layer: 5 + m_Name: SR_SafeAreaPadding + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5950465061723436011 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6313279842114154711} + 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: 22487510} + m_RootOrder: 10 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 1616, y: -16} + m_SizeDelta: {x: 0, y: 32} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &7057597156555965529 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6313279842114154711} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 00b72250a6a48194fbecb6ed8b983720, type: 3} + m_Name: + m_EditorClassIdentifier: + _edge: 1 + Scale: 1 +--- !u!1 &7658326047140936194 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1343749584475862202} + - component: {fileID: 9072421262428042822} + m_Layer: 0 + m_Name: SR_SafeAreaPaddingTop + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1343749584475862202 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7658326047140936194} + 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: 22450732} + 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: 808, y: -0} + m_SizeDelta: {x: 1616, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &9072421262428042822 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7658326047140936194} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 00b72250a6a48194fbecb6ed8b983720, type: 3} + m_Name: + m_EditorClassIdentifier: + _edge: 2 + Scale: 1 +--- !u!1 &7842029730145317031 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8266484846030718889} + - component: {fileID: 4302955081765616896} + m_Layer: 0 + m_Name: SR_SafeAreaPaddingBottom + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8266484846030718889 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7842029730145317031} + 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: 22450732} + 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: 808, y: -32} + m_SizeDelta: {x: 1616, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &4302955081765616896 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7842029730145317031} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 00b72250a6a48194fbecb6ed8b983720, type: 3} + m_Name: + m_EditorClassIdentifier: + _edge: 3 + Scale: 1 diff --git a/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/PinnedUI.prefab.meta b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/PinnedUI.prefab.meta new file mode 100644 index 0000000..47394e0 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/PinnedUI.prefab.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: bb4f9efb6ebc3b84cae1ddbccbd53c6f +NativeFormatImporter: + userData: diff --git a/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Tabs.meta b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Tabs.meta new file mode 100644 index 0000000..45ee830 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Tabs.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: a444307f4f3153549b8707288eacd2ad +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Tabs/BugReporter.prefab b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Tabs/BugReporter.prefab new file mode 100644 index 0000000..4b7c37a --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Tabs/BugReporter.prefab @@ -0,0 +1,260 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &104824 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22404824} + m_Layer: 5 + m_Name: SR_Viewport + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22404824 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 104824} + 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: 22436154} + m_Father: {fileID: 22477966} + 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 &136154 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22436154} + - component: {fileID: 11436152} + - component: {fileID: 11436154} + m_Layer: 5 + m_Name: SR_Contents + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22436154 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 136154} + 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: 22404824} + 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: 0} + m_Pivot: {x: 0.5, y: 1} +--- !u!114 &11436152 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 136154} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: SR_ + 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: 1 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 +--- !u!114 &11436154 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 136154} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_HorizontalFit: 0 + m_VerticalFit: 2 +--- !u!1 &177966 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22477966} + - component: {fileID: 11477966} + - component: {fileID: 11432154} + - component: {fileID: 11436144} + - component: {fileID: 11436150} + - component: {fileID: 11433910} + - component: {fileID: 8826001486080583653} + m_Layer: 5 + m_Name: BugReporter + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22477966 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 177966} + 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: 22404824} + m_Father: {fileID: 0} + 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 &11477966 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 177966} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 94b1f24ed4379dd4fab14add56e520a5, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + HeaderExtraContent: {fileID: 0} + Icon: {fileID: 0} + IconExtraContent: {fileID: 0} + IconStyleKey: Icon_BugReport + SortIndex: 3 + TabButton: {fileID: 0} + _title: Report Bug + _longTitle: + _key: BugReporter +--- !u!114 &11432154 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 177966} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6739582ce86516749a398ff57c5ca282, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + BugReportSheetPrefab: {fileID: 11402520, guid: 307fd4bc23452cc41bdacc036bc9e0b1, + type: 3} + Container: {fileID: 22436154} +--- !u!114 &11436144 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 177966} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Content: {fileID: 22436154} + m_Horizontal: 0 + m_Vertical: 1 + m_MovementType: 2 + m_Elasticity: 0.1 + m_Inertia: 1 + m_DecelerationRate: 0.135 + m_ScrollSensitivity: 40 + m_Viewport: {fileID: 22404824} + m_HorizontalScrollbar: {fileID: 0} + m_VerticalScrollbar: {fileID: 0} + m_HorizontalScrollbarVisibility: 0 + m_VerticalScrollbarVisibility: 0 + m_HorizontalScrollbarSpacing: 0 + m_VerticalScrollbarSpacing: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &11436150 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 177966} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6f0ff44b792ef2042856036000e22450, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: +--- !u!114 &11433910 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 177966} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 40436e7c301de034f916ee1e7ddabeeb, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: +--- !u!114 &8826001486080583653 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 177966} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3312d7739989d2b4e91e6319e9a96d76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: {x: 0, y: 0, z: 0, w: 0} + m_Softness: {x: 0, y: 0} diff --git a/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Tabs/BugReporter.prefab.meta b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Tabs/BugReporter.prefab.meta new file mode 100644 index 0000000..8ae1aef --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Tabs/BugReporter.prefab.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: c3059d02b0eb1694bb1ed7bf533a17c3 +NativeFormatImporter: + userData: diff --git a/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Tabs/Console.prefab b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Tabs/Console.prefab new file mode 100644 index 0000000..a1c6931 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Tabs/Console.prefab @@ -0,0 +1,6699 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &100218 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22410798} + - component: {fileID: 22298436} + - component: {fileID: 11492158} + - component: {fileID: 11472852} + - component: {fileID: 11463696} + - component: {fileID: 11453756} + m_Layer: 5 + m_Name: SR_InputField + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22410798 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 100218} + 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: 22432852} + - {fileID: 22452406} + m_Father: {fileID: 22440298} + m_RootOrder: 4 + 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!222 &22298436 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 100218} + m_CullTransparentMesh: 0 +--- !u!114 &11492158 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 100218} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: 100 + m_MinHeight: -1 + m_PreferredWidth: 300 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &11472852 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 100218} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &11463696 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 100218} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d199490a83bb2b844b9695cbf13b01ef, 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: 0.25882354, g: 0.25882354, b: 0.25882354, a: 1} + m_HighlightedColor: {r: 0.32352942, g: 0.32352942, b: 0.32352942, a: 1} + m_PressedColor: {r: 0.1544118, g: 0.1544118, b: 0.1544118, a: 1} + m_SelectedColor: {r: 0.32352942, g: 0.32352942, b: 0.32352942, a: 1} + m_DisabledColor: {r: 0.25882354, g: 0.25882354, b: 0.25882354, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 11472852} + m_TextComponent: {fileID: 11454088} + m_Placeholder: {fileID: 11427420} + m_ContentType: 0 + m_InputType: 0 + m_AsteriskChar: 42 + m_KeyboardType: 0 + m_LineType: 0 + m_HideMobileInput: 0 + m_CharacterValidation: 0 + m_CharacterLimit: 0 + m_OnEndEdit: + m_PersistentCalls: + m_Calls: [] + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + 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: + m_CaretBlinkRate: 1.7 + m_CaretWidth: 1 + m_ReadOnly: 0 + m_ShouldActivateOnSelect: 1 +--- !u!114 &11453756 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 100218} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: + m_EditorClassIdentifier: + _styleKey: Options_Item_Background + IgnoreImage: 0 +--- !u!1 &100592 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22438490} + - component: {fileID: 22204734} + - component: {fileID: 11476870} + m_Layer: 5 + m_Name: SR_BG + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22438490 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 100592} + 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: 22426876} + 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!222 &22204734 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 100592} + m_CullTransparentMesh: 0 +--- !u!114 &11476870 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 100592} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &101516 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22452700} + - component: {fileID: 22238548} + - component: {fileID: 11480576} + - component: {fileID: 11453702} + m_Layer: 5 + m_Name: SR_Selected + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22452700 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 101516} + 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: 22408510} + 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 &22238548 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 101516} + m_CullTransparentMesh: 0 +--- !u!114 &11480576 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 101516} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.39607844, g: 0.39607844, b: 0.39607844, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &11453702 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 101516} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Tab_Header_Toggle_Selected + IgnoreImage: 0 +--- !u!1 &101838 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22432852} + - component: {fileID: 22227136} + - component: {fileID: 11427420} + - component: {fileID: 11472910} + m_Layer: 5 + m_Name: SR_Placeholder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22432852 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 101838} + 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: 22410798} + 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: 1, y: -1} + m_SizeDelta: {x: -10, y: -6} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &22227136 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 101838} + m_CullTransparentMesh: 0 +--- !u!114 &11427420 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 101838} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.7372549, g: 0.7372549, b: 0.7372549, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: dff6bf51d54250840bdef2ca8260c146, type: 3} + m_FontSize: 12 + 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: +--- !u!114 &11472910 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 101838} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: + m_EditorClassIdentifier: + _styleKey: Text_Dim + IgnoreImage: 0 +--- !u!1 &104814 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22433366} + - component: {fileID: 11467654} + m_Layer: 5 + m_Name: SR_Layout + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22433366 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 104814} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 1} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 22440298} + - {fileID: 22478054} + - {fileID: 22478042} + - {fileID: 22427762} + - {fileID: 6493854375559858814} + - {fileID: 5341806188909928519} + m_Father: {fileID: 22478080} + 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 &11467654 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 104814} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} + m_Name: SR_ + 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 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 +--- !u!1 &126462 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22408510} + - component: {fileID: 22248722} + - component: {fileID: 11488564} + - component: {fileID: 11488996} + - component: {fileID: 11487910} + - component: {fileID: 11405328} + m_Layer: 5 + m_Name: SR_PinButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22408510 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 126462} + 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: 22460446} + - {fileID: 22452700} + - {fileID: 22489498} + m_Father: {fileID: 22476720} + 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!222 &22248722 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 126462} + m_CullTransparentMesh: 0 +--- !u!114 &11488564 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 126462} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 0.25882354, g: 0.25882354, b: 0.25882354, a: 0} + m_HighlightedColor: {r: 0.3254902, g: 0.3254902, b: 0.3254902, a: 1} + m_PressedColor: {r: 0.15294118, g: 0.15294118, b: 0.15294118, a: 1} + m_SelectedColor: {r: 0.3254902, g: 0.3254902, b: 0.3254902, a: 1} + m_DisabledColor: {r: 0.25882354, g: 0.25882354, b: 0.25882354, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 11443714} + toggleTransition: 0 + graphic: {fileID: 11480576} + m_Group: {fileID: 0} + onValueChanged: + m_PersistentCalls: + m_Calls: [] + m_IsOn: 0 +--- !u!114 &11488996 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 126462} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 42 + m_PreferredHeight: 40 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &11487910 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 126462} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 95878e800ddd366418edfb56a22f9d56, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + DecayTime: 0.15 + DefaultColor: {r: 0.2784314, g: 0.2784314, b: 0.2784314, a: 0} + FlashColor: {r: 0.2784314, g: 0.2784314, b: 0.2784314, a: 1} + Target: {fileID: 11443714} +--- !u!114 &11405328 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 126462} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Tab_Header_Button + IgnoreImage: 0 +--- !u!1 &127168 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22427168} + - component: {fileID: 11427164} + - component: {fileID: 11427166} + - component: {fileID: 22227168} + - component: {fileID: 11427168} + - component: {fileID: 11471008} + m_Layer: 5 + m_Name: SR_ScrollView + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22427168 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 127168} + 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: 22437168} + m_Father: {fileID: 22427762} + 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: -6, y: -6} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &11427164 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 127168} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Content: {fileID: 22437168} + m_Horizontal: 1 + m_Vertical: 1 + m_MovementType: 2 + m_Elasticity: 0.1 + m_Inertia: 0 + m_DecelerationRate: 0.135 + m_ScrollSensitivity: 40 + m_Viewport: {fileID: 0} + m_HorizontalScrollbar: {fileID: 0} + m_VerticalScrollbar: {fileID: 0} + m_HorizontalScrollbarVisibility: 0 + m_VerticalScrollbarVisibility: 0 + m_HorizontalScrollbarSpacing: 0 + m_VerticalScrollbarSpacing: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &11427166 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 127168} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_ShowMaskGraphic: 0 +--- !u!222 &22227168 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 127168} + m_CullTransparentMesh: 0 +--- !u!114 &11427168 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 127168} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &11471008 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 127168} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6f0ff44b792ef2042856036000e22450, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: +--- !u!1 &127762 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22427762} + - component: {fileID: 11427770} + m_Layer: 5 + m_Name: SR_StackTrace + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22427762 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 127762} + 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: 22427168} + - {fileID: 3060324235303019392} + m_Father: {fileID: 22433366} + 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.5, y: 0} +--- !u!114 &11427770 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 127762} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: 130 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &129610 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22426876} + - component: {fileID: 11441364} + - component: {fileID: 11466856} + - component: {fileID: 22521914} + - component: {fileID: 11498400} + m_Layer: 5 + m_Name: SR_ScrollToBottomButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22426876 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 129610} + 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: 22438490} + - {fileID: 22451462} + m_Father: {fileID: 22478054} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: -16, y: 8} + m_SizeDelta: {x: 40, y: 40} + m_Pivot: {x: 1, y: 0} +--- !u!114 &11441364 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 129610} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, 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: 0.25882354, g: 0.25882354, b: 0.25882354, a: 1} + m_HighlightedColor: {r: 0.32352942, g: 0.32352942, b: 0.32352942, a: 1} + m_PressedColor: {r: 0.1544118, g: 0.1544118, b: 0.1544118, a: 1} + m_SelectedColor: {r: 0.32352942, g: 0.32352942, b: 0.32352942, a: 1} + m_DisabledColor: {r: 0.25882354, g: 0.25882354, b: 0.25882354, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 11476870} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 11498400} + m_MethodName: Trigger + 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 +--- !u!114 &11466856 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 129610} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: + m_EditorClassIdentifier: + _styleKey: Options_Item_Background + IgnoreImage: 0 +--- !u!225 &22521914 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 129610} + m_Enabled: 1 + m_Alpha: 0 + m_Interactable: 0 + m_BlocksRaycasts: 0 + m_IgnoreParentGroups: 0 +--- !u!114 &11498400 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 129610} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 35107bb7a2a89b54bbb85ea8ff193788, type: 3} + m_Name: + m_EditorClassIdentifier: + _scrollRect: {fileID: 11478032} + _canvasGroup: {fileID: 22521914} + _scrollToTop: 0 +--- !u!1 &137168 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22437168} + - component: {fileID: 22237168} + - component: {fileID: 11437168} + - component: {fileID: 11415358} + m_Layer: 5 + m_Name: SR_Content + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22437168 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 137168} + 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: 22427168} + 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: 0, y: 0} + m_Pivot: {x: 0, y: 1} +--- !u!222 &22237168 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 137168} + m_CullTransparentMesh: 0 +--- !u!114 &11437168 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 137168} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 718657b6be420a6498b0f091c199a215, type: 3} + m_FontSize: 10 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: 'Stack Trace Message + + Stack Trace Stack Goes Here () + + One Two Three()' +--- !u!114 &11415358 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 137168} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_HorizontalFit: 2 + m_VerticalFit: 2 +--- !u!1 &137528 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22437528} + - component: {fileID: 22237528} + - component: {fileID: 11437538} + m_Layer: 5 + m_Name: SR_BG + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22437528 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 137528} + 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: 22485888} + 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!222 &22237528 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 137528} + m_CullTransparentMesh: 0 +--- !u!114 &11437538 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 137528} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &137530 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22437530} + - component: {fileID: 22237530} + - component: {fileID: 11437542} + - component: {fileID: 11431084} + m_Layer: 5 + m_Name: SR_Sprite + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22437530 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 137530} + 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: 22485888} + m_RootOrder: 1 + 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: 25, y: 25} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &22237530 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 137530} + m_CullTransparentMesh: 0 +--- !u!114 &11437542 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 137530} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: a8d613b67f373cd4285c6d5b0a7f163c, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &11431084 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 137530} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Icon_Trash + IgnoreImage: 0 +--- !u!1 &146656 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22446656} + - component: {fileID: 22246656} + - component: {fileID: 11446656} + - component: {fileID: 11446658} + - component: {fileID: 11446660} + - component: {fileID: 11446662} + m_Layer: 5 + m_Name: SR_FilterButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22446656 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 146656} + 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: 22446658} + - {fileID: 22446660} + - {fileID: 22446662} + m_Father: {fileID: 22476720} + 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!222 &22246656 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 146656} + m_CullTransparentMesh: 0 +--- !u!114 &11446656 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 146656} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 0.25882354, g: 0.25882354, b: 0.25882354, a: 0} + m_HighlightedColor: {r: 0.3254902, g: 0.3254902, b: 0.3254902, a: 1} + m_PressedColor: {r: 0.15294118, g: 0.15294118, b: 0.15294118, a: 1} + m_SelectedColor: {r: 0.3254902, g: 0.3254902, b: 0.3254902, a: 1} + m_DisabledColor: {r: 0.25882354, g: 0.25882354, b: 0.25882354, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 11446664} + toggleTransition: 0 + graphic: {fileID: 11446666} + m_Group: {fileID: 0} + onValueChanged: + m_PersistentCalls: + m_Calls: [] + m_IsOn: 0 +--- !u!114 &11446658 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 146656} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 42 + m_PreferredHeight: 40 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &11446660 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 146656} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 95878e800ddd366418edfb56a22f9d56, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + DecayTime: 0.15 + DefaultColor: {r: 0.2784314, g: 0.2784314, b: 0.2784314, a: 0} + FlashColor: {r: 0.2784314, g: 0.2784314, b: 0.2784314, a: 1} + Target: {fileID: 11446664} +--- !u!114 &11446662 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 146656} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Tab_Header_Button + IgnoreImage: 0 +--- !u!1 &146658 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22446658} + - component: {fileID: 22246658} + - component: {fileID: 11446664} + m_Layer: 5 + m_Name: SR_BG + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22446658 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 146658} + 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: 22446656} + 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!222 &22246658 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 146658} + m_CullTransparentMesh: 0 +--- !u!114 &11446664 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 146658} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &146660 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22446660} + - component: {fileID: 22246660} + - component: {fileID: 11446666} + - component: {fileID: 11446668} + m_Layer: 5 + m_Name: SR_Selected + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22446660 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 146660} + 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: 22446656} + 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 &22246660 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 146660} + m_CullTransparentMesh: 0 +--- !u!114 &11446666 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 146660} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.39607844, g: 0.39607844, b: 0.39607844, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &11446668 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 146660} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Tab_Header_Toggle_Selected + IgnoreImage: 0 +--- !u!1 &146662 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22446662} + - component: {fileID: 22246662} + - component: {fileID: 11446670} + - component: {fileID: 11446672} + m_Layer: 5 + m_Name: SR_Sprite + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22446662 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 146662} + 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: 22446656} + m_RootOrder: 2 + 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: 25, y: 25} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &22246662 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 146662} + m_CullTransparentMesh: 0 +--- !u!114 &11446670 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 146662} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 2ccea1a2a1be59649956a168449bdb9f, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &11446672 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 146662} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Icon_Filter + IgnoreImage: 0 +--- !u!1 &146918 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22446918} + - component: {fileID: 11446908} + - component: {fileID: 11446906} + m_Layer: 5 + m_Name: SR_ScrollBar + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22446918 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 146918} + 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: 22455130} + m_Father: {fileID: 22478054} + 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: -3, y: -2} + m_SizeDelta: {x: 5, y: -4} + m_Pivot: {x: 1, y: 1} +--- !u!114 &11446908 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 146918} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2a4db7a114972834c8e4117be1d82ba3, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 0.44117647, g: 0.44117647, b: 0.44117647, a: 0.70980394} + m_HighlightedColor: {r: 0.8897059, g: 0.8897059, b: 0.8897059, a: 0.8117647} + m_PressedColor: {r: 1, g: 1, b: 1, a: 1} + m_SelectedColor: {r: 0.8897059, g: 0.8897059, b: 0.8897059, a: 0.8117647} + m_DisabledColor: {r: 0.31617647, g: 0.31617647, b: 0.31617647, a: 0.5176471} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 11446912} + m_HandleRect: {fileID: 22446920} + m_Direction: 2 + m_Value: 0 + m_Size: 1 + m_NumberOfSteps: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &11446906 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 146918} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: ScrollBar + IgnoreImage: 0 +--- !u!1 &146920 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22446920} + - component: {fileID: 22246920} + - component: {fileID: 11446912} + m_Layer: 5 + m_Name: SR_Bar + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22446920 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 146920} + 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: 5147502500924531677} + m_Father: {fileID: 22455130} + 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: 10} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &22246920 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 146920} + m_CullTransparentMesh: 0 +--- !u!114 &11446912 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 146920} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: a0d7355cd1bbc6c44b68f572bb8c2722, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &148864 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22415208} + - component: {fileID: 11484412} + m_Layer: 5 + m_Name: SR_Spacer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22415208 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 148864} + 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: 22440298} + 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!114 &11484412 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 148864} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: 1000 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &150592 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22452406} + - component: {fileID: 22238622} + - component: {fileID: 11454088} + - component: {fileID: 11458864} + m_Layer: 5 + m_Name: SR_Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22452406 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 150592} + 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: 22410798} + 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: -8, y: -4} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &22238622 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 150592} + m_CullTransparentMesh: 0 +--- !u!114 &11454088 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 150592} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 718657b6be420a6498b0f091c199a215, type: 3} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 0 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: +--- !u!114 &11458864 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 150592} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: + m_EditorClassIdentifier: + _styleKey: Text_Light + IgnoreImage: 0 +--- !u!1 &155130 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22455130} + m_Layer: 5 + m_Name: SR_SlidingArea + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22455130 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 155130} + 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: 22446920} + m_Father: {fileID: 22446918} + 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: -10} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &162782 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22489498} + - component: {fileID: 22202010} + - component: {fileID: 11430440} + - component: {fileID: 11490346} + m_Layer: 5 + m_Name: SR_Sprite + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22489498 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 162782} + 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: 22408510} + m_RootOrder: 2 + 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: 25, y: 25} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &22202010 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 162782} + m_CullTransparentMesh: 0 +--- !u!114 &11430440 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 162782} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 23dfb5d7fc5a2fb4f9a5fc00f697147f, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &11490346 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 162782} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Icon_Pin + IgnoreImage: 0 +--- !u!1 &170996 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22460446} + - component: {fileID: 22219862} + - component: {fileID: 11443714} + m_Layer: 5 + m_Name: SR_BG + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22460446 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 170996} + 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: 22408510} + 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!222 &22219862 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 170996} + m_CullTransparentMesh: 0 +--- !u!114 &11443714 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 170996} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &171244 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22488620} + - component: {fileID: 22266180} + - component: {fileID: 11453236} + - component: {fileID: 11470498} + - component: {fileID: 11432596} + m_Layer: 5 + m_Name: SR_Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22488620 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 171244} + 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: 22440298} + 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.5, y: 0.5} +--- !u!222 &22266180 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 171244} + m_CullTransparentMesh: 0 +--- !u!114 &11453236 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 171244} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: db8aec58b7ce99443a1c4f5cd4d9e408, type: 3} + 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: 0.9 + m_Text: FILTER +--- !u!114 &11470498 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 171244} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: + m_EditorClassIdentifier: + _styleKey: Text_Light + IgnoreImage: 0 +--- !u!114 &11432596 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 171244} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: 60 + m_MinHeight: -1 + m_PreferredWidth: 60 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &176276 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22452822} + - component: {fileID: 11444834} + - component: {fileID: 11403348} + - component: {fileID: 11458228} + - component: {fileID: 22260908} + m_Layer: 5 + m_Name: SR_BorderBottom + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22452822 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 176276} + 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: 22440298} + 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: 0, y: 1} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &11444834 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 176276} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &11403348 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 176276} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: + m_EditorClassIdentifier: + _styleKey: Sidebar_Border + IgnoreImage: 0 +--- !u!114 &11458228 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 176276} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.30882353, g: 0.30882353, b: 0.30882353, a: 0.3764706} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &22260908 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 176276} + m_CullTransparentMesh: 0 +--- !u!1 &176720 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22476720} + - component: {fileID: 11444310} + m_Layer: 5 + m_Name: SR_ConsoleHeaderContent + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22476720 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 176720} + 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: 22408510} + - {fileID: 22446656} + - {fileID: 22485888} + - {fileID: 22478068} + - {fileID: 22478052} + - {fileID: 22478050} + - {fileID: 22478044} + - {fileID: 22478060} + m_Father: {fileID: 22476722} + 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: 242.1, y: 40} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &11444310 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 176720} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 5 + m_Spacing: 0 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 +--- !u!1 &176722 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22476722} + - component: {fileID: 11476720} + m_Layer: 5 + m_Name: SR_Header + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22476722 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 176722} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 22476720} + m_Father: {fileID: 22478080} + 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: 498, y: 90} + m_SizeDelta: {x: 986, y: 40} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &11476720 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 176722} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &177216 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22440298} + - component: {fileID: 11475930} + - component: {fileID: 11486240} + m_Layer: 5 + m_Name: SR_Filter + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22440298 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 177216} + 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: 22467298} + - {fileID: 22452822} + - {fileID: 22415208} + - {fileID: 22488620} + - {fileID: 22410798} + m_Father: {fileID: 22433366} + 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!114 &11475930 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 177216} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 6 + m_Right: 6 + m_Top: 6 + m_Bottom: 6 + m_ChildAlignment: 0 + m_Spacing: 4 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 +--- !u!114 &11486240 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 177216} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: 36 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &178040 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22478040} + - component: {fileID: 22278054} + - component: {fileID: 11477990} + - component: {fileID: 11477992} + - component: {fileID: 11477994} + m_Layer: 5 + m_Name: SR_Blob + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22478040 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178040} + 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: 22478068} + 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!222 &22278054 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178040} + m_CullTransparentMesh: 0 +--- !u!114 &11477990 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178040} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.95686275, g: 0.35686275, b: 0.34117648, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 54b8502585d246249bd1f7540a8bf2b9, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &11477992 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178040} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Console_Error_Blob + IgnoreImage: 0 +--- !u!114 &11477994 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178040} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 8 + m_PreferredHeight: 8 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &178042 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22478042} + - component: {fileID: 22278056} + - component: {fileID: 11477996} + - component: {fileID: 11477998} + - component: {fileID: 11427762} + m_Layer: 5 + m_Name: SR_Border + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22478042 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178042} + 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: 22433366} + 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!222 &22278056 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178042} + m_CullTransparentMesh: 0 +--- !u!114 &11477996 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178042} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.25882354, g: 0.3882353, b: 0.54509807, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &11477998 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178042} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Content_Border + IgnoreImage: 0 +--- !u!114 &11427762 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178042} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + 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!1 &178044 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22478044} + - component: {fileID: 11478000} + - component: {fileID: 22278058} + - component: {fileID: 11478002} + - component: {fileID: 11478004} + m_Layer: 5 + m_Name: SR_Border + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22478044 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178044} + 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: 22476720} + m_RootOrder: 6 + 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!114 &11478000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178044} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + 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!222 &22278058 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178044} + m_CullTransparentMesh: 0 +--- !u!114 &11478002 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178044} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.25882354, g: 0.3882353, b: 0.54509807, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &11478004 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178044} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: + IgnoreImage: 0 +--- !u!1 &178046 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22478046} + - component: {fileID: 22278060} + - component: {fileID: 11478006} + - component: {fileID: 11478008} + - component: {fileID: 11478010} + m_Layer: 5 + m_Name: SR_Blob + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22478046 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178046} + 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: 22478050} + 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!222 &22278060 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178046} + m_CullTransparentMesh: 0 +--- !u!114 &11478006 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178046} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.95686275, g: 0.7607843, b: 0.34117648, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 54b8502585d246249bd1f7540a8bf2b9, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &11478008 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178046} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Console_Warning_Blob + IgnoreImage: 0 +--- !u!114 &11478010 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178046} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 8 + m_PreferredHeight: 8 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &178048 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22478048} + - component: {fileID: 11478014} + - component: {fileID: 11478012} + m_Layer: 5 + m_Name: SR_Content + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22478048 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178048} + 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: 22478054} + 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.000030517578} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 1} +--- !u!114 &11478014 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178048} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 19c408e3f064e184fa5e0d9862ac4d8b, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 0 + _selectedItemChanged: + m_PersistentCalls: + m_Calls: [] + AltRowStyleSheet: {fileID: 11400000, guid: 9e09b8950236048448238f4c0963f3ad, type: 2} + EnableSelection: 1 + ItemPrefab: {fileID: 22400004, guid: 408ed745743f47f46ac11b71f96cf1a4, type: 3} + RowPadding: 2 + RowStyleSheet: {fileID: 11400000, guid: cdfb48dd49c2d7a4d9f8805cd96e0241, type: 2} + SelectedRowStyleSheet: {fileID: 11400000, guid: d30366e803724014382b48500f16271c, + type: 2} + Spacing: 0 + StickToBottom: 1 +--- !u!114 &11478012 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178048} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_HorizontalFit: 0 + m_VerticalFit: 2 +--- !u!1 &178050 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22478050} + - component: {fileID: 11478018} + - component: {fileID: 11469048} + - component: {fileID: 11490224} + m_Layer: 5 + m_Name: SR_WarningButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22478050 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178050} + 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: 22478064} + - {fileID: 22478046} + - {fileID: 22478072} + m_Father: {fileID: 22476720} + m_RootOrder: 5 + 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!114 &11478018 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178050} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Padding: + m_Left: 8 + m_Right: 8 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 4 + m_Spacing: 4 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 +--- !u!114 &11469048 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178050} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3} + m_Name: SR_ + 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_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, 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_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 0} + toggleTransition: 0 + graphic: {fileID: 11478048} + m_Group: {fileID: 0} + onValueChanged: + m_PersistentCalls: + m_Calls: [] + m_IsOn: 1 +--- !u!114 &11490224 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178050} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: 42 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &178052 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22478052} + - component: {fileID: 11478020} + - component: {fileID: 22278062} + - component: {fileID: 11478022} + - component: {fileID: 11478024} + m_Layer: 5 + m_Name: SR_Border + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22478052 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178052} + 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: 22476720} + m_RootOrder: 4 + 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!114 &11478020 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178052} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + 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!222 &22278062 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178052} + m_CullTransparentMesh: 0 +--- !u!114 &11478022 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178052} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.25882354, g: 0.3882353, b: 0.54509807, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &11478024 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178052} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: + IgnoreImage: 0 +--- !u!1 &178054 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22478054} + - component: {fileID: 11478030} + - component: {fileID: 11478032} + - component: {fileID: 11427766} + - component: {fileID: 11430688} + - component: {fileID: 7376620462192737637} + m_Layer: 5 + m_Name: SR_ConsoleScrollRect + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22478054 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178054} + 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: 22478048} + - {fileID: 22446918} + - {fileID: 1801668280158927278} + - {fileID: 22426876} + m_Father: {fileID: 22433366} + 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!114 &11478030 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178054} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: 400.55 + m_FlexibleWidth: -1 + m_FlexibleHeight: 1e+11 + m_LayoutPriority: 1 +--- !u!114 &11478032 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178054} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Content: {fileID: 22478048} + m_Horizontal: 0 + m_Vertical: 1 + m_MovementType: 2 + m_Elasticity: 0.1 + m_Inertia: 1 + m_DecelerationRate: 0.135 + m_ScrollSensitivity: 40 + m_Viewport: {fileID: 0} + m_HorizontalScrollbar: {fileID: 0} + m_VerticalScrollbar: {fileID: 11446908} + m_HorizontalScrollbarVisibility: 0 + m_VerticalScrollbarVisibility: 0 + m_HorizontalScrollbarSpacing: 0 + m_VerticalScrollbarSpacing: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &11427766 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178054} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + 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 &11430688 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178054} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6f0ff44b792ef2042856036000e22450, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: +--- !u!114 &7376620462192737637 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178054} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3312d7739989d2b4e91e6319e9a96d76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: {x: 0, y: 0, z: 0, w: 0} + m_Softness: {x: 0, y: 0} +--- !u!1 &178056 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22478056} + - component: {fileID: 22278066} + - component: {fileID: 11478034} + - component: {fileID: 11478036} + - component: {fileID: 11478038} + m_Layer: 5 + m_Name: SR_Blob + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22478056 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178056} + 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: 22478060} + 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!222 &22278066 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178056} + m_CullTransparentMesh: 0 +--- !u!114 &11478034 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178056} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.34117648, g: 0.7019608, b: 0.95686275, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 54b8502585d246249bd1f7540a8bf2b9, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &11478036 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178056} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Console_Info_Blob + IgnoreImage: 0 +--- !u!114 &11478038 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178056} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 8 + m_PreferredHeight: 8 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &178058 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22478058} + - component: {fileID: 22278068} + - component: {fileID: 11478040} + - component: {fileID: 11478042} + - component: {fileID: 11437532} + m_Layer: 5 + m_Name: SR_BG + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22478058 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178058} + 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: 22478068} + 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!222 &22278068 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178058} + m_CullTransparentMesh: 0 +--- !u!114 &11478040 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178058} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.2784314, g: 0.2784314, b: 0.2784314, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &11478042 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178058} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &11437532 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178058} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: + IgnoreImage: 0 +--- !u!1 &178060 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22478060} + - component: {fileID: 11478046} + - component: {fileID: 11469050} + - component: {fileID: 11490226} + m_Layer: 5 + m_Name: SR_InfoButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22478060 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178060} + 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: 22478078} + - {fileID: 22478056} + - {fileID: 22478066} + m_Father: {fileID: 22476720} + m_RootOrder: 7 + 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!114 &11478046 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178060} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Padding: + m_Left: 8 + m_Right: 8 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 4 + m_Spacing: 4 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 +--- !u!114 &11469050 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178060} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3} + m_Name: SR_ + 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_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, 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_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 0} + toggleTransition: 1 + graphic: {fileID: 11478070} + m_Group: {fileID: 0} + onValueChanged: + m_PersistentCalls: + m_Calls: [] + m_IsOn: 1 +--- !u!114 &11490226 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178060} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: 42 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &178064 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22478064} + - component: {fileID: 22278070} + - component: {fileID: 11478048} + - component: {fileID: 11478050} + - component: {fileID: 11437530} + m_Layer: 5 + m_Name: SR_BG + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22478064 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178064} + 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: 22478050} + 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!222 &22278070 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178064} + m_CullTransparentMesh: 0 +--- !u!114 &11478048 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178064} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.2784314, g: 0.2784314, b: 0.2784314, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &11478050 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178064} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &11437530 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178064} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: + IgnoreImage: 0 +--- !u!1 &178066 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22478066} + - component: {fileID: 22278072} + - component: {fileID: 11478052} + m_Layer: 5 + m_Name: SR_Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22478066 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178066} + 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: 22478060} + 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!222 &22278072 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178066} + m_CullTransparentMesh: 0 +--- !u!114 &11478052 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178066} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 718657b6be420a6498b0f091c199a215, type: 3} + m_FontSize: 13 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: 65 +--- !u!1 &178068 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22478068} + - component: {fileID: 11478056} + - component: {fileID: 11409842} + - component: {fileID: 11490222} + m_Layer: 5 + m_Name: SR_ErrorButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22478068 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178068} + 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: 22478058} + - {fileID: 22478040} + - {fileID: 22478076} + m_Father: {fileID: 22476720} + 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.5, y: 0.5} +--- !u!114 &11478056 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178068} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Padding: + m_Left: 8 + m_Right: 8 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 4 + m_Spacing: 4 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 +--- !u!114 &11409842 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178068} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3} + m_Name: SR_ + 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_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, 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_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 0} + toggleTransition: 0 + graphic: {fileID: 11478040} + m_Group: {fileID: 0} + onValueChanged: + m_PersistentCalls: + m_Calls: [] + m_IsOn: 1 +--- !u!114 &11490222 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178068} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: 42 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &178072 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22478072} + - component: {fileID: 22278076} + - component: {fileID: 11478062} + m_Layer: 5 + m_Name: SR_Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22478072 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178072} + 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: 22478050} + 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!222 &22278076 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178072} + m_CullTransparentMesh: 0 +--- !u!114 &11478062 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178072} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 718657b6be420a6498b0f091c199a215, type: 3} + m_FontSize: 13 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: 65 +--- !u!1 &178076 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22478076} + - component: {fileID: 22278080} + - component: {fileID: 11478068} + m_Layer: 5 + m_Name: SR_Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22478076 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178076} + 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: 22478068} + 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!222 &22278080 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178076} + m_CullTransparentMesh: 0 +--- !u!114 &11478068 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178076} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 718657b6be420a6498b0f091c199a215, type: 3} + m_FontSize: 13 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: 65 +--- !u!1 &178078 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22478078} + - component: {fileID: 22278082} + - component: {fileID: 11478070} + - component: {fileID: 11478072} + - component: {fileID: 11437528} + m_Layer: 5 + m_Name: SR_BG + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22478078 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178078} + 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: 22478060} + 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!222 &22278082 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178078} + m_CullTransparentMesh: 0 +--- !u!114 &11478070 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178078} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.2784314, g: 0.2784314, b: 0.2784314, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &11478072 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178078} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &11437528 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178078} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: + IgnoreImage: 0 +--- !u!1 &178080 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22478080} + - component: {fileID: 22356352} + - component: {fileID: 11422670} + - component: {fileID: 11450822} + - component: {fileID: 11472642} + - component: {fileID: 11402778} + - component: {fileID: 11455072} + m_Layer: 5 + m_Name: Console + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22478080 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178080} + 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: 22476722} + - {fileID: 22433366} + m_Father: {fileID: 0} + 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, y: 1} +--- !u!223 &22356352 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178080} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 2 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 1 + m_OverridePixelPerfect: 1 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 25 + m_SortingLayerID: 0 + m_SortingOrder: 121 + m_TargetDisplay: 0 +--- !u!114 &11422670 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178080} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 94b1f24ed4379dd4fab14add56e520a5, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + HeaderExtraContent: {fileID: 22476720} + Icon: {fileID: 21300000, guid: b07075cb163d9b8489a1ee90ce068409, type: 3} + IconExtraContent: {fileID: 22473736, guid: 38622dccbe5c7c84782cd2c695aa3521, type: 3} + IconStyleKey: Icon_Console + SortIndex: 2 + TabButton: {fileID: 0} + _title: Console + _longTitle: + _key: Console +--- !u!114 &11450822 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178080} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7b54f4d46edbb634985db4a2fa4ada2f, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + ConsoleLogControl: {fileID: 11472642} + PinToggle: {fileID: 11488564} + StackTraceScrollRect: {fileID: 11427164} + StackTraceText: {fileID: 11437168} + ToggleErrors: {fileID: 11409842} + ToggleErrorsText: {fileID: 11478068} + ToggleInfo: {fileID: 11469050} + ToggleInfoText: {fileID: 11478052} + ToggleWarnings: {fileID: 11469048} + ToggleWarningsText: {fileID: 11478062} + CopyToClipboardContainer: {fileID: 1879698602220194408} + CopyToClipboardButton: {fileID: 8406175793216084150} + CopyToClipboardMessage: {fileID: 2933225113344931252} + CopyToClipboardMessageCanvasGroup: {fileID: 8541196175700677043} + LoggingIsDisabledCanvasGroup: {fileID: 6346727972004658377} + LogHandlerHasBeenOverridenGroup: {fileID: 5200317530756241136} + FilterToggle: {fileID: 11446656} + FilterField: {fileID: 11463696} + FilterBarContainer: {fileID: 177216} +--- !u!114 &11472642 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178080} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 413376b74a5948a4db9e0a5c9c002724, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _consoleScrollLayoutGroup: {fileID: 11478014} + _consoleScrollRect: {fileID: 11478032} +--- !u!114 &11402778 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178080} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 40436e7c301de034f916ee1e7ddabeeb, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: +--- !u!114 &11455072 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178080} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!1 &185888 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22485888} + - component: {fileID: 11437544} + - component: {fileID: 22237532} + - component: {fileID: 11485888} + - component: {fileID: 11437534} + - component: {fileID: 11452924} + m_Layer: 5 + m_Name: SR_Clear + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22485888 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 185888} + 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: 22437528} + - {fileID: 22437530} + m_Father: {fileID: 22476720} + 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!114 &11437544 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 185888} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: SR_ + 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: 0.25882354, g: 0.25882354, b: 0.25882354, a: 0} + m_HighlightedColor: {r: 0.3254902, g: 0.3254902, b: 0.3254902, a: 1} + m_PressedColor: {r: 0.15294118, g: 0.15294118, b: 0.15294118, a: 1} + m_SelectedColor: {r: 0.3254902, g: 0.3254902, b: 0.3254902, a: 1} + m_DisabledColor: {r: 0.25882354, g: 0.25882354, b: 0.25882354, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 11437538} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 11450822} + m_MethodName: Clear + 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 +--- !u!222 &22237532 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 185888} + m_CullTransparentMesh: 0 +--- !u!114 &11485888 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 185888} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 40 + m_PreferredHeight: 40 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &11437534 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 185888} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 95878e800ddd366418edfb56a22f9d56, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + DecayTime: 0.15 + DefaultColor: {r: 0.2784314, g: 0.2784314, b: 0.2784314, a: 0} + FlashColor: {r: 0.2784314, g: 0.2784314, b: 0.2784314, a: 1} + Target: {fileID: 11437538} +--- !u!114 &11452924 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 185888} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Tab_Header_Button + IgnoreImage: 0 +--- !u!1 &193112 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22451462} + - component: {fileID: 22269864} + - component: {fileID: 11415088} + - component: {fileID: 11458746} + m_Layer: 5 + m_Name: SR_Icon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22451462 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 193112} + 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: 22426876} + m_RootOrder: 1 + 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: 30, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &22269864 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 193112} + m_CullTransparentMesh: 0 +--- !u!114 &11415088 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 193112} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.8088235, g: 0.8088235, b: 0.8088235, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 3422278a31f39bc4cab9304b78a09d41, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &11458746 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 193112} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: + m_EditorClassIdentifier: + _styleKey: Icon_ScrollToBottom + IgnoreImage: 0 +--- !u!1 &197336 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22467298} + - component: {fileID: 11477230} + - component: {fileID: 11440292} + - component: {fileID: 11449058} + - component: {fileID: 22228058} + m_Layer: 5 + m_Name: SR_BG + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22467298 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 197336} + 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: 22440298} + 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 &11477230 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 197336} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &11440292 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 197336} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: + m_EditorClassIdentifier: + _styleKey: Console_Entry_BG + IgnoreImage: 0 +--- !u!114 &11449058 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 197336} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.17254902, g: 0.17254902, b: 0.17254902, a: 0.78431374} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &22228058 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 197336} + m_CullTransparentMesh: 0 +--- !u!1 &15178322381796486 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5627352819868591816} + - component: {fileID: 3562638329873511491} + - component: {fileID: 9161757048503343476} + - component: {fileID: 2590782427760790005} + m_Layer: 5 + m_Name: SR_Icon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5627352819868591816 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 15178322381796486} + 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: 3802244268524334711} + m_RootOrder: 1 + 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: 25, y: 25} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3562638329873511491 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 15178322381796486} + m_CullTransparentMesh: 0 +--- !u!114 &9161757048503343476 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 15178322381796486} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: b1590655e6ace004e936321c0d535ad7, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &2590782427760790005 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 15178322381796486} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: + m_EditorClassIdentifier: + _styleKey: Icon_Copy + IgnoreImage: 0 +--- !u!1 &151616798064050579 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8077250888029112459} + - component: {fileID: 7050357954198563076} + - component: {fileID: 5058818072867060513} + m_Layer: 5 + m_Name: SR_BG + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8077250888029112459 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 151616798064050579} + 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: 1801668280158927278} + 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!222 &7050357954198563076 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 151616798064050579} + m_CullTransparentMesh: 0 +--- !u!114 &5058818072867060513 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 151616798064050579} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &209447864337572535 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1801668280158927278} + - component: {fileID: 1369611035488257719} + - component: {fileID: 7915676567001452218} + - component: {fileID: 1167246928838280810} + - component: {fileID: 178900778978144036} + m_Layer: 5 + m_Name: SR_ScrollToTopButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1801668280158927278 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 209447864337572535} + 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: 8077250888029112459} + - {fileID: 1478378935355779149} + m_Father: {fileID: 22478054} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -16, y: -8} + m_SizeDelta: {x: 40, y: 40} + m_Pivot: {x: 1, y: 1} +--- !u!114 &1369611035488257719 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 209447864337572535} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, 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: 0.25882354, g: 0.25882354, b: 0.25882354, a: 1} + m_HighlightedColor: {r: 0.32352942, g: 0.32352942, b: 0.32352942, a: 1} + m_PressedColor: {r: 0.1544118, g: 0.1544118, b: 0.1544118, a: 1} + m_SelectedColor: {r: 0.32352942, g: 0.32352942, b: 0.32352942, a: 1} + m_DisabledColor: {r: 0.25882354, g: 0.25882354, b: 0.25882354, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 5058818072867060513} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 178900778978144036} + m_MethodName: Trigger + 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 +--- !u!114 &7915676567001452218 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 209447864337572535} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: + m_EditorClassIdentifier: + _styleKey: Options_Item_Background + IgnoreImage: 0 +--- !u!225 &1167246928838280810 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 209447864337572535} + m_Enabled: 1 + m_Alpha: 0 + m_Interactable: 0 + m_BlocksRaycasts: 0 + m_IgnoreParentGroups: 0 +--- !u!114 &178900778978144036 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 209447864337572535} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 35107bb7a2a89b54bbb85ea8ff193788, type: 3} + m_Name: + m_EditorClassIdentifier: + _scrollRect: {fileID: 11478032} + _canvasGroup: {fileID: 1167246928838280810} + _scrollToTop: 1 +--- !u!1 &1251871454221395743 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5147502500924531677} + - component: {fileID: 7884559958555786927} + - component: {fileID: 2952772606303605123} + m_Layer: 0 + m_Name: SR_WiderTouchArea + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5147502500924531677 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1251871454221395743} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 11.204306} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 22446920} + 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: -20, y: 0} + m_SizeDelta: {x: 40, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &7884559958555786927 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1251871454221395743} + m_CullTransparentMesh: 0 +--- !u!114 &2952772606303605123 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1251871454221395743} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &1879698602220194408 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3060324235303019392} + - component: {fileID: 8985524384098889456} + m_Layer: 5 + m_Name: SR_CopyArea + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3060324235303019392 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1879698602220194408} + 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: 3802244268524334711} + - {fileID: 1409974815171757661} + m_Father: {fileID: 22427762} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -10, y: -10} + m_SizeDelta: {x: -20, y: 100} + m_Pivot: {x: 1, y: 1} +--- !u!114 &8985524384098889456 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1879698602220194408} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 2 + m_Spacing: 0 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 +--- !u!1 &2147964751741196143 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1921312135434748295} + - component: {fileID: 4810473931285752021} + - component: {fileID: 7427660528255835385} + - component: {fileID: 1702748705066041568} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1921312135434748295 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2147964751741196143} + 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: 1409974815171757661} + 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 &4810473931285752021 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2147964751741196143} + m_CullTransparentMesh: 0 +--- !u!114 &7427660528255835385 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2147964751741196143} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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: Copied to clipboard +--- !u!114 &1702748705066041568 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2147964751741196143} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: + m_EditorClassIdentifier: + _styleKey: Options_Name + IgnoreImage: 0 +--- !u!1 &2933225113344931252 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1409974815171757661} + - component: {fileID: 2697292425804227189} + - component: {fileID: 5331108301141775313} + - component: {fileID: 8541196175700677043} + m_Layer: 5 + m_Name: SR_CopiedText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1409974815171757661 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2933225113344931252} + 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: 4150252946752331356} + - {fileID: 1921312135434748295} + m_Father: {fileID: 3060324235303019392} + 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: 1, y: 1} +--- !u!114 &2697292425804227189 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2933225113344931252} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: + m_EditorClassIdentifier: + _styleKey: Options_Item_Background + IgnoreImage: 0 +--- !u!114 &5331108301141775313 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2933225113344931252} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 32609112f4257a740aa4b920a8556d24, 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 + CopySource: {fileID: 1921312135434748295} + PaddingHeight: 13 + PaddingWidth: 10 +--- !u!225 &8541196175700677043 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2933225113344931252} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 +--- !u!1 &3049580112568291898 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7271438862657486820} + - component: {fileID: 1623150936199457925} + - component: {fileID: 1692541044863538248} + - component: {fileID: 4630202625013932680} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7271438862657486820 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3049580112568291898} + 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: 6116022369973277053} + 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!222 &1623150936199457925 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3049580112568291898} + m_CullTransparentMesh: 0 +--- !u!114 &1692541044863538248 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3049580112568291898} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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: Enable Logging +--- !u!114 &4630202625013932680 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3049580112568291898} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: + m_EditorClassIdentifier: + _styleKey: Options_Name + IgnoreImage: 0 +--- !u!1 &3155506288870287581 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6116022369973277053} + - component: {fileID: 9209339737853326230} + - component: {fileID: 2151089781210369149} + - component: {fileID: 6911073084091557490} + - component: {fileID: 5636869379144479947} + - component: {fileID: 6337856699427071182} + m_Layer: 5 + m_Name: Button (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6116022369973277053 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3155506288870287581} + 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: 7271438862657486820} + m_Father: {fileID: 6293091661771480822} + 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: 283.5, y: -25} + m_SizeDelta: {x: 159, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &9209339737853326230 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3155506288870287581} + m_CullTransparentMesh: 0 +--- !u!114 &2151089781210369149 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3155506288870287581} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &6911073084091557490 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3155506288870287581} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 4 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 7514093216804102422} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 0.25882354, g: 0.25882354, b: 0.25882354, a: 1} + m_HighlightedColor: {r: 0.32352942, g: 0.32352942, b: 0.32352942, a: 1} + m_PressedColor: {r: 0.1544118, g: 0.1544118, b: 0.1544118, a: 1} + m_SelectedColor: {r: 0.32352942, g: 0.32352942, b: 0.32352942, a: 1} + m_DisabledColor: {r: 0.25882354, g: 0.25882354, b: 0.25882354, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 2151089781210369149} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 11450822} + m_MethodName: LoggingDisableReenablePressed + 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 +--- !u!114 &5636869379144479947 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3155506288870287581} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: + m_EditorClassIdentifier: + _styleKey: Options_Item_Background + IgnoreImage: 0 +--- !u!114 &6337856699427071182 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3155506288870287581} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 32609112f4257a740aa4b920a8556d24, 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 + CopySource: {fileID: 7271438862657486820} + PaddingHeight: 0 + PaddingWidth: 60 +--- !u!1 &6242432463580385881 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1478378935355779149} + - component: {fileID: 5741106798325235713} + - component: {fileID: 1584483735142558269} + - component: {fileID: 4798849291885392347} + m_Layer: 5 + m_Name: SR_Icon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1478378935355779149 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6242432463580385881} + m_LocalRotation: {x: 0, y: 0, z: 1, w: 0} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1801668280158927278} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 180} + 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: 30, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &5741106798325235713 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6242432463580385881} + m_CullTransparentMesh: 0 +--- !u!114 &1584483735142558269 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6242432463580385881} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.8088235, g: 0.8088235, b: 0.8088235, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 3422278a31f39bc4cab9304b78a09d41, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &4798849291885392347 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6242432463580385881} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: + m_EditorClassIdentifier: + _styleKey: Icon_ScrollToBottom + IgnoreImage: 0 +--- !u!1 &6820028392701660919 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4150252946752331356} + - component: {fileID: 1853970741462560103} + - component: {fileID: 8141124685599668153} + - component: {fileID: 3972050995388973938} + m_Layer: 5 + m_Name: SR_BG + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4150252946752331356 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6820028392701660919} + 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: 1409974815171757661} + 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!222 &1853970741462560103 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6820028392701660919} + m_CullTransparentMesh: 0 +--- !u!114 &8141124685599668153 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6820028392701660919} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.39705884, g: 0.39705884, b: 0.39705884, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &3972050995388973938 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6820028392701660919} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: + m_EditorClassIdentifier: + _styleKey: Button_Background + IgnoreImage: 0 +--- !u!1 &7260683274638478569 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 358362311490022446} + - component: {fileID: 6411187011504117356} + - component: {fileID: 3800321249288654831} + m_Layer: 5 + m_Name: SR_BG + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &358362311490022446 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7260683274638478569} + 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: 3802244268524334711} + 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!222 &6411187011504117356 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7260683274638478569} + m_CullTransparentMesh: 0 +--- !u!114 &3800321249288654831 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7260683274638478569} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &8406175793216084150 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3802244268524334711} + - component: {fileID: 8021847198333649586} + - component: {fileID: 7870366611473905853} + - component: {fileID: 1981034082758963486} + m_Layer: 5 + m_Name: SR_CopyButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3802244268524334711 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8406175793216084150} + 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: 358362311490022446} + - {fileID: 5627352819868591816} + m_Father: {fileID: 3060324235303019392} + 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!114 &8021847198333649586 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8406175793216084150} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, 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: 0.25882354, g: 0.25882354, b: 0.25882354, a: 1} + m_HighlightedColor: {r: 0.32352942, g: 0.32352942, b: 0.32352942, a: 1} + m_PressedColor: {r: 0.1544118, g: 0.1544118, b: 0.1544118, a: 1} + m_SelectedColor: {r: 0.32352942, g: 0.32352942, b: 0.32352942, a: 1} + m_DisabledColor: {r: 0.25882354, g: 0.25882354, b: 0.25882354, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 3800321249288654831} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 11450822} + m_MethodName: CopyToClipboard + 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 +--- !u!114 &7870366611473905853 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8406175793216084150} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: + m_EditorClassIdentifier: + _styleKey: Options_Item_Background + IgnoreImage: 0 +--- !u!114 &1981034082758963486 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8406175793216084150} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 40 + m_PreferredHeight: 40 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1001 &7984651086930658504 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 22433366} + m_Modifications: + - target: {fileID: 470703280674547166, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_Navigation.m_Mode + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 470703280674547166, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_Navigation.m_SelectOnRight + value: + objectReference: {fileID: 6911073084091557490} + - target: {fileID: 470703280674547166, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.size + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 470703280674547166, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Mode + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 470703280674547166, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Target + value: + objectReference: {fileID: 11450822} + - target: {fileID: 470703280674547166, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_CallState + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 470703280674547166, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName + value: LoggingDisableCloseAndIgnorePressed + objectReference: {fileID: 0} + - target: {fileID: 470703280674547166, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_ObjectArgumentAssemblyTypeName + value: UnityEngine.Object, UnityEngine + objectReference: {fileID: 0} + - target: {fileID: 519958326944690360, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 519958326944690360, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 519958326944690360, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_SizeDelta.x + value: 154 + objectReference: {fileID: 0} + - target: {fileID: 519958326944690360, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 117 + objectReference: {fileID: 0} + - target: {fileID: 519958326944690360, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_AnchoredPosition.y + value: -25 + objectReference: {fileID: 0} + - target: {fileID: 1469704785368781942, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1469704785368781942, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1469704785368781942, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_SizeDelta.x + value: 403 + objectReference: {fileID: 0} + - target: {fileID: 1469704785368781942, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 211.5 + objectReference: {fileID: 0} + - target: {fileID: 1469704785368781942, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_AnchoredPosition.y + value: -438.5 + objectReference: {fileID: 0} + - target: {fileID: 2661281818904749199, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 2661281818904749199, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 2661281818904749199, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_RootOrder + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 2661281818904749199, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_AnchorMax.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2661281818904749199, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2661281818904749199, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2661281818904749199, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2661281818904749199, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2661281818904749199, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2661281818904749199, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2661281818904749199, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2661281818904749199, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2661281818904749199, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2661281818904749199, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2661281818904749199, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2661281818904749199, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2661281818904749199, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2661281818904749199, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2661281818904749199, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2661281818904749199, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2661281818904749199, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3218412197097691677, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_Text + value: Logging is currently disabled. New log messages will not appear in SRDebugger + unless logging is re-enabled. + objectReference: {fileID: 0} + - target: {fileID: 3952813215589545985, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_Name + value: SR_LoggingIsDisabledErrorPopup + objectReference: {fileID: 0} + - target: {fileID: 3952813215589545985, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6736952320735140508, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_Text + value: Close & Ignore + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 9848f30f74d55944087b9a0aafbe0e75, type: 3} +--- !u!1 &6346727972004658377 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 3952813215589545985, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + m_PrefabInstance: {fileID: 7984651086930658504} + m_PrefabAsset: {fileID: 0} +--- !u!224 &6293091661771480822 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 4150806331175787070, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + m_PrefabInstance: {fileID: 7984651086930658504} + m_PrefabAsset: {fileID: 0} +--- !u!114 &7514093216804102422 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 470703280674547166, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + m_PrefabInstance: {fileID: 7984651086930658504} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!224 &5341806188909928519 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 2661281818904749199, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + m_PrefabInstance: {fileID: 7984651086930658504} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &9146823559939190513 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 22433366} + m_Modifications: + - target: {fileID: 470703280674547166, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_Navigation.m_Mode + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 470703280674547166, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.size + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 470703280674547166, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Mode + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 470703280674547166, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Target + value: + objectReference: {fileID: 11450822} + - target: {fileID: 470703280674547166, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_CallState + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 470703280674547166, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName + value: LogHandlerHasBeenOverridenOkayButtonPress + objectReference: {fileID: 0} + - target: {fileID: 470703280674547166, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_ObjectArgumentAssemblyTypeName + value: UnityEngine.Object, UnityEngine + objectReference: {fileID: 0} + - target: {fileID: 519958326944690360, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 519958326944690360, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 519958326944690360, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_SizeDelta.x + value: 96 + objectReference: {fileID: 0} + - target: {fileID: 519958326944690360, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 315 + objectReference: {fileID: 0} + - target: {fileID: 519958326944690360, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_AnchoredPosition.y + value: -25 + objectReference: {fileID: 0} + - target: {fileID: 1469704785368781942, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1469704785368781942, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1469704785368781942, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_SizeDelta.x + value: 403 + objectReference: {fileID: 0} + - target: {fileID: 1469704785368781942, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 211.5 + objectReference: {fileID: 0} + - target: {fileID: 1469704785368781942, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_AnchoredPosition.y + value: -438.5 + objectReference: {fileID: 0} + - target: {fileID: 2661281818904749199, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 2661281818904749199, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 2661281818904749199, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 2661281818904749199, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_AnchorMax.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2661281818904749199, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2661281818904749199, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2661281818904749199, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2661281818904749199, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2661281818904749199, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2661281818904749199, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2661281818904749199, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2661281818904749199, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2661281818904749199, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2661281818904749199, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2661281818904749199, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2661281818904749199, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2661281818904749199, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2661281818904749199, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2661281818904749199, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2661281818904749199, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2661281818904749199, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3218412197097691677, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_Text + value: 'The default Unity log handler has been overriden. This may result in + logs not appearing in the SRDebugger console view or bug reports. + + + For + more information please see the FAQ @ stompyrobot.uk' + objectReference: {fileID: 0} + - target: {fileID: 3952813215589545985, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_Name + value: SR_ConsoleHandlerErrorPopup + objectReference: {fileID: 0} + - target: {fileID: 3952813215589545985, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 9848f30f74d55944087b9a0aafbe0e75, type: 3} +--- !u!224 &6493854375559858814 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 2661281818904749199, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + m_PrefabInstance: {fileID: 9146823559939190513} + m_PrefabAsset: {fileID: 0} +--- !u!1 &5200317530756241136 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 3952813215589545985, guid: 9848f30f74d55944087b9a0aafbe0e75, + type: 3} + m_PrefabInstance: {fileID: 9146823559939190513} + m_PrefabAsset: {fileID: 0} diff --git a/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Tabs/Console.prefab.meta b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Tabs/Console.prefab.meta new file mode 100644 index 0000000..aa7d402 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Tabs/Console.prefab.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: abd74791d32aafa4c9ca4f20145cd14c +NativeFormatImporter: + userData: diff --git a/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Tabs/Options.prefab b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Tabs/Options.prefab new file mode 100644 index 0000000..c549e52 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Tabs/Options.prefab @@ -0,0 +1,1285 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &108298 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22408298} + - component: {fileID: 22208298} + - component: {fileID: 11408296} + - component: {fileID: 11408298} + m_Layer: 5 + m_Name: SR_ScrollBackground + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22408298 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108298} + 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: 22462196} + 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 &22208298 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108298} + m_CullTransparentMesh: 0 +--- !u!114 &11408296 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108298} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 0} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &11408298 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108298} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &111724 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22411724} + - component: {fileID: 22211724} + - component: {fileID: 11411726} + - component: {fileID: 11411724} + m_Layer: 5 + m_Name: SR_PinPromptText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22411724 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 111724} + 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: 22462196} + m_RootOrder: 3 + 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: -5} + m_SizeDelta: {x: 0, y: 14} + m_Pivot: {x: 0.5, y: 1} +--- !u!222 &22211724 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 111724} + m_CullTransparentMesh: 0 +--- !u!114 &11411726 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 111724} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: dff6bf51d54250840bdef2ca8260c146, type: 3} + 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: Select options to show in-game +--- !u!114 &11411724 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 111724} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Text_Light + IgnoreImage: 0 +--- !u!1 &132312 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22432312} + - component: {fileID: 22241110} + - component: {fileID: 11441110} + - component: {fileID: 11402696} + m_Layer: 5 + m_Name: SR_NoOptionsText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22432312 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 132312} + 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: 22462196} + m_RootOrder: 4 + 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: -40} + m_SizeDelta: {x: 0, y: -40} + m_Pivot: {x: 0.5, y: 1} +--- !u!222 &22241110 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 132312} + m_CullTransparentMesh: 0 +--- !u!114 &11441110 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 132312} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: dff6bf51d54250840bdef2ca8260c146, type: 3} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 'No options found in SROptions. + + + View ReadMe for information. + +' +--- !u!114 &11402696 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 132312} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Text_Light + IgnoreImage: 0 +--- !u!1 &141110 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22441110} + - component: {fileID: 11432312} + m_Layer: 5 + m_Name: SR_PinPromptSpacer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22441110 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 141110} + 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: 22483206} + 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: 1} +--- !u!114 &11432312 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 141110} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: 14 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &154476 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22454476} + - component: {fileID: 8168873526017740724} + m_Layer: 5 + m_Name: SR_OptionsHeaderContent + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22454476 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 154476} + 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: 22454482} + m_Father: {fileID: 22454486} + 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 &8168873526017740724 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 154476} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, 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: 1 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 +--- !u!1 &154478 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22454478} + - component: {fileID: 22254482} + - component: {fileID: 11454466} + - component: {fileID: 11454468} + m_Layer: 5 + m_Name: SR_Sprite + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22454478 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 154478} + 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: 22454484} + m_RootOrder: 2 + 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: 25, y: 25} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &22254482 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 154478} + m_CullTransparentMesh: 0 +--- !u!114 &11454466 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 154478} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 23dfb5d7fc5a2fb4f9a5fc00f697147f, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &11454468 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 154478} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Icon_Pin + IgnoreImage: 0 +--- !u!1 &154480 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22454480} + - component: {fileID: 22254484} + - component: {fileID: 11454470} + m_Layer: 5 + m_Name: SR_BG + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22454480 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 154480} + 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: 22454484} + 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!222 &22254484 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 154480} + m_CullTransparentMesh: 0 +--- !u!114 &11454470 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 154480} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &154482 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22454482} + - component: {fileID: 11454474} + - component: {fileID: 11454472} + m_Layer: 5 + m_Name: SR_Buttons + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22454482 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 154482} + 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: 22454484} + m_Father: {fileID: 22454476} + 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: 986, y: -20} + m_SizeDelta: {x: 47, y: 40} + m_Pivot: {x: 1, y: 0.5} +--- !u!114 &11454474 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 154482} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 5 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 2 + m_Spacing: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 +--- !u!114 &11454472 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 154482} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_HorizontalFit: 2 + m_VerticalFit: 0 +--- !u!1 &154484 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22454484} + - component: {fileID: 22254486} + - component: {fileID: 11454484} + - component: {fileID: 11454478} + - component: {fileID: 11454476} + - component: {fileID: 11454480} + m_Layer: 5 + m_Name: SR_PinButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22454484 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 154484} + 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: 22454480} + - {fileID: 22454488} + - {fileID: 22454478} + m_Father: {fileID: 22454482} + 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: 21, y: -20} + m_SizeDelta: {x: 42, y: 40} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &22254486 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 154484} + m_CullTransparentMesh: 0 +--- !u!114 &11454484 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 154484} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 0.25882354, g: 0.25882354, b: 0.25882354, a: 0} + m_HighlightedColor: {r: 0.3254902, g: 0.3254902, b: 0.3254902, a: 1} + m_PressedColor: {r: 0.15294118, g: 0.15294118, b: 0.15294118, a: 1} + m_SelectedColor: {r: 0.3254902, g: 0.3254902, b: 0.3254902, a: 1} + m_DisabledColor: {r: 0.25882354, g: 0.25882354, b: 0.25882354, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 11454470} + toggleTransition: 0 + graphic: {fileID: 11454486} + m_Group: {fileID: 0} + onValueChanged: + m_PersistentCalls: + m_Calls: [] + m_IsOn: 0 +--- !u!114 &11454478 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 154484} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 42 + m_PreferredHeight: 40 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &11454476 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 154484} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 95878e800ddd366418edfb56a22f9d56, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + DecayTime: 0.15 + DefaultColor: {r: 0.2784314, g: 0.2784314, b: 0.2784314, a: 0} + FlashColor: {r: 0.2784314, g: 0.2784314, b: 0.2784314, a: 1} + Target: {fileID: 11454470} +--- !u!114 &11454480 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 154484} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Tab_Header_Button + IgnoreImage: 0 +--- !u!1 &154486 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22454486} + - component: {fileID: 11454482} + m_Layer: 5 + m_Name: SR_Header + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22454486 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 154486} + 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: 22454476} + m_Father: {fileID: 22462196} + 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: 498, y: 90} + m_SizeDelta: {x: 986, y: 40} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &11454482 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 154486} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &154488 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22454488} + - component: {fileID: 22254488} + - component: {fileID: 11454486} + - component: {fileID: 11454488} + m_Layer: 5 + m_Name: SR_Selected + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22454488 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 154488} + 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: 22454484} + 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 &22254488 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 154488} + m_CullTransparentMesh: 0 +--- !u!114 &11454486 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 154488} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.39607844, g: 0.39607844, b: 0.39607844, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &11454488 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 154488} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Tab_Header_Toggle_Selected + IgnoreImage: 0 +--- !u!1 &165182 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22462196} + - component: {fileID: 11497858} + - component: {fileID: 11472860} + m_Layer: 5 + m_Name: SR_OptionsContent + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22462196 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 165182} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 1} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 22454486} + - {fileID: 22408298} + - {fileID: 22481580} + - {fileID: 22411724} + - {fileID: 22432312} + m_Father: {fileID: 22483208} + 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 &11497858 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 165182} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Content: {fileID: 22483206} + m_Horizontal: 0 + m_Vertical: 1 + m_MovementType: 2 + m_Elasticity: 0.1 + m_Inertia: 1 + m_DecelerationRate: 0.135 + m_ScrollSensitivity: 40 + m_Viewport: {fileID: 22481580} + m_HorizontalScrollbar: {fileID: 0} + m_VerticalScrollbar: {fileID: 0} + m_HorizontalScrollbarVisibility: 0 + m_VerticalScrollbarVisibility: 0 + m_HorizontalScrollbarSpacing: 0 + m_VerticalScrollbarSpacing: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &11472860 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 165182} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6f0ff44b792ef2042856036000e22450, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: +--- !u!1 &181580 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22481580} + - component: {fileID: 4206696395488570466} + m_Layer: 5 + m_Name: SR_Viewport + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22481580 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 181580} + 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: 22483206} + m_Father: {fileID: 22462196} + 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: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &4206696395488570466 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 181580} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3312d7739989d2b4e91e6319e9a96d76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: {x: 0, y: 0, z: 0, w: 0} + m_Softness: {x: 0, y: 0} +--- !u!1 &183206 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22483206} + - component: {fileID: 11483204} + - component: {fileID: 11483202} + m_Layer: 5 + m_Name: SR_Content + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22483206 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 183206} + 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: 22441110} + m_Father: {fileID: 22481580} + 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: 0} + m_Pivot: {x: 0.5, y: 1} +--- !u!114 &11483204 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 183206} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Padding: + m_Left: 5 + m_Right: 5 + m_Top: 5 + m_Bottom: 5 + m_ChildAlignment: 0 + m_Spacing: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 +--- !u!114 &11483202 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 183206} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_HorizontalFit: 0 + m_VerticalFit: 2 +--- !u!1 &183208 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22483208} + - component: {fileID: 11483208} + - component: {fileID: 11474390} + - component: {fileID: 11442136} + - component: {fileID: 22373044} + - component: {fileID: 11405790} + m_Layer: 5 + m_Name: Options + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22483208 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 183208} + 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: 22462196} + m_Father: {fileID: 0} + 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 &11483208 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 183208} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 94b1f24ed4379dd4fab14add56e520a5, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + HeaderExtraContent: {fileID: 22454476} + Icon: {fileID: 21300000, guid: 76eac9450dc776147b628586aac2b0d0, type: 3} + IconExtraContent: {fileID: 0} + IconStyleKey: Icon_Options + SortIndex: 4 + TabButton: {fileID: 0} + _title: Options + _longTitle: + _key: Options +--- !u!114 &11474390 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 183208} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 977db337f5942e64aa7b62fc1ca01e28, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + ActionControlPrefab: {fileID: 11495844, guid: 308ca70361d90ed40bcc5c69d973f7ae, + type: 3} + CategoryGroupPrefab: {fileID: 11456202, guid: d866070c81c4ea749b60d2854567cea1, + type: 3} + ContentContainer: {fileID: 22483206} + NoOptionsNotice: {fileID: 132312} + PinButton: {fileID: 11454484} + PinPromptSpacer: {fileID: 141110} + PinPromptText: {fileID: 111724} +--- !u!114 &11442136 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 183208} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 40436e7c301de034f916ee1e7ddabeeb, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: +--- !u!223 &22373044 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 183208} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 2 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 1 + m_OverridePixelPerfect: 1 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 25 + m_SortingLayerID: 0 + m_SortingOrder: 121 + m_TargetDisplay: 0 +--- !u!114 &11405790 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 183208} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 diff --git a/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Tabs/Options.prefab.meta b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Tabs/Options.prefab.meta new file mode 100644 index 0000000..49d587b --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Tabs/Options.prefab.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: f38fe2ab9831b6c4c9c90aef8dabcb69 +NativeFormatImporter: + userData: diff --git a/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Tabs/Profiler.prefab b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Tabs/Profiler.prefab new file mode 100644 index 0000000..b66aa49 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Tabs/Profiler.prefab @@ -0,0 +1,5208 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &105598 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22405598} + m_Layer: 5 + m_Name: SR_Viewport + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22405598 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 105598} + 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: 22498780} + m_Father: {fileID: 22498786} + 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!1 &108742 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22408742} + - component: {fileID: 11408746} + m_Layer: 5 + m_Name: SR_AxisLabel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22408742 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108742} + 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: 22408744} + - {fileID: 22408746} + m_Father: {fileID: 22459566} + 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: 60, y: 70} + m_SizeDelta: {x: 100, y: 14} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &11408746 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108742} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4694d7052fd506340ba6cad9f8a10f1b, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + Text: {fileID: 11408742} +--- !u!1 &108744 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22408744} + - component: {fileID: 22208744} + - component: {fileID: 11408738} + - component: {fileID: 11408740} + m_Layer: 5 + m_Name: SR_BG + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22408744 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108744} + 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: 22408742} + 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!222 &22208744 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108744} + m_CullTransparentMesh: 0 +--- !u!114 &11408738 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108744} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.3455882, g: 0.3455882, b: 0.3455882, a: 0.7176471} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &11408740 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108744} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Profiler_Axis_Background + IgnoreImage: 0 +--- !u!1 &108746 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22408746} + - component: {fileID: 22208746} + - component: {fileID: 11408742} + - component: {fileID: 11408744} + m_Layer: 5 + m_Name: SR_Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22408746 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108746} + 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: 22408742} + 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 &22208746 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108746} + m_CullTransparentMesh: 0 +--- !u!114 &11408742 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108746} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 677c9fb41b6c7e14199885b0b31740ee, type: 3} + m_FontSize: 10 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 8 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 0 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 17ms (60FPS) +--- !u!114 &11408744 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108746} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Profiler_Axis_Text + IgnoreImage: 0 +--- !u!1 &109962 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22409962} + - component: {fileID: 11409954} + - component: {fileID: 11472964} + m_Layer: 5 + m_Name: SR_ProfileEnableCheck + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &22409962 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 109962} + 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: 22409964} + - {fileID: 22415946} + m_Father: {fileID: 22498780} + 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: 808, y: -200} + m_SizeDelta: {x: 1616, y: 40} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &11409954 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 109962} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Padding: + m_Left: 10 + m_Right: 10 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 4 + m_Spacing: 0 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 +--- !u!114 &11472964 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 109962} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 04ad714fc337b334687c4aedb49873e9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + ButtonText: {fileID: 11415970} + EnableButton: {fileID: 11415974} + Text: {fileID: 11409952} +--- !u!1 &109964 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22409964} + - component: {fileID: 22209966} + - component: {fileID: 11409952} + - component: {fileID: 11409956} + m_Layer: 5 + m_Name: SR_Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22409964 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 109964} + 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: 22409962} + 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: 766, y: -20} + m_SizeDelta: {x: 534, y: 40} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &22209966 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 109964} + m_CullTransparentMesh: 0 +--- !u!114 &11409952 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 109964} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: dff6bf51d54250840bdef2ca8260c146, type: 3} + 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: Unity profiler is currently disabled. Enable to show more information. +--- !u!114 &11409956 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 109964} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Content_Block_Text + IgnoreImage: 0 +--- !u!1 &109966 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22409968} + - component: {fileID: 11409964} + - component: {fileID: 11409958} + - component: {fileID: 11409966} + - component: {fileID: 11471370} + m_Layer: 5 + m_Name: SR_Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22409968 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 109966} + 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: 22409966} + - {fileID: 22450248} + m_Father: {fileID: 22415936} + 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!114 &11409964 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 109966} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Padding: + m_Left: 15 + m_Right: 15 + m_Top: 13 + m_Bottom: 13 + m_ChildAlignment: 4 + m_Spacing: 5 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 +--- !u!114 &11409958 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 109966} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: SR_ + 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: 0.25882354, g: 0.25882354, b: 0.25882354, a: 1} + m_HighlightedColor: {r: 0.32352942, g: 0.32352942, b: 0.32352942, a: 1} + m_PressedColor: {r: 0.1544118, g: 0.1544118, b: 0.1544118, a: 1} + m_SelectedColor: {r: 0.32352942, g: 0.32352942, b: 0.32352942, a: 1} + m_DisabledColor: {r: 0.25882354, g: 0.25882354, b: 0.25882354, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 11409960} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 11450226} + m_MethodName: TriggerCleanup + 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 +--- !u!114 &11409966 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 109966} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Options_Item_Background + IgnoreImage: 0 +--- !u!114 &11471370 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 109966} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: 80 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &109968 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22409966} + - component: {fileID: 22209968} + - component: {fileID: 11409960} + - component: {fileID: 11409962} + m_Layer: 5 + m_Name: SR_BG + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22409966 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 109968} + 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: 22409968} + 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: -10, y: -10} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &22209968 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 109968} + m_CullTransparentMesh: 0 +--- !u!114 &11409960 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 109968} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.99607843, g: 0.99607843, b: 0.99607843, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &11409962 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 109968} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &109970 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22409970} + - component: {fileID: 22209970} + - component: {fileID: 11409968} + - component: {fileID: 11409970} + m_Layer: 5 + m_Name: SR_Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22409970 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 109970} + 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: 22450250} + 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!222 &22209970 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 109970} + m_CullTransparentMesh: 0 +--- !u!114 &11409968 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 109970} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: dff6bf51d54250840bdef2ca8260c146, type: 3} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 0 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: GC Collect +--- !u!114 &11409970 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 109970} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Options_Name + IgnoreImage: 0 +--- !u!1 &111958 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22411958} + - component: {fileID: 11411962} + m_Layer: 5 + m_Name: SR_AxisLabel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22411958 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 111958} + 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: 22411960} + - {fileID: 22411962} + m_Father: {fileID: 22459566} + 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: 60, y: 140} + m_SizeDelta: {x: 100, y: 14} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &11411962 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 111958} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4694d7052fd506340ba6cad9f8a10f1b, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + Text: {fileID: 11411958} +--- !u!1 &111960 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22411960} + - component: {fileID: 22211960} + - component: {fileID: 11411954} + - component: {fileID: 11411956} + m_Layer: 5 + m_Name: SR_BG + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22411960 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 111960} + 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: 22411958} + 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!222 &22211960 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 111960} + m_CullTransparentMesh: 0 +--- !u!114 &11411954 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 111960} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.3455882, g: 0.3455882, b: 0.3455882, a: 0.7176471} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &11411956 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 111960} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Profiler_Axis_Background + IgnoreImage: 0 +--- !u!1 &111962 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22411962} + - component: {fileID: 22211962} + - component: {fileID: 11411958} + - component: {fileID: 11411960} + m_Layer: 5 + m_Name: SR_Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22411962 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 111962} + 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: 22411958} + 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 &22211962 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 111962} + m_CullTransparentMesh: 0 +--- !u!114 &11411958 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 111962} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 677c9fb41b6c7e14199885b0b31740ee, type: 3} + m_FontSize: 10 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 8 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 0 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 33ms (30FPS) +--- !u!114 &11411960 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 111962} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Profiler_Axis_Text + IgnoreImage: 0 +--- !u!1 &115936 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22415936} + - component: {fileID: 11415952} + m_Layer: 5 + m_Name: SR_Buttons + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22415936 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 115936} + 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: 22409968} + m_Father: {fileID: 22450244} + 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!114 &11415952 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 115936} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 7 + m_Spacing: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 +--- !u!1 &115938 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22415938} + - component: {fileID: 22215934} + - component: {fileID: 11415954} + - component: {fileID: 11415934} + m_Layer: 5 + m_Name: SR_MaxValueText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22415938 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 115938} + 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: 22439754} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -5, y: 0} + m_SizeDelta: {x: -10.000012, y: 12} + m_Pivot: {x: 1, y: 1} +--- !u!222 &22215934 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 115938} + m_CullTransparentMesh: 0 +--- !u!114 &11415954 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 115938} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.7372549, g: 0.7372549, b: 0.7372549, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: dff6bf51d54250840bdef2ca8260c146, type: 3} + m_FontSize: 10 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 5 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 'Heap Size: --MB' +--- !u!114 &11415934 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 115938} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Text_Dim + IgnoreImage: 0 +--- !u!1 &115940 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22415940} + - component: {fileID: 22215936} + - component: {fileID: 11415962} + - component: {fileID: 11415932} + m_Layer: 5 + m_Name: SR_Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22415940 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 115940} + 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: 22450230} + m_RootOrder: 0 + 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: -3} + m_SizeDelta: {x: 100, y: 12} + m_Pivot: {x: 0.5, y: 1} +--- !u!222 &22215936 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 115940} + m_CullTransparentMesh: 0 +--- !u!114 &11415962 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 115940} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.7372549, g: 0.7372549, b: 0.7372549, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: dff6bf51d54250840bdef2ca8260c146, type: 3} + m_FontSize: 10 + 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: 15MB +--- !u!114 &11415932 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 115940} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Text_Dim + IgnoreImage: 0 +--- !u!1 &115942 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22415942} + - component: {fileID: 22215938} + - component: {fileID: 11415966} + - component: {fileID: 11415964} + m_Layer: 5 + m_Name: SR_BG + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22415942 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 115942} + 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: 22415946} + 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: -10, y: -10} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &22215938 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 115942} + m_CullTransparentMesh: 0 +--- !u!114 &11415966 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 115942} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.99607843, g: 0.99607843, b: 0.99607843, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &11415964 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 115942} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &115944 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22415944} + - component: {fileID: 22215940} + - component: {fileID: 11415970} + - component: {fileID: 11415968} + m_Layer: 5 + m_Name: SR_Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22415944 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 115944} + 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: 22415946} + 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: 42, y: -20} + m_SizeDelta: {x: 54, y: 14} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &22215940 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 115944} + m_CullTransparentMesh: 0 +--- !u!114 &11415970 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 115944} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: dff6bf51d54250840bdef2ca8260c146, type: 3} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 0 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Enable +--- !u!114 &11415968 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 115944} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Options_Name + IgnoreImage: 0 +--- !u!1 &115946 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22415946} + - component: {fileID: 11415976} + - component: {fileID: 11415974} + - component: {fileID: 11415972} + - component: {fileID: 11415978} + m_Layer: 5 + m_Name: SR_Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22415946 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 115946} + 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: 22415942} + - {fileID: 22415944} + m_Father: {fileID: 22409962} + 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: 1075, y: -20} + m_SizeDelta: {x: 84, y: 40} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &11415976 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 115946} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Padding: + m_Left: 15 + m_Right: 15 + m_Top: 13 + m_Bottom: 13 + m_ChildAlignment: 3 + m_Spacing: 5 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 +--- !u!114 &11415974 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 115946} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: SR_ + 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: 0.25882354, g: 0.25882354, b: 0.25882354, a: 1} + m_HighlightedColor: {r: 0.32352942, g: 0.32352942, b: 0.32352942, a: 1} + m_PressedColor: {r: 0.1544118, g: 0.1544118, b: 0.1544118, a: 1} + m_SelectedColor: {r: 0.32352942, g: 0.32352942, b: 0.32352942, a: 1} + m_DisabledColor: {r: 0.25882354, g: 0.25882354, b: 0.25882354, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 11415966} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 11472964} + m_MethodName: ToggleProfiler + 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 +--- !u!114 &11415972 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 115946} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Options_Item_Background + IgnoreImage: 0 +--- !u!114 &11415978 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 115946} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: 80 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &138210 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22438210} + - component: {fileID: 22238210} + - component: {fileID: 11438206} + - component: {fileID: 11438208} + m_Layer: 5 + m_Name: SR_Header + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22438210 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 138210} + 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: 22472968} + 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!222 &22238210 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 138210} + m_CullTransparentMesh: 0 +--- !u!114 &11438206 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 138210} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.8455882, g: 0.8455882, b: 0.8455882, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: dff6bf51d54250840bdef2ca8260c146, type: 3} + m_FontSize: 16 + 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: Mono Memory Usage +--- !u!114 &11438208 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 138210} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Content_Block_Header + IgnoreImage: 0 +--- !u!1 &139728 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22439728} + - component: {fileID: 22239728} + - component: {fileID: 11439732} + m_Layer: 5 + m_Name: SR_Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22439728 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 139728} + 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: 22439732} + 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!222 &22239728 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 139728} + m_CullTransparentMesh: 0 +--- !u!114 &11439732 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 139728} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 4e46f78eb6d69074d9b4fe427bb2f1a2, type: 3} + m_FontSize: 10 + 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: Other +--- !u!1 &139730 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22439730} + - component: {fileID: 22239730} + - component: {fileID: 11439734} + - component: {fileID: 11439728} + m_Layer: 5 + m_Name: SR_Colour + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22439730 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 139730} + 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: 22439732} + 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!222 &22239730 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 139730} + m_CullTransparentMesh: 0 +--- !u!114 &11439734 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 139730} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.5882353, g: 0.45490196, b: 0.02745098, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &11439728 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 139730} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 6 + m_PreferredHeight: 6 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &139732 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22439732} + - component: {fileID: 11439730} + m_Layer: 5 + m_Name: SR_LegendItem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22439732 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 139732} + 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: 22439730} + - {fileID: 22439728} + m_Father: {fileID: 22439746} + m_RootOrder: 4 + 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!114 &11439730 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 139732} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 4 + m_Spacing: 4 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 +--- !u!1 &139734 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22439734} + - component: {fileID: 11439740} + m_Layer: 5 + m_Name: SR_LegendItem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22439734 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 139734} + 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: 22439736} + - {fileID: 22439738} + m_Father: {fileID: 22439746} + 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.5, y: 0.5} +--- !u!114 &11439740 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 139734} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 4 + m_Spacing: 4 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 +--- !u!1 &139736 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22439736} + - component: {fileID: 22239732} + - component: {fileID: 11439736} + - component: {fileID: 11439742} + m_Layer: 5 + m_Name: SR_Colour + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22439736 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 139736} + 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: 22439734} + 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!222 &22239732 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 139736} + m_CullTransparentMesh: 0 +--- !u!114 &11439736 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 139736} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.45882353, g: 0.5921569, b: 0.02745098, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &11439742 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 139736} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 6 + m_PreferredHeight: 6 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &139738 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22439738} + - component: {fileID: 22239734} + - component: {fileID: 11439738} + m_Layer: 5 + m_Name: SR_Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22439738 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 139738} + 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: 22439734} + 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!222 &22239734 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 139738} + m_CullTransparentMesh: 0 +--- !u!114 &11439738 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 139738} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 4e46f78eb6d69074d9b4fe427bb2f1a2, type: 3} + m_FontSize: 10 + 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: Render +--- !u!1 &139740 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22439740} + - component: {fileID: 22239736} + - component: {fileID: 11439748} + m_Layer: 5 + m_Name: SR_Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22439740 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 139740} + 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: 22439744} + 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!222 &22239736 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 139740} + m_CullTransparentMesh: 0 +--- !u!114 &11439748 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 139740} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 4e46f78eb6d69074d9b4fe427bb2f1a2, type: 3} + m_FontSize: 10 + 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: Update +--- !u!1 &139742 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22439742} + - component: {fileID: 22239738} + - component: {fileID: 11439750} + - component: {fileID: 11439744} + m_Layer: 5 + m_Name: SR_Colour + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22439742 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 139742} + 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: 22439744} + 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!222 &22239738 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 139742} + m_CullTransparentMesh: 0 +--- !u!114 &11439750 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 139742} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.20392157, g: 0.5137255, b: 0.6313726, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &11439744 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 139742} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 6 + m_PreferredHeight: 6 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &139744 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22439744} + - component: {fileID: 11439746} + m_Layer: 5 + m_Name: SR_LegendItem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22439744 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 139744} + 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: 22439742} + - {fileID: 22439740} + m_Father: {fileID: 22439746} + 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!114 &11439746 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 139744} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 4 + m_Spacing: 4 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 +--- !u!1 &139746 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22439746} + - component: {fileID: 11439752} + m_Layer: 5 + m_Name: SR_FPSGraphSubRow + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22439746 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 139746} + 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: 22477856} + - {fileID: 22477858} + - {fileID: 22439744} + - {fileID: 22439734} + - {fileID: 22439732} + m_Father: {fileID: 22498780} + 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!114 &11439752 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 139746} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Padding: + m_Left: 4 + m_Right: 4 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 5 + m_Spacing: 6 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 +--- !u!1 &139748 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22439748} + - component: {fileID: 22239740} + - component: {fileID: 11439756} + - component: {fileID: 11415958} + m_Layer: 5 + m_Name: SR_Fill + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22439748 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 139748} + 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: 22450232} + m_Father: {fileID: 22450252} + 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: 10, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &22239740 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 139748} + m_CullTransparentMesh: 0 +--- !u!114 &11439756 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 139748} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.5808823, g: 0.5808823, b: 0.5808823, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &11415958 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 139748} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Profiler_Memory_FG + IgnoreImage: 0 +--- !u!1 &139750 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22439750} + m_Layer: 5 + m_Name: SR_Fill Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22439750 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 139750} + 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: 22450230} + m_Father: {fileID: 22450238} + 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: 0, y: 0} + m_SizeDelta: {x: -10, y: -28} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &139752 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22439752} + - component: {fileID: 22239742} + - component: {fileID: 11439758} + - component: {fileID: 11415960} + m_Layer: 5 + m_Name: SR_Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22439752 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 139752} + 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: 22450238} + 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: -28} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &22239742 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 139752} + m_CullTransparentMesh: 0 +--- !u!114 &11439758 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 139752} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.2647059, g: 0.2647059, b: 0.2647059, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &11415960 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 139752} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Profiler_Memory_BG + IgnoreImage: 0 +--- !u!1 &139754 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22439754} + - component: {fileID: 11439754} + - component: {fileID: 11415956} + m_Layer: 5 + m_Name: SR_Slider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22439754 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 139754} + 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: 22450234} + - {fileID: 22415938} + - {fileID: 22450252} + m_Father: {fileID: 22472968} + 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!114 &11439754 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 139754} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 67db9e8f0e2ae9c40bc1e2b64352a6b4, type: 3} + m_Name: SR_ + 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_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, 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_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 0 + m_TargetGraphic: {fileID: 0} + m_FillRect: {fileID: 22439748} + m_HandleRect: {fileID: 0} + m_Direction: 0 + m_MinValue: 0 + m_MaxValue: 1 + m_WholeNumbers: 0 + m_Value: 0.444 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &11415956 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 139754} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: 40 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &139758 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22439758} + - component: {fileID: 11439762} + m_Layer: 5 + m_Name: SR_FlowLayout + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22439758 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 139758} + 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: 22472968} + - {fileID: 22450244} + m_Father: {fileID: 22498780} + 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.5, y: 0.5} +--- !u!114 &11439762 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 139758} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f3a5149e46522d84cb8079537220a929, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 0 + ChildForceExpandHeight: 0 + ChildForceExpandWidth: 1 + Spacing: 0 +--- !u!1 &150230 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22450230} + - component: {fileID: 22250228} + - component: {fileID: 11450242} + - component: {fileID: 11450240} + m_Layer: 5 + m_Name: SR_Fill + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22450230 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 150230} + 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: 22415940} + m_Father: {fileID: 22439750} + 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: 10, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &22250228 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 150230} + m_CullTransparentMesh: 0 +--- !u!114 &11450242 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 150230} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.5808823, g: 0.5808823, b: 0.5808823, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &11450240 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 150230} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Profiler_Memory_FG + IgnoreImage: 0 +--- !u!1 &150232 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22450232} + - component: {fileID: 22250230} + - component: {fileID: 11450246} + - component: {fileID: 11450244} + m_Layer: 5 + m_Name: SR_Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22450232 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 150232} + 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: 22439748} + m_RootOrder: 0 + 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: -3} + m_SizeDelta: {x: 100, y: 12} + m_Pivot: {x: 0.5, y: 1} +--- !u!222 &22250230 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 150232} + m_CullTransparentMesh: 0 +--- !u!114 &11450246 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 150232} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.7372549, g: 0.7372549, b: 0.7372549, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: dff6bf51d54250840bdef2ca8260c146, type: 3} + m_FontSize: 10 + 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: --MB +--- !u!114 &11450244 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 150232} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Text_Dim + IgnoreImage: 0 +--- !u!1 &150234 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22450234} + - component: {fileID: 22250232} + - component: {fileID: 11450248} + - component: {fileID: 11450250} + m_Layer: 5 + m_Name: SR_Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22450234 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 150234} + 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: 22439754} + 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: -28} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &22250232 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 150234} + m_CullTransparentMesh: 0 +--- !u!114 &11450248 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 150234} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.2647059, g: 0.2647059, b: 0.2647059, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &11450250 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 150234} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Profiler_Memory_BG + IgnoreImage: 0 +--- !u!1 &150236 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22450236} + - component: {fileID: 11450252} + m_Layer: 5 + m_Name: SR_Buttons + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22450236 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 150236} + 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: 22450250} + m_Father: {fileID: 22472968} + 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.5, y: 0.5} +--- !u!114 &11450252 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 150236} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: SR_ + 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: 1 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 +--- !u!1 &150238 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22450238} + - component: {fileID: 11450254} + - component: {fileID: 11450256} + m_Layer: 5 + m_Name: SR_Slider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22450238 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 150238} + 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: 22439752} + - {fileID: 22450246} + - {fileID: 22439750} + m_Father: {fileID: 22450244} + 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!114 &11450254 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 150238} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 67db9e8f0e2ae9c40bc1e2b64352a6b4, type: 3} + m_Name: SR_ + 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_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, 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_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 0 + m_TargetGraphic: {fileID: 0} + m_FillRect: {fileID: 22450230} + m_HandleRect: {fileID: 0} + m_Direction: 0 + m_MinValue: 0 + m_MaxValue: 1 + m_WholeNumbers: 0 + m_Value: 0.444 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &11450256 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 150238} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: 40 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &150240 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22450240} + - component: {fileID: 22250234} + - component: {fileID: 11450260} + - component: {fileID: 11450258} + m_Layer: 5 + m_Name: SR_Header + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22450240 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 150240} + 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: 22450244} + 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!222 &22250234 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 150240} + m_CullTransparentMesh: 0 +--- !u!114 &11450260 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 150240} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.8455882, g: 0.8455882, b: 0.8455882, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: dff6bf51d54250840bdef2ca8260c146, type: 3} + m_FontSize: 16 + 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: Memory Usage +--- !u!114 &11450258 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 150240} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Content_Block_Header + IgnoreImage: 0 +--- !u!1 &150242 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22450242} + - component: {fileID: 22250236} + - component: {fileID: 11450264} + - component: {fileID: 11450262} + m_Layer: 5 + m_Name: SR_BG + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22450242 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 150242} + 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: 22450250} + 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: -10, y: -10} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &22250236 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 150242} + m_CullTransparentMesh: 0 +--- !u!114 &11450264 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 150242} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.99607843, g: 0.99607843, b: 0.99607843, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &11450262 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 150242} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &150244 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22450244} + - component: {fileID: 11450266} + - component: {fileID: 11450226} + - component: {fileID: 11476962} + m_Layer: 5 + m_Name: SR_MemoryBlock + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22450244 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 150244} + 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: 22450240} + - {fileID: 22450238} + - {fileID: 22415936} + m_Father: {fileID: 22439758} + 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!114 &11450266 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 150244} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Padding: + m_Left: 10 + m_Right: 10 + m_Top: 10 + m_Bottom: 10 + m_ChildAlignment: 0 + m_Spacing: 8 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 +--- !u!114 &11450226 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 150244} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 445cb6d0a347a0542a38dd652e9ba01b, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + CurrentUsedText: {fileID: 11415962} + Slider: {fileID: 11450254} + TotalAllocatedText: {fileID: 11450268} +--- !u!114 &11476962 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 150244} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 260 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &150246 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22450246} + - component: {fileID: 22250238} + - component: {fileID: 11450268} + - component: {fileID: 11450270} + m_Layer: 5 + m_Name: SR_MaxValueText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22450246 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 150246} + 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: 22450238} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -5, y: 0} + m_SizeDelta: {x: -10, y: 12} + m_Pivot: {x: 1, y: 1} +--- !u!222 &22250238 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 150246} + m_CullTransparentMesh: 0 +--- !u!114 &11450268 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 150246} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.7372549, g: 0.7372549, b: 0.7372549, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: dff6bf51d54250840bdef2ca8260c146, type: 3} + m_FontSize: 10 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 5 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 'Heap Size: 30MB' +--- !u!114 &11450270 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 150246} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Text_Dim + IgnoreImage: 0 +--- !u!1 &150248 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22450248} + - component: {fileID: 22250240} + - component: {fileID: 11450274} + - component: {fileID: 11450272} + m_Layer: 5 + m_Name: SR_Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22450248 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 150248} + 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: 22409968} + 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!222 &22250240 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 150248} + m_CullTransparentMesh: 0 +--- !u!114 &11450274 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 150248} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: dff6bf51d54250840bdef2ca8260c146, type: 3} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 0 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Clean +--- !u!114 &11450272 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 150248} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Options_Name + IgnoreImage: 0 +--- !u!1 &150250 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22450250} + - component: {fileID: 11450282} + - component: {fileID: 11450280} + - component: {fileID: 11450278} + - component: {fileID: 11450276} + m_Layer: 5 + m_Name: SR_Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22450250 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 150250} + 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: 22450242} + - {fileID: 22409970} + m_Father: {fileID: 22450236} + 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!114 &11450282 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 150250} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Padding: + m_Left: 15 + m_Right: 15 + m_Top: 13 + m_Bottom: 13 + m_ChildAlignment: 4 + m_Spacing: 5 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 +--- !u!114 &11450280 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 150250} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: SR_ + 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: 0.25882354, g: 0.25882354, b: 0.25882354, a: 1} + m_HighlightedColor: {r: 0.32352942, g: 0.32352942, b: 0.32352942, a: 1} + m_PressedColor: {r: 0.1544118, g: 0.1544118, b: 0.1544118, a: 1} + m_SelectedColor: {r: 0.32352942, g: 0.32352942, b: 0.32352942, a: 1} + m_DisabledColor: {r: 0.25882354, g: 0.25882354, b: 0.25882354, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 11450264} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 11415930} + m_MethodName: TriggerCollection + 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 +--- !u!114 &11450278 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 150250} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Options_Item_Background + IgnoreImage: 0 +--- !u!114 &11450276 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 150250} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: 80 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &150252 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22450252} + m_Layer: 5 + m_Name: SR_Fill Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22450252 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 150252} + 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: 22439748} + m_Father: {fileID: 22439754} + 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: 0, y: 0} + m_SizeDelta: {x: -10, y: -28} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &152454 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22452454} + - component: {fileID: 22252460} + - component: {fileID: 11452444} + - component: {fileID: 11452442} + m_Layer: 5 + m_Name: SR_Selected + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22452454 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 152454} + 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: 22452458} + 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 &22252460 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 152454} + m_CullTransparentMesh: 0 +--- !u!114 &11452444 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 152454} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.39607844, g: 0.39607844, b: 0.39607844, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &11452442 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 152454} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Tab_Header_Toggle_Selected + IgnoreImage: 0 +--- !u!1 &152456 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22452458} + - component: {fileID: 22252462} + - component: {fileID: 11452446} + - component: {fileID: 11452452} + - component: {fileID: 11452454} + - component: {fileID: 11452450} + m_Layer: 5 + m_Name: SR_PinButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22452458 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 152456} + 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: 22452462} + - {fileID: 22452454} + - {fileID: 22452464} + m_Father: {fileID: 22452460} + 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!222 &22252462 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 152456} + m_CullTransparentMesh: 0 +--- !u!114 &11452446 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 152456} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 0.25882354, g: 0.25882354, b: 0.25882354, a: 0} + m_HighlightedColor: {r: 0.3254902, g: 0.3254902, b: 0.3254902, a: 1} + m_PressedColor: {r: 0.15294118, g: 0.15294118, b: 0.15294118, a: 1} + m_SelectedColor: {r: 0.3254902, g: 0.3254902, b: 0.3254902, a: 1} + m_DisabledColor: {r: 0.25882354, g: 0.25882354, b: 0.25882354, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 11452460} + toggleTransition: 0 + graphic: {fileID: 11452444} + m_Group: {fileID: 0} + onValueChanged: + m_PersistentCalls: + m_Calls: [] + m_IsOn: 0 +--- !u!114 &11452452 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 152456} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 42 + m_PreferredHeight: 40 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &11452454 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 152456} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 95878e800ddd366418edfb56a22f9d56, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + DecayTime: 0.15 + DefaultColor: {r: 0.2784314, g: 0.2784314, b: 0.2784314, a: 0} + FlashColor: {r: 0.2784314, g: 0.2784314, b: 0.2784314, a: 1} + Target: {fileID: 11452460} +--- !u!114 &11452450 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 152456} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Tab_Header_Button + IgnoreImage: 0 +--- !u!1 &152458 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22452460} + - component: {fileID: 11452456} + - component: {fileID: 11452458} + m_Layer: 5 + m_Name: SR_Buttons + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22452460 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 152458} + 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: 22452458} + m_Father: {fileID: 22452466} + 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: 1, y: 0.5} +--- !u!114 &11452456 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 152458} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 5 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 2 + m_Spacing: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 +--- !u!114 &11452458 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 152458} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_HorizontalFit: 2 + m_VerticalFit: 0 +--- !u!1 &152460 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22452462} + - component: {fileID: 22252464} + - component: {fileID: 11452460} + m_Layer: 5 + m_Name: SR_BG + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22452462 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 152460} + 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: 22452458} + 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!222 &22252464 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 152460} + m_CullTransparentMesh: 0 +--- !u!114 &11452460 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 152460} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &152462 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22452464} + - component: {fileID: 22252466} + - component: {fileID: 11452464} + - component: {fileID: 11452462} + m_Layer: 5 + m_Name: SR_Sprite + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22452464 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 152462} + 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: 22452458} + m_RootOrder: 2 + 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: 25, y: 25} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &22252466 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 152462} + m_CullTransparentMesh: 0 +--- !u!114 &11452464 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 152462} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 23dfb5d7fc5a2fb4f9a5fc00f697147f, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &11452462 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 152462} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Icon_Pin + IgnoreImage: 0 +--- !u!1 &152464 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22452466} + m_Layer: 5 + m_Name: SR_ProfilerHeaderContent + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22452466 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 152464} + 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: 22452460} + m_Father: {fileID: 22452456} + 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 &152466 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22452456} + - component: {fileID: 11452448} + m_Layer: 5 + m_Name: SR_Header + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22452456 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 152466} + 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: 22452466} + m_Father: {fileID: 22498786} + 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: 498, y: 90} + m_SizeDelta: {x: 986, y: 40} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &11452448 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 152466} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &159566 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22459566} + - component: {fileID: 22259566} + - component: {fileID: 11459568} + - component: {fileID: 11459566} + m_Layer: 5 + m_Name: SR_FPSGraph + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22459566 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 159566} + 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: 22411958} + - {fileID: 22408742} + m_Father: {fileID: 22498780} + 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!222 &22259566 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 159566} + m_CullTransparentMesh: 0 +--- !u!114 &11459568 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 159566} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e5812a284a856b743b4f54c6a4637061, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + VerticalAlignment: 1 + FloatingScale: 1 + TargetFpsUseApplication: 0 + DrawAxes: 1 + TargetFps: 60 + Clip: 1 + VerticalPadding: 10 + LineColours: + - {r: 0.20392157, g: 0.5176471, b: 0.63529414, a: 1} + - {r: 0.4627451, g: 0.59607846, b: 0.02745098, a: 1} + - {r: 0.5921569, g: 0.45974308, b: 0.027450992, a: 1} +--- !u!114 &11459566 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 159566} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: 160 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &172966 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22472966} + - component: {fileID: 22272966} + - component: {fileID: 11472974} + - component: {fileID: 11472968} + - component: {fileID: 11438210} + m_Layer: 5 + m_Name: SR_NotSupportedMessage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22472966 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 172966} + 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: 22472968} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: 0, y: -73} + m_SizeDelta: {x: 404, y: 10} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &22272966 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 172966} + m_CullTransparentMesh: 0 +--- !u!114 &11472974 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 172966} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.8455882, g: 0.8455882, b: 0.8455882, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 4e46f78eb6d69074d9b4fe427bb2f1a2, type: 3} + m_FontSize: 10 + 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: Current usage is not supported for this build. +--- !u!114 &11472968 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 172966} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Content_Block_Header + IgnoreImage: 0 +--- !u!114 &11438210 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 172966} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &172968 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22472968} + - component: {fileID: 11472970} + - component: {fileID: 11415930} + - component: {fileID: 11476964} + m_Layer: 5 + m_Name: SR_MonoBlock + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22472968 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 172968} + 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: 22438210} + - {fileID: 22439754} + - {fileID: 22472966} + - {fileID: 22450236} + m_Father: {fileID: 22439758} + 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!114 &11472970 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 172968} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Padding: + m_Left: 10 + m_Right: 10 + m_Top: 10 + m_Bottom: 10 + m_ChildAlignment: 0 + m_Spacing: 8 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 +--- !u!114 &11415930 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 172968} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9fff10238b625f545b2d88c80d4cf9d4, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + CurrentUsedText: {fileID: 11450246} + NotSupportedMessage: {fileID: 172966} + Slider: {fileID: 11439754} + TotalAllocatedText: {fileID: 11415954} +--- !u!114 &11476964 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 172968} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 260 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &177856 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22477856} + - component: {fileID: 22277856} + - component: {fileID: 11477858} + - component: {fileID: 11477856} + m_Layer: 5 + m_Name: SR_FPS + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22477856 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 177856} + 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: 22439746} + 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!222 &22277856 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 177856} + m_CullTransparentMesh: 0 +--- !u!114 &11477858 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 177856} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 4e46f78eb6d69074d9b4fe427bb2f1a2, type: 3} + m_FontSize: 10 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 'FPS: 45.33' +--- !u!114 &11477856 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 177856} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 85621644eaef06f44835068498590190, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + UpdateFrequency: 1 + _text: {fileID: 11477858} +--- !u!1 &177858 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22477858} + - component: {fileID: 11477860} + m_Layer: 5 + m_Name: SR_Spacer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22477858 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 177858} + 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: 22439746} + 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!114 &11477860 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 177858} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + 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!1 &198780 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22498780} + - component: {fileID: 11498772} + - component: {fileID: 11498770} + m_Layer: 5 + m_Name: SR_Content + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22498780 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 198780} + 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: 22459566} + - {fileID: 22439746} + - {fileID: 22409962} + - {fileID: 22439758} + m_Father: {fileID: 22405598} + 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: 0} + m_Pivot: {x: 0.5, y: 1} +--- !u!114 &11498772 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 198780} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 0 + m_Spacing: 5 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 +--- !u!114 &11498770 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 198780} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_HorizontalFit: 0 + m_VerticalFit: 2 +--- !u!1 &198786 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22498786} + - component: {fileID: 11452466} + - component: {fileID: 11498782} + - component: {fileID: 11498780} + - component: {fileID: 11440382} + - component: {fileID: 11488446} + m_Layer: 5 + m_Name: Profiler + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22498786 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 198786} + 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: 22452456} + - {fileID: 22405598} + m_Father: {fileID: 0} + 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 &11452466 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 198786} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f26b5a0018be8444fb0a18037b471f65, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + PinToggle: {fileID: 11452446} +--- !u!114 &11498782 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 198786} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 94b1f24ed4379dd4fab14add56e520a5, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + HeaderExtraContent: {fileID: 22452466} + Icon: {fileID: 21300000, guid: 4ea5932536416924bab8eb9b5bab3874, type: 3} + IconExtraContent: {fileID: 0} + IconStyleKey: Icon_Profiler + SortIndex: 5 + TabButton: {fileID: 0} + _title: Profiler + _longTitle: Profiler + _key: Profiler +--- !u!114 &11498780 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 198786} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Content: {fileID: 22498780} + m_Horizontal: 0 + m_Vertical: 1 + m_MovementType: 2 + m_Elasticity: 0.1 + m_Inertia: 1 + m_DecelerationRate: 0.135 + m_ScrollSensitivity: 40 + m_Viewport: {fileID: 22405598} + m_HorizontalScrollbar: {fileID: 0} + m_VerticalScrollbar: {fileID: 0} + m_HorizontalScrollbarVisibility: 0 + m_VerticalScrollbarVisibility: 0 + m_HorizontalScrollbarSpacing: 0 + m_VerticalScrollbarSpacing: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &11440382 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 198786} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6f0ff44b792ef2042856036000e22450, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: +--- !u!114 &11488446 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 198786} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 40436e7c301de034f916ee1e7ddabeeb, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: diff --git a/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Tabs/Profiler.prefab.meta b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Tabs/Profiler.prefab.meta new file mode 100644 index 0000000..2c31e1b --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Tabs/Profiler.prefab.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: c8c5aa399662c664f81eda4f07e56ad2 +NativeFormatImporter: + userData: diff --git a/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Tabs/System.prefab b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Tabs/System.prefab new file mode 100644 index 0000000..f2bbbc9 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Tabs/System.prefab @@ -0,0 +1,1141 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &101882 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22428750} + - component: {fileID: 11440158} + m_Layer: 5 + m_Name: SR_Spacer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22428750 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 101882} + 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: 22488654} + 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!114 &11440158 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 101882} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, 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: 10000000 + m_LayoutPriority: 1 +--- !u!1 &108188 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22408188} + m_Layer: 5 + m_Name: SR_Viewport + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22408188 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108188} + 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: 22488654} + m_Father: {fileID: 22488666} + 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!1 &109448 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22409448} + - component: {fileID: 11409442} + - component: {fileID: 11409440} + m_Layer: 5 + m_Name: SR_Buttons + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22409448 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 109448} + 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: 22409458} + m_Father: {fileID: 22409452} + 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: 986, y: -20} + m_SizeDelta: {x: 45, y: 40} + m_Pivot: {x: 1, y: 0.5} +--- !u!114 &11409442 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 109448} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 5 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 2 + m_Spacing: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 +--- !u!114 &11409440 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 109448} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_HorizontalFit: 2 + m_VerticalFit: 0 +--- !u!1 &109450 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22409450} + - component: {fileID: 11409444} + m_Layer: 5 + m_Name: SR_Header + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22409450 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 109450} + 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: 22409452} + m_Father: {fileID: 22488666} + 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: 498, y: 90} + m_SizeDelta: {x: 986, y: 40} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &11409444 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 109450} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &109452 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22409452} + - component: {fileID: 5842375843516289000} + m_Layer: 5 + m_Name: SR_SystemHeaderContent + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22409452 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 109452} + 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: 22409448} + m_Father: {fileID: 22409450} + 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 &5842375843516289000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 109452} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, 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: 1 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 +--- !u!1 &109454 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22409454} + - component: {fileID: 22209454} + - component: {fileID: 11409448} + - component: {fileID: 11409446} + m_Layer: 5 + m_Name: SR_Sprite + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22409454 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 109454} + 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: 22409458} + m_RootOrder: 1 + 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: 25, y: 25} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &22209454 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 109454} + m_CullTransparentMesh: 0 +--- !u!114 &11409448 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 109454} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 9662640d4260c9a4d926c7de03e6609e, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &11409446 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 109454} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Icon_Refresh + IgnoreImage: 0 +--- !u!1 &109456 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22409456} + - component: {fileID: 22209456} + - component: {fileID: 11409450} + m_Layer: 5 + m_Name: SR_BG + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22409456 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 109456} + 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: 22409458} + 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!222 &22209456 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 109456} + m_CullTransparentMesh: 0 +--- !u!114 &11409450 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 109456} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &109458 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22409458} + - component: {fileID: 3927600918157404865} + - component: {fileID: 22209458} + - component: {fileID: 11409456} + - component: {fileID: 11409454} + - component: {fileID: 11409452} + m_Layer: 5 + m_Name: SR_Refresh + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22409458 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 109458} + 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: 22409456} + - {fileID: 22409454} + m_Father: {fileID: 22409448} + 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: -20} + m_SizeDelta: {x: 40, y: 40} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &3927600918157404865 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 109458} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3fc6d8b69639fdc45a849df5b853c783, 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.25882354, g: 0.25882354, b: 0.25882354, a: 0} + m_HighlightedColor: {r: 0.3254902, g: 0.3254902, b: 0.3254902, a: 1} + m_PressedColor: {r: 0.15294118, g: 0.15294118, b: 0.15294118, a: 1} + m_SelectedColor: {r: 0.3254902, g: 0.3254902, b: 0.3254902, a: 1} + m_DisabledColor: {r: 0.25882354, g: 0.25882354, b: 0.25882354, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 0} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 11411704} + m_MethodName: Refresh + 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 + _onLongPress: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 11411704} + m_MethodName: ActivateRefreshEveryFrame + 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 + LongPressDuration: 0.9 +--- !u!222 &22209458 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 109458} + m_CullTransparentMesh: 0 +--- !u!114 &11409456 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 109458} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 40 + m_PreferredHeight: 40 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &11409454 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 109458} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 95878e800ddd366418edfb56a22f9d56, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + DecayTime: 0.15 + DefaultColor: {r: 0.2784314, g: 0.2784314, b: 0.2784314, a: 0} + FlashColor: {r: 0.2784314, g: 0.2784314, b: 0.2784314, a: 1} + Target: {fileID: 11409450} +--- !u!114 &11409452 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 109458} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Tab_Header_Button + IgnoreImage: 0 +--- !u!1 &112936 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22496842} + m_Layer: 5 + m_Name: SR_Spacer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22496842 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 112936} + 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: 22488654} + m_RootOrder: 4 + 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!1 &132084 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22432084} + - component: {fileID: 22232084} + - component: {fileID: 11432084} + - component: {fileID: 11432082} + m_Layer: 5 + m_Name: SR_ScrollBackground + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22432084 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 132084} + 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: 22488654} + 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!222 &22232084 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 132084} + m_CullTransparentMesh: 0 +--- !u!114 &11432084 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 132084} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 0} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &11432082 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 132084} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &180920 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22443092} + - component: {fileID: 22293874} + - component: {fileID: 11498084} + - component: {fileID: 11460484} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22443092 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 180920} + 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: 22488654} + 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.5, y: 0.5} +--- !u!222 &22293874 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 180920} + m_CullTransparentMesh: 0 +--- !u!114 &11498084 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 180920} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.7372549, g: 0.7372549, b: 0.7372549, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: dff6bf51d54250840bdef2ca8260c146, type: 3} + m_FontSize: 10 + 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: SRDebugger (C) Stompy Robot LTD - Icons by Icons8 (www.icons8.com) +--- !u!114 &11460484 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 180920} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: + m_EditorClassIdentifier: + _styleKey: Text_Dim + IgnoreImage: 0 +--- !u!1 &188654 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22488654} + - component: {fileID: 11488612} + - component: {fileID: 11488614} + - component: {fileID: 11493252} + m_Layer: 5 + m_Name: SR_Content + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22488654 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 188654} + 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: 22432084} + - {fileID: 22488656} + - {fileID: 22428750} + - {fileID: 22443092} + - {fileID: 22496842} + m_Father: {fileID: 22408188} + 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: 0} + m_Pivot: {x: 0.5, y: 1} +--- !u!114 &11488612 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 188654} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 0 + m_Spacing: 3 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 +--- !u!114 &11488614 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 188654} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_HorizontalFit: 0 + m_VerticalFit: 2 +--- !u!114 &11493252 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 188654} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 65f264d1c98f61c4f9143ddeb0e74ff5, 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 + CopySource: {fileID: 22408188} + PaddingHeight: 0 + PaddingWidth: 0 + SetPreferredSize: 0 + SetMinimumSize: 1 +--- !u!1 &188656 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22488656} + - component: {fileID: 11488616} + m_Layer: 5 + m_Name: SR_Flow + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22488656 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 188656} + 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: 22488654} + 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: 1} +--- !u!114 &11488616 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 188656} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f3a5149e46522d84cb8079537220a929, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 0 + ChildForceExpandHeight: 1 + ChildForceExpandWidth: 1 + Spacing: 0 +--- !u!1 &188666 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22488666} + - component: {fileID: 11431096} + - component: {fileID: 11488634} + - component: {fileID: 11411704} + - component: {fileID: 11403006} + - component: {fileID: 11437146} + m_Layer: 5 + m_Name: System + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22488666 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 188666} + 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: 22409450} + - {fileID: 22408188} + m_Father: {fileID: 0} + 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 &11431096 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 188666} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 94b1f24ed4379dd4fab14add56e520a5, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + HeaderExtraContent: {fileID: 22409452} + Icon: {fileID: 21300000, guid: 4ea5932536416924bab8eb9b5bab3874, type: 3} + IconExtraContent: {fileID: 0} + IconStyleKey: Icon_System + SortIndex: 0 + TabButton: {fileID: 0} + _title: System + _longTitle: System Information + _key: SystemInformation +--- !u!114 &11488634 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 188666} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Content: {fileID: 22488654} + m_Horizontal: 0 + m_Vertical: 1 + m_MovementType: 2 + m_Elasticity: 0.1 + m_Inertia: 1 + m_DecelerationRate: 0.135 + m_ScrollSensitivity: 40 + m_Viewport: {fileID: 22408188} + m_HorizontalScrollbar: {fileID: 0} + m_VerticalScrollbar: {fileID: 0} + m_HorizontalScrollbarVisibility: 0 + m_VerticalScrollbarVisibility: 0 + m_HorizontalScrollbarSpacing: 0 + m_VerticalScrollbarSpacing: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &11411704 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 188666} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5b6cf74d4a6343648bbe857301cf1bc8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + InfoBlockPrefab: {fileID: 11419538, guid: 54dcbf94ddefe604898e059992c2f974, type: 3} + LayoutContainer: {fileID: 22488656} + ToggleButton: {fileID: 11409454} +--- !u!114 &11403006 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 188666} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6f0ff44b792ef2042856036000e22450, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: +--- !u!114 &11437146 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 188666} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 40436e7c301de034f916ee1e7ddabeeb, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: diff --git a/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Tabs/System.prefab.meta b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Tabs/System.prefab.meta new file mode 100644 index 0000000..f3890e6 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Tabs/System.prefab.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: b375b5741c9234f4c8e08b2f4c81e15d +NativeFormatImporter: + userData: diff --git a/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Trigger.prefab b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Trigger.prefab new file mode 100644 index 0000000..f165dc1 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Trigger.prefab @@ -0,0 +1,703 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &132616 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22432616} + - component: {fileID: 22232616} + - component: {fileID: 11432612} + - component: {fileID: 11448470} + - component: {fileID: 11432614} + m_Layer: 5 + m_Name: SR_TapButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22432616 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 132616} + 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: 22478442} + 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, y: 1} +--- !u!222 &22232616 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 132616} + m_CullTransparentMesh: 0 +--- !u!114 &11432612 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 132616} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + 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_Sprite: {fileID: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 +--- !u!114 &11448470 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 132616} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: abc57d317f579f2459ba7317f386ecf3, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 0 + 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: 0} + m_HighlightedColor: {r: 1, g: 1, b: 1, a: 0.1254902} + m_PressedColor: {r: 1, g: 1, b: 1, a: 0.21176471} + m_DisabledColor: {r: 1, g: 1, b: 1, a: 0} + m_ColorMultiplier: 1 + m_FadeDuration: 0 + 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: 11432612} + m_OnClick: + m_PersistentCalls: + m_Calls: [] + RequiredTapCount: 3 + ResetTime: 0.5 +--- !u!114 &11432614 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 132616} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 95878e800ddd366418edfb56a22f9d56, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + DecayTime: 0.15 + DefaultColor: {r: 1, g: 1, b: 1, a: 0} + FlashColor: {r: 1, g: 1, b: 1, a: 0.18431373} + Target: {fileID: 11432612} +--- !u!1 &148474 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22448474} + - component: {fileID: 22348476} + - component: {fileID: 11448468} + - component: {fileID: 11448466} + - component: {fileID: 11448476} + - component: {fileID: 11452012} + - component: {fileID: 11439714} + m_Layer: 5 + m_Name: Trigger + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22448474 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 148474} + 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: 22478442} + 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!223 &22348476 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 148474} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 1 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 25 + m_SortingLayerID: -1229733857 + m_SortingOrder: 118 + m_TargetDisplay: 0 +--- !u!114 &11448468 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 148474} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1301386320, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &11448466 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 148474} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_UiScaleMode: 2 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 0 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 +--- !u!114 &11448476 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 148474} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e511950015658d545aa9d10a45550b11, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + Canvas: {fileID: 22348476} + TapHoldButton: {fileID: 11432616} + TriggerTransform: {fileID: 22478442} + ErrorNotifier: {fileID: 114515333832246520} + TripleTapButton: {fileID: 11448470} +--- !u!114 &11452012 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 148474} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 40436e7c301de034f916ee1e7ddabeeb, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: +--- !u!114 &11439714 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 148474} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f0ad3d8afa9fd64429a249b5bbb19557, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: +--- !u!1 &148476 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22448476} + - component: {fileID: 22248476} + - component: {fileID: 11448472} + - component: {fileID: 11432616} + - component: {fileID: 11448474} + m_Layer: 5 + m_Name: SR_HoldButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22448476 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 148476} + 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: 22478442} + 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, y: 1} +--- !u!222 &22248476 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 148476} + m_CullTransparentMesh: 0 +--- !u!114 &11448472 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 148476} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + 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_Sprite: {fileID: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 +--- !u!114 &11432616 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 148476} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3fc6d8b69639fdc45a849df5b853c783, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 0 + 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: 11448472} + m_OnClick: + m_PersistentCalls: + m_Calls: [] + _onLongPress: + m_PersistentCalls: + m_Calls: [] + LongPressDuration: 0.9 +--- !u!114 &11448474 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 148476} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 95878e800ddd366418edfb56a22f9d56, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + DecayTime: 0.15 + DefaultColor: {r: 1, g: 1, b: 1, a: 0} + FlashColor: {r: 1, g: 1, b: 1, a: 0.18431373} + Target: {fileID: 11448472} +--- !u!1 &178442 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22478442} + m_Layer: 5 + m_Name: SR_ButtonContainer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22478442 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178442} + 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: 22432616} + - {fileID: 22448476} + - {fileID: 224305022694552296} + m_Father: {fileID: 22448474} + 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: 0.8, y: 0.8} + m_Pivot: {x: 0, y: 1} +--- !u!1 &1467285441891278 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224305022694552296} + - component: {fileID: 114515333832246520} + - component: {fileID: 225275743592272854} + - component: {fileID: 95883243777122286} + m_Layer: 5 + m_Name: SR_ErrorWarning + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224305022694552296 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1467285441891278} + 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: 224890845635152030} + - {fileID: 224484456698580340} + m_Father: {fileID: 22478442} + 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: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &114515333832246520 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1467285441891278} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc845b8723c64841aa76e259d4a0b6c4, type: 3} + m_Name: + m_EditorClassIdentifier: + _animator: {fileID: 95883243777122286} +--- !u!225 &225275743592272854 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1467285441891278} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 0 + m_BlocksRaycasts: 0 + m_IgnoreParentGroups: 0 +--- !u!95 &95883243777122286 +Animator: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1467285441891278} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 9100000, guid: 449919ad070ed5f428b1698571eee16d, type: 2} + m_CullingMode: 0 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorControllerStateOnDisable: 0 +--- !u!1 &1892602544821206 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224890845635152030} + - component: {fileID: 222230469614032946} + - component: {fileID: 114330398108791650} + - component: {fileID: 225511023925428452} + m_Layer: 5 + m_Name: SR_Icon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224890845635152030 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1892602544821206} + 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: 224305022694552296} + 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!222 &222230469614032946 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1892602544821206} + m_CullTransparentMesh: 0 +--- !u!114 &114330398108791650 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1892602544821206} + 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: 0.95686275, g: 0.35686275, b: 0.34117648, a: 0.703} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 +--- !u!225 &225511023925428452 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1892602544821206} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 0 + m_BlocksRaycasts: 0 + m_IgnoreParentGroups: 0 +--- !u!1 &1943162144476130 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224484456698580340} + - component: {fileID: 222256551303749844} + - component: {fileID: 114762634538722336} + - component: {fileID: 225873368204709294} + m_Layer: 5 + m_Name: SR_Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224484456698580340 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1943162144476130} + 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: 224305022694552296} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.1, y: 0.1} + m_AnchorMax: {x: 0.9, y: 0.9} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222256551303749844 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1943162144476130} + m_CullTransparentMesh: 0 +--- !u!114 &114762634538722336 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1943162144476130} + 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_Sprite: {fileID: 21300000, guid: fa4a3dea13d28344a8bcc77a1a7e2fcf, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 +--- !u!225 &225873368204709294 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1943162144476130} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 0 + m_BlocksRaycasts: 0 + m_IgnoreParentGroups: 0 diff --git a/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Trigger.prefab.meta b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Trigger.prefab.meta new file mode 100644 index 0000000..c8b5efc --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Resources/SRDebugger/UI/Prefabs/Trigger.prefab.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 3024365d197ebaa4abedb991801f0b79 +NativeFormatImporter: + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scenes.meta b/Assets/StompyRobot/SRDebugger/Scenes.meta new file mode 100644 index 0000000..14cfd4f --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scenes.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 4ab5876a3d87bb247a630f0d8e0a7c4a +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scenes/Sample.unity b/Assets/StompyRobot/SRDebugger/Scenes/Sample.unity new file mode 100644 index 0000000..8403c6a --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scenes/Sample.unity @@ -0,0 +1,392 @@ +%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: 9 + 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.2, g: 0.2, b: 0.2, a: 1} + m_AmbientEquatorColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_AmbientGroundColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 3 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 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} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &4 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 1 + m_BakeResolution: 50 + m_AtlasSize: 1024 + m_AO: 1 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 0 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 1 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 0 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_UseShadowmask: 0 +--- !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.16666666 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &385144051 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 385144052} + - component: {fileID: 385144055} + - component: {fileID: 385144054} + - component: {fileID: 385144053} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &385144052 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 385144051} + 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: 1922097723} + m_Father: {fileID: 0} + 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} +--- !u!114 &385144053 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 385144051} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &385144054 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 385144051} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 2 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 1 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 +--- !u!223 &385144055 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 385144051} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 1 + m_Camera: {fileID: 1982386887} + m_PlaneDistance: 100 + m_PixelPerfect: 1 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 25 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!1 &1922097720 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1922097723} + - component: {fileID: 1922097722} + - component: {fileID: 1922097721} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1922097721 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1922097720} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: dff6bf51d54250840bdef2ca8260c146, type: 3} + 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: Triple tap top-left corner to open debug panel +--- !u!222 &1922097722 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1922097720} + m_CullTransparentMesh: 0 +--- !u!224 &1922097723 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1922097720} + 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: 385144052} + 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: -40, y: -40} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1982386883 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1982386888} + - component: {fileID: 1982386887} + - component: {fileID: 1982386885} + - component: {fileID: 1982386884} + 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 &1982386884 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1982386883} + m_Enabled: 1 +--- !u!124 &1982386885 +Behaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1982386883} + m_Enabled: 1 +--- !u!20 &1982386887 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1982386883} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.14705884, g: 0.14607447, b: 0.14057095, a: 0.019607844} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + 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 &1982386888 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1982386883} + 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} diff --git a/Assets/StompyRobot/SRDebugger/Scenes/Sample.unity.meta b/Assets/StompyRobot/SRDebugger/Scenes/Sample.unity.meta new file mode 100644 index 0000000..1e4eb74 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scenes/Sample.unity.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 6cad2a7016eb0bf488b0c408d7071055 +DefaultImporter: + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts.meta b/Assets/StompyRobot/SRDebugger/Scripts.meta new file mode 100644 index 0000000..e6aa81f --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 0dcae4b4193e6a844b0a70c88003f0c6 +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/AutoInitialize.cs b/Assets/StompyRobot/SRDebugger/Scripts/AutoInitialize.cs new file mode 100644 index 0000000..7f143ba --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/AutoInitialize.cs @@ -0,0 +1,44 @@ +using SRDebugger.Services; +using SRF.Service; + +namespace SRDebugger +{ + using UnityEngine; + + public static class AutoInitialize + { +#if UNITY_2018 + private const RuntimeInitializeLoadType InitializeLoadType = RuntimeInitializeLoadType.BeforeSceneLoad; +#else + private const RuntimeInitializeLoadType InitializeLoadType = RuntimeInitializeLoadType.SubsystemRegistration; +#endif + + /// + /// Initialize the console service before the scene has loaded to catch more of the initialization log. + /// + [RuntimeInitializeOnLoadMethod(InitializeLoadType)] + public static void OnLoadBeforeScene() + { + // Populate service manager with types from SRDebugger assembly (asmdef) + SRServiceManager.RegisterAssembly(); + + if (Settings.Instance.IsEnabled) + { + // Initialize console if it hasn't already initialized. + SRServiceManager.GetService(); + } + } + + /// + /// Initialize SRDebugger after the scene has loaded. + /// + [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.AfterSceneLoad)] + public static void OnLoad() + { + if (Settings.Instance.IsEnabled) + { + SRDebug.Init(); + } + } + } +} \ No newline at end of file diff --git a/Assets/StompyRobot/SRDebugger/Scripts/AutoInitialize.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/AutoInitialize.cs.meta new file mode 100644 index 0000000..8eeb0b6 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/AutoInitialize.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: d7261eeb6c603844ba967b14c0895ec8 +timeCreated: 1426170121 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Editor.meta b/Assets/StompyRobot/SRDebugger/Scripts/Editor.meta new file mode 100644 index 0000000..26efd2e --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Editor.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 3b75fb5ec74e4fa4ca7d8472defae919 +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Editor/ApiSignup.cs b/Assets/StompyRobot/SRDebugger/Scripts/Editor/ApiSignup.cs new file mode 100644 index 0000000..1b38263 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Editor/ApiSignup.cs @@ -0,0 +1,101 @@ +#if !DISABLE_SRDEBUGGER + +using System; +using System.Collections; +using System.Collections.Generic; +using System.IO; +using System.Net; +using System.Net.Cache; +using System.Text; +using SRF; +using UnityEngine; +using SRDebugger.Internal; + + +namespace SRDebugger.Editor +{ + static class ApiSignup + { + public delegate void ApiSignupResultCallback(bool success, string apiKey, string email, string error); + + public static void SignUp(string email, string invoiceNo, ApiSignupResultCallback resultCallback) + { + var requestData = new Hashtable(); + requestData["emailAddress"] = email; + requestData["transactionNumber"] = invoiceNo; + + try + { + var request = SendRequest(SRDebugApi.EndPoint + "/user/create", requestData, WebRequestMethods.Http.Post); + + string result; + + var didSucceed = SRDebugApiUtil.ReadResponse(request, out result); + + if (didSucceed) + { + var jsonTable = (Dictionary) Json.Deserialize(result); + + resultCallback(true, (string) jsonTable["apiKey"], (string) jsonTable["emailAddress"], null); + } + else + { + resultCallback(false, null, null, SRDebugApiUtil.ParseErrorResponse(result)); + } + } + catch (Exception e) + { + Debug.LogException(e); + resultCallback(false, null, null, "Internal Error (" + e.Message + ")"); + } + } + + public static string Verify(string apiKey) + { + var request = SendRequest(SRDebugApi.EndPoint + "/user/test", null, apiKey: apiKey); + + string result; + + SRDebugApiUtil.ReadResponse(request, out result); + + return result; + } + + private static HttpWebRequest SendRequest(string endpoint, Hashtable data, + string method = WebRequestMethods.Http.Get, string apiKey = null) + { + var request = (HttpWebRequest) WebRequest.Create(endpoint); + request.Timeout = 15000; + request.Method = method; + + request.CachePolicy = new HttpRequestCachePolicy(HttpRequestCacheLevel.BypassCache); + + request.ContentType = "application/json"; + request.Accept = "application/json"; + + if (!string.IsNullOrEmpty(apiKey)) + { + request.Headers.Add("X-ApiKey", apiKey); + } + + request.KeepAlive = false; + + if (data != null) + { + var requestJson = Json.Serialize(data); + + using (var requestStream = request.GetRequestStream()) + { + using (var writer = new StreamWriter(requestStream, Encoding.UTF8)) + { + writer.Write(requestJson); + } + } + } + + return request; + } + } +} + +#endif \ No newline at end of file diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Editor/ApiSignup.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Editor/ApiSignup.cs.meta new file mode 100644 index 0000000..e3765a3 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Editor/ApiSignup.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c678ba20e05678942905f13f1f42c8e1 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Editor/ApiSignupWindow.cs b/Assets/StompyRobot/SRDebugger/Scripts/Editor/ApiSignupWindow.cs new file mode 100644 index 0000000..109c8dd --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Editor/ApiSignupWindow.cs @@ -0,0 +1,42 @@ +using UnityEditor; +using UnityEngine; + +namespace SRDebugger.Editor +{ + class ApiSignupTermsWindow : EditorWindow + { + public static void Open() + { + GetWindowWithRect(new Rect(0, 0, 430, 345), true, "SRDebugger - Bug Reporter TOS", + true); + } + + private void OnGUI() + { + GUILayout.Label("Terms and Conditions", SRInternalEditorUtil.Styles.HeaderLabel); + + GUILayout.Label( + "The Bug Reporter service is provided free of charge to owners of SRDebugger. One valid license key of SRDebugger allows one account to be registered. You must not share your API key with another party. Stompy Robot LTD reserves the right to terminate your bug reporter account if your API key is shared with another party.", + SRInternalEditorUtil.Styles.ParagraphLabel); + + GUILayout.Label( + "Stompy Robot LTD reserves the right to cancel the bug report service at any time without notice.", + SRInternalEditorUtil.Styles.ParagraphLabel); + + GUILayout.Label( + "By signing up for the Bug Reporter service you grant Stompy Robot LTD permission to gather non-identifying information from users when submitting reports. You attest that your users are aware of the data collection and give their consent.", + SRInternalEditorUtil.Styles.ParagraphLabel); + + GUILayout.Label( + "THE SERVICE 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.", + SRInternalEditorUtil.Styles.ParagraphLabel); + + GUILayout.FlexibleSpace(); + + if (GUILayout.Button("Close")) + { + Close(); + } + } + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Editor/ApiSignupWindow.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Editor/ApiSignupWindow.cs.meta new file mode 100644 index 0000000..e6cb593 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Editor/ApiSignupWindow.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 58b4c2d8acab3b747a2a90abd77b1132 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Editor/IntegrityChecking.cs b/Assets/StompyRobot/SRDebugger/Scripts/Editor/IntegrityChecking.cs new file mode 100644 index 0000000..e38a59d --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Editor/IntegrityChecking.cs @@ -0,0 +1,87 @@ +using System; +using System.Collections.Generic; +using System.Linq; + +namespace SRDebugger.Editor +{ + abstract class IntegrityIssue + { + private readonly string _title; + private readonly string _description; + private List _fixes; + + public string Title + { + get { return _title; } + } + + public string Description + { + get { return _description; } + } + + public IList GetFixes() + { + if (_fixes == null) + { + _fixes = CreateFixes().ToList(); + } + + return _fixes; + } + + protected IntegrityIssue(string title, string description) + { + _title = title; + _description = description; + } + + protected abstract IEnumerable CreateFixes(); + } + + abstract class Fix + { + private readonly string _name; + private readonly string _description; + private readonly bool _isAutoFix; + + public string Name + { + get { return _name; } + } + + public string Description + { + get { return _description; } + } + + public bool IsAutoFix + { + get { return _isAutoFix; } + } + + protected Fix(string name, string description, bool isAutoFix) + { + _name = name; + _description = description; + _isAutoFix = isAutoFix; + } + + public abstract void Execute(); + } + + class DelegateFix : Fix + { + private readonly Action _fixMethod; + + public DelegateFix(string name, string description, Action fixMethod) : base(name, description, true) + { + _fixMethod = fixMethod; + } + + public override void Execute() + { + _fixMethod(); + } + } +} \ No newline at end of file diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Editor/IntegrityChecking.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Editor/IntegrityChecking.cs.meta new file mode 100644 index 0000000..457063c --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Editor/IntegrityChecking.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: fab9c606533743f6bfcb59f8392b1a0c +timeCreated: 1611921984 \ No newline at end of file diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Editor/Migrations.cs b/Assets/StompyRobot/SRDebugger/Scripts/Editor/Migrations.cs new file mode 100644 index 0000000..9ba2efd --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Editor/Migrations.cs @@ -0,0 +1,123 @@ +using System.Collections.Generic; +using System.IO; +using System.Linq; +using SRF; +using UnityEngine; +using UnityEditor; +#pragma warning disable 162 + +namespace SRDebugger.Editor +{ + [InitializeOnLoad] + static class Migrations + { + static Migrations() + { + RunMigrations(); + } + + private const bool EnableLog = false; + + public class Migration + { + public readonly string Id; + public readonly string[] ObsoleteFiles; + + public Migration(string id, string[] obsoleteFiles) + { + Id = id; + ObsoleteFiles = obsoleteFiles; + } + } + + public static List AvailableMigrations = new List() + { + new Migration("DeleteOldEditorResources", new[] + { + "Editor/Resources/SRDebugger/BG_Dark.png", + "Editor/Resources/SRDebugger/BG_Light.png", + "Editor/Resources/SRDebugger/DemoSprite.png", + "Editor/Resources/SRDebugger/Logo_DarkBG.png", + "Editor/Resources/SRDebugger/Logo_LightBG.png", + "Editor/Resources/SRDebugger/WelcomeLogo_DarkBG.png", + "Editor/Resources/SRDebugger/WelcomeLogo_LightBG.png", + "Editor/Resources/SRDebugger/Icons/Dark/console-25.png", + "Editor/Resources/SRDebugger/Icons/Dark/options-25.png", + "Editor/Resources/SRDebugger/Icons/Dark/profiler-25.png", + "Editor/Resources/SRDebugger/Icons/Light/console-25.png", + "Editor/Resources/SRDebugger/Icons/Light/options-25.png", + "Editor/Resources/SRDebugger/Icons/Light/profiler-25.png", + }) + }; + + public static void RunMigrations(bool forceRun = false) + { + if(EnableLog) + Debug.Log("[SRDebugger] Running Migrations..."); + + foreach (var m in AvailableMigrations) + { + var key = GetProjectPrefsKey(m.Id); + + if (!forceRun && EditorPrefs.GetBool(key, false)) + { + continue; + } + + EditorPrefs.SetBool(key, true); + RunMigration(m); + } + } + + public static void RunMigration(Migration migration) + { + if (EnableLog) + Debug.Log("Running Migration: " + migration.Id); + + var assetPaths = AssetDatabase.GetAllAssetPaths(); + var root = new DirectoryInfo(SRInternalEditorUtil.GetRootPath()); + + if(EnableLog) + Debug.Log("Using Root Path: " + root.FullName); + + var obsoleteAssets = migration.ObsoleteFiles.Select(p => root + "/" + p).ToList(); + var deleteQueue = assetPaths.Where(assetPath => obsoleteAssets.Contains(assetPath)).ToList(); + + if (deleteQueue.Count == 0) + return; + + var message = "The following files used by a previous version of SRDebugger are obsolete and can be safely deleted: \n\n" + + deleteQueue.Aggregate((s1, s2) => s1 + "\n" + s2); + + Debug.Log(message); + + message += "\n\nIt is recommended to delete these files."; + + if (EditorUtility.DisplayDialog("SRDebugger Migration Assistant", + message, "Delete Now", "Ignore")) + { + foreach (var s in deleteQueue) + { + Debug.Log("[SRDebugger] Deleting Asset {0}".Fmt(s)); + + if (!AssetDatabase.DeleteAsset(s)) + { + Debug.LogWarning("[SRDebugger] Error deleting asset {0}".Fmt(s)); + } + } + + Debug.Log("[SRDebugger] Migration Complete"); + } + else + { + EditorUtility.DisplayDialog("SRDebugger Migration Assitant", + "You can run this migration check again via the \"Run Migrations\" button in the advanced tab of the SRDebugger settings window.", "OK"); + } + } + + private static string GetProjectPrefsKey(string key) + { + return "SRDebugger_Migration_" + Application.dataPath + "_" + key; + } + } +} \ No newline at end of file diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Editor/Migrations.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Editor/Migrations.cs.meta new file mode 100644 index 0000000..29b522c --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Editor/Migrations.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 4b80f539792faff4187cbd7fb1113d67 +timeCreated: 1451840376 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Editor/ProfilerCameraListenerEditor.cs b/Assets/StompyRobot/SRDebugger/Scripts/Editor/ProfilerCameraListenerEditor.cs new file mode 100644 index 0000000..c99d58a --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Editor/ProfilerCameraListenerEditor.cs @@ -0,0 +1,4 @@ +/* + * This file has been deleted. + * This empty file is left here to ensure it is properly overwritten when importing a new version of the package over an old version. + */ \ No newline at end of file diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Editor/ProfilerCameraListenerEditor.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Editor/ProfilerCameraListenerEditor.cs.meta new file mode 100644 index 0000000..268f006 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Editor/ProfilerCameraListenerEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c38092124e5b1114d9f037f64769dc5f +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Editor/SRDebugEditor.Compiler.cs b/Assets/StompyRobot/SRDebugger/Scripts/Editor/SRDebugEditor.Compiler.cs new file mode 100644 index 0000000..b04f936 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Editor/SRDebugEditor.Compiler.cs @@ -0,0 +1,83 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; +using UnityEditor; +using UnityEngine; + +namespace SRDebugger.Editor +{ + public partial class SRDebugEditor + { + /// + /// Sets compiler define to be enabled/disabled on all build targets. + /// + static void SetCompileDefine(string define, bool enabled) + { + foreach (BuildTargetGroup targetGroup in GetAllBuildTargetGroups()) + { + // Use hash set to remove duplicates. + List defines = PlayerSettings.GetScriptingDefineSymbolsForGroup(targetGroup).Split(';').ToList(); + + bool alreadyExists = false; + + for (var i = 0; i < defines.Count; i++) + { + if (string.Equals(define, defines[i], StringComparison.InvariantCultureIgnoreCase)) + { + alreadyExists = true; + if (!enabled) + { + defines.RemoveAt(i); + } + } + } + + if (!alreadyExists && enabled) + { + defines.Add(define); + } + + PlayerSettings.SetScriptingDefineSymbolsForGroup(targetGroup, string.Join(";", defines.ToArray())); + } + } + static void ForceRecompile() + { + AssetDatabase.ImportAsset(SRInternalEditorUtil.GetAssetPath("StompyRobot.SRDebugger.asmdef"), ImportAssetOptions.ForceUpdate); + } + + static IEnumerable GetAllBuildTargetGroups() + { + Type enumType = typeof(BuildTargetGroup); + string[] names = Enum.GetNames(enumType); + Array values = Enum.GetValues(enumType); + + for (var i = 0; i < names.Length; i++) + { + string name = names[i]; + BuildTargetGroup value = (BuildTargetGroup)values.GetValue(i); + + if (value == BuildTargetGroup.Unknown) continue; + + MemberInfo[] member = enumType.GetMember(name); + MemberInfo entry = member.FirstOrDefault(p => p.DeclaringType == enumType); + + if (entry == null) + { + Debug.LogErrorFormat( + "[SRDebugger] Unhandled build target: {0}. SRDebugger disabled state may not be applied correctly to this platform.", + name); + continue; + } + + if (entry.GetCustomAttributes(typeof(ObsoleteAttribute), true).Length != 0) + { + // obsolete, ignore. + continue; + } + + yield return value; + } + } + } +} \ No newline at end of file diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Editor/SRDebugEditor.Compiler.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Editor/SRDebugEditor.Compiler.cs.meta new file mode 100644 index 0000000..6c42d98 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Editor/SRDebugEditor.Compiler.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a9adb2a4b8a61fe47ba3c6717de5f78b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Editor/SRDebugEditor.Resources.cs b/Assets/StompyRobot/SRDebugger/Scripts/Editor/SRDebugEditor.Resources.cs new file mode 100644 index 0000000..119bef9 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Editor/SRDebugEditor.Resources.cs @@ -0,0 +1,179 @@ +using System; +using System.Collections.Generic; +using System.IO; +using UnityEditor; +using UnityEngine; + +namespace SRDebugger.Editor +{ + public partial class SRDebugEditor + { + internal const string DisabledDirectoryPostfix = "_DISABLED~"; + + // Paths to enable/disable (relative to SRDebugger root directory) + private static readonly string[] _resourcePaths = new[] + { + "Resources", + "usr", + "UI/Prefabs" + }; + + static void SetResourcesEnabled(bool enable) + { + AssetDatabase.StartAssetEditing(); + + foreach (ResourceDirectory d in GetResourcePaths()) + { + d.SetDirectoryEnabled(enable); + } + + AssetDatabase.StopAssetEditing(); + + AssetDatabase.Refresh(); + + AssetDatabase.ImportAsset(SRInternalEditorUtil.GetRootPath( + ), ImportAssetOptions.ImportRecursive | ImportAssetOptions.ForceUpdate); + } + + internal static IEnumerable GetResourcePaths() + { + foreach (string resourcePath in _resourcePaths) + { + string enabledPath = Path.Combine(SRInternalEditorUtil.GetRootPath(), resourcePath); + string disabledPath = Path.Combine(SRInternalEditorUtil.GetRootPath(), resourcePath) + DisabledDirectoryPostfix; + + yield return new ResourceDirectory(enabledPath, disabledPath); + } + } + + + internal class ResourceDirectory + { + public readonly string EnabledPath; + public readonly string DisabledPath; + + public readonly string EnabledPathMetaFile; + public readonly string DisabledPathMetaFile; + public readonly string DisabledPathBackupMetaFile; + + public bool IsEnabled + { + get { return Directory.Exists(EnabledPath); } + } + + public bool IsDisabled + { + get { return Directory.Exists(DisabledPath); } + } + + public ResourceDirectory(string enabledPath, string disabledPath) + { + EnabledPath = enabledPath; + DisabledPath = disabledPath; + + EnabledPathMetaFile = enabledPath + ".meta"; + DisabledPathMetaFile = disabledPath + ".meta"; + DisabledPathBackupMetaFile = disabledPath + ".meta.bak~"; + } + + public void SetDirectoryEnabled(bool enable) + { + if (IsEnabled && enable) + { + return; + } + + if (IsDisabled && !enable) + { + return; + } + + if (IsEnabled && IsDisabled) + { + // TODO + throw new Exception(); + } + + string title = string.Format("SRDebugger - {0} Resources", enable ? "Enable" : "Disable"); + + string oldPath = enable ? DisabledPath : EnabledPath; + string newPath = enable ? EnabledPath : DisabledPath; + bool useAssetDatabase = !enable; + + string error = null; + + if (useAssetDatabase) + { + error = AssetDatabase.MoveAsset(oldPath, newPath); + + if (!string.IsNullOrEmpty(error)) + { + if (EditorUtility.DisplayDialog(title, GetErrorMessage(enable, error), "Force Move", "Abort")) + { + useAssetDatabase = false; + } + } + } + + if (!useAssetDatabase) + { + try + { + Directory.Move(oldPath, newPath); + } + catch (Exception e) + { + Debug.LogError("Error moving directory"); + Debug.LogException(e); + error = "Exception occurred, see console for details."; + } + } + + if (!string.IsNullOrEmpty(error)) + { + string message = string.Format( + "An error occurred while attempting to {3} SRDebugger resource directory.\n\n Old Path: {0}\n New Path: {1}\n\n Error: \n{2}", + EnabledPath, DisabledPath, error, enable ? "enable" : "disable"); + + EditorUtility.DisplayDialog(title, message, "Continue"); + return; + } + + if (!enable) + { + // Disable meta files + if (File.Exists(DisabledPathMetaFile)) + { + if (File.Exists(DisabledPathBackupMetaFile)) + { + File.Delete(DisabledPathBackupMetaFile); + } + + File.Move(DisabledPathMetaFile, DisabledPathBackupMetaFile); + } + } + else + { + // Enable backed up meta files + if (File.Exists(DisabledPathBackupMetaFile)) + { + if (File.Exists(EnabledPathMetaFile)) + { + File.Delete(EnabledPathMetaFile); + } + + File.Move(DisabledPathBackupMetaFile, EnabledPathMetaFile); + } + } + + } + + private string GetErrorMessage(bool enable, string error) + { + return string.Format( + "An error occurred while attempting to {3} SRDebugger resources. \n\n Old Path: {0}\n New Path: {1}\n\n Error: \n{2}", + EnabledPath, DisabledPath, error, enable ? "enable" : "disable"); + } + } + } +} \ No newline at end of file diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Editor/SRDebugEditor.Resources.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Editor/SRDebugEditor.Resources.cs.meta new file mode 100644 index 0000000..ac60793 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Editor/SRDebugEditor.Resources.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5d6ba6f98fe1a9c4e8c082aa4aed6922 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Editor/SRDebugEditor.cs b/Assets/StompyRobot/SRDebugger/Scripts/Editor/SRDebugEditor.cs new file mode 100644 index 0000000..d885fcd --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Editor/SRDebugEditor.cs @@ -0,0 +1,308 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using UnityEditor; +using UnityEngine; + +namespace SRDebugger.Editor +{ + public static partial class SRDebugEditor + { + internal const string DisableSRDebuggerCompileDefine = "DISABLE_SRDEBUGGER"; + + /// + /// Is SRDebugger currently enabled or disabled. + /// + public static readonly bool IsEnabled = +#if DISABLE_SRDEBUGGER + false +#else + true +#endif + ; + + /// + /// Set SRDebugger to be enabled or disabled. + /// This is a synchronous operation, which means calling this as part of a build pipeline should be possible. + /// + /// + public static void SetEnabled(bool enable) + { + if (EditorApplication.isPlaying || EditorApplication.isCompiling) + { + Debug.LogError( + "[SRDebugger.SetEnabled] Can't change SRDebugger enabled state while in play mode or compiling scripts."); + throw new InvalidOperationException( + "Can't change SRDebugger enabled state while in play mode or compiling scripts."); + } + +#if !DISABLE_SRDEBUGGER + AssetDatabase.SaveAssets(); // In case any pending changes to files about to be moved + + // Try and unload the settings asset to prevent errors later (harmless error, but annoying) + SRInternalEditorUtil.EditorSettings.ClearCache(); + GC.Collect(); + EditorUtility.UnloadUnusedAssetsImmediate(true); +#endif + + AssetDatabase.ReleaseCachedFileHandles(); + + SetCompileDefine(DisableSRDebuggerCompileDefine, !enable); + SetResourcesEnabled(enable); + + ForceRecompile(); + } + + /// + /// Runs through a series of integrity checks that are fast to perform. + /// + internal static IEnumerable QuickIntegrityCheck() + { + int enabledCount = 0; + int disabledCount = 0; + + foreach (ResourceDirectory directory in GetResourcePaths()) + { + if (directory.IsEnabled && directory.IsDisabled) + { + yield return new SomeResourcesAreEnabledAndDisabledIntegrityIssue(); + yield break; + } + + if (directory.IsEnabled) enabledCount++; + if (directory.IsDisabled) disabledCount++; + } + + if (enabledCount > 0 && disabledCount > 0) + { +#if DISABLE_SRDEBUGGER + yield return new SomeResourcesEnabledIntegrityIssue(); +#else + yield return new SomeResourcesDisabledIntegrityIssue(); +#endif + yield break; // Don't do any further resource-related checks. + } + + if (!IsEnabled && enabledCount > 0) + { + yield return new ScriptsDisabledButResourcesEnabled(); + } + + if (IsEnabled && disabledCount > 0) + { + yield return new ScriptsEnabledButResourcesDisabled(); + } + } + + internal static void DrawDisabledWindowGui(ref bool isWorking) + { + SRInternalEditorUtil.BeginDrawBackground(); + SRInternalEditorUtil.DrawLogo(SRInternalEditorUtil.GetLogo()); + SRInternalEditorUtil.EndDrawBackground(); + + // Draw header/content divider + EditorGUILayout.BeginVertical(SRInternalEditorUtil.Styles.SettingsHeaderBoxStyle); + EditorGUILayout.EndVertical(); + + GUILayout.Label("SRDebugger Disabled", SRInternalEditorUtil.Styles.InspectorHeaderStyle); + + GUILayout.Label( + "SRDebugger is currently disabled. SRDebugger must be enabled in order to access editor features.", + SRInternalEditorUtil.Styles.ParagraphLabel); + + EditorGUILayout.HelpBox("Enabling SRDebugger will result in the tools being included in all builds of your game until it is disabled again.", MessageType.Warning); + + GUILayout.Label("• "+ DisableSRDebuggerCompileDefine + " compiler define will be removed from all build configurations.", SRInternalEditorUtil.Styles.ListBulletPoint); + GUILayout.Label("• Disabled SRDebugger folders will be renamed so Unity imports them.", SRInternalEditorUtil.Styles.ListBulletPoint); + GUILayout.Label("• You can disable SRDebugger again at any time.", SRInternalEditorUtil.Styles.ListBulletPoint); + + if (isWorking && !EditorApplication.isCompiling && !EditorApplication.isUpdating) + { + isWorking = false; + } + + if (isWorking) + { + using (new EditorGUI.DisabledGroupScope(true)) + { + GUILayout.Button("Working..."); + } + } + else if (GUILayout.Button("Enable SRDebugger")) + { + isWorking = true; + try + { + SetEnabled(true); + } + catch (Exception) + { + isWorking = false; + throw; + } + } + } + +#if DISABLE_SRDEBUGGER + class SomeResourcesEnabledIntegrityIssue : IntegrityIssue + { + private new const string Title = "Some SRDebugger resources are enabled."; + + private new const string Description = + "SRDebugger is disabled, but some SRDebugger resource directories are enabled. \n\n" + + "This can occur if an unhandled error occurs while SRDebugger is being enabled or disabled, or if the resource directories are modified by hand."; + + public SomeResourcesEnabledIntegrityIssue() : base(Title, Description) + { + + } + + protected override IEnumerable CreateFixes() + { + yield return new DelegateFix( + "Disable all SRDebugger resources", + "All resource directories will be disabled.", + () => { SetResourcesEnabled(false); }); + yield return new DelegateFix( + "Enable SRDebugger", + "Fully enable SRDebugger (activate scripts and enable resources).", + () => { SetEnabled(true); }); + } + } +#else + class SomeResourcesDisabledIntegrityIssue : IntegrityIssue + { + private new const string Title = "Some SRDebugger resources are disabled."; + + private new const string Description = + "SRDebugger is enabled, but some SRDebugger resource directories are disabled. \n\n" + + "This can occur if an unhandled error occurs while SRDebugger is being enabled or disabled, or if the resource directories are modified by hand."; + + public SomeResourcesDisabledIntegrityIssue() : base(Title, Description) + { + + } + + protected override IEnumerable CreateFixes() + { + yield return new DelegateFix( + "Enable all SRDebugger resources", + "All resource directories will be enabled.", + () => { SetResourcesEnabled(true); }); + + yield return new DelegateFix( + "Disable SRDebugger", + "Fully disable SRDebugger (deactivate scripts, exclude all resources from builds of your game).", + () => { SetEnabled(false); }); + } + } +#endif + + class SomeResourcesAreEnabledAndDisabledIntegrityIssue : IntegrityIssue + { + private new const string Title = "Duplicate SRDebugger resource directories"; + + private new const string Description = + "Some SRDebugger resource directories exist in both an enabled and disabled state. \n\n" + + "This can occur if a new version of SRDebugger is installed while SRDebugger is disabled, or if an unhandled error occurs while SRDebugger is being enabled/disabled."; + + public SomeResourcesAreEnabledAndDisabledIntegrityIssue() : base(Title, Description) + { + + } + + protected override IEnumerable CreateFixes() + { + if (!IsEnabled) + { + var deletePaths = GetResourcePaths().Where(p => p.IsDisabled && p.IsEnabled).ToList(); + string paths = " - " + string.Join("\n - ", deletePaths + .SelectMany(p => new string[] { p.DisabledPath, p.DisabledPathBackupMetaFile }).ToArray()); + + yield return new DelegateFix( + "Keep enabled resources, disable SRDebugger", + "If you have just installed a new version of SRDebugger, this will keep the most up-to-date resources from the imported package. SRDebugger will be disabled after the old resources are deleted. \n\n The following paths will be deleted: \n\n" + paths, + () => + { + foreach (ResourceDirectory rd in GetResourcePaths()) + { + if (rd.IsEnabled && rd.IsDisabled) + { + Debug.Log("[SRDebugger] Delete Path: " + rd.DisabledPath); + Directory.Delete(rd.DisabledPath, true); + + Debug.Log("[SRDebugger] Delete File: " + rd.DisabledPathBackupMetaFile); + File.Delete(rd.DisabledPathBackupMetaFile); + } + } + + SetEnabled(false); + }); + } + } + } + + class ScriptsDisabledButResourcesEnabled : IntegrityIssue + { + private new const string Title = "SRDebugger resources are enabled while scripts are disabled"; + + private new const string Description = + "SRDebugger's resources directories are enabled, but SRDebugger scripts are disabled. \n" + + "This can occur if the resource directories or if the C# compile defines are modified manually."; + + public ScriptsDisabledButResourcesEnabled() : base(Title, Description) + { + } + + protected override IEnumerable CreateFixes() + { + yield return new DelegateFix( + "Enable SRDebugger scripts", + "Remove compiler define (" + DisableSRDebuggerCompileDefine + ") SRDebugger can be disabled again from the settings menu.", + () => + { + SetCompileDefine(DisableSRDebuggerCompileDefine, false); + }); + yield return new DelegateFix( + "Disable SRDebugger resources", + "Resources will no longer be included in builds of your game (you can enable SRDebugger from the settings menu later)", + () => + { + SetResourcesEnabled(false); + }); + } + } + + class ScriptsEnabledButResourcesDisabled : IntegrityIssue + { + private new const string Title = "SRDebugger scripts are enabled while resources are disabled."; + + private new const string Description = + "SRDebugger resources directories are disabled, but SRDebugger scripts are still enabled. \n" + + "This can occur if the resource directories or C# compile defines are modified manually."; + + public ScriptsEnabledButResourcesDisabled() : base(Title, Description) + { + } + + protected override IEnumerable CreateFixes() + { + yield return new DelegateFix( + "Disable SRDebugger scripts", + "Add compiler define (" + DisableSRDebuggerCompileDefine + ") to disable SRDebugger scripts (you can re-enable SRDebugger from the settings menu later)", + () => + { + SetCompileDefine(DisableSRDebuggerCompileDefine, true); + }); + yield return new DelegateFix( + "Enable SRDebugger resources", + "Resources will be included in builds of your game (you can disable SRDebugger from the settings menu later)", + () => + { + SetResourcesEnabled(true); + }); + } + } + } +} \ No newline at end of file diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Editor/SRDebugEditor.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Editor/SRDebugEditor.cs.meta new file mode 100644 index 0000000..e80c020 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Editor/SRDebugEditor.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: ca60d3f1302b47e1a3c6f43ed06dedcf +timeCreated: 1611413144 \ No newline at end of file diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Editor/SRDebugEditorPaths.cs b/Assets/StompyRobot/SRDebugger/Scripts/Editor/SRDebugEditorPaths.cs new file mode 100644 index 0000000..f4b78a2 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Editor/SRDebugEditorPaths.cs @@ -0,0 +1,11 @@ +namespace SRDebugger.Editor +{ + static class SRDebugEditorPaths + { + public const string EditorLogoPath = "UI/Sprites/Default/Logo.psd"; + + public const string SettingsMenuItemPath = "Window/SRDebugger/Settings Window"; + public const string WelcomeItemPath = "Window/SRDebugger/Welcome Guide"; + public const string SROptionsMenuItemPath = "Window/SRDebugger/SROptions Window"; + } +} \ No newline at end of file diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Editor/SRDebugEditorPaths.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Editor/SRDebugEditorPaths.cs.meta new file mode 100644 index 0000000..867de0c --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Editor/SRDebugEditorPaths.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 6eeabd6854ed440ab38998300a297c0b +timeCreated: 1611414784 \ No newline at end of file diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Editor/SRDebugEditorStrings.cs b/Assets/StompyRobot/SRDebugger/Scripts/Editor/SRDebugEditorStrings.cs new file mode 100644 index 0000000..8496e64 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Editor/SRDebugEditorStrings.cs @@ -0,0 +1,43 @@ +namespace SRDebugger.Editor +{ + class SRDebugEditorStrings + { + public static readonly SRDebugEditorStrings Current = new SRDebugEditorStrings(); + + public readonly string SettingsIsEnabledTooltip = + "If false, SRDebugger.Init prefab will not load SRDebugger. Manual calls to SRDebug.Instance.ShowDebugPanel() will still work."; + + public readonly string SettingsAutoLoadTooltip = + "Automatically load SRDebugger when the game loads, even if SRDebugger.Init prefab is not present."; + + public readonly string SettingsDefaultTabTooltip = + "Visible tab when panel is first opened."; + + public readonly string SettingsKeyboardShortcutsTooltip = + "Enable Keyboard Shortcuts"; + + public readonly string SettingsCloseOnEscapeTooltip = + "Close debug panel when Escape is pressed."; + + public readonly string SettingsKeyboardModifersTooltip = + "Modifier keys that must be held for keyboard shortcuts to execute."; + + public readonly string SettingsDebugCameraTooltip = + "UI will render to a camera instead of overlaying the entire scene."; + + public readonly string SettingsRateBoxContents = + "If you like SRDebugger, please consider leaving a rating on the Asset Store."; + + public readonly string SettingsWebSiteUrl = "https://www.stompyrobot.uk/tools/srdebugger"; + + public readonly string SettingsAssetStoreUrl = "http://u3d.as/aZc"; + + public readonly string SettingsDocumentationUrl = "https://www.stompyrobot.uk/tools/srdebugger/documentation"; + + public readonly string SettingsSupportUrl = + "http://forum.unity3d.com/threads/srdebugger-debug-and-tweak-your-game-while-on-device-released.296403/"; + + public readonly string SettingsEnabledTabsDescription = + "Deselect any tabs that you do not wish to be available in the debug panel."; + } +} \ No newline at end of file diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Editor/SRDebugEditorStrings.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Editor/SRDebugEditorStrings.cs.meta new file mode 100644 index 0000000..eee39d7 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Editor/SRDebugEditorStrings.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: cd05741ba3454346864f3c28fcdce56f +timeCreated: 1611414505 \ No newline at end of file diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Editor/SRIntegrityCheckWindow.cs b/Assets/StompyRobot/SRDebugger/Scripts/Editor/SRIntegrityCheckWindow.cs new file mode 100644 index 0000000..51fa108 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Editor/SRIntegrityCheckWindow.cs @@ -0,0 +1,183 @@ +using System.Collections.Generic; +using System.Linq; +using UnityEditor; +using UnityEngine; + +namespace SRDebugger.Editor +{ + [InitializeOnLoad] + class SRIntegrityCheckWindow : EditorWindow + { + private List _results; + private Vector2 _scrollPosition; + + private bool _applyingFix; + private static bool _isOpen; + + static SRIntegrityCheckWindow() + { + // Delay call to prevent any UI stalls after compile complete. + EditorApplication.delayCall += () => + { + if (!_isOpen && SRDebugEditor.QuickIntegrityCheck().Any()) + { + Debug.Log("[SRDebugger] Some issues have been detected with SRDebugger, opening integrity check window."); + Open(); + } + }; + } + + public static void Open() + { + var window = GetWindow(true, "SRDebugger Integrity Check", true); + window.minSize = new Vector2(640, 400); + window.Show(); + } + + private void OnEnable() + { + _isOpen = true; + RefreshIntegrityCheck(); + } + + private void OnDisable() + { + _isOpen = false; + } + + public void RefreshIntegrityCheck() + { + _results = SRDebugEditor.QuickIntegrityCheck().ToList(); + } + + private void OnGUI() + { + // Draw header area + SRInternalEditorUtil.BeginDrawBackground(); + SRInternalEditorUtil.DrawLogo(SRInternalEditorUtil.GetLogo()); + SRInternalEditorUtil.EndDrawBackground(); + + // Draw header/content divider + EditorGUILayout.BeginVertical(SRInternalEditorUtil.Styles.SettingsHeaderBoxStyle); + EditorGUILayout.EndVertical(); + + GUILayout.Label( + "SRDebugger automatically scans your project to find common issues with the SRDebugger installation."); + + EditorGUILayout.Space(); + + // TODO: Enable button when there are some more 'expensive' integrity checks. For now no point as alt the checks are really quick + if (GUILayout.Button("Refresh")) + { + RefreshIntegrityCheck(); + } + + if (_applyingFix) + { + if (!EditorApplication.isCompiling && !EditorApplication.isUpdating) + { + _applyingFix = false; + RefreshIntegrityCheck(); + } + + EditorGUI.BeginDisabledGroup(_applyingFix); + } + + EditorGUILayout.Space(); + + if (_results == null) + { + _results = new List(); + } + + EditorGUILayout.TextArea("Issues Detected: " + _results.Count, EditorStyles.boldLabel); + + EditorGUILayout.Separator(); + + EditorGUILayout.Space(); + + if (_results.Count == 0) + { + EditorGUILayout.HelpBox("No issues have been found!", MessageType.None); + } + else + { + EditorGUILayout.HelpBox("It is highly recommended to backup your project before using this tool.", MessageType.Warning); + + _scrollPosition = GUILayout.BeginScrollView(_scrollPosition, false, false, + GUILayout.Width(position.width)); + + DrawIssuesList(); + + EditorGUILayout.EndScrollView(); + + } + + if (_applyingFix) + { + EditorGUI.EndDisabledGroup(); + } + } + + private void DrawIssuesList() + { + EditorGUILayout.BeginVertical(); + + for (var i = 0; i < _results.Count; i++) + { + EditorGUILayout.BeginVertical(EditorStyles.helpBox); + + GUILayout.Label(_results[i].Title, EditorStyles.boldLabel); + GUILayout.Label(_results[i].Description, SRInternalEditorUtil.Styles.ParagraphLabel); + + var fixes = _results[i].GetFixes(); + if (fixes.Count > 0) + { + EditorGUILayout.Space(); + + EditorGUILayout.BeginHorizontal(); + + EditorGUILayout.BeginVertical(); + + GUILayout.Label("Possible Fixes:", EditorStyles.miniBoldLabel); + + foreach (Fix fix in fixes) + { + EditorGUILayout.BeginHorizontal(EditorStyles.helpBox); + GUILayout.Space(10); + + EditorGUILayout.BeginVertical(); + + GUILayout.Label(fix.Name, EditorStyles.boldLabel); + + GUILayout.Label(fix.Description, SRInternalEditorUtil.Styles.ParagraphLabelItalic); + + if (fix.IsAutoFix && GUILayout.Button("Apply Fix", GUILayout.Width(90))) + { + fix.Execute(); + _applyingFix = true; + } + + GUILayout.Space(2); + + EditorGUILayout.EndVertical(); + + EditorGUILayout.EndHorizontal(); + + EditorGUILayout.Space(); + } + + EditorGUILayout.EndVertical(); + + EditorGUILayout.EndHorizontal(); + + EditorGUILayout.EndVertical(); + } + } + + GUILayout.FlexibleSpace(); + + EditorGUILayout.EndVertical(); + } + } +} \ No newline at end of file diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Editor/SRIntegrityCheckWindow.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Editor/SRIntegrityCheckWindow.cs.meta new file mode 100644 index 0000000..3ed8fda --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Editor/SRIntegrityCheckWindow.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 8d3667acfb91436880aa7f35bcc5fe43 +timeCreated: 1611919957 \ No newline at end of file diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Editor/SRInternalEditorUtil.cs b/Assets/StompyRobot/SRDebugger/Scripts/Editor/SRInternalEditorUtil.cs new file mode 100644 index 0000000..b762c4d --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Editor/SRInternalEditorUtil.cs @@ -0,0 +1,707 @@ +using SRF; + +namespace SRDebugger.Editor +{ + using System; + using System.IO; + using UnityEditor; + using UnityEngine; + + static class SRInternalEditorUtil + { + // Path to this file from the root path + private const string TestPath = "SRDebugger/README.txt"; + + private static GUIStyle _bgStyle; + private static Texture2D _logoTexture; + private static Texture2D _welcomeLogoTexture; + private static Texture2D _bgTexture; + private static GUIStyle _middleAlign; + + /// + /// Finds the path to the SRDebugger installation folder (e.g. Assets/StompyRobot/SRDebugger) + /// + /// + public static string GetRootPath() + { + // Find assets that match this file name + var potentialAssets = AssetDatabase.FindAssets("README"); + + foreach (var potentialAsset in potentialAssets) + { + var path = AssetDatabase.GUIDToAssetPath(potentialAsset); + + if (path.Contains(TestPath)) + { + var rootPath = Path.GetDirectoryName(path); + return rootPath; + } + } + + throw new Exception("Unable to find SRDebugger root path. Please ensure the README file in StompyRobot/SRDebugger still exists."); + } + + /// + /// Finds the path to an SRDebugger asset relative to the installation root. + /// + /// + /// + public static string GetAssetPath(string relativeToRoot) + { + if (!relativeToRoot.StartsWith("/")) + { + relativeToRoot = "/" + relativeToRoot; + } + + var p = GetRootPath() + relativeToRoot; + return p; + } + + public static T LoadResource(string path) where T : UnityEngine.Object + { + var p = GetAssetPath(path); + //Debug.Log("[SRDebugger] Loading " + p); + var asset = AssetDatabase.LoadAssetAtPath(p, typeof(T)); + return asset as T; + } + + +#if !DISABLE_SRDEBUGGER + + public enum SettingsResult + { + Cache, + Loaded, + Waiting, + Error + } + + public static class EditorSettings + { + internal const string SettingsFilePath = "/usr/Resources/SRDebugger/Settings.asset"; + + internal const string DisabledSettingsFilePath = "/usr" + SRDebugEditor.DisabledDirectoryPostfix + "/Resources/SRDebugger/Settings.asset"; + + private static Settings _instance; + + public static SettingsResult TryGetOrCreate(out Settings instance, out string message) + { + if (_instance != null) + { + instance = _instance; + message = string.Empty; + return SettingsResult.Cache; + } + + try + { + SettingsResult result = InternalTryGetOrCreateSettings(out _instance, out message); + instance = _instance; + return result; + } + catch (Exception e) + { + instance = null; + message = e.ToString(); + return SettingsResult.Error; + } + } + + public static void ClearCache() + { + Settings.ClearCache(); // Just in case runtime settings are loaded. + + if (_instance == null) + { + return; + } + + var instance = _instance; + _instance = null; + + Resources.UnloadAsset(instance); + instance = null; + GC.Collect(); + + EditorUtility.UnloadUnusedAssetsImmediate(); + Resources.UnloadUnusedAssets(); + } + + private static SettingsResult InternalTryGetOrCreateSettings(out Settings instance, out string message) + { + instance = null; + message = null; + + if (EditorApplication.isPlaying || EditorApplication.isPlayingOrWillChangePlaymode) + { + message = "Settings can only be modified while in edit-mode. Exit play mode to make changes to SRDebugger settings."; + return SettingsResult.Waiting; + } + + // If compiling, wait for that to finish. We might be disabling/enabling SRDebugger and don't want to recreate the settings while that is in progress. + if (EditorApplication.isCompiling || EditorApplication.isUpdating) + { + message = "Waiting for Unity to finish compiling/updating..."; + return SettingsResult.Waiting; + } + + // Check if there is a 'disabled' settings file, we don't want to create a new settings file if a disabled one exists. + string disabledSettingsFile = SRInternalEditorUtil.GetAssetPath(DisabledSettingsFilePath); + if (File.Exists(disabledSettingsFile)) + { + message = "A settings file already exists but is disabled. Please ensure SRDebugger is correctly enabled or disabled."; + return SettingsResult.Error; + } + + // Get resources folder path + var settingsAssetPath = SRInternalEditorUtil.GetAssetPath(SettingsFilePath); + + // Load existing asset. + if (File.Exists(settingsAssetPath)) + { + instance = AssetDatabase.LoadAssetAtPath(settingsAssetPath); + + if (instance == null) + { + message = "Error loading settings asset."; + return SettingsResult.Error; + } + + return SettingsResult.Loaded; + } + + Debug.Log("[SRDebugger] Creating settings asset at {0}".Fmt(settingsAssetPath)); + + instance = ScriptableObject.CreateInstance(); + + string containingDirectory = Path.GetDirectoryName(settingsAssetPath); + if (containingDirectory == null) + { + message = "Error finding target settings directory."; + return SettingsResult.Error; + } + + // Create directory if it doesn't exist + Directory.CreateDirectory(containingDirectory); + + // Save instance if in editor + AssetDatabase.CreateAsset(instance, settingsAssetPath); + + return SettingsResult.Loaded; + } + } +#endif + + public static Texture2D GetLogo() + { + if (_logoTexture != null) + { + return _logoTexture; + } + + return + _logoTexture = + LoadResource("Editor/Logo_" + (EditorGUIUtility.isProSkin ? "DarkBG" : "LightBG") + + ".png"); + } + + public static Texture2D GetWelcomeLogo() + { + if (_welcomeLogoTexture != null) + { + return _welcomeLogoTexture; + } + + return + _welcomeLogoTexture = + LoadResource("Editor/WelcomeLogo_" + + (EditorGUIUtility.isProSkin ? "DarkBG" : "LightBG") + ".png"); + } + + public static Texture2D GetBackground() + { + if (_bgTexture != null) + { + return _bgTexture; + } + + return + _bgTexture = + LoadResource("Editor/BG_" + (EditorGUIUtility.isProSkin ? "Dark" : "Light") + ".png"); + } + + public static void DrawLogo(Texture2D logo) + { + if (logo == null) + { + Debug.LogError("Error loading SRDebugger logo"); + return; + } + +#if !DISABLE_SRDEBUGGER + var rect = +#endif + EditorGUILayout.BeginVertical(); + + GUILayout.Space(15); + + EditorGUILayout.BeginHorizontal(); + + GUILayout.FlexibleSpace(); + + GUI.DrawTexture( + GUILayoutUtility.GetRect(logo.width, logo.width, logo.height, logo.height, GUILayout.ExpandHeight(false), + GUILayout.ExpandWidth(false)), + logo); + + GUILayout.FlexibleSpace(); + + EditorGUILayout.EndHorizontal(); + + GUILayout.Space(15); + + EditorGUILayout.EndVertical(); + +#if !DISABLE_SRDEBUGGER + var size = EditorStyles.miniLabel.CalcSize(new GUIContent(SRDebug.Version)); + GUI.Label(new Rect(rect.xMax - size.x, rect.yMax - size.y, size.x, size.y), SRDebug.Version, + EditorStyles.miniLabel); +#endif + } + + public static bool DrawInspectorFoldout(bool isVisible, string content) + { + isVisible = EditorGUILayout.Foldout(isVisible, content, Styles.InspectorHeaderFoldoutStyle); + + EditorGUILayout.Separator(); + + return isVisible; + } + + public static void BeginDrawBackground() + { + if (_bgStyle == null) + { + _bgStyle = new GUIStyle(); + _bgStyle.margin = _bgStyle.padding = new RectOffset(0, 0, 0, 0); + } + + var rect = EditorGUILayout.BeginVertical(_bgStyle); + + DrawTextureTiled(rect, GetBackground()); + } + + public static void EndDrawBackground() + { + EditorGUILayout.EndVertical(); + } + + public static void DrawTextureTiled(Rect rect, Texture2D tex) + { + GUI.BeginGroup(rect); + + var tilesX = Mathf.Max(1, Mathf.CeilToInt(rect.width / tex.width)); + var tilesY = Mathf.Max(1, Mathf.CeilToInt(rect.height / tex.height)); + + for (var x = 0; x < tilesX; x++) + { + for (var y = 0; y < tilesY; y++) + { + var pos = new Rect(x * tex.width, y * tex.height, tex.width, tex.height); + pos.x += rect.x; + pos.y += rect.y; + + GUI.DrawTexture(pos, tex, ScaleMode.ScaleAndCrop); + } + } + + GUI.EndGroup(); + } + + public static bool ClickableLabel(string text, GUIStyle style) + { + var rect = EditorGUILayout.BeginVertical(Styles.NoPaddingNoMargin); + + GUILayout.Label(text, style); + + EditorGUILayout.EndVertical(); + + if (Event.current.type == EventType.MouseUp && rect.Contains(Event.current.mousePosition)) + { + return true; + } + + return false; + } + +#if !DISABLE_SRDEBUGGER + public static void DrawLayoutPreview(Rect rect, Settings settings) + { + const int profilerWidth = 120; + const int profilerHeight = 70; + const int optionsWidth = 150; + const int optionsHeight = 36; + + if (_middleAlign == null) + { + _middleAlign = new GUIStyle(EditorStyles.helpBox); + _middleAlign.alignment = TextAnchor.MiddleCenter; + } + + var iconPath = "Editor/Icons/" + (EditorGUIUtility.isProSkin ? "Light" : "Dark"); + + const float consoleHeight = 90; + + GUI.Box(rect, "", EditorStyles.helpBox); + + var consoleAlignment = settings.ConsoleAlignment; + + var consoleRect = new Rect(rect.x, + consoleAlignment == ConsoleAlignment.Top ? rect.y : rect.yMax - consoleHeight, rect.width, + consoleHeight); + + GUI.Box(consoleRect, new GUIContent(LoadResource(iconPath + "/console-25.png"), "Console"), + _middleAlign); + + var workRect = rect; + + if (consoleAlignment == ConsoleAlignment.Top) + { + workRect.yMin += consoleHeight; + } + else + { + workRect.yMax -= consoleHeight; + } + + var opAlignment = settings.OptionsAlignment; + var proAlignment = settings.ProfilerAlignment; + + GUI.Box(GetAlignedRect(profilerWidth, profilerHeight, proAlignment, workRect), + new GUIContent(LoadResource(iconPath + "/profiler-25.png"), "Profiler"), _middleAlign); + + var optionsRect = workRect; + + if ((opAlignment == PinAlignment.TopCenter && proAlignment == PinAlignment.TopLeft) || (opAlignment == PinAlignment.BottomCenter && proAlignment == PinAlignment.BottomLeft)) + { + optionsRect.x += profilerWidth; + optionsRect.width -= profilerWidth; + } + else if ((opAlignment == PinAlignment.TopCenter && proAlignment == PinAlignment.TopRight) || + opAlignment == PinAlignment.BottomCenter && proAlignment == PinAlignment.BottomRight) + { + optionsRect.width -= profilerWidth; + } + + GUI.Box(GetAlignedRect(optionsWidth, optionsHeight, opAlignment, optionsRect), + new GUIContent(LoadResource(iconPath + "/options-25.png"), "Pinned Options"), _middleAlign); + + if (settings.EnableTrigger != Settings.TriggerEnableModes.Off) + { + GUI.Box(GetAlignedRect(25, 25, settings.TriggerPosition, rect), + new GUIContent("", "Entry Trigger"), + _middleAlign); + } + } + + private static Rect GetAlignedRect(int width, int height, PinAlignment alignment, Rect workRect) + { + var rect = new Rect(0, 0, width, height); + + if (alignment == PinAlignment.BottomLeft || alignment == PinAlignment.BottomRight || alignment == PinAlignment.BottomCenter) + { + rect.position = new Vector2(0, workRect.height - rect.height); + } + else if (alignment == PinAlignment.CenterLeft || alignment == PinAlignment.CenterRight) + { + rect.position = new Vector2(0, workRect.height / 2 - rect.height / 2); + } + + if (alignment == PinAlignment.TopRight || alignment == PinAlignment.BottomRight || alignment == PinAlignment.CenterRight) + { + rect.position += new Vector2(workRect.width - rect.width, 0); + } + else if (alignment == PinAlignment.TopCenter || alignment == PinAlignment.BottomCenter) + { + rect.position += new Vector2(workRect.width / 2 - rect.width / 2, 0); + } + + rect.position += workRect.position; + + return rect; + } + +#endif + public static void RenderGif(Rect pos, Texture2D map, int frameNo, int frameWidth, int frameHeight, int perLine, + int paddingX = 0, int paddingY = 0) + { + var x = frameNo % perLine; + var y = Mathf.FloorToInt((float)frameNo / perLine); + + var xCoord = x * (frameWidth + paddingX); + var yCoord = (y + 1) * (frameHeight + paddingY); + + var texCoords = new Rect( + xCoord / (float)map.width, + (map.height - yCoord) / (float)map.height, + (frameWidth) / (float)map.width, + (frameHeight) / (float)map.height); + + GUI.DrawTextureWithTexCoords(pos, map, texCoords); + + //Debug.Log(texCoords); + //Debug.Log("x: " + x + ", y: " + y); + } + + public static void DrawFooterLayout(float width) + { + EditorGUILayout.BeginHorizontal(); + + var margin = (EditorStyles.miniButton.padding.left) / 2f; + width = width - margin * 2; + + if (GUILayout.Button("Web Site", GUILayout.Width(width / 2f - margin))) + { + Application.OpenURL(SRDebugEditorStrings.Current.SettingsWebSiteUrl); + } + + if (GUILayout.Button("Asset Store Page", GUILayout.Width(width / 2f - margin))) + { + Application.OpenURL(SRDebugEditorStrings.Current.SettingsAssetStoreUrl); + } + + EditorGUILayout.EndHorizontal(); + + EditorGUILayout.BeginHorizontal(); + + if (GUILayout.Button("Documentation", GUILayout.Width(width / 2f - margin))) + { + Application.OpenURL(SRDebugEditorStrings.Current.SettingsDocumentationUrl); + } + + if (GUILayout.Button("Support", GUILayout.Width(width / 2f - margin))) + { + Application.OpenURL( + SRDebugEditorStrings.Current.SettingsSupportUrl); + } + + EditorGUILayout.EndHorizontal(); + } + + public static class Styles + { + private static GUIStyle _inspectorHeaderStyle; + private static GUIStyle _inspectorHeaderFoldoutStyle; + private static GUIStyle _settingsHeaderBoxStyle; + private static GUIStyle _headerLabel; + private static GUIStyle _paragraphLabel; + private static GUIStyle _paragraphLabelItalic; + private static GUIStyle _radioButtonDescription; + private static GUIStyle _radioButton; + private static GUIStyle _leftToggleButton; + private static GUIStyle _noPaddingNoMargin; + private static GUIStyle _richTextLabel; + private static GUIStyle _listBulletPoint; + + public static string LinkColour + { + get + { + if (EditorGUIUtility.isProSkin) + { + return "#7C8CB9"; + } + + return "#0032E6"; + } + } + + public static GUIStyle InspectorHeaderStyle + { + get + { + if (_inspectorHeaderStyle == null) + { + _inspectorHeaderStyle = new GUIStyle(EditorStyles.boldLabel); + _inspectorHeaderStyle.fontSize = 12; + } + + return _inspectorHeaderStyle; + } + } + + public static GUIStyle InspectorHeaderFoldoutStyle + { + get + { + if (_inspectorHeaderFoldoutStyle == null) + { + _inspectorHeaderFoldoutStyle = new GUIStyle(EditorStyles.foldout); + _inspectorHeaderFoldoutStyle.fontSize = 12; + _inspectorHeaderFoldoutStyle.fontStyle = FontStyle.Bold; + } + + return _inspectorHeaderFoldoutStyle; + } + } + + public static GUIStyle SettingsHeaderBoxStyle + { + get + { + if (_settingsHeaderBoxStyle == null) + { + _settingsHeaderBoxStyle = new GUIStyle("OL Title"); + _settingsHeaderBoxStyle.padding = new RectOffset(0, 0, 0, 0); + _settingsHeaderBoxStyle.margin = new RectOffset(0, 0, 0, 0); + _settingsHeaderBoxStyle.clipping = TextClipping.Clip; + _settingsHeaderBoxStyle.overflow = new RectOffset(0, 0, 0, 0); + //_settingsHeaderBoxStyle.border = new RectOffset(1, 1, 1, 1); + _settingsHeaderBoxStyle.fixedHeight = 0.5f; + } + + return _settingsHeaderBoxStyle; + } + } + + public static GUIStyle HeaderLabel + { + get + { + if (_headerLabel == null) + { + _headerLabel = new GUIStyle(EditorStyles.largeLabel); + _headerLabel.fontSize = 18; + _headerLabel.fontStyle = FontStyle.Normal; + _headerLabel.margin = new RectOffset(5, 5, 5, 5); + } + + return _headerLabel; + } + } + + public static GUIStyle ParagraphLabel + { + get + { + if (_paragraphLabel == null) + { + _paragraphLabel = new GUIStyle(EditorStyles.label); + _paragraphLabel.margin = new RectOffset(5, 5, 5, 5); + _paragraphLabel.wordWrap = true; + _paragraphLabel.richText = true; + } + + return _paragraphLabel; + } + } + + public static GUIStyle ParagraphLabelItalic + { + get + { + if (_paragraphLabelItalic == null) + { + _paragraphLabelItalic = new GUIStyle(EditorStyles.label); + _paragraphLabelItalic.margin = new RectOffset(5, 5, 5, 5); + _paragraphLabelItalic.wordWrap = true; + _paragraphLabelItalic.richText = true; + _paragraphLabelItalic.fontStyle = FontStyle.Italic; + } + + return _paragraphLabelItalic; + } + } + + public static GUIStyle LeftToggleButton + { + get + { + if (_leftToggleButton == null) + { + _leftToggleButton = new GUIStyle(EditorStyles.label); + _leftToggleButton.contentOffset = new Vector2(_leftToggleButton.contentOffset.x + 5, + _leftToggleButton.contentOffset.y); + } + + return _leftToggleButton; + } + } + + public static GUIStyle RadioButton + { + get + { + if (_radioButton == null) + { + _radioButton = new GUIStyle(EditorStyles.radioButton); + _radioButton.contentOffset = new Vector2(_radioButton.contentOffset.x + 5, + _radioButton.contentOffset.y); + } + + return _radioButton; + } + } + + public static GUIStyle RadioButtonDescription + { + get + { + if (_radioButtonDescription == null) + { + _radioButtonDescription = new GUIStyle(ParagraphLabel); + _radioButtonDescription.padding.left = (int)RadioButton.contentOffset.x + + RadioButton.padding.left; + } + + return _radioButtonDescription; + } + } + + public static GUIStyle NoPaddingNoMargin + { + get + { + if (_noPaddingNoMargin == null) + { + _noPaddingNoMargin = new GUIStyle(); + _noPaddingNoMargin.margin = new RectOffset(0, 0, 0, 0); + _noPaddingNoMargin.padding = new RectOffset(0, 0, 0, 0); + } + + return _noPaddingNoMargin; + } + } + + public static GUIStyle RichTextLabel + { + get + { + if (_richTextLabel == null) + { + _richTextLabel = new GUIStyle(EditorStyles.label); + _richTextLabel.richText = true; + _richTextLabel.margin = new RectOffset(2, 2, 0, 0); + } + + return _richTextLabel; + } + } + + public static GUIStyle ListBulletPoint + { + get + { + if (_listBulletPoint == null) + { + _listBulletPoint = new GUIStyle(EditorStyles.miniBoldLabel); + _listBulletPoint.wordWrap = true; + _listBulletPoint.margin = new RectOffset(6, 2, 0, 0); + } + + return _listBulletPoint; + } + } + } + } +} \ No newline at end of file diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Editor/SRInternalEditorUtil.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Editor/SRInternalEditorUtil.cs.meta new file mode 100644 index 0000000..ac9d7a1 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Editor/SRInternalEditorUtil.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: f05cd73b58c9481593f90b04c3084b15 +timeCreated: 1611414371 \ No newline at end of file diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Editor/SROptionsWindow.cs b/Assets/StompyRobot/SRDebugger/Scripts/Editor/SROptionsWindow.cs new file mode 100644 index 0000000..e912571 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Editor/SROptionsWindow.cs @@ -0,0 +1,455 @@ + + +namespace SRDebugger.Editor +{ + using System; + using System.Collections.Generic; + using System.Linq; + using SRF; + using UnityEngine; + using UnityEditor; + using System.ComponentModel; + using SRF.Helpers; +#if !DISABLE_SRDEBUGGER + using Internal; + using SRDebugger.Services; + using UI.Controls.Data; +#endif + + class SROptionsWindow : EditorWindow + { + [MenuItem(SRDebugEditorPaths.SROptionsMenuItemPath)] + public static void Open() + { + var window = GetWindow(false, "SROptions", true); + window.minSize = new Vector2(100, 100); + window.Show(); + } + +#if DISABLE_SRDEBUGGER + private bool _isWorking; + + void OnGUI() + { + SRDebugEditor.DrawDisabledWindowGui(ref _isWorking); + } +#else + [Serializable] + private class CategoryState + { + public string Name; + public bool IsOpen; + } + + [SerializeField] + private List _categoryStates = new List(); + + private Dictionary> _typeLookup; + private Dictionary> _options; + + private Vector2 _scrollPosition; + private bool _queueRefresh; + private bool _isDirty; + + + [NonSerialized] private GUIStyle _divider; + [NonSerialized] private GUIStyle _foldout; + + private IOptionsService _activeOptionsService; + + public void OnInspectorUpdate() + { + if (EditorApplication.isPlaying && (_options == null || _isDirty)) + { + Populate(); + _queueRefresh = true; + _isDirty = false; + } + else if (!EditorApplication.isPlaying && _options != null) + { + Clear(); + _queueRefresh = true; + } + + if (_queueRefresh) + { + Repaint(); + } + + _queueRefresh = false; + } + + private void OnDisable() + { + Clear(); + } + + void PopulateTypeLookup() + { + _typeLookup = new Dictionary>() + { + {typeof(int), OnGUI_Int}, + {typeof(float), OnGUI_Float}, + {typeof(double), OnGUI_Double}, + {typeof(string), OnGUI_String}, + {typeof(bool), OnGUI_Boolean }, + {typeof(uint), OnGUI_AnyInteger}, + {typeof(ushort), OnGUI_AnyInteger}, + {typeof(short), OnGUI_AnyInteger}, + {typeof(sbyte), OnGUI_AnyInteger}, + {typeof(byte), OnGUI_AnyInteger}, + {typeof(long), OnGUI_AnyInteger}, + }; + } + + void Clear() + { + _options = null; + _isDirty = false; + + if (_activeOptionsService != null) + { + _activeOptionsService.OptionsUpdated -= OnOptionsUpdated; + } + + _activeOptionsService = null; + } + + void Populate() + { + if (_typeLookup == null) + { + PopulateTypeLookup(); + } + + if (_activeOptionsService != null) + { + _activeOptionsService.OptionsUpdated -= OnOptionsUpdated; + } + + if (_options != null) + { + foreach (KeyValuePair> kv in _options) + { + foreach (var option in kv.Value) + { + if (option.IsProperty) + { + option.Property.ValueChanged -= OnOptionPropertyValueChanged; + } + } + } + } + + _options = new Dictionary>(); + + foreach (var option in Service.Options.Options) + { + List list; + + if (!_options.TryGetValue(option.Category, out list)) + { + list = new List(); + _options[option.Category] = list; + } + + list.Add(option); + + if (option.IsProperty) + { + option.Property.ValueChanged += OnOptionPropertyValueChanged; + } + } + + foreach (var kv in _options) + { + kv.Value.Sort((d1, d2) => d1.SortPriority.CompareTo(d2.SortPriority)); + } + + _activeOptionsService = Service.Options; + _activeOptionsService.OptionsUpdated += OnOptionsUpdated; + } + + private void OnOptionPropertyValueChanged(PropertyReference property) + { + _queueRefresh = true; + } + + private void OnOptionsUpdated(object sender, EventArgs e) + { + _isDirty = true; + _queueRefresh = true; + } + + void OnGUI() + { + EditorGUILayout.Space(); + + if (!EditorApplication.isPlayingOrWillChangePlaymode || _options == null) + { + EditorGUILayout.BeginHorizontal(); + GUILayout.FlexibleSpace(); + GUILayout.Label("SROptions can only be edited in play-mode."); + GUILayout.FlexibleSpace(); + EditorGUILayout.EndHorizontal(); + return; + } + + if (_divider == null) + { + _divider = new GUIStyle(GUI.skin.box); + _divider.stretchWidth = true; + _divider.fixedHeight = 2; + } + + if (_foldout == null) + { + _foldout = new GUIStyle(EditorStyles.foldout); + _foldout.fontStyle = FontStyle.Bold; + } + + _scrollPosition = EditorGUILayout.BeginScrollView(_scrollPosition); + + foreach (var kv in _options) + { + var state = _categoryStates.FirstOrDefault(p => p.Name == kv.Key); + + if (state == null) + { + state = new CategoryState() + { + Name = kv.Key, + IsOpen = true + }; + _categoryStates.Add(state); + } + + state.IsOpen = EditorGUILayout.Foldout(state.IsOpen, kv.Key, _foldout); + + if (!state.IsOpen) + continue; + + EditorGUILayout.BeginVertical(EditorStyles.inspectorDefaultMargins); + OnGUI_Category(kv.Value); + EditorGUILayout.Space(); + EditorGUILayout.EndHorizontal(); + } + + EditorGUILayout.EndScrollView(); + } + + void OnGUI_Category(List options) + { + for (var i = 0; i < options.Count; i++) + { + var op = options[i]; + + if (op.Property != null) + { + OnGUI_Property(op); + } else if (op.Method != null) + { + OnGUI_Method(op); + } + } + } + + void OnGUI_Method(OptionDefinition op) + { + if (GUILayout.Button(op.Name)) + { + op.Method.Invoke(null); + } + } + + void OnGUI_Property(OptionDefinition op) + { + Action method; + + if (op.Property.PropertyType.IsEnum) + { + method = OnGUI_Enum; + } + else if (!_typeLookup.TryGetValue(op.Property.PropertyType, out method)) + { + OnGUI_Unsupported(op); + return; + } + + if (!op.Property.CanWrite) + { + EditorGUI.BeginDisabledGroup(true); + } + + method(op); + + if (!op.Property.CanWrite) + { + EditorGUI.EndDisabledGroup(); + } + } + + void OnGUI_String(OptionDefinition op) + { + EditorGUI.BeginChangeCheck(); + var newValue = EditorGUILayout.TextField(op.Name, (string) op.Property.GetValue()); + + if (EditorGUI.EndChangeCheck()) + { + op.Property.SetValue(Convert.ChangeType(newValue, op.Property.PropertyType)); + } + } + + void OnGUI_Boolean(OptionDefinition op) + { + EditorGUI.BeginChangeCheck(); + var newValue = EditorGUILayout.Toggle(op.Name, (bool) op.Property.GetValue()); + + if (EditorGUI.EndChangeCheck()) + { + op.Property.SetValue(Convert.ChangeType(newValue, op.Property.PropertyType)); + } + } + + void OnGUI_Enum(OptionDefinition op) + { + EditorGUI.BeginChangeCheck(); + var newValue = EditorGUILayout.EnumPopup(op.Name, (Enum)op.Property.GetValue()); + + if (EditorGUI.EndChangeCheck()) + { + op.Property.SetValue(Convert.ChangeType(newValue, op.Property.PropertyType)); + } + } + + void OnGUI_Int(OptionDefinition op) + { + var range = op.Property.GetAttribute(); + + int newValue; + + EditorGUI.BeginChangeCheck(); + + if (range != null) + { + newValue = EditorGUILayout.IntSlider(op.Name, (int)op.Property.GetValue(), (int)range.Min, (int)range.Max); + } + else + { + newValue = EditorGUILayout.IntField(op.Name, (int) op.Property.GetValue()); + } + + if (EditorGUI.EndChangeCheck()) + { + op.Property.SetValue(Convert.ChangeType(newValue, op.Property.PropertyType)); + } + } + + void OnGUI_Float(OptionDefinition op) + { + var range = op.Property.GetAttribute(); + + float newValue; + + EditorGUI.BeginChangeCheck(); + + if (range != null) + { + newValue = EditorGUILayout.Slider(op.Name, (float)op.Property.GetValue(), (float)range.Min, (float)range.Max); + } + else + { + newValue = EditorGUILayout.FloatField(op.Name, (float) op.Property.GetValue()); + } + + if (EditorGUI.EndChangeCheck()) + { + op.Property.SetValue(Convert.ChangeType(newValue, op.Property.PropertyType)); + } + } + + void OnGUI_Double(OptionDefinition op) + { + var range = op.Property.GetAttribute(); + + double newValue; + + EditorGUI.BeginChangeCheck(); + + if (range != null && range.Min > float.MinValue && range.Max < float.MaxValue) + { + newValue = EditorGUILayout.Slider(op.Name, (float)op.Property.GetValue(), (float)range.Min, (float)range.Max); + } + else + { + newValue = EditorGUILayout.DoubleField(op.Name, (double) op.Property.GetValue()); + + if (range != null) + { + if (newValue > range.Max) + { + newValue = range.Max; + } else if (newValue < range.Min) + { + newValue = range.Min; + } + } + } + + if (EditorGUI.EndChangeCheck()) + { + op.Property.SetValue(Convert.ChangeType(newValue, op.Property.PropertyType)); + } + } + + + void OnGUI_AnyInteger(OptionDefinition op) + { + NumberControl.ValueRange range; + + if (!NumberControl.ValueRanges.TryGetValue(op.Property.PropertyType, out range)) + { + Debug.LogError("Unknown integer type: " + op.Property.PropertyType); + return; + } + + var userRange = op.Property.GetAttribute(); + + EditorGUI.BeginChangeCheck(); + + var oldValue = (long)Convert.ChangeType(op.Property.GetValue(), typeof(long)); + var newValue = EditorGUILayout.LongField(op.Name, oldValue); + + if (newValue > range.MaxValue) + { + newValue = (long)range.MaxValue; + } else if (newValue < range.MinValue) + { + newValue = (long)range.MinValue; + } + + if (userRange != null) + { + if (newValue > userRange.Max) + { + newValue = (long)userRange.Max; + } else if (newValue < userRange.Min) + { + newValue = (long) userRange.Min; + } + } + + if (EditorGUI.EndChangeCheck()) + { + op.Property.SetValue(Convert.ChangeType(newValue, op.Property.PropertyType)); + } + } + + void OnGUI_Unsupported(OptionDefinition op) + { + EditorGUILayout.PrefixLabel(op.Name); + EditorGUILayout.LabelField("Unsupported Type: {0}".Fmt(op.Property.PropertyType)); + } +#endif + } + } diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Editor/SROptionsWindow.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Editor/SROptionsWindow.cs.meta new file mode 100644 index 0000000..380a67a --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Editor/SROptionsWindow.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: c10ec5c3e9f1e404ba655cbc07340b94 +timeCreated: 1465649914 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Editor/SettingsEditor.cs b/Assets/StompyRobot/SRDebugger/Scripts/Editor/SettingsEditor.cs new file mode 100644 index 0000000..5039343 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Editor/SettingsEditor.cs @@ -0,0 +1,50 @@ +#if !DISABLE_SRDEBUGGER +using UnityEditor; +using UnityEngine; + +namespace SRDebugger.Editor +{ + [CustomEditor(typeof (Settings))] + class SettingsEditor : UnityEditor.Editor + { + private bool _override; + + public override void OnInspectorGUI() + { + SRInternalEditorUtil.DrawLogo(SRInternalEditorUtil.GetLogo()); + + GUILayout.Label( + "This asset contains the runtime settings used by SRDebugger. It is recommended that this asset be edited only via the SRDebugger Settings window.", + EditorStyles.wordWrappedLabel); + + EditorGUILayout.Separator(); + + if (GUILayout.Button("Open SRDebugger Settings Window")) + { + SRDebuggerSettingsWindow.Open(); + } + + if (!_override) + { + if (GUILayout.Button("Override Warning")) + { + _override = true; + } + } + else + { + GUILayout.Label( + "You have been warned...", + EditorStyles.wordWrappedLabel); + } + + EditorGUILayout.Separator(); + + if (_override) + { + base.OnInspectorGUI(); + } + } + } +} +#endif \ No newline at end of file diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Editor/SettingsEditor.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Editor/SettingsEditor.cs.meta new file mode 100644 index 0000000..d58c44e --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Editor/SettingsEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6304f38f53dfcc44f9265410f0f14050 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Editor/SettingsWindow.cs b/Assets/StompyRobot/SRDebugger/Scripts/Editor/SettingsWindow.cs new file mode 100644 index 0000000..b1e1466 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Editor/SettingsWindow.cs @@ -0,0 +1,1026 @@ +namespace SRDebugger.Editor +{ + using System; + using System.Collections; + using System.Collections.Generic; + using System.Globalization; + using System.Linq; +#if !DISABLE_SRDEBUGGER + using SRDebugger.Internal; +#endif + using SRF; + using UnityEditor; + using UnityEditorInternal; + using UnityEngine; + + class SRDebuggerSettingsWindow : EditorWindow + { + [MenuItem(SRDebugEditorPaths.SettingsMenuItemPath)] + public static void Open() + { + GetWindowWithRect(new Rect(0, 0, 449, 520), true, "SRDebugger - Settings", + true); + } + +#if DISABLE_SRDEBUGGER + + private bool _isWorking; + + private void OnGUI() + { + SRDebugEditor.DrawDisabledWindowGui(ref _isWorking); + } + +#else + + private enum ProfilerAlignment + { + TopLeft = 0, + TopRight = 1, + BottomLeft = 2, + BottomRight = 3 + } + + private enum OptionsAlignment + { + TopLeft = 0, + TopRight = 1, + BottomLeft = 2, + BottomRight = 3, + TopCenter = 6, + BottomCenter = 7 + } + + private string _currentEntryCode; + private bool _enableTabChange = true; + private Tabs _selectedTab; + private bool _showBugReportSignupForm; + private string[] _tabs = Enum.GetNames(typeof (Tabs)).Select(s => s.Replace('_', ' ')).ToArray(); + + [NonSerialized] private bool _hasError; + [NonSerialized] private string _error; + + private bool _isAppearing = true; + + private void Reset() + { + if (_isAppearing) + { + return; + } + + SRInternalEditorUtil.EditorSettings.ClearCache(); + _hasError = false; + } + + private bool SettingsReady(out Settings settings) + { + if (!_hasError) + { + string message; + SRInternalEditorUtil.SettingsResult result = + SRInternalEditorUtil.EditorSettings.TryGetOrCreate(out settings, out message); + + switch (result) + { + case SRInternalEditorUtil.SettingsResult.Loaded: + { + // Perform on-load logic + _currentEntryCode = GetEntryCodeString(settings); + + if (string.IsNullOrEmpty(settings.ApiKey)) + { + _showBugReportSignupForm = true; + } + + return true; + } + + case SRInternalEditorUtil.SettingsResult.Cache: + { + return true; + } + + case SRInternalEditorUtil.SettingsResult.Waiting: + { + EditorGUILayout.Space(); + GUILayout.Label(message, SRInternalEditorUtil.Styles.ParagraphLabel); + return false; + } + + case SRInternalEditorUtil.SettingsResult.Error: + { + _error = message; + _hasError = true; + break; + } + } + } + + // Display Error UI + settings = null; + + EditorGUILayout.Space(); + GUILayout.Label("An error has occurred while loading settings."); + + EditorGUILayout.Space(); + + GUILayout.Label("Message: ", EditorStyles.boldLabel); + GUILayout.Label(_error, SRInternalEditorUtil.Styles.ParagraphLabel); + + EditorGUILayout.Space(); + + if (GUILayout.Button("Open Integrity Checker")) + { + SRIntegrityCheckWindow.Open(); + } + + if (GUILayout.Button("Retry")) + { + Reset(); + Repaint(); + } + + return false; + } + + private void OnGUI() + { + _isAppearing = false; + + // Draw header area + SRInternalEditorUtil.BeginDrawBackground(); + SRInternalEditorUtil.DrawLogo(SRInternalEditorUtil.GetLogo()); + SRInternalEditorUtil.EndDrawBackground(); + + // Draw header/content divider + EditorGUILayout.BeginVertical(SRInternalEditorUtil.Styles.SettingsHeaderBoxStyle); + EditorGUILayout.EndVertical(); + + Settings settings; + if (!SettingsReady(out settings)) + { + return; + } + + // Draw tab buttons + var rect = EditorGUILayout.BeginVertical(GUI.skin.box); + + --rect.width; + var height = 18; + + EditorGUI.BeginChangeCheck(); + EditorGUI.BeginDisabledGroup(!_enableTabChange); + + for (var i = 0; i < _tabs.Length; ++i) + { + var xStart = Mathf.RoundToInt(i*rect.width/_tabs.Length); + var xEnd = Mathf.RoundToInt((i + 1)*rect.width/_tabs.Length); + + var pos = new Rect(rect.x + xStart, rect.y, xEnd - xStart, height); + + if (GUI.Toggle(pos, (int) _selectedTab == i, new GUIContent(_tabs[i]), EditorStyles.toolbarButton)) + { + _selectedTab = (Tabs) i; + } + } + + GUILayoutUtility.GetRect(10f, height); + + EditorGUI.EndDisabledGroup(); + + if (EditorGUI.EndChangeCheck()) + { + _scrollPosition = Vector2.zero; + GUIUtility.keyboardControl = 0; + } + + // Draw selected tab + + switch (_selectedTab) + { + case Tabs.General: + DrawTabGeneral(settings); + break; + + case Tabs.Layout: + DrawTabLayout(settings); + break; + + case Tabs.Bug_Reporter: + DrawTabBugReporter(settings); + break; + + case Tabs.Shortcuts: + DrawTabShortcuts(settings); + break; + + case Tabs.Advanced: + DrawTabAdvanced(settings); + break; + } + + EditorGUILayout.EndVertical(); + + // Display rating prompt and link buttons + + EditorGUILayout.LabelField(SRDebugEditorStrings.Current.SettingsRateBoxContents, EditorStyles.miniLabel); + + SRInternalEditorUtil.DrawFooterLayout(position.width); + + if (GUI.changed) + { + EditorUtility.SetDirty(settings); + } + } + + private enum Tabs + { + General, + Layout, + Bug_Reporter, + Shortcuts, + Advanced + } + + #region Tabs + + private void DrawTabGeneral(Settings settings) + { + GUILayout.Label("Loading", SRInternalEditorUtil.Styles.InspectorHeaderStyle); + + EditorGUILayout.BeginVertical(EditorStyles.inspectorDefaultMargins); + + if (GUILayout.Toggle(!settings.IsEnabled, "Disabled", SRInternalEditorUtil.Styles.RadioButton)) + { + settings.IsEnabled = false; + } + + GUILayout.Label("Do not load SRDebugger until a manual call to SRDebug.Init().", + SRInternalEditorUtil.Styles.RadioButtonDescription); + + var msg = "Automatic (recommended)"; + + if (GUILayout.Toggle(settings.IsEnabled, msg, + SRInternalEditorUtil.Styles.RadioButton)) + { + settings.IsEnabled = true; + } + + GUILayout.Label("SRDebugger loads automatically when your game starts.", + SRInternalEditorUtil.Styles.RadioButtonDescription); + + EditorGUILayout.EndVertical(); + + GUILayout.Label("Panel Access", SRInternalEditorUtil.Styles.InspectorHeaderStyle); + + EditorGUILayout.HelpBox("Configure trigger location in the layout tab.", MessageType.None, true); + + settings.EnableTrigger = + (Settings.TriggerEnableModes) + EditorGUILayout.EnumPopup(new GUIContent("Trigger Mode"), + settings.EnableTrigger); + + EditorGUI.BeginDisabledGroup(settings.EnableTrigger == Settings.TriggerEnableModes.Off); + + settings.TriggerBehaviour = + (Settings.TriggerBehaviours) + EditorGUILayout.EnumPopup(new GUIContent("Trigger Behaviour"), + settings.TriggerBehaviour); + + settings.ErrorNotification = + EditorGUILayout.Toggle( + new GUIContent("Error Notification", + "Display a notification on the panel trigger when an error is printed to the log."), + settings.ErrorNotification); + + EditorGUI.EndDisabledGroup(); + + EditorGUILayout.Space(); + + settings.DefaultTab = + (DefaultTabs) + EditorGUILayout.EnumPopup( + new GUIContent("Default Tab", SRDebugEditorStrings.Current.SettingsDefaultTabTooltip), + settings.DefaultTab); + + EditorGUILayout.Space(); + + EditorGUILayout.BeginHorizontal(); + + settings.RequireCode = EditorGUILayout.Toggle(new GUIContent("Require Entry Code"), + settings.RequireCode); + + EditorGUI.BeginDisabledGroup(!settings.RequireCode); + + settings.RequireEntryCodeEveryTime = EditorGUILayout.Toggle(new GUIContent("...Every Time", "Require the user to enter the PIN every time they access the debug panel."), + settings.RequireEntryCodeEveryTime); + + EditorGUILayout.EndHorizontal(); + + var newCode = EditorGUILayout.TextField("Entry Code", _currentEntryCode); + + if (newCode != _currentEntryCode) + { + // Strip out alpha numeric chars + newCode = new string(newCode.Where(char.IsDigit).ToArray()); + + // Max length = 4 + newCode = newCode.Substring(0, Mathf.Min(4, newCode.Length)); + + if (newCode.Length == 4) + { + UpdateEntryCode(settings, newCode); + } + } + + EditorGUI.EndDisabledGroup(); + + EditorGUILayout.Space(); + + settings.AutomaticallyShowCursor = + EditorGUILayout.Toggle( + new GUIContent("Show Cursor", + "Automatically set the cursor to visible when the debug panel is opened, and revert when closed."), + settings.AutomaticallyShowCursor); + + // Expand content area to fit all available space + GUILayout.FlexibleSpace(); + } + + private void DrawTabLayout(Settings settings) + { + GUILayout.Label("Pinned Tool Positions", SRInternalEditorUtil.Styles.HeaderLabel); + + EditorGUILayout.BeginHorizontal(); + GUILayout.FlexibleSpace(); + var rect = GUILayoutUtility.GetRect(360, 210); + GUILayout.FlexibleSpace(); + EditorGUILayout.EndHorizontal(); + SRInternalEditorUtil.DrawLayoutPreview(rect, settings); + + EditorGUILayout.BeginHorizontal(); + + { + EditorGUILayout.BeginVertical(); + + GUILayout.Label("Console", SRInternalEditorUtil.Styles.InspectorHeaderStyle); + + settings.ConsoleAlignment = + (ConsoleAlignment) EditorGUILayout.EnumPopup(settings.ConsoleAlignment); + + EditorGUILayout.EndVertical(); + } + + { + EditorGUI.BeginDisabledGroup(settings.EnableTrigger == Settings.TriggerEnableModes.Off); + + EditorGUILayout.BeginVertical(); + + GUILayout.Label("Entry Trigger", SRInternalEditorUtil.Styles.InspectorHeaderStyle); + + settings.TriggerPosition = + (PinAlignment) EditorGUILayout.EnumPopup(settings.TriggerPosition); + + EditorGUILayout.EndVertical(); + + EditorGUI.EndDisabledGroup(); + } + + EditorGUILayout.EndHorizontal(); + + EditorGUILayout.BeginHorizontal(); + + { + EditorGUILayout.BeginVertical(); + + GUILayout.Label("Profiler", SRInternalEditorUtil.Styles.InspectorHeaderStyle); + + settings.ProfilerAlignment = + (PinAlignment) EditorGUILayout.EnumPopup((ProfilerAlignment)settings.ProfilerAlignment); + + EditorGUILayout.EndVertical(); + } + + { + EditorGUILayout.BeginVertical(); + + GUILayout.Label("Options", SRInternalEditorUtil.Styles.InspectorHeaderStyle); + + settings.OptionsAlignment = + (PinAlignment) EditorGUILayout.EnumPopup((OptionsAlignment)settings.OptionsAlignment); + + EditorGUILayout.EndVertical(); + } + + EditorGUILayout.EndHorizontal(); + + // Expand content area to fit all available space + GUILayout.FlexibleSpace(); + } + + private bool _enableButton; + + private void DrawTabBugReporter(Settings settings) + { + if (_showBugReportSignupForm) + { + DrawBugReportSignupForm(settings); + return; + } + + GUILayout.Label("Bug Reporter", SRInternalEditorUtil.Styles.HeaderLabel); + + EditorGUI.BeginDisabledGroup(string.IsNullOrEmpty(settings.ApiKey)); + + settings.EnableBugReporter = EditorGUILayout.Toggle("Enable Bug Reporter", + settings.EnableBugReporter); + + + settings.EnableBugReportScreenshot = EditorGUILayout.Toggle("Take Screenshot", + settings.EnableBugReportScreenshot); + + EditorGUI.EndDisabledGroup(); + + EditorGUILayout.BeginHorizontal(); + + settings.ApiKey = EditorGUILayout.TextField("API Key", settings.ApiKey); + + if (GUILayout.Button("Verify", GUILayout.ExpandWidth(false))) + { + EditorUtility.DisplayDialog("Verify API Key", ApiSignup.Verify(settings.ApiKey), "OK"); + } + + EditorGUILayout.EndHorizontal(); + + EditorGUILayout.Space(); + + GUILayout.Label( + "If you need to change your account email address, or have any other questions or concerns, please email us at contact@stompyrobot.uk.", + SRInternalEditorUtil.Styles.ParagraphLabel); + + GUILayout.FlexibleSpace(); + + if (!string.IsNullOrEmpty(settings.ApiKey)) + { + GUILayout.Label("Reset", SRInternalEditorUtil.Styles.InspectorHeaderStyle); + GUILayout.Label("Click the button below to clear the API key and show the signup form.", + SRInternalEditorUtil.Styles.ParagraphLabel); + + EditorGUILayout.BeginHorizontal(); + + _enableButton = EditorGUILayout.Toggle("Enable Button", _enableButton, GUILayout.ExpandWidth(false)); + + EditorGUI.BeginDisabledGroup(!_enableButton); + + if (GUILayout.Button("Reset")) + { + settings.ApiKey = null; + settings.EnableBugReporter = false; + _enableButton = false; + _showBugReportSignupForm = true; + } + + EditorGUI.EndDisabledGroup(); + + EditorGUILayout.EndHorizontal(); + + EditorGUILayout.Space(); + } + else + { + if (GUILayout.Button("Show Signup Form")) + { + _showBugReportSignupForm = true; + } + } + } + + private string _invoiceNumber; + private string _emailAddress; + private bool _agreeLegal; + private string _errorMessage; + + private void DrawBugReportSignupForm(Settings settings) + { + var isWeb = false; + +#if UNITY_WEBPLAYER + EditorGUILayout.HelpBox("Signup form is not available when build target is Web Player.", MessageType.Error); + isWeb = true; +#endif + + EditorGUI.BeginDisabledGroup(isWeb || !_enableTabChange); + + GUILayout.Label("Signup Form", SRInternalEditorUtil.Styles.HeaderLabel); + GUILayout.Label( + "SRDebugger requires a free API key to enable the bug reporter system. This form will acquire one for you.", + SRInternalEditorUtil.Styles.ParagraphLabel); + + if ( + SRInternalEditorUtil.ClickableLabel( + "Already got an API key? Click here.".Fmt(SRInternalEditorUtil.Styles.LinkColour), + SRInternalEditorUtil.Styles.RichTextLabel)) + { + _showBugReportSignupForm = false; + Repaint(); + } + + EditorGUILayout.Space(); + + GUILayout.Label("Invoice/Order Number", EditorStyles.boldLabel); + + GUILayout.Label( + "Enter the order number from your Asset Store purchase email.", + EditorStyles.miniLabel); + + _invoiceNumber = EditorGUILayout.TextField(_invoiceNumber); + + EditorGUILayout.Space(); + + GUILayout.Label("Email Address", EditorStyles.boldLabel); + + GUILayout.Label( + "Provide an email address where the bug reports should be sent.", + EditorStyles.miniLabel); + + _emailAddress = EditorGUILayout.TextField(_emailAddress); + + EditorGUILayout.Space(); + + EditorGUILayout.BeginHorizontal(); + + if (SRInternalEditorUtil.ClickableLabel( + "I agree to the terms and conditions.".Fmt(SRInternalEditorUtil.Styles.LinkColour), + SRInternalEditorUtil.Styles.RichTextLabel)) + { + ApiSignupTermsWindow.Open(); + } + + _agreeLegal = EditorGUILayout.Toggle(_agreeLegal); + + EditorGUILayout.EndHorizontal(); + + EditorGUILayout.Space(); + + var isEnabled = !string.IsNullOrEmpty(_invoiceNumber) && !string.IsNullOrEmpty(_emailAddress) && _agreeLegal; + EditorGUI.BeginDisabledGroup(!isEnabled); + + if (GUILayout.Button("Submit")) + { + _errorMessage = null; + _enableTabChange = false; + + EditorApplication.delayCall += () => + { + ApiSignup.SignUp(_emailAddress, _invoiceNumber, + (success, key, email, error) => OnSignupResult(success, key, email, error, settings)); + Repaint(); + }; + } + + EditorGUI.EndDisabledGroup(); + + if (!string.IsNullOrEmpty(_errorMessage)) + { + EditorGUILayout.HelpBox(_errorMessage, MessageType.Error, true); + } + + GUILayout.FlexibleSpace(); + + GUILayout.Label("Having trouble? Please email contact@stompyrobot.uk for assistance.", + EditorStyles.miniLabel); + + EditorGUI.EndDisabledGroup(); + } + + private void OnSignupResult(bool didSucceed, string apiKey, string email, string error, Settings settings) + { + _enableTabChange = true; + _selectedTab = Tabs.Bug_Reporter; + + if (!didSucceed) + { + _errorMessage = error; + return; + } + + settings.ApiKey = apiKey; + settings.EnableBugReporter = true; + + EditorUtility.DisplayDialog("SRDebugger API", + "API key has been created successfully. An email has been sent to your email address ({0}) with a verification link. You must verify your email before you can receive any bug reports." + .Fmt(email), "OK"); + + _showBugReportSignupForm = false; + } + + private ReorderableList _keyboardShortcutList; + private Vector2 _scrollPosition; + + private void DrawTabShortcuts(Settings settings) + { + if (_keyboardShortcutList == null) + { + _keyboardShortcutList = new ReorderableList((IList) settings.KeyboardShortcuts, + typeof (Settings.KeyboardShortcut), false, true, true, true); + _keyboardShortcutList.drawHeaderCallback = DrawKeyboardListHeaderCallback; + _keyboardShortcutList.drawElementCallback = DrawKeyboardListItemCallback; + _keyboardShortcutList.onAddCallback += OnAddKeyboardListCallback; + _keyboardShortcutList.onRemoveCallback += OnRemoveKeyboardListCallback; + } + + EditorGUILayout.Space(); + + EditorGUILayout.BeginHorizontal(); + + settings.EnableKeyboardShortcuts = EditorGUILayout.Toggle( + new GUIContent("Enable", SRDebugEditorStrings.Current.SettingsKeyboardShortcutsTooltip), + settings.EnableKeyboardShortcuts); + + EditorGUI.BeginDisabledGroup(!settings.EnableKeyboardShortcuts); + + settings.KeyboardEscapeClose = + EditorGUILayout.Toggle( + new GUIContent("Close on Esc", SRDebugEditorStrings.Current.SettingsCloseOnEscapeTooltip), + settings.KeyboardEscapeClose); + + EditorGUILayout.EndHorizontal(); + + EditorGUILayout.Separator(); + + var dupe = DetectDuplicateKeyboardShortcuts(settings); + + if (dupe != null) + { + var shortcut = ""; + + if (dupe.Control) + { + shortcut += "Ctrl"; + } + + if (dupe.Shift) + { + if (shortcut.Length > 0) + { + shortcut += "-"; + } + + shortcut += "Shift"; + } + + if (dupe.Alt) + { + if (shortcut.Length > 0) + { + shortcut += "-"; + } + + shortcut += "Alt"; + } + + if (shortcut.Length > 0) + { + shortcut += "-"; + } + + shortcut += dupe.Key; + + EditorGUILayout.HelpBox( + "Duplicate shortcut ({0}). Only one shortcut per key is supported.".Fmt(shortcut), + MessageType.Warning); + } + + _scrollPosition = EditorGUILayout.BeginScrollView(_scrollPosition, false, false, + GUILayout.Width(position.width - 11)); + + EditorGUILayout.BeginVertical(GUILayout.Width(position.width - 30)); + + _keyboardShortcutList.DoLayoutList(); + + GUILayout.FlexibleSpace(); + + EditorGUILayout.EndVertical(); + + EditorGUILayout.EndScrollView(); + + EditorGUI.EndDisabledGroup(); + } + + private void DrawTabAdvanced(Settings settings) + { + _scrollPosition = EditorGUILayout.BeginScrollView(_scrollPosition, false, true); + + GUILayout.Label("Console", SRInternalEditorUtil.Styles.InspectorHeaderStyle); + + settings.CollapseDuplicateLogEntries = + EditorGUILayout.Toggle( + new GUIContent("Collapse Log Entries", "Collapse duplicate log entries into single log."), + settings.CollapseDuplicateLogEntries); + + settings.RichTextInConsole = + EditorGUILayout.Toggle( + new GUIContent("Rich Text in Console", "Parse rich text tags in console log entries."), + settings.RichTextInConsole); + + settings.MaximumConsoleEntries = + EditorGUILayout.IntSlider( + new GUIContent("Max Console Entries", + "The maximum size of the console buffer. Higher values may cause performance issues on slower devices."), + settings.MaximumConsoleEntries, 100, 6000); + + EditorGUILayout.Separator(); + GUILayout.Label("Display", SRInternalEditorUtil.Styles.InspectorHeaderStyle); + + settings.EnableBackgroundTransparency = + EditorGUILayout.Toggle(new GUIContent("Transparent Background"), + settings.EnableBackgroundTransparency); + + EditorGUI.BeginDisabledGroup(!settings.EnableBackgroundTransparency); + + settings.BackgroundTransparency = EditorGUILayout.Slider(new GUIContent("Background Opacity"), + settings.BackgroundTransparency, 0.0f, 1.0f); + + EditorGUI.EndDisabledGroup(); + + EditorGUILayout.BeginHorizontal(); + + EditorGUILayout.PrefixLabel(new GUIContent("Layer", "The layer the debug panel UI will be drawn to")); + + settings.DebugLayer = EditorGUILayout.LayerField(settings.DebugLayer); + + EditorGUILayout.EndHorizontal(); + + settings.UseDebugCamera = + EditorGUILayout.Toggle( + new GUIContent("Use Debug Camera", SRDebugEditorStrings.Current.SettingsDebugCameraTooltip), + settings.UseDebugCamera); + + EditorGUI.BeginDisabledGroup(!settings.UseDebugCamera); + + settings.DebugCameraDepth = EditorGUILayout.Slider(new GUIContent("Debug Camera Depth"), + settings.DebugCameraDepth, -100, 100); + + EditorGUI.EndDisabledGroup(); + + settings.UIScale = + EditorGUILayout.Slider(new GUIContent("UI Scale"), settings.UIScale, 1f, 3f); + + EditorGUILayout.Separator(); + GUILayout.Label("Enabled Tabs", SRInternalEditorUtil.Styles.InspectorHeaderStyle); + + GUILayout.Label(SRDebugEditorStrings.Current.SettingsEnabledTabsDescription, EditorStyles.wordWrappedLabel); + EditorGUILayout.Space(); + + var disabledTabs = settings.DisabledTabs.ToList(); + + var tabNames = Enum.GetNames(typeof (DefaultTabs)); + var tabValues = Enum.GetValues(typeof (DefaultTabs)); + + EditorGUILayout.BeginVertical(EditorStyles.inspectorDefaultMargins); + + var changed = false; + for (var i = 0; i < tabNames.Length; i++) + { + var tabName = tabNames[i]; + var tabValue = (DefaultTabs) (tabValues.GetValue(i)); + + if (tabName == "BugReporter") + { + continue; + } + + if (tabName == "SystemInformation") + { + tabName = "System Information"; + } + + EditorGUILayout.BeginHorizontal(); + + var isEnabled = !disabledTabs.Contains(tabValue); + + var isNowEnabled = EditorGUILayout.ToggleLeft(tabName, isEnabled, + SRInternalEditorUtil.Styles.LeftToggleButton); + + if (isEnabled && !isNowEnabled) + { + disabledTabs.Add(tabValue); + changed = true; + } + else if (!isEnabled && isNowEnabled) + { + disabledTabs.Remove(tabValue); + changed = true; + } + + EditorGUILayout.EndHorizontal(); + } + + EditorGUILayout.EndVertical(); + + if (changed) + { + settings.DisabledTabs = disabledTabs; + } + + GUILayout.Label("Other", SRInternalEditorUtil.Styles.InspectorHeaderStyle); + + settings.EnableEventSystemGeneration = + EditorGUILayout.Toggle( + new GUIContent("Automatic Event System", "Automatically create a UGUI EventSystem if none is found in the scene."), + settings.EnableEventSystemGeneration); + +#if ENABLE_INPUT_SYSTEM && ENABLE_LEGACY_INPUT_MANAGER + using (new EditorGUI.DisabledScope(!Settings.Instance.EnableEventSystemGeneration)) + { + Settings.Instance.UIInputMode = + (Settings.UIModes) EditorGUILayout.EnumPopup(new GUIContent("Input Mode"), Settings.Instance.UIInputMode); + } +#endif + + settings.UnloadOnClose = + EditorGUILayout.Toggle( + new GUIContent("Unload When Closed", "Unload the debug panel from the scene when it is closed."), + settings.UnloadOnClose); + + EditorGUILayout.HelpBox( + "The panel loads again automatically when opened. You can always unload the panel by holding down the close button.", + MessageType.Info); + + settings.DisableWelcomePopup = + EditorGUILayout.Toggle( + new GUIContent("Disable Welcome Popup", "Disable the welcome popup that appears when a project with SRDebugger is opened for the first time."), + settings.DisableWelcomePopup); + + EditorGUILayout.Separator(); + + if (GUILayout.Button("Run Migrations")) + { + Migrations.RunMigrations(true); + } + + EditorGUILayout.Separator(); + + GUILayout.Label("Disable SRDebugger (beta)", SRInternalEditorUtil.Styles.InspectorHeaderStyle); + + GUILayout.Label("Disabling will exclude any SRDebugger assets and scripts from your game.", SRInternalEditorUtil.Styles.ParagraphLabel); + EditorGUILayout.HelpBox("This is an experimental feature. Please make sure your project is backed up via source control.", MessageType.Warning); + + GUILayout.Label("• " + SRDebugEditor.DisableSRDebuggerCompileDefine + " compiler define will be added to all build configurations.", SRInternalEditorUtil.Styles.ListBulletPoint); + GUILayout.Label("• Some SRDebugger folders will be renamed to prevent Unity from importing them.", SRInternalEditorUtil.Styles.ListBulletPoint); + GUILayout.Label("• Any code that interacts with SRDebugger (e.g. SROptions or SRDebug API) should use the `#if !"+ SRDebugEditor.DisableSRDebuggerCompileDefine + "` preprocessor directive.", SRInternalEditorUtil.Styles.ListBulletPoint); + GUILayout.Label("• You can enable SRDebugger again at any time.", SRInternalEditorUtil.Styles.ListBulletPoint); + + if (GUILayout.Button("Disable SRDebugger")) + { + EditorApplication.delayCall += () => + { + SRDebugEditor.SetEnabled(false); + Reset(); + }; + } + + + EditorGUILayout.EndScrollView(); + } + + #endregion + + #region Entry Code Utility + + private string GetEntryCodeString(Settings settings) + { + var entryCode = settings.EntryCode; + + if (entryCode.Count == 0) + { + settings.EntryCode = new[] {0, 0, 0, 0}; + } + + var code = ""; + + for (var i = 0; i < entryCode.Count; i++) + { + code += entryCode[i]; + } + + return code; + } + + private void UpdateEntryCode(Settings settings, string str) + { + var newCode = new List(); + + for (var i = 0; i < str.Length; i++) + { + newCode.Add(int.Parse(str[i].ToString(), NumberStyles.Integer)); + } + + settings.EntryCode = newCode; + _currentEntryCode = GetEntryCodeString(settings); + } + + #endregion + + #region Keyboard Shortcut Utility + + private Settings.KeyboardShortcut DetectDuplicateKeyboardShortcuts(Settings settings) + { + var s = settings.KeyboardShortcuts; + + return + s.FirstOrDefault( + shortcut => + s.Any( + p => + p != shortcut && p.Shift == shortcut.Shift && p.Control == shortcut.Control && + p.Alt == shortcut.Alt && + p.Key == shortcut.Key)); + } + + private void DrawKeyboardListHeaderCallback(Rect rect) + { + EditorGUI.LabelField(rect, "Keyboard Shortcuts"); + } + + private void DrawKeyboardListItemCallback(Rect rect, int index, bool isActive, bool isFocused) + { + Settings settings; + if (!SettingsReady(out settings)) + { + return; + } + + var item = settings.KeyboardShortcuts[index]; + + rect.y += 2; + + var buttonWidth = 40; + var padding = 5; + + item.Control = GUI.Toggle(new Rect(rect.x, rect.y, buttonWidth, EditorGUIUtility.singleLineHeight), + item.Control, + "Ctrl", "Button"); + rect.x += buttonWidth + padding; + rect.width -= buttonWidth + padding; + + item.Alt = GUI.Toggle(new Rect(rect.x, rect.y, buttonWidth, EditorGUIUtility.singleLineHeight), item.Alt, + "Alt", + "Button"); + rect.x += buttonWidth + padding; + rect.width -= buttonWidth + padding; + + item.Shift = GUI.Toggle(new Rect(rect.x, rect.y, buttonWidth, EditorGUIUtility.singleLineHeight), item.Shift, + "Shift", + "Button"); + rect.x += buttonWidth + padding; + rect.width -= buttonWidth + padding; + + item.Key = + (KeyCode) EditorGUI.EnumPopup(new Rect(rect.x, rect.y, 80, EditorGUIUtility.singleLineHeight), item.Key); + + rect.x += 80 + padding; + rect.width -= 80 + padding; + + item.Action = + (Settings.ShortcutActions) + EditorGUI.EnumPopup(new Rect(rect.x, rect.y, rect.width - 4, EditorGUIUtility.singleLineHeight), + item.Action); + } + + private void OnAddKeyboardListCallback(ReorderableList list) + { + Settings settings; + if (!SettingsReady(out settings)) + { + return; + } + + var shortcuts = settings.KeyboardShortcuts.ToList(); + shortcuts.Add(new Settings.KeyboardShortcut()); + + settings.KeyboardShortcuts = shortcuts; + list.list = (IList) settings.KeyboardShortcuts; + } + + private void OnRemoveKeyboardListCallback(ReorderableList list) + { + Settings settings; + if (!SettingsReady(out settings)) + { + return; + } + + var shortcuts = settings.KeyboardShortcuts.ToList(); + shortcuts.RemoveAt(list.index); + + settings.KeyboardShortcuts = shortcuts; + list.list = (IList) settings.KeyboardShortcuts; + } + + #endregion + +#endif + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Editor/SettingsWindow.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Editor/SettingsWindow.cs.meta new file mode 100644 index 0000000..805c2ae --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Editor/SettingsWindow.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 3a6cf957f3eda7b429dd0eae2cfbb40c +timeCreated: 1441902550 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Editor/StompyRobot.SRDebugger.Editor.asmdef b/Assets/StompyRobot/SRDebugger/Scripts/Editor/StompyRobot.SRDebugger.Editor.asmdef new file mode 100644 index 0000000..535847f --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Editor/StompyRobot.SRDebugger.Editor.asmdef @@ -0,0 +1,11 @@ +{ + "name": "StompyRobot.SRDebugger.Editor", + "references": [ + "StompyRobot.SRDebugger", + "StompyRobot.SRF" + ], + "includePlatforms": [ + "Editor" + ], + "excludePlatforms": [] +} \ No newline at end of file diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Editor/StompyRobot.SRDebugger.Editor.asmdef.meta b/Assets/StompyRobot/SRDebugger/Scripts/Editor/StompyRobot.SRDebugger.Editor.asmdef.meta new file mode 100644 index 0000000..6ccbaf8 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Editor/StompyRobot.SRDebugger.Editor.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 07ab30a82c1032d45ad726f7216628e8 +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Editor/WelcomeWindow.cs b/Assets/StompyRobot/SRDebugger/Scripts/Editor/WelcomeWindow.cs new file mode 100644 index 0000000..fbedfc2 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Editor/WelcomeWindow.cs @@ -0,0 +1,194 @@ +#if !DISABLE_SRDEBUGGER +using SRF; +using UnityEditor; +using UnityEngine; + +namespace SRDebugger.Editor +{ + [InitializeOnLoad] + class WelcomeWindow : EditorWindow + { + private const string WelcomeWindowPlayerPrefsKey = "SRDEBUGGER_WELCOME_SHOWN_VERSION"; + private Texture2D _demoSprite; + private Vector2 _scrollPosition; + + static WelcomeWindow() + { + EditorApplication.update += OpenUpdate; + } + + private static void OpenUpdate() + { + if (ShouldOpen()) + { + Open(); + } + + EditorApplication.update -= OpenUpdate; + } + + [MenuItem(SRDebugEditorPaths.WelcomeItemPath)] + public static void Open() + { + GetWindowWithRect(new Rect(0, 0, 449, 500), true, "SRDebugger - Welcome", true); + } + + private static bool ShouldOpen() + { + var settings = Settings.GetInstance(); + if (settings != null) + { + if (settings.DisableWelcomePopup) + { + return false; + } + } + + var hasKey = EditorPrefs.HasKey(WelcomeWindowPlayerPrefsKey); + + if (!hasKey) + { + return true; + } + + var value = EditorPrefs.GetString(WelcomeWindowPlayerPrefsKey); + + if (value != SRDebug.Version) + { + return true; + } + + return false; + } + + private void OnEnable() + { + EditorPrefs.SetString(WelcomeWindowPlayerPrefsKey, SRDebug.Version); + } + + private void OnGUI() + { + // Draw header area + SRInternalEditorUtil.BeginDrawBackground(); + SRInternalEditorUtil.DrawLogo(SRInternalEditorUtil.GetWelcomeLogo()); + SRInternalEditorUtil.EndDrawBackground(); + + // Draw header/content divider + EditorGUILayout.BeginVertical(SRInternalEditorUtil.Styles.SettingsHeaderBoxStyle); + EditorGUILayout.EndVertical(); + + _scrollPosition = EditorGUILayout.BeginScrollView(_scrollPosition); + + GUILayout.Label("Welcome", SRInternalEditorUtil.Styles.HeaderLabel); + + GUILayout.Label( + "Thank you for purchasing SRDebugger, your support is very much appreciated and we hope you find it useful for your project. " + + "This window contains a quick guide to get to help get you started with SRDebugger.", + SRInternalEditorUtil.Styles.ParagraphLabel); + + if (SRInternalEditorUtil.ClickableLabel( + "Note: For more detailed information click here to visit the online documentation." + .Fmt(SRInternalEditorUtil.Styles.LinkColour), + SRInternalEditorUtil.Styles.ParagraphLabel)) + { + Application.OpenURL(SRDebugEditorStrings.Current.SettingsDocumentationUrl); + } + + GUILayout.Label("Quick Start", SRInternalEditorUtil.Styles.HeaderLabel); + GUILayout.Label( + "Now that you have imported the package, you should find the trigger available in the top-left of your game window when in play mode. " + + "Triple-clicking this trigger will bring up the debug panel. The trigger is hidden until clicked.", + SRInternalEditorUtil.Styles.ParagraphLabel); + + GUILayout.Label( + "By default, SRDebugger loads automatically when your game starts. " + + "You can change this behaviour from the SRDebugger Settings window.", + SRInternalEditorUtil.Styles.ParagraphLabel); + + DrawVideo(); + + EditorGUILayout.Space(); + + GUILayout.Label("Customization", SRInternalEditorUtil.Styles.HeaderLabel); + + if (SRInternalEditorUtil.ClickableLabel( + "Many features of SRDebugger can be configured from the SRDebugger Settings window." + .Fmt( + SRInternalEditorUtil.Styles.LinkColour), SRInternalEditorUtil.Styles.ParagraphLabel)) + { + SRDebuggerSettingsWindow.Open(); + } + + GUILayout.Label( + "From the settings window you can configure loading behaviour, trigger position, docked tools layout, and more. " + + "You can enable the bug reporter service by using the sign-up form to get a free API key.", + SRInternalEditorUtil.Styles.ParagraphLabel); + + GUILayout.Label("What Next?", SRInternalEditorUtil.Styles.HeaderLabel); + + if (SRInternalEditorUtil.ClickableLabel( + "For more detailed information about SRDebugger's features or details about the Options Tab and script API, check the online documentation." + .Fmt(SRInternalEditorUtil.Styles.LinkColour), SRInternalEditorUtil.Styles.ParagraphLabel)) + { + Application.OpenURL(SRDebugEditorStrings.Current.SettingsDocumentationUrl); + } + + GUILayout.Label( + "Thanks again for purchasing SRDebugger. " + + "If you find it useful please consider leaving a rating or review on the Asset Store page as this helps us continue to provide updates and support to our users. ", + SRInternalEditorUtil.Styles.ParagraphLabel); + + GUILayout.Label( + "If you have any questions or concerns please do not hesitate to get in touch with us via email or the Unity forums.", + SRInternalEditorUtil.Styles.ParagraphLabel); + + SRInternalEditorUtil.DrawFooterLayout(position.width - 15); + + EditorGUILayout.EndScrollView(); + + Repaint(); + } + + private void DrawVideo() + { + if (_demoSprite == null) + { + _demoSprite = SRInternalEditorUtil.LoadResource("Editor/DemoSprite.png"); + } + + if (_demoSprite == null) + return; + + var frameWidth = 400; + var frameHeight = 300; + var framePadding = 0; + var extraFramesStart = 5; + var extraFramesEnd = 20; + var totalFrames = 29; + var fps = 16f; + + EditorGUILayout.Space(); + + EditorGUILayout.BeginHorizontal(); + + GUILayout.FlexibleSpace(); + + var rect = GUILayoutUtility.GetRect(400*0.75f, 300*0.75f, GUILayout.ExpandHeight(false), + GUILayout.ExpandWidth(false)); + + var frame = ((int) (EditorApplication.timeSinceStartup*fps))% + (totalFrames + extraFramesStart + extraFramesEnd); + frame -= extraFramesStart; + + var actualFrame = Mathf.Clamp(frame, 0, totalFrames); + + SRInternalEditorUtil.RenderGif(rect, _demoSprite, actualFrame, frameWidth, frameHeight, 5, framePadding, + framePadding); + + GUILayout.FlexibleSpace(); + + EditorGUILayout.EndHorizontal(); + } + } +} +#endif \ No newline at end of file diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Editor/WelcomeWindow.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Editor/WelcomeWindow.cs.meta new file mode 100644 index 0000000..145927e --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Editor/WelcomeWindow.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 1e35f7047e81c2247ae9a5bfd682e156 +timeCreated: 1442417928 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/IBugReporterHandler.cs b/Assets/StompyRobot/SRDebugger/Scripts/IBugReporterHandler.cs new file mode 100644 index 0000000..1cb0fe4 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/IBugReporterHandler.cs @@ -0,0 +1,65 @@ +using System; +using System.Collections.Generic; +using SRDebugger.Services; + +namespace SRDebugger +{ + public class BugReport + { + public List ConsoleLog; + + /// + /// User-entered email address + /// + public string Email; + + /// + /// Raw data of the captured screenshot (png) + /// + public byte[] ScreenshotData; + + public Dictionary> SystemInformation; + + public string UserDescription; + } + + public sealed class BugReportSubmitResult + { + public static BugReportSubmitResult Success + { + get { return new BugReportSubmitResult(true, null); } + } + + public static BugReportSubmitResult Error(string errorMessage) + { + return new BugReportSubmitResult(false, errorMessage); + } + + public bool IsSuccessful { get; } + + public string ErrorMessage { get; } + + private BugReportSubmitResult(bool successful, string error) + { + IsSuccessful = successful; + ErrorMessage = error; + } + } + + public interface IBugReporterHandler + { + /// + /// Returns true if this bug reporter handler is able to be used. + /// If false, the bug reporter tab will be hidden. + /// + bool IsUsable { get; } + + /// + /// Submit a new bug report to the handler. + /// + /// The report to be submitted. + /// Action to be invoked when the bug report is completed. + /// Callback to set the current submit progress. + void Submit(BugReport report, Action onComplete, IProgress progress); + } +} \ No newline at end of file diff --git a/Assets/StompyRobot/SRDebugger/Scripts/IBugReporterHandler.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/IBugReporterHandler.cs.meta new file mode 100644 index 0000000..dd6953c --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/IBugReporterHandler.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 28437d02794549d4fa4a84f60ad80a88 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/IOptionContainer.cs b/Assets/StompyRobot/SRDebugger/Scripts/IOptionContainer.cs new file mode 100644 index 0000000..a3b1467 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/IOptionContainer.cs @@ -0,0 +1,88 @@ +using System; +using System.Collections.Generic; + +namespace SRDebugger +{ + /// + /// You can implement this interface to create a dynamic "options container". + /// Add the container to SRDebugger via the SRDebug API. + /// + /// + /// When the container is added via the API, the initial set of options will be fetched via . + /// Options that are added or removed after this point must fire the and events in order + /// for those options to be added/removed from the debug panel. + /// If you do not intend to fire any events (i.e. this is a static container) then should return false. + /// + public interface IOptionContainer + { + /// + /// Get the initial set of options contained in this object. + /// + IEnumerable GetOptions(); + + /// + /// Will the options collection be changed via events? + /// If true, changes to the option set can be provided via the events and . + /// If false, the events will be ignored. + /// + bool IsDynamic { get; } + + event Action OptionAdded; + event Action OptionRemoved; + } + + public sealed class DynamicOptionContainer : IOptionContainer + { + public IList Options + { + get { return _optionsReadOnly; } + } + + private readonly List _options = new List(); + private readonly IList _optionsReadOnly; + + public DynamicOptionContainer() + { + _optionsReadOnly = _options.AsReadOnly(); + } + + public void AddOption(OptionDefinition option) + { + _options.Add(option); + + if (OptionAdded != null) + { + OptionAdded(option); + } + } + + public bool RemoveOption(OptionDefinition option) + { + if (_options.Remove(option)) + { + if (OptionRemoved != null) + { + OptionRemoved(option); + } + + return true; + } + + return false; + } + + IEnumerable IOptionContainer.GetOptions() + { + return _options; + } + + public bool IsDynamic + { + get { return true; } + } + + public event Action OptionAdded; + public event Action OptionRemoved; + } + +} \ No newline at end of file diff --git a/Assets/StompyRobot/SRDebugger/Scripts/IOptionContainer.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/IOptionContainer.cs.meta new file mode 100644 index 0000000..44e55e5 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/IOptionContainer.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: d4ed420ab79c4165a7b6422bd1ee91d5 +timeCreated: 1609338293 \ No newline at end of file diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Internal.meta b/Assets/StompyRobot/SRDebugger/Scripts/Internal.meta new file mode 100644 index 0000000..1179705 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Internal.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 719f45e4748815645b1df26fc728ed66 +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Internal/Api.cs b/Assets/StompyRobot/SRDebugger/Scripts/Internal/Api.cs new file mode 100644 index 0000000..1469d66 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Internal/Api.cs @@ -0,0 +1,16 @@ +namespace SRDebugger.Internal +{ + public static class SRDebugApi + { + +#if !UNITY_EDITOR + public const string Protocol = "https://"; +#else + public const string Protocol = "http://"; +#endif + + public const string EndPoint = Protocol + "srdebugger.stompyrobot.uk"; + + public const string BugReportEndPoint = EndPoint + "/report/submit"; + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Internal/Api.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Internal/Api.cs.meta new file mode 100644 index 0000000..54c659e --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Internal/Api.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5a0f930eb7b829c40a5ba3024eed594d +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Internal/ApiUtil.cs b/Assets/StompyRobot/SRDebugger/Scripts/Internal/ApiUtil.cs new file mode 100644 index 0000000..dfd5701 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Internal/ApiUtil.cs @@ -0,0 +1,96 @@ +namespace SRDebugger.Internal +{ + using System.Collections.Generic; + using System.IO; + using System.Net; + using SRF; + + public static class SRDebugApiUtil + { + public static string ParseErrorException(WebException ex) + { + if (ex.Response == null) + { + return ex.Message; + } + + try + { + var response = ReadResponseStream(ex.Response); + + return ParseErrorResponse(response); + } + catch + { + return ex.Message; + } + } + + public static string ParseErrorResponse(string response, string fallback = "Unexpected Response") + { + try + { + var jsonTable = (Dictionary) Json.Deserialize(response); + + var error = ""; + + error += jsonTable["errorMessage"]; + + object value; + + if (jsonTable.TryGetValue("errors", out value) && value is IList) + { + var errors = value as IList; + + foreach (var e in errors) + { + error += "\n"; + error += e; + } + } + + return error; + } + catch + { + if (response.Contains("")) + { + return fallback; + } + + return response; + } + } + +#if UNITY_EDITOR || (!NETFX_CORE && !UNITY_WINRT) + + public static bool ReadResponse(HttpWebRequest request, out string result) + { + try + { + var response = request.GetResponse(); + result = ReadResponseStream(response); + + return true; + } + catch (WebException e) + { + result = ParseErrorException(e); + return false; + } + } + +#endif + + public static string ReadResponseStream(WebResponse stream) + { + using (var responseSteam = stream.GetResponseStream()) + { + using (var streamReader = new StreamReader(responseSteam)) + { + return streamReader.ReadToEnd(); + } + } + } + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Internal/ApiUtil.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Internal/ApiUtil.cs.meta new file mode 100644 index 0000000..f6d8a01 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Internal/ApiUtil.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f41e06622aa4979458cf59f1a355095a +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Internal/BugReportApi.cs b/Assets/StompyRobot/SRDebugger/Scripts/Internal/BugReportApi.cs new file mode 100644 index 0000000..90d299c --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Internal/BugReportApi.cs @@ -0,0 +1,189 @@ +namespace SRDebugger.Internal +{ + using System; + using System.Collections; + using System.Collections.Generic; + using SRF; + using UnityEngine; + using System.Text; + using UnityEngine.Networking; + + class BugReportApi : MonoBehaviour + { + private string _apiKey; + private BugReport _bugReport; + private bool _isBusy; + + private UnityWebRequest _webRequest; + private Action _onComplete; + private IProgress _progress; + + public static void Submit(BugReport report, string apiKey, Action onComplete, IProgress progress) + { + var go = new GameObject("BugReportApi"); + go.transform.parent = Hierarchy.Get("SRDebugger"); + + var bugReportApi = go.AddComponent(); + bugReportApi.Init(report, apiKey, onComplete, progress); + bugReportApi.StartCoroutine(bugReportApi.Submit()); + } + + private void Init(BugReport report, string apiKey, Action onComplete, IProgress progress) + { + _bugReport = report; + _apiKey = apiKey; + _onComplete = onComplete; + _progress = progress; + } + + void Update() + { + if (_isBusy && _webRequest != null) + { + _progress.Report(_webRequest.uploadProgress); + } + } + + IEnumerator Submit() + { + if (_isBusy) + { + throw new InvalidOperationException("BugReportApi is already sending a bug report"); + } + + // Reset state + _isBusy = true; + _webRequest = null; + + string json; + byte[] jsonBytes; + + try + { + json = BuildJsonRequest(_bugReport); + jsonBytes = Encoding.UTF8.GetBytes(json); + } + catch (Exception e) + { + Debug.LogError(e); + SetCompletionState(BugReportSubmitResult.Error("Error building bug report.")); + yield break; + } + + try + { + const string jsonContentType = "application/json"; + + _webRequest = new UnityWebRequest(SRDebugApi.BugReportEndPoint, UnityWebRequest.kHttpVerbPOST, + new DownloadHandlerBuffer(), new UploadHandlerRaw(jsonBytes) + { + contentType = jsonContentType + }); + _webRequest.SetRequestHeader("Accept", jsonContentType); + _webRequest.SetRequestHeader("X-ApiKey", _apiKey); + } + catch (Exception e) + { + Debug.LogError(e); + + if (_webRequest != null) + { + _webRequest.Dispose(); + _webRequest = null; + } + } + + if (_webRequest == null) + { + SetCompletionState(BugReportSubmitResult.Error("Error building bug report request.")); + yield break; + } + + yield return _webRequest.SendWebRequest(); + +#if UNITY_2018 || UNITY_2019 + bool isError = _webRequest.isNetworkError; +#else + bool isError = _webRequest.result == UnityWebRequest.Result.ConnectionError || _webRequest.result == UnityWebRequest.Result.DataProcessingError; +#endif + + if (isError) + { + SetCompletionState(BugReportSubmitResult.Error("Request Error: " + _webRequest.error)); + _webRequest.Dispose(); + yield break; + } + + long responseCode = _webRequest.responseCode; + var responseJson = _webRequest.downloadHandler.text; + + _webRequest.Dispose(); + + if (responseCode != 200) + { + SetCompletionState(BugReportSubmitResult.Error("Server: " + SRDebugApiUtil.ParseErrorResponse(responseJson, "Unknown response from server"))); + yield break; + } + + SetCompletionState(BugReportSubmitResult.Success); + } + + private void SetCompletionState(BugReportSubmitResult result) + { + _bugReport.ScreenshotData = null; // Clear the heaviest data in case something holds onto it + _isBusy = false; + + if (!result.IsSuccessful) + { + Debug.LogError("Bug Reporter Error: " + result.ErrorMessage); + } + + Destroy(gameObject); + _onComplete(result); + } + + private static string BuildJsonRequest(BugReport report) + { + var ht = new Hashtable(); + + ht.Add("userEmail", report.Email); + ht.Add("userDescription", report.UserDescription); + + ht.Add("console", CreateConsoleDump()); + ht.Add("systemInformation", report.SystemInformation); + ht.Add("applicationIdentifier", Application.identifier); + + if (report.ScreenshotData != null) + { + ht.Add("screenshot", Convert.ToBase64String(report.ScreenshotData)); + } + var json = Json.Serialize(ht); + + return json; + } + + private static List> CreateConsoleDump() + { + var consoleLog = Service.Console.AllEntries; + var list = new List>(consoleLog.Count); + + foreach (var consoleEntry in consoleLog) + { + var entry = new List(5); + + entry.Add(consoleEntry.LogType.ToString()); + entry.Add(consoleEntry.Message); + entry.Add(consoleEntry.StackTrace); + + if (consoleEntry.Count > 1) + { + entry.Add(consoleEntry.Count.ToString()); + } + + list.Add(entry); + } + + return list; + } + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Internal/BugReportApi.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Internal/BugReportApi.cs.meta new file mode 100644 index 0000000..2235348 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Internal/BugReportApi.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: dfdfb4c8f27446b4d8aa88d3980f4c50 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Internal/BugReportScreenshotUtil.cs b/Assets/StompyRobot/SRDebugger/Scripts/Internal/BugReportScreenshotUtil.cs new file mode 100644 index 0000000..28d2810 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Internal/BugReportScreenshotUtil.cs @@ -0,0 +1,29 @@ +namespace SRDebugger.Internal +{ + using System.Collections; + using UnityEngine; + + public class BugReportScreenshotUtil + { + public static byte[] ScreenshotData; + + public static IEnumerator ScreenshotCaptureCo() + { + if (ScreenshotData != null) + { + Debug.LogWarning("[SRDebugger] Warning, overriding existing screenshot data."); + } + + yield return new WaitForEndOfFrame(); + + var tex = new Texture2D(Screen.width, Screen.height, TextureFormat.RGB24, false); + + tex.ReadPixels(new Rect(0, 0, Screen.width, Screen.height), 0, 0); + tex.Apply(); + + ScreenshotData = tex.EncodeToPNG(); + + Object.Destroy(tex); + } + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Internal/BugReportScreenshotUtil.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Internal/BugReportScreenshotUtil.cs.meta new file mode 100644 index 0000000..dc372dd --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Internal/BugReportScreenshotUtil.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 52ead462624dc0c4d80e12ce55109a26 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Internal/CircularBuffer.cs b/Assets/StompyRobot/SRDebugger/Scripts/Internal/CircularBuffer.cs new file mode 100644 index 0000000..f08de74 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Internal/CircularBuffer.cs @@ -0,0 +1,371 @@ + /* + ---------------------------------------------------------------------------- + "THE BEER-WARE LICENSE" (Revision 42): + Joao Portela wrote this file. As long as you retain this notice you + can do whatever you want with this stuff. If we meet some day, and you think + this stuff is worth it, you can buy me a beer in return. + Joao Portela + -------------------------------------------------------------------------- + * https://github.com/joaoportela/CircullarBuffer-CSharp +*/ + +namespace SRDebugger +{ + using System; + using System.Collections; + using System.Collections.Generic; + + /// + /// Circular buffer. + /// When writting to a full buffer: + /// PushBack -> removes this[0] / Front() + /// PushFront -> removes this[Size-1] / Back() + /// this implementation is inspired by + /// http://www.boost.org/doc/libs/1_53_0/libs/circular_buffer/doc/circular_buffer.html + /// because I liked their interface. + /// + public class CircularBuffer : IEnumerable, IReadOnlyList + { + private readonly T[] _buffer; + + /// + /// The _end. Index after the last element in the buffer. + /// + private int _end; + + /// + /// The _size. Buffer size. + /// + private int _count; + + /// + /// The _start. Index of the first element in buffer. + /// + private int _start; + + public CircularBuffer(int capacity) + : this(capacity, new T[] {}) {} + + /// + /// Initializes a new instance of the class. + /// + /// + /// Buffer capacity. Must be positive. + /// + /// + /// Items to fill buffer with. Items length must be less than capacity. + /// Sugestion: use Skip(x).Take(y).ToArray() to build this argument from + /// any enumerable. + /// + public CircularBuffer(int capacity, T[] items) + { + if (capacity < 1) + { + throw new ArgumentException( + "Circular buffer cannot have negative or zero capacity.", "capacity"); + } + if (items == null) + { + throw new ArgumentNullException("items"); + } + if (items.Length > capacity) + { + throw new ArgumentException( + "Too many items to fit circular buffer", "items"); + } + + _buffer = new T[capacity]; + + Array.Copy(items, _buffer, items.Length); + _count = items.Length; + + _start = 0; + _end = _count == capacity ? 0 : _count; + } + + /// + /// Maximum capacity of the buffer. Elements pushed into the buffer after + /// maximum capacity is reached (IsFull = true), will remove an element. + /// + public int Capacity + { + get { return _buffer.Length; } + } + + public bool IsFull + { + get { return Count == Capacity; } + } + + public bool IsEmpty + { + get { return Count == 0; } + } + + /// + /// Current buffer size (the number of elements that the buffer has). + /// + public int Count + { + get { return _count; } + } + + public T this[int index] + { + get + { + if (IsEmpty) + { + throw new IndexOutOfRangeException(string.Format("Cannot access index {0}. Buffer is empty", index)); + } + if (index >= _count) + { + throw new IndexOutOfRangeException(string.Format("Cannot access index {0}. Buffer size is {1}", + index, _count)); + } + var actualIndex = InternalIndex(index); + return _buffer[actualIndex]; + } + set + { + if (IsEmpty) + { + throw new IndexOutOfRangeException(string.Format("Cannot access index {0}. Buffer is empty", index)); + } + if (index >= _count) + { + throw new IndexOutOfRangeException(string.Format("Cannot access index {0}. Buffer size is {1}", + index, _count)); + } + var actualIndex = InternalIndex(index); + _buffer[actualIndex] = value; + } + } + + public void Clear() + { + _count = 0; + _start = 0; + _end = 0; + } + + #region IEnumerable implementation + + public IEnumerator GetEnumerator() + { + var segments = new ArraySegment[2] {ArrayOne(), ArrayTwo()}; + foreach (var segment in segments) + { + for (var i = 0; i < segment.Count; i++) + { + yield return segment.Array[segment.Offset + i]; + } + } + } + + #endregion + + #region IEnumerable implementation + + IEnumerator IEnumerable.GetEnumerator() + { + return GetEnumerator(); + } + + #endregion + + #region IList implementation + + + + #endregion + + /// + /// Element at the front of the buffer - this[0]. + /// + /// The value of the element of type T at the front of the buffer. + public T Front() + { + ThrowIfEmpty(); + return _buffer[_start]; + } + + /// + /// Element at the back of the buffer - this[Size - 1]. + /// + /// The value of the element of type T at the back of the buffer. + public T Back() + { + ThrowIfEmpty(); + return _buffer[(_end != 0 ? _end : _count) - 1]; + } + + /// + /// Pushes a new element to the back of the buffer. Back()/this[Size-1] + /// will now return this element. + /// When the buffer is full, the element at Front()/this[0] will be + /// popped to allow for this new element to fit. + /// + /// Item to push to the back of the buffer + public void PushBack(T item) + { + if (IsFull) + { + _buffer[_end] = item; + Increment(ref _end); + _start = _end; + } + else + { + _buffer[_end] = item; + Increment(ref _end); + ++_count; + } + } + + /// + /// Pushes a new element to the front of the buffer. Front()/this[0] + /// will now return this element. + /// When the buffer is full, the element at Back()/this[Size-1] will be + /// popped to allow for this new element to fit. + /// + /// Item to push to the front of the buffer + public void PushFront(T item) + { + if (IsFull) + { + Decrement(ref _start); + _end = _start; + _buffer[_start] = item; + } + else + { + Decrement(ref _start); + _buffer[_start] = item; + ++_count; + } + } + + /// + /// Removes the element at the back of the buffer. Decreassing the + /// Buffer size by 1. + /// + public void PopBack() + { + ThrowIfEmpty("Cannot take elements from an empty buffer."); + Decrement(ref _end); + _buffer[_end] = default(T); + --_count; + } + + /// + /// Removes the element at the front of the buffer. Decreassing the + /// Buffer size by 1. + /// + public void PopFront() + { + ThrowIfEmpty("Cannot take elements from an empty buffer."); + _buffer[_start] = default(T); + Increment(ref _start); + --_count; + } + + /// + /// Copies the buffer contents to an array, acording to the logical + /// contents of the buffer (i.e. independent of the internal + /// order/contents) + /// + /// A new array with a copy of the buffer contents. + public T[] ToArray() + { + var newArray = new T[Count]; + var newArrayOffset = 0; + var segments = new ArraySegment[2] {ArrayOne(), ArrayTwo()}; + foreach (var segment in segments) + { + Array.Copy(segment.Array, segment.Offset, newArray, newArrayOffset, segment.Count); + newArrayOffset += segment.Count; + } + return newArray; + } + + private void ThrowIfEmpty(string message = "Cannot access an empty buffer.") + { + if (IsEmpty) + { + throw new InvalidOperationException(message); + } + } + + /// + /// Increments the provided index variable by one, wrapping + /// around if necessary. + /// + /// + private void Increment(ref int index) + { + if (++index == Capacity) + { + index = 0; + } + } + + /// + /// Decrements the provided index variable by one, wrapping + /// around if necessary. + /// + /// + private void Decrement(ref int index) + { + if (index == 0) + { + index = Capacity; + } + index--; + } + + /// + /// Converts the index in the argument to an index in _buffer + /// + /// + /// The transformed index. + /// + /// + /// External index. + /// + private int InternalIndex(int index) + { + return _start + (index < (Capacity - _start) ? index : index - Capacity); + } + + // doing ArrayOne and ArrayTwo methods returning ArraySegment as seen here: + // http://www.boost.org/doc/libs/1_37_0/libs/circular_buffer/doc/circular_buffer.html#classboost_1_1circular__buffer_1957cccdcb0c4ef7d80a34a990065818d + // http://www.boost.org/doc/libs/1_37_0/libs/circular_buffer/doc/circular_buffer.html#classboost_1_1circular__buffer_1f5081a54afbc2dfc1a7fb20329df7d5b + // should help a lot with the code. + + #region Array items easy access. + + // The array is composed by at most two non-contiguous segments, + // the next two methods allow easy access to those. + + private ArraySegment ArrayOne() + { + if (_start <= _end) + { + return new ArraySegment(_buffer, _start, _end - _start); + } + return new ArraySegment(_buffer, _start, _buffer.Length - _start); + } + + private ArraySegment ArrayTwo() + { + if (_start < _end) + { + return new ArraySegment(_buffer, _end, 0); + } + return new ArraySegment(_buffer, 0, _end); + } + + #endregion + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Internal/CircularBuffer.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Internal/CircularBuffer.cs.meta new file mode 100644 index 0000000..c6e2c84 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Internal/CircularBuffer.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 39fd981a95abcb647a9c6ecd52007e71 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Internal/EditorUtil.cs b/Assets/StompyRobot/SRDebugger/Scripts/Internal/EditorUtil.cs new file mode 100644 index 0000000..c99d58a --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Internal/EditorUtil.cs @@ -0,0 +1,4 @@ +/* + * This file has been deleted. + * This empty file is left here to ensure it is properly overwritten when importing a new version of the package over an old version. + */ \ No newline at end of file diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Internal/EditorUtil.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Internal/EditorUtil.cs.meta new file mode 100644 index 0000000..63fa5b4 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Internal/EditorUtil.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f809cd2d9d5ae074cbecca0ab4d472b6 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Internal/InternalBugReporterHandler.cs b/Assets/StompyRobot/SRDebugger/Scripts/Internal/InternalBugReporterHandler.cs new file mode 100644 index 0000000..233b11d --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Internal/InternalBugReporterHandler.cs @@ -0,0 +1,23 @@ +using System; +using SRF; +using SRF.Service; + +namespace SRDebugger.Internal +{ + /// + /// The default bug report handler - this submits to the SRDebugger API using the API key configured in the SRDebugger + /// settings window. + /// + internal class InternalBugReporterHandler : IBugReporterHandler + { + public bool IsUsable + { + get { return Settings.Instance.EnableBugReporter && !string.IsNullOrWhiteSpace(Settings.Instance.ApiKey); } + } + + public void Submit(BugReport report, Action onComplete, IProgress progress) + { + BugReportApi.Submit(report, Settings.Instance.ApiKey, onComplete, progress); + } + } +} \ No newline at end of file diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Internal/InternalBugReporterHandler.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Internal/InternalBugReporterHandler.cs.meta new file mode 100644 index 0000000..548ad67 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Internal/InternalBugReporterHandler.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f424b0a8b303d9843b15a6bf70ebf4ea +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Internal/InternalOptionsRegistry.cs b/Assets/StompyRobot/SRDebugger/Scripts/Internal/InternalOptionsRegistry.cs new file mode 100644 index 0000000..a903598 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Internal/InternalOptionsRegistry.cs @@ -0,0 +1,42 @@ +using System; +using System.Collections.Generic; +using SRF.Service; + +namespace SRDebugger.Internal +{ + /// + /// Workaround for the debug panel not being initialized on startup. + /// SROptions needs to register itself but not cause auto-initialization. + /// This class buffers requests to register contains until there is a handler in place to deal with them. + /// Once the handler is in place, all buffered requests are passed in and future requests invoke the handler directly. + /// + [Service(typeof(InternalOptionsRegistry))] + public sealed class InternalOptionsRegistry + { + private List _registeredContainers = new List(); + private Action _handler; + + public void AddOptionContainer(object obj) + { + if (_handler != null) + { + _handler(obj); + return; + } + + _registeredContainers.Add(obj); + } + + public void SetHandler(Action action) + { + _handler = action; + + foreach (object o in _registeredContainers) + { + _handler(o); + } + + _registeredContainers = null; + } + } +} \ No newline at end of file diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Internal/InternalOptionsRegistry.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Internal/InternalOptionsRegistry.cs.meta new file mode 100644 index 0000000..5109aac --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Internal/InternalOptionsRegistry.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 12f482545d1833a4e823d79898cb46ff +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Internal/OptionControlFactory.cs b/Assets/StompyRobot/SRDebugger/Scripts/Internal/OptionControlFactory.cs new file mode 100644 index 0000000..3aa0845 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Internal/OptionControlFactory.cs @@ -0,0 +1,174 @@ +namespace SRDebugger.Internal +{ + using System; + using System.Collections.Generic; + using System.Linq; + using SRF; + using UI.Controls; + using UI.Controls.Data; + using UnityEngine; + using Object = UnityEngine.Object; + + public static class OptionControlFactory + { + private static IList _dataControlPrefabs; + private static ActionControl _actionControlPrefab; + + private static readonly Dictionary TypeCache = new Dictionary(); + + public static bool CanCreateControl(OptionDefinition from) + { + PopulateDataControlPrefabs(); + if (from.Property != null) + { + return TryGetDataControlPrefab(from) != null; + } + else + { + return _actionControlPrefab != null; + } + } + + /// + /// Create a control from an OptionDefinition, optionally providing to remove + /// the category name from the start of the control. + /// + /// + /// + /// + public static OptionsControlBase CreateControl(OptionDefinition from, string categoryPrefix = null) + { + PopulateDataControlPrefabs(); + + if (from.Property != null) + { + return CreateDataControl(from, categoryPrefix); + } + + if (from.Method != null) + { + return CreateActionControl(from, categoryPrefix); + } + + throw new Exception("OptionDefinition did not contain property or method."); + } + + private static void PopulateDataControlPrefabs() + { + if (_dataControlPrefabs == null) + { + _dataControlPrefabs = Resources.LoadAll(SRDebugPaths.DataControlsResourcesPath); + } + + if (_actionControlPrefab == null) + { + _actionControlPrefab = + Resources.LoadAll(SRDebugPaths.DataControlsResourcesPath).FirstOrDefault(); + } + + if (_actionControlPrefab == null) + { + Debug.LogError("[SRDebugger.Options] Cannot find ActionControl prefab."); + } + } + + private static ActionControl CreateActionControl(OptionDefinition from, string categoryPrefix = null) + { + var control = SRInstantiate.Instantiate(_actionControlPrefab); + + if (control == null) + { + Debug.LogWarning("[SRDebugger.OptionsTab] Error creating action control from prefab"); + return null; + } + + control.SetMethod(from.Name, from.Method); + control.Option = from; + + return control; + } + + private static DataBoundControl CreateDataControl(OptionDefinition from, string categoryPrefix = null) + { + var prefab = TryGetDataControlPrefab(from); + + if (prefab == null) + { + Debug.LogWarning( + "[SRDebugger.OptionsTab] Can't find data control for type {0}".Fmt(from.Property.PropertyType)); + return null; + } + + var instance = SRInstantiate.Instantiate(prefab); + + try + { + var n = from.Name; + + // Remove category name from the start of the property name + if (!string.IsNullOrEmpty(categoryPrefix) && n.StartsWith(categoryPrefix)) + { + n = n.Substring(categoryPrefix.Length); + } + + instance.Bind(n, from.Property); + instance.Option = from; + } + catch (Exception e) + { + Debug.LogError("[SRDebugger.Options] Error binding to property {0}".Fmt(from.Name)); + Debug.LogException(e); + + Object.Destroy(instance); + instance = null; + } + + return instance; + } + + private static DataBoundControl TryGetDataControlPrefab(OptionDefinition from) + { + OptionType type = new OptionType(@from.Property.PropertyType, !@from.Property.CanWrite); + + DataBoundControl control; + if (!TypeCache.TryGetValue(type, out control)) + { + control = _dataControlPrefabs.FirstOrDefault(p => + p.CanBind(@from.Property.PropertyType, !@from.Property.CanWrite)); + TypeCache.Add(type, control); + } + + return control; + } + + private struct OptionType + { + public readonly Type Type; + public readonly bool IsReadyOnly; + + public OptionType(Type type, bool isReadyOnly) + { + Type = type; + IsReadyOnly = isReadyOnly; + } + + public bool Equals(OptionType other) + { + return Equals(Type, other.Type) && IsReadyOnly == other.IsReadyOnly; + } + + public override bool Equals(object obj) + { + return obj is OptionType other && Equals(other); + } + + public override int GetHashCode() + { + unchecked + { + return ((Type != null ? Type.GetHashCode() : 0) * 397) ^ IsReadyOnly.GetHashCode(); + } + } + } + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Internal/OptionControlFactory.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Internal/OptionControlFactory.cs.meta new file mode 100644 index 0000000..69a0963 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Internal/OptionControlFactory.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0d6e807b7446052409d51e03ab38cfae +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Internal/OptionDefinition.cs b/Assets/StompyRobot/SRDebugger/Scripts/Internal/OptionDefinition.cs new file mode 100644 index 0000000..24cc1e3 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Internal/OptionDefinition.cs @@ -0,0 +1,93 @@ +using System; +using SRF.Helpers; + +namespace SRDebugger +{ + /// + /// Class describing how an option should be presented within the options panel. + /// + public sealed class OptionDefinition + { + /// + /// Display-name for the option. + /// + public string Name { get; private set; } + + /// + /// The category that this option should be placed within. + /// + public string Category { get; private set; } + + /// + /// Sort order within the category. Order is low to high, (options with lower SortPriority will appear before + /// options with higher SortPriority). + /// + public int SortPriority { get; private set; } + + /// + /// Whether this option is a method that should be invoked. + /// + public bool IsMethod + { + get { return Method != null; } + } + + /// + /// Whether this option is a property that has a value. + /// + public bool IsProperty + { + get { return Property != null; } + } + + /// + /// The underlying method for this OptionDefinition. + /// Can be null if is false. + /// + public SRF.Helpers.MethodReference Method { get; private set; } + + /// + /// The underlying property for this OptionDefinition. + /// Can be null if is false. + /// + public SRF.Helpers.PropertyReference Property { get; private set; } + + private OptionDefinition(string name, string category, int sortPriority) + { + Name = name; + Category = category; + SortPriority = sortPriority; + } + + public OptionDefinition(string name, string category, int sortPriority, SRF.Helpers.MethodReference method) + : this(name, category, sortPriority) + { + Method = method; + } + + public OptionDefinition(string name, string category, int sortPriority, SRF.Helpers.PropertyReference property) + : this(name, category, sortPriority) + { + Property = property; + } + + public static OptionDefinition FromMethod(string name, Action callback, string category = "Default", int sortPriority = 0) + { + return new OptionDefinition(name, category, sortPriority, callback);; + } + + /// + /// Create an option definition from a setter and getter lambda. + /// + /// Name to display in options menu. + /// Method to get the current value of the property. + /// Method to set the value of the property (can be null if read-only) + /// Category to display the option in. + /// Sort priority to arrange the option within the category. + /// The created option definition. + public static OptionDefinition Create(string name, Func getter, Action setter = null, string category = "Default", int sortPriority = 0) + { + return new OptionDefinition(name, category, sortPriority, PropertyReference.FromLambda(getter, setter)); + } + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Internal/OptionDefinition.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Internal/OptionDefinition.cs.meta new file mode 100644 index 0000000..6c6e395 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Internal/OptionDefinition.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c6fb9bd71eceb4145a013bb7fe025c01 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Internal/Paths.cs b/Assets/StompyRobot/SRDebugger/Scripts/Internal/Paths.cs new file mode 100644 index 0000000..34ba888 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Internal/Paths.cs @@ -0,0 +1,14 @@ +namespace SRDebugger.Internal +{ + public static class SRDebugPaths + { + public const string DataControlsResourcesPath = "SRDebugger/UI/Prefabs/Options"; + public const string TriggerPrefabPath = "SRDebugger/UI/Prefabs/Trigger"; + public const string DebugPanelPrefabPath = "SRDebugger/UI/Prefabs/DebugPanel"; + public const string PinnedUIPrefabPath = "SRDebugger/UI/Prefabs/PinnedUI"; + public const string DockConsolePrefabPath = "SRDebugger/UI/Prefabs/DockConsole"; + public const string PinEntryPrefabPath = "SRDebugger/UI/Prefabs/PinEntry"; + public const string BugReportPopoverPath = "SRDebugger/UI/Prefabs/BugReportPopover"; + public const string BugReportSheetPath = "SRDebugger/UI/Prefabs/BugReportSheet"; + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Internal/Paths.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Internal/Paths.cs.meta new file mode 100644 index 0000000..9b3b34f --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Internal/Paths.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 487af04ceed59b6409168c2d466c2f73 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Internal/SRScriptRecompileHelper.cs b/Assets/StompyRobot/SRDebugger/Scripts/Internal/SRScriptRecompileHelper.cs new file mode 100644 index 0000000..c14b340 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Internal/SRScriptRecompileHelper.cs @@ -0,0 +1,73 @@ +#if UNITY_EDITOR +using UnityEngine; + +namespace SRDebugger.Scripts.Internal +{ + /// + /// Behaviour that supports SRDebugger reloading itself after a script recompile is detected. + /// + public class SRScriptRecompileHelper : MonoBehaviour + { + private static SRScriptRecompileHelper _instance; + + [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)] + public static void Initialize() + { + if (_instance != null) + { + return; + } + + var go = new GameObject("SRDebugger Script Recompile Helper (Editor Only)"); + DontDestroyOnLoad(go); + go.hideFlags = HideFlags.DontSave | HideFlags.HideInHierarchy; + go.AddComponent(); + } + + private bool _hasEnabled; + private bool _srdebuggerHasInitialized; + + void OnEnable() + { + if(_instance != null) + { + Destroy(gameObject); + return; + } + + _instance = this; + + // Don't take any action on the first OnEnable() + if (!_hasEnabled) + { + _hasEnabled = true; + return; + } + + // Next OnEnable() will be due to script reload. + AutoInitialize.OnLoadBeforeScene(); + + if (_srdebuggerHasInitialized) + { + Debug.Log("[SRScriptRecompileHelper] Restoring SRDebugger after script reload.", this); + SRDebug.Init(); + } + } + + void OnApplicationQuit() + { + // Destroy this object when leaving play mode (otherwise it will linger and a new instance will be created next time play mode is entered). + Destroy(gameObject); + } + + public static void SetHasInitialized() + { + if (_instance == null) + { + Initialize(); + } + _instance._srdebuggerHasInitialized = true; + } + } +} +#endif \ No newline at end of file diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Internal/SRScriptRecompileHelper.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Internal/SRScriptRecompileHelper.cs.meta new file mode 100644 index 0000000..9b13360 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Internal/SRScriptRecompileHelper.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5cb2b7903b1672544b02d628ac0c1dfd +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 24000 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Internal/Service.cs b/Assets/StompyRobot/SRDebugger/Scripts/Internal/Service.cs new file mode 100644 index 0000000..8893dae --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Internal/Service.cs @@ -0,0 +1,122 @@ +namespace SRDebugger.Internal +{ + using Services; + using SRF.Service; + + public static class Service + { + private static IConsoleService _consoleService; + private static IDebugPanelService _debugPanelService; + private static IDebugTriggerService _debugTriggerService; + private static IPinnedUIService _pinnedUiService; + private static IDebugCameraService _debugCameraService; + private static IOptionsService _optionsService; + private static IDockConsoleService _dockConsoleService; + +#if UNITY_EDITOR && ((!UNITY_2017 && !UNITY_2018 && !UNITY_2019) || UNITY_2019_3_OR_NEWER) + [UnityEngine.RuntimeInitializeOnLoadMethod(UnityEngine.RuntimeInitializeLoadType.SubsystemRegistration)] + public static void RuntimeInitialize() + { + // Clear service references at startup in case of "enter play mode without domain reload" + _consoleService = null; + _debugPanelService = null; + _debugTriggerService = null; + _pinnedUiService = null; + _debugCameraService = null; + _optionsService = null; + _dockConsoleService = null; + } +#endif + + public static IConsoleService Console + { + get + { + if (_consoleService == null) + { + _consoleService = SRServiceManager.GetService(); + } + + return _consoleService; + } + } + + public static IDockConsoleService DockConsole + { + get + { + if (_dockConsoleService == null) + { + _dockConsoleService = SRServiceManager.GetService(); + } + + return _dockConsoleService; + } + } + + public static IDebugPanelService Panel + { + get + { + if (_debugPanelService == null) + { + _debugPanelService = SRServiceManager.GetService(); + } + + return _debugPanelService; + } + } + + public static IDebugTriggerService Trigger + { + get + { + if (_debugTriggerService == null) + { + _debugTriggerService = SRServiceManager.GetService(); + } + + return _debugTriggerService; + } + } + + public static IPinnedUIService PinnedUI + { + get + { + if (_pinnedUiService == null) + { + _pinnedUiService = SRServiceManager.GetService(); + } + + return _pinnedUiService; + } + } + + public static IDebugCameraService DebugCamera + { + get + { + if (_debugCameraService == null) + { + _debugCameraService = SRServiceManager.GetService(); + } + + return _debugCameraService; + } + } + + public static IOptionsService Options + { + get + { + if (_optionsService == null) + { + _optionsService = SRServiceManager.GetService(); + } + + return _optionsService; + } + } + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Internal/Service.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Internal/Service.cs.meta new file mode 100644 index 0000000..e201c5e --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Internal/Service.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: fe213cfca7e22e844abfd16c258dd08e +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Internal/Strings.cs b/Assets/StompyRobot/SRDebugger/Scripts/Internal/Strings.cs new file mode 100644 index 0000000..5e50c74 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Internal/Strings.cs @@ -0,0 +1,24 @@ +namespace SRDebugger.Internal +{ + public class SRDebugStrings + { + public static readonly SRDebugStrings Current = new SRDebugStrings(); + public readonly string Console_MessageTruncated = "-- Message Truncated --"; + public readonly string Console_NoStackTrace = "-- No Stack Trace Available --"; + public readonly string PinEntryPrompt = "Enter code to open debug panel"; + + public readonly string Profiler_DisableProfilerInfo = + "Unity profiler is currently enabled. Disable to improve performance."; + + public readonly string Profiler_EnableProfilerInfo = + "Unity profiler is currently disabled. Enable to show more information."; + + public readonly string Profiler_NoProInfo = + "Unity profiler is currently disabled. Unity Pro is required to enable it."; + + public readonly string Profiler_NotSupported = "Unity profiler is not supported in this build."; + + public readonly string ProfilerCameraListenerHelp = + "This behaviour is attached by the SRDebugger profiler to calculate render times."; + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Internal/Strings.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Internal/Strings.cs.meta new file mode 100644 index 0000000..b8587b5 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Internal/Strings.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 34bc872e688c2eb4ca1794728e6ff4fd +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Internal/Util.cs b/Assets/StompyRobot/SRDebugger/Scripts/Internal/Util.cs new file mode 100644 index 0000000..bf80735 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Internal/Util.cs @@ -0,0 +1,233 @@ +using System.Diagnostics; + +namespace SRDebugger.Internal +{ + using System.Collections.Generic; + using System.ComponentModel; + using System.Reflection; + using SRF.Helpers; + using UnityEngine; + using UnityEngine.EventSystems; + + public static class SRDebuggerUtil + { + public static bool IsMobilePlatform + { + get + { + if (Application.isMobilePlatform) + { + return true; + } + + switch (Application.platform) + { +#if UNITY_5 || UNITY_5_3_OR_NEWER + case RuntimePlatform.WSAPlayerARM: + case RuntimePlatform.WSAPlayerX64: + case RuntimePlatform.WSAPlayerX86: +#else + case RuntimePlatform.MetroPlayerARM: + case RuntimePlatform.MetroPlayerX64: + case RuntimePlatform.MetroPlayerX86: +#endif + return true; + + default: + return false; + } + } + } + + /// + /// If no event system exists, create one + /// + /// True if the event system was created as a result of this call + public static bool EnsureEventSystemExists() + { + if (!Settings.Instance.EnableEventSystemGeneration) + { + return false; + } + + if (EventSystem.current != null) + { + return false; + } + + var e = Object.FindObjectOfType(); + + // Check if EventSystem is in the scene but not registered yet + if (e != null && e.gameObject.activeSelf && e.enabled) + { + return false; + } + + Debug.LogWarning("[SRDebugger] No EventSystem found in scene - creating a default one. Disable this behaviour in Window -> SRDebugger -> Settings Window -> Advanced)"); + + CreateDefaultEventSystem(); + return true; + } + + public static void CreateDefaultEventSystem() + { + var go = new GameObject("EventSystem (Created by SRDebugger, disable in Window -> SRDebugger -> Settings Window -> Advanced)"); + go.AddComponent(); + +#if ENABLE_INPUT_SYSTEM && ENABLE_LEGACY_INPUT_MANAGER + switch (Settings.Instance.UIInputMode) + { + case Settings.UIModes.NewInputSystem: + AddInputSystem(go); + Debug.LogWarning("[SRDebugger] Automatically generated EventSystem is using Unity Input System (can be changed to use Legacy Input in Window -> SRDebugger -> Settings Window -> Advanced)"); + break; + case Settings.UIModes.LegacyInputSystem: + AddLegacyInputSystem(go); + Debug.LogWarning("[SRDebugger] Automatically generated EventSystem is using Legacy Input (can be changed to use Unity Input System in Window -> SRDebugger -> Settings Window -> Advanced)"); + break; + } +#elif ENABLE_INPUT_SYSTEM + AddInputSystem(go); +#elif ENABLE_LEGACY_INPUT_MANAGER || (!ENABLE_INPUT_SYSTEM && !UNITY_2019_3_OR_NEWER) + AddLegacyInputSystem(go); +#endif + } + +#if ENABLE_INPUT_SYSTEM + private static void AddInputSystem(GameObject go) + { + go.AddComponent(); + + // Disable/re-enable to force some initialization. + // fix for input not being recognized until component is toggled off then on + go.SetActive(false); + go.SetActive(true); + } +#endif + +#if ENABLE_LEGACY_INPUT_MANAGER || (!ENABLE_INPUT_SYSTEM && !UNITY_2019_3_OR_NEWER) + private static void AddLegacyInputSystem(GameObject go) + { + go.AddComponent(); + } +#endif + + /// + /// Scan for valid options and return a collection of them. + /// + /// + /// + public static List ScanForOptions(object obj) + { + var options = new List(); + +#if NETFX_CORE + var members = obj.GetType().GetTypeInfo().DeclaredMembers; +#else + + var members = + obj.GetType().GetMembers(BindingFlags.Instance | BindingFlags.Public | BindingFlags.GetProperty | + BindingFlags.SetProperty | BindingFlags.InvokeMethod); + +#endif + + var ignoreAssembly = typeof(MonoBehaviour).Assembly; + + foreach (var memberInfo in members) + { + // Skip any properties that are from built-in Unity types (e.g. Behaviour, MonoBehaviour) + if (memberInfo.DeclaringType != null && memberInfo.DeclaringType.Assembly == ignoreAssembly) + { + continue; + } + + var browsable = memberInfo.GetCustomAttribute(); + if (browsable != null) + { + if (!browsable.Browsable) + continue; + } + + // Find user-specified category name from attribute + var categoryAttribute = SRReflection.GetAttribute(memberInfo); + var category = categoryAttribute == null ? "Default" : categoryAttribute.Category; + + // Find user-specified sorting priority from attribute + var sortAttribute = SRReflection.GetAttribute(memberInfo); + var sortPriority = sortAttribute == null ? 0 : sortAttribute.SortPriority; + + // Find user-specified display name from attribute + var nameAttribute = SRReflection.GetAttribute(memberInfo); + var name = nameAttribute == null ? memberInfo.Name : nameAttribute.DisplayName; + + if (memberInfo is PropertyInfo) + { + var propertyInfo = memberInfo as PropertyInfo; + + // Only allow properties with public read/write +#if NETFX_CORE + if(propertyInfo.GetMethod == null) + continue; + + // Ignore static members + if (propertyInfo.GetMethod.IsStatic) + continue; +#else + if (propertyInfo.GetGetMethod() == null) + { + continue; + } + + // Ignore static members + if ((propertyInfo.GetGetMethod().Attributes & MethodAttributes.Static) != 0) + { + continue; + } +#endif + + options.Add(new OptionDefinition(name, category, sortPriority, + new SRF.Helpers.PropertyReference(obj, propertyInfo))); + } + else if (memberInfo is MethodInfo) + { + var methodInfo = memberInfo as MethodInfo; + + if (methodInfo.IsStatic) + { + continue; + } + + // Skip methods with parameters or non-void return type + if (methodInfo.ReturnType != typeof (void) || methodInfo.GetParameters().Length > 0) + { + continue; + } + + options.Add(new OptionDefinition(name, category, sortPriority, + new SRF.Helpers.MethodReference(obj, methodInfo))); + } + } + + return options; + } + + public static string GetNumberString(int value, int max, string exceedsMaxString) + { + if (value >= max) + { + return exceedsMaxString; + } + + return value.ToString(); + } + + public static void ConfigureCanvas(Canvas canvas) + { + if (Settings.Instance.UseDebugCamera) + { + canvas.worldCamera = Service.DebugCamera.Camera; + canvas.renderMode = RenderMode.ScreenSpaceCamera; + } + } + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Internal/Util.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Internal/Util.cs.meta new file mode 100644 index 0000000..5c11d0f --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Internal/Util.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0e0f09d4b116f524381461f865525607 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Profiler.meta b/Assets/StompyRobot/SRDebugger/Scripts/Profiler.meta new file mode 100644 index 0000000..bb863d3 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Profiler.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: bca87b44250eab3469ec77e0848afc2e +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Profiler/ProfilerCameraListener.cs b/Assets/StompyRobot/SRDebugger/Scripts/Profiler/ProfilerCameraListener.cs new file mode 100644 index 0000000..c99d58a --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Profiler/ProfilerCameraListener.cs @@ -0,0 +1,4 @@ +/* + * This file has been deleted. + * This empty file is left here to ensure it is properly overwritten when importing a new version of the package over an old version. + */ \ No newline at end of file diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Profiler/ProfilerCameraListener.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Profiler/ProfilerCameraListener.cs.meta new file mode 100644 index 0000000..3f170fb --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Profiler/ProfilerCameraListener.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3172283e0204f3e47968b9f791c5a2df +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Profiler/ProfilerLateUpdateListener.cs b/Assets/StompyRobot/SRDebugger/Scripts/Profiler/ProfilerLateUpdateListener.cs new file mode 100644 index 0000000..d8f60e2 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Profiler/ProfilerLateUpdateListener.cs @@ -0,0 +1,22 @@ +namespace SRDebugger.Profiler +{ + using System; + using UnityEngine; + + /// + /// The profiler has a separate monobehaviour to listen for LateUpdate, and is placed + /// at the end of the script execution order. + /// + public class ProfilerLateUpdateListener : MonoBehaviour + { + public Action OnLateUpdate; + + private void LateUpdate() + { + if (OnLateUpdate != null) + { + OnLateUpdate(); + } + } + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Profiler/ProfilerLateUpdateListener.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Profiler/ProfilerLateUpdateListener.cs.meta new file mode 100644 index 0000000..03db3f7 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Profiler/ProfilerLateUpdateListener.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 21048b348f7dc284ab97209ec32253c4 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 32001 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Profiler/ProfilerServiceImpl.cs b/Assets/StompyRobot/SRDebugger/Scripts/Profiler/ProfilerServiceImpl.cs new file mode 100644 index 0000000..0f0ca66 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Profiler/ProfilerServiceImpl.cs @@ -0,0 +1,128 @@ +namespace SRDebugger.Profiler +{ + using System.Diagnostics; + using Services; + using SRF; + using SRF.Service; + using UnityEngine; + + public class ProfilerServiceImpl : SRServiceBase, IProfilerService + { + public float AverageFrameTime { get; private set; } + public float LastFrameTime { get; private set; } + + public CircularBuffer FrameBuffer + { + get { return _frameBuffer; } + } + + private const int FrameBufferSize = 400; + + private readonly CircularBuffer + _frameBuffer = new CircularBuffer(FrameBufferSize); + + private ProfilerLateUpdateListener _lateUpdateListener; + + private readonly Stopwatch _stopwatch = new Stopwatch(); + + // Time between first Update() and last LateUpdate(). + private double _updateDuration; + + // Time that first camera rendered. + private double _renderStartTime; + + // Time between first camera prerender and last camera postrender. + private double _renderDuration; + + private int _camerasThisFrame; + + protected override void Awake() + { + base.Awake(); + _lateUpdateListener = gameObject.AddComponent(); + _lateUpdateListener.OnLateUpdate = OnLateUpdate; + + CachedGameObject.hideFlags = HideFlags.NotEditable; + CachedTransform.SetParent(Hierarchy.Get("SRDebugger"), true); + + Camera.onPreRender += OnCameraPreRender; + Camera.onPostRender += OnCameraPostRender; + } + + protected override void Update() + { + base.Update(); + + _camerasThisFrame = 0; + + EndFrame(); + + // Set the frame time for the last frame + if (FrameBuffer.Count > 0) + { + var frame = FrameBuffer.Back(); + frame.FrameTime = Time.unscaledDeltaTime; + FrameBuffer[FrameBuffer.Count - 1] = frame; + } + + LastFrameTime = Time.unscaledDeltaTime; + + var frameCount = Mathf.Min(20, FrameBuffer.Count); + + var f = 0d; + for (var i = 0; i < frameCount; i++) + { + f += FrameBuffer[FrameBuffer.Count - 1 - i].FrameTime; + } + + AverageFrameTime = (float) f / frameCount; + + _stopwatch.Start(); + } + + protected void PushFrame(double totalTime, double updateTime, double renderTime) + { + //UnityEngine.Debug.Log("Frame: u: {0} r: {1}".Fmt(updateTime, renderTime)); + + _frameBuffer.PushBack(new ProfilerFrame + { + OtherTime = totalTime - updateTime - renderTime, + UpdateTime = updateTime, + RenderTime = renderTime + }); + } + + private void OnLateUpdate() + { + _updateDuration = _stopwatch.Elapsed.TotalSeconds; + } + + private void OnCameraPreRender(Camera cam) + { + if (_camerasThisFrame == 0) + { + _renderStartTime = _stopwatch.Elapsed.TotalSeconds; + } + + _camerasThisFrame++; + } + + private void OnCameraPostRender(Camera cam) + { + _renderDuration = _stopwatch.Elapsed.TotalSeconds - _renderStartTime; + } + + private void EndFrame() + { + if (_stopwatch.IsRunning) + { + PushFrame(_stopwatch.Elapsed.TotalSeconds, _updateDuration, _renderDuration); + + _stopwatch.Reset(); + _stopwatch.Start(); + } + + _updateDuration = _renderDuration = 0; + } + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Profiler/ProfilerServiceImpl.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Profiler/ProfilerServiceImpl.cs.meta new file mode 100644 index 0000000..44df4f7 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Profiler/ProfilerServiceImpl.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ff0319556f3fbc341b877ff4b1ff94ba +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: -32000 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Profiler/SRPProfilerService.cs b/Assets/StompyRobot/SRDebugger/Scripts/Profiler/SRPProfilerService.cs new file mode 100644 index 0000000..998a3cb --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Profiler/SRPProfilerService.cs @@ -0,0 +1,139 @@ +#if UNITY_2018_1_OR_NEWER + +namespace SRDebugger.Profiler +{ + using System.Collections; + using System.Diagnostics; + using SRDebugger.Services; + using SRF; + using SRF.Service; + using UnityEngine; +#if UNITY_2019_3_OR_NEWER + using UnityEngine.Rendering; +#else + using UnityEngine.Experimental.Rendering; +#endif + + public class SRPProfilerService : SRServiceBase, IProfilerService + { + public float AverageFrameTime { get; private set; } + public float LastFrameTime { get; private set; } + + public CircularBuffer FrameBuffer + { + get { return _frameBuffer; } + } + + private const int FrameBufferSize = 400; + private readonly CircularBuffer _frameBuffer = new CircularBuffer(FrameBufferSize); + + private ProfilerLateUpdateListener _lateUpdateListener; + + // Time between first Update() and last LateUpdate() + private double _updateDuration; + + // Time that render pipeline starts + private double _renderStartTime; + + // Time between scripted render pipeline starts + EndOfFrame + private double _renderDuration; + + private readonly Stopwatch _stopwatch = new Stopwatch(); + + protected override void Awake() + { + base.Awake(); + _lateUpdateListener = gameObject.AddComponent(); + _lateUpdateListener.OnLateUpdate = OnLateUpdate; + + CachedGameObject.hideFlags = HideFlags.NotEditable; + CachedTransform.SetParent(Hierarchy.Get("SRDebugger"), true); + +#if UNITY_2019_3_OR_NEWER + RenderPipelineManager.beginFrameRendering += RenderPipelineOnBeginFrameRendering; +#else + RenderPipeline.beginFrameRendering += RenderPipelineOnBeginFrameRendering; +#endif + + StartCoroutine(EndOfFrameCoroutine()); + } + + protected override void Update() + { + base.Update(); + + EndFrame(); + + // Set the frame time for the last frame + if (FrameBuffer.Count > 0) + { + var frame = FrameBuffer.Back(); + frame.FrameTime = Time.unscaledDeltaTime; + FrameBuffer[FrameBuffer.Count - 1] = frame; + } + + LastFrameTime = Time.unscaledDeltaTime; + + var frameCount = Mathf.Min(20, FrameBuffer.Count); + + var f = 0d; + for (var i = 0; i < frameCount; i++) + { + f += FrameBuffer[FrameBuffer.Count - 1 - i].FrameTime; + } + + AverageFrameTime = (float)f / frameCount; + + _stopwatch.Start(); + } + + IEnumerator EndOfFrameCoroutine() + { + var endOfFrame = new WaitForEndOfFrame(); + + while (true) + { + yield return endOfFrame; + _renderDuration = _stopwatch.Elapsed.TotalSeconds - _renderStartTime; + } + } + + protected void PushFrame(double totalTime, double updateTime, double renderTime) + { + _frameBuffer.PushBack(new ProfilerFrame + { + OtherTime = totalTime - updateTime - renderTime, + UpdateTime = updateTime, + RenderTime = renderTime + }); + } + + private void OnLateUpdate() + { + _updateDuration = _stopwatch.Elapsed.TotalSeconds; + } + +#if UNITY_2019_3_OR_NEWER + private void RenderPipelineOnBeginFrameRendering(ScriptableRenderContext context, Camera[] cameras) +#else + private void RenderPipelineOnBeginFrameRendering(Camera[] obj) +#endif + { + _renderStartTime = _stopwatch.Elapsed.TotalSeconds; + } + + private void EndFrame() + { + if (_stopwatch.IsRunning) + { + PushFrame(_stopwatch.Elapsed.TotalSeconds, _updateDuration, _renderDuration); + + _stopwatch.Reset(); + _stopwatch.Start(); + } + + _updateDuration = _renderDuration = 0; + } + } +} +#endif \ No newline at end of file diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Profiler/SRPProfilerService.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Profiler/SRPProfilerService.cs.meta new file mode 100644 index 0000000..f2dfe1f --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Profiler/SRPProfilerService.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 3f6b60357b55b3a438c0f79ba2be864c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/SRDebug.cs b/Assets/StompyRobot/SRDebugger/Scripts/SRDebug.cs new file mode 100644 index 0000000..7b860c6 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/SRDebug.cs @@ -0,0 +1,59 @@ +#if UNITY_ANDROID || UNITY_IOS || UNITY_EDITOR || UNITY_STANDALONE +#define COPY_TO_CLIPBOARD_SUPPORTED +#endif + +using System; +using System.Runtime.CompilerServices; +using SRDebugger.Services; +using SRF.Service; +using UnityEngine; + +[assembly: InternalsVisibleTo("StompyRobot.SRDebugger.Editor")] + +public static class SRDebug +{ + public const string Version = SRDebugger.VersionInfo.Version; + + public static bool IsInitialized { get; private set; } + + public static IDebugService Instance + { + get { return SRServiceManager.GetService(); } + } + + /// + /// Action to be invoked whenever the user selects "copy" in the console window. + /// If null, copy/paste will not be available. + /// + public static Action CopyConsoleItemCallback = GetDefaultCopyConsoleItemCallback(); + + public static void Init() + { + IsInitialized = true; + + SRServiceManager.RegisterAssembly(); + + // Initialize console if it hasn't already initialized. + SRServiceManager.GetService(); + + // Load the debug service + SRServiceManager.GetService(); + +#if UNITY_EDITOR + SRDebugger.Scripts.Internal.SRScriptRecompileHelper.SetHasInitialized(); +#endif + } + + public static Action GetDefaultCopyConsoleItemCallback() + { +#if COPY_TO_CLIPBOARD_SUPPORTED + return entry => + { + GUIUtility.systemCopyBuffer = + string.Format("{0}: {1}\n\r\n\r{2}", entry.LogType, entry.Message, entry.StackTrace); + }; +#else + return null; +#endif + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/SRDebug.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/SRDebug.cs.meta new file mode 100644 index 0000000..0e999b9 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/SRDebug.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 469b426fd7f6b90459d78fc3a5b1360b +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/SRDebuggerInit.cs b/Assets/StompyRobot/SRDebugger/Scripts/SRDebuggerInit.cs new file mode 100644 index 0000000..73e5291 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/SRDebuggerInit.cs @@ -0,0 +1,19 @@ +using System; + +namespace SRDebugger +{ + using SRF; + using UnityEngine; + + /// + /// Add this component somewhere in your scene to automatically load SRDebugger when the scene is loaded. + /// By default, SRDebugger will defer loading any UI except the corner-trigger until the user requests it. + /// It is recommended to add this to the very first scene in your game. This will ensure the console log + /// will hold useful information about your game initialization. + /// + [AddComponentMenu("")] + [Obsolete("No longer required, use Automatic initialization mode or call SRDebug.Init() manually.")] + public class SRDebuggerInit : SRMonoBehaviourEx + { + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/SRDebuggerInit.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/SRDebuggerInit.cs.meta new file mode 100644 index 0000000..e15143a --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/SRDebuggerInit.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 66edd3610b01cce48aed05383fd196e5 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: -31999 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/SROptions.Attributes.cs b/Assets/StompyRobot/SRDebugger/Scripts/SROptions.Attributes.cs new file mode 100644 index 0000000..c310d17 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/SROptions.Attributes.cs @@ -0,0 +1,39 @@ +using System; + +namespace SRDebugger +{ + [AttributeUsage(AttributeTargets.Property)] + public class NumberRangeAttribute : Attribute + { + public readonly double Max; + public readonly double Min; + + public NumberRangeAttribute(double min, double max) + { + Min = min; + Max = max; + } + } + + [AttributeUsage(AttributeTargets.Property)] + public class IncrementAttribute : Attribute + { + public readonly double Increment; + + public IncrementAttribute(double increment) + { + Increment = increment; + } + } + + [AttributeUsage(AttributeTargets.Property | AttributeTargets.Method)] + public class SortAttribute : Attribute + { + public readonly int SortPriority; + + public SortAttribute(int priority) + { + SortPriority = priority; + } + } +} \ No newline at end of file diff --git a/Assets/StompyRobot/SRDebugger/Scripts/SROptions.Attributes.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/SROptions.Attributes.cs.meta new file mode 100644 index 0000000..a9db414 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/SROptions.Attributes.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 07d851b2833fe2d418d42519e51fac5f +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/SROptions.Test.cs b/Assets/StompyRobot/SRDebugger/Scripts/SROptions.Test.cs new file mode 100644 index 0000000..b82e7d7 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/SROptions.Test.cs @@ -0,0 +1,4 @@ +/* + * This file has been moved to StoryRobot/SROptions/SROptions.Test.cs + * This empty file is left here to ensure it is properly overwritten when importing a new version of the package over an old version. + */ \ No newline at end of file diff --git a/Assets/StompyRobot/SRDebugger/Scripts/SROptions.Test.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/SROptions.Test.cs.meta new file mode 100644 index 0000000..ced02e7 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/SROptions.Test.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3f7d209d96c186e488b96fa4cd40c808 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/SROptions.cs b/Assets/StompyRobot/SRDebugger/Scripts/SROptions.cs new file mode 100644 index 0000000..98dde7a --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/SROptions.cs @@ -0,0 +1,4 @@ +/* + * This file has been moved to StoryRobot/SROptions/SROptions.cs + * This empty file is left here to ensure it is properly overwritten when importing a new version of the package over an old version. + */ \ No newline at end of file diff --git a/Assets/StompyRobot/SRDebugger/Scripts/SROptions.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/SROptions.cs.meta new file mode 100644 index 0000000..2d4fdee --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/SROptions.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 93395ab8f46722d4eb96829e8d652a66 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Services.meta b/Assets/StompyRobot/SRDebugger/Scripts/Services.meta new file mode 100644 index 0000000..c0941b3 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Services.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: d056f36651c5f924abf693d27338ded5 +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Services/ConsoleFilterStateService.cs b/Assets/StompyRobot/SRDebugger/Scripts/Services/ConsoleFilterStateService.cs new file mode 100644 index 0000000..87e21b8 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Services/ConsoleFilterStateService.cs @@ -0,0 +1,58 @@ +using System; +using UnityEngine; + +namespace SRDebugger.Services +{ + public sealed class ConsoleFilterStateService + { + public event ConsoleStateChangedEventHandler FilterStateChange; + + private bool[] _states; + + public ConsoleFilterStateService() + { + _states = new bool[Enum.GetValues(typeof(LogType)).Length]; + for (var i = 0; i < _states.Length; i++) + { + _states[i] = true; + } + } + + /// + /// Set whether log messages with severity + /// should be displayed in the SRDebugger console. + /// + /// Type of message (only Error/Warning/Log are used. and will redirect to + /// True to display the log type, false to hide. + public void SetState(LogType type, bool newState) + { + type = GetType(type); + if (_states[(int)type] == newState) + { + return; + } + + _states[(int)type] = newState; + FilterStateChange?.Invoke(type, newState); + } + + public bool GetState(LogType type) + { + type = GetType(type); + return _states[(int)type]; + } + + private static LogType GetType(LogType type) + { + switch (type) + { + case LogType.Error: + case LogType.Assert: + case LogType.Exception: + return LogType.Error; + default: + return type; + } + } + } +} \ No newline at end of file diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Services/ConsoleFilterStateService.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Services/ConsoleFilterStateService.cs.meta new file mode 100644 index 0000000..79dea42 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Services/ConsoleFilterStateService.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ec12e06d2d613ab49995ac63bec8fd01 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Services/IBugReportService.cs b/Assets/StompyRobot/SRDebugger/Scripts/Services/IBugReportService.cs new file mode 100644 index 0000000..ac63fea --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Services/IBugReportService.cs @@ -0,0 +1,32 @@ +using System; + +namespace SRDebugger.Services +{ + public delegate void BugReportCompleteCallback(bool didSucceed, string errorMessage); + + public delegate void BugReportProgressCallback(float progress); + + public interface IBugReportService + { + /// + /// Whether the bug reporter is available for use right now. + /// + bool IsUsable { get; } + + /// + /// Set the handler that will submit bug reports. + /// + void SetHandler(IBugReporterHandler handler); + + /// + /// Submit a bug report. + /// completeHandler can be invoked any time after the method is called + /// (even before the method has returned in case of no internet). + /// + /// Bug report to send + /// Delegate to call once bug report is submitted successfully + /// Optionally provide a callback for when progress % is known + void SendBugReport(BugReport report, BugReportCompleteCallback completeHandler, + IProgress progressCallback = null); + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Services/IBugReportService.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Services/IBugReportService.cs.meta new file mode 100644 index 0000000..1e85f5f --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Services/IBugReportService.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: fea92fa06a1807f40a783c5e315e79cf +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Services/IConsoleFilterState.cs b/Assets/StompyRobot/SRDebugger/Scripts/Services/IConsoleFilterState.cs new file mode 100644 index 0000000..5155ba6 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Services/IConsoleFilterState.cs @@ -0,0 +1,27 @@ +using UnityEngine; + +namespace SRDebugger.Services +{ + public delegate void ConsoleStateChangedEventHandler(LogType logType, bool newState); + + public interface IConsoleFilterState + { + event ConsoleStateChangedEventHandler FilterStateChange; + + /// + /// Set whether log messages with severity + /// should be displayed in the SRDebugger console. + /// + /// Type of message (only Error/Warning/Log are used. and will redirect to + /// True to display the log type, false to hide. + void SetConsoleFilterState(LogType logType, bool enabled); + + /// + /// Get whether log messages with severity are + /// being displayed in the SRDebugger console. + /// + /// Type of message (only Error/Warning/Log are used. and will redirect to + /// True if the log type is displayed. + bool GetConsoleFilterState(LogType logType); + } +} \ No newline at end of file diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Services/IConsoleFilterState.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Services/IConsoleFilterState.cs.meta new file mode 100644 index 0000000..81af809 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Services/IConsoleFilterState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 24e4816cd1ac23a4a9e6cc452eab0494 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Services/IConsoleService.cs b/Assets/StompyRobot/SRDebugger/Scripts/Services/IConsoleService.cs new file mode 100644 index 0000000..e7f631d --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Services/IConsoleService.cs @@ -0,0 +1,116 @@ +using System.Collections.Generic; + +namespace SRDebugger.Services +{ + using UnityEngine; + + public delegate void ConsoleUpdatedEventHandler(IConsoleService console); + + public interface IConsoleService + { + int ErrorCount { get; } + int WarningCount { get; } + int InfoCount { get; } + + /// + /// List of ConsoleEntry objects since the last clear. + /// + IReadOnlyList Entries { get; } + + /// + /// List of all ConsoleEntry objects, regardless of clear. + /// + IReadOnlyList AllEntries { get; } + + event ConsoleUpdatedEventHandler Updated; + + event ConsoleUpdatedEventHandler Error; + + bool LoggingEnabled { get; set; } + + bool LogHandlerIsOverriden { get; } + + void Clear(); + } + + public class ConsoleEntry + { + private const int MessagePreviewLength = 180; + private const int StackTracePreviewLength = 120; + private string _messagePreview; + private string _stackTracePreview; + + /// + /// Number of times this log entry has occured (if collapsing is enabled) + /// + public int Count = 1; + + public LogType LogType; + public string Message; + public string StackTrace; + public ConsoleEntry() {} + + public ConsoleEntry(ConsoleEntry other) + { + Message = other.Message; + StackTrace = other.StackTrace; + LogType = other.LogType; + Count = other.Count; + } + + public string MessagePreview + { + get + { + if (_messagePreview != null) + { + return _messagePreview; + } + if (string.IsNullOrEmpty(Message)) + { + return ""; + } + + _messagePreview = Message.Split('\n')[0]; + _messagePreview = _messagePreview.Substring(0, Mathf.Min(_messagePreview.Length, MessagePreviewLength)); + + return _messagePreview; + } + } + + public string StackTracePreview + { + get + { + if (_stackTracePreview != null) + { + return _stackTracePreview; + } + if (string.IsNullOrEmpty(StackTrace)) + { + return ""; + } + + _stackTracePreview = StackTrace.Split('\n')[0]; + _stackTracePreview = _stackTracePreview.Substring(0, + Mathf.Min(_stackTracePreview.Length, StackTracePreviewLength)); + + return _stackTracePreview; + } + } + + public bool Matches(ConsoleEntry other) + { + if (ReferenceEquals(null, other)) + { + return false; + } + if (ReferenceEquals(this, other)) + { + return true; + } + return string.Equals(Message, other.Message) && string.Equals(StackTrace, other.StackTrace) && + LogType == other.LogType; + } + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Services/IConsoleService.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Services/IConsoleService.cs.meta new file mode 100644 index 0000000..dfee018 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Services/IConsoleService.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 60ae196448d0a9549859c96c7ed8b974 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Services/IDebugCameraService.cs b/Assets/StompyRobot/SRDebugger/Scripts/Services/IDebugCameraService.cs new file mode 100644 index 0000000..e8a23bd --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Services/IDebugCameraService.cs @@ -0,0 +1,9 @@ +namespace SRDebugger.Services +{ + using UnityEngine; + + public interface IDebugCameraService + { + Camera Camera { get; } + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Services/IDebugCameraService.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Services/IDebugCameraService.cs.meta new file mode 100644 index 0000000..54949aa --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Services/IDebugCameraService.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: be2986b8bcb479048bcb9c2a3d8a4858 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Services/IDebugPanelService.cs b/Assets/StompyRobot/SRDebugger/Scripts/Services/IDebugPanelService.cs new file mode 100644 index 0000000..2d508f5 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Services/IDebugPanelService.cs @@ -0,0 +1,35 @@ +namespace SRDebugger.Services +{ + using System; + + public interface IDebugPanelService + { + /// + /// Is the debug panel currently loaded into the scene + /// + bool IsLoaded { get; } + + /// + /// Get or set whether the debug pane should be visible + /// + bool IsVisible { get; set; } + + /// + /// Currently active tab (if available in DefaultTabs, otherwise null) + /// + DefaultTabs? ActiveTab { get; } + + event Action VisibilityChanged; + + /// + /// Force the debug panel to unload from the scene + /// + void Unload(); + + /// + /// Open the given tab + /// + /// + void OpenTab(DefaultTabs tab); + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Services/IDebugPanelService.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Services/IDebugPanelService.cs.meta new file mode 100644 index 0000000..a0fd8dd --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Services/IDebugPanelService.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7a54c100bc481624fbcf017674046a9e +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Services/IDebugService.cs b/Assets/StompyRobot/SRDebugger/Scripts/Services/IDebugService.cs new file mode 100644 index 0000000..36720aa --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Services/IDebugService.cs @@ -0,0 +1,240 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +namespace SRDebugger.Services +{ + public interface IDebugService + { + /// + /// Current settings being used by the debugger + /// + Settings Settings { get; } + + /// + /// True if the debug panel is currently being shown + /// + bool IsDebugPanelVisible { get; } + + /// + /// True if the trigger is currently enabled + /// + bool IsTriggerEnabled { get; set; } + + /// + /// True if new errors cause the trigger to display an error notification. + /// Note: must also be true for notification to display. + /// + bool IsTriggerErrorNotificationEnabled { get; set; } + + + IDockConsoleService DockConsole { get; } + + /// + /// Access the SRDebugger console current filter states. + /// + IConsoleFilterState ConsoleFilter { get; } + + bool IsProfilerDocked { get; set; } + + /// + /// Add to the system information tab. See for how to create + /// an info instance. + /// + /// The entry to be added. + /// The category the entry should be added to. + void AddSystemInfo(InfoEntry entry, string category = "Default"); + + /// + /// Show the debug panel + /// + /// + /// If true and entry code is enabled in settings, the user will be prompted for a passcode + /// before opening the panel. + /// + void ShowDebugPanel(bool requireEntryCode = true); + + /// + /// Show the debug panel and open a certain tab + /// + /// Tab that will appear when the debug panel is opened + /// + /// If true and entry code is enabled in settings, the user will be prompted for a passcode + /// before opening the panel. + /// + void ShowDebugPanel(DefaultTabs tab, bool requireEntryCode = true); + + /// + /// Hide the debug panel + /// + void HideDebugPanel(); + + /// + /// Set the entry code required to open the debug panel. + /// Entry code requirement will be enabled if it is not already. + /// + /// If the user has already entered the correct pin code, their authorization will be reset + /// and they will be required to enter the new pin code next time they open the debug panel. + /// + /// Use to disable the entry code requirement. + /// + /// New entry code. + void SetEntryCode(EntryCode newCode); + + /// + /// Disable the requirement for an entry code when opening the debug panel. + /// Use to enable entry code the requirement again. + /// + void DisableEntryCode(); + + /// + /// Hide the debug panel, then remove it from the scene to save memory. + /// + void DestroyDebugPanel(); + + /// + /// Add all an objects compatible properties and methods to the options panel. + /// NOTE: It is not recommended to use this on a MonoBehaviour, it should be used on a standard + /// class made specifically for use as a settings object. + /// + /// The object to add. + void AddOptionContainer(object container); + + /// + /// Remove all properties and methods that the added to the options panel. + /// + /// The container to remove. + void RemoveOptionContainer(object container); + + /// + /// Add an option to the options panel. + /// + void AddOption(OptionDefinition option); + + /// + /// Remove an option from the options panel. + /// + /// True if option was successfully removed, otherwise false. + bool RemoveOption(OptionDefinition option); + + /// + /// Pin all options in a category. + /// + /// + void PinAllOptions(string category); + + /// + /// Unpin all options in a category. + /// + /// + void UnpinAllOptions(string category); + + void PinOption(string name); + + void UnpinOption(string name); + + /// + /// Clear all pinned options. + /// + void ClearPinnedOptions(); + + /// + /// Open a bug report sheet. + /// + /// Callback to invoke once the bug report is completed or cancelled. Null to ignore. + /// + /// Take a screenshot before opening the report sheet (otherwise a screenshot will be taken as + /// the report is sent, if enabled in settings) + /// + /// Initial content of the bug report description + void ShowBugReportSheet(ActionCompleteCallback onComplete = null, bool takeScreenshot = true, + string descriptionContent = null); + + /// + /// Event invoked whenever the debug panel opens or closes + /// + event VisibilityChangedDelegate PanelVisibilityChanged; + + event PinnedUiCanvasCreated PinnedUiCanvasCreated; + + /// + /// ADVANCED FEATURE. This will convert the debug panel to a world space object and return the RectTransform. + /// This can be used to position the SRDebugger panel somewhere in your scene. + /// This feature is for advanced users only who know what they are doing. Only limited support will be provided + /// for this method. + /// The debug panel will be made visible if it is not already. + /// + /// The debug panel RectTransform. + RectTransform EnableWorldSpaceMode(); + + /// + /// Set a custom bug reporter handler. + /// NOTE: This should be done on startup, ideally before the debug panel is opened. + /// The visibility of the bug report tab will be determined when the debug panel opens so the bug reporter handler + /// should be set before then. + /// + /// Custom bug report handler. + void SetBugReporterHandler(IBugReporterHandler bugReporterHandler); + } +} + +namespace SRDebugger +{ + public delegate void VisibilityChangedDelegate(bool isVisible); + + public delegate void ActionCompleteCallback(bool success); + + public delegate void PinnedUiCanvasCreated(RectTransform canvasTransform); + + public struct EntryCode : IReadOnlyList + { + public readonly int Digit1; + public readonly int Digit2; + public readonly int Digit3; + public readonly int Digit4; + + public EntryCode(int digit1, int digit2, int digit3, int digit4) + { + if (digit1 < 0 || digit1 > 9) throw new ArgumentException("Pin digit must be between 0 and 9", "digit1"); + if (digit2 < 0 || digit2 > 9) throw new ArgumentException("Pin digit must be between 0 and 9", "digit2"); + if (digit3 < 0 || digit3 > 9) throw new ArgumentException("Pin digit must be between 0 and 9", "digit3"); + if (digit4 < 0 || digit4 > 9) throw new ArgumentException("Pin digit must be between 0 and 9", "digit4"); + + Digit1 = digit1; + Digit2 = digit2; + Digit3 = digit3; + Digit4 = digit4; + } + + public IEnumerator GetEnumerator() + { + return new List { Digit1, Digit2, Digit3, Digit4 }.GetEnumerator(); + } + + IEnumerator IEnumerable.GetEnumerator() + { + return GetEnumerator(); + } + + public int Count + { + get { return 4; } + } + + public int this[int index] + { + get + { + switch (index) + { + case 0: return Digit1; + case 1: return Digit2; + case 2: return Digit3; + case 3: return Digit4; + default: throw new ArgumentOutOfRangeException("index"); + } + } + } + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Services/IDebugService.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Services/IDebugService.cs.meta new file mode 100644 index 0000000..f32ee3e --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Services/IDebugService.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9deb724ea27b7f340bb83516c160e016 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Services/IDebugTriggerService.cs b/Assets/StompyRobot/SRDebugger/Scripts/Services/IDebugTriggerService.cs new file mode 100644 index 0000000..eededcb --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Services/IDebugTriggerService.cs @@ -0,0 +1,9 @@ +namespace SRDebugger.Services +{ + public interface IDebugTriggerService + { + bool IsEnabled { get; set; } + bool ShowErrorNotification { get; set; } + PinAlignment Position { get; set; } + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Services/IDebugTriggerService.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Services/IDebugTriggerService.cs.meta new file mode 100644 index 0000000..a54ff65 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Services/IDebugTriggerService.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: aab9371145e3e744a923637a1f6fb194 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Services/IDockConsoleService.cs b/Assets/StompyRobot/SRDebugger/Scripts/Services/IDockConsoleService.cs new file mode 100644 index 0000000..b04478d --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Services/IDockConsoleService.cs @@ -0,0 +1,9 @@ +namespace SRDebugger.Services +{ + public interface IDockConsoleService + { + bool IsVisible { get; set; } + bool IsExpanded { get; set; } + ConsoleAlignment Alignment { get; set; } + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Services/IDockConsoleService.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Services/IDockConsoleService.cs.meta new file mode 100644 index 0000000..44eb8dd --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Services/IDockConsoleService.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 401f9008bb9263b478aa472c6e818fa3 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Services/IOptionsService.cs b/Assets/StompyRobot/SRDebugger/Scripts/Services/IOptionsService.cs new file mode 100644 index 0000000..07fec04 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Services/IOptionsService.cs @@ -0,0 +1,43 @@ +namespace SRDebugger.Services +{ + using System; + using System.Collections.Generic; + using Internal; + + public interface IOptionsService + { + /// + /// Invoked when the collection changes. + /// + event EventHandler OptionsUpdated; + + ICollection Options { get; } + + /// + /// Scan for options add them to the Options collection + /// + /// Object to scan for options + [Obsolete("Use IOptionsService.AddContainer instead.")] + void Scan(object obj); + + /// + /// Scan for options and add them to the Options collection. + /// + void AddContainer(object obj); + + /// + /// Add an options container to the options collection. + /// + void AddContainer(IOptionContainer optionContainer); + + /// + /// Remove any options that were added from the container. + /// + void RemoveContainer(object obj); + + /// + /// Remove an options container from the options collection. + /// + void RemoveContainer(IOptionContainer optionContainer); + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Services/IOptionsService.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Services/IOptionsService.cs.meta new file mode 100644 index 0000000..ccb78ea --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Services/IOptionsService.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 33988643b054b86429b4c5f0a1c2308b +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Services/IPinEntryService.cs b/Assets/StompyRobot/SRDebugger/Scripts/Services/IPinEntryService.cs new file mode 100644 index 0000000..59ed396 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Services/IPinEntryService.cs @@ -0,0 +1,22 @@ +namespace SRDebugger.Services +{ + using System; + using System.Collections.Generic; + + public delegate void PinEntryCompleteCallback(bool validPinEntered); + + public interface IPinEntryService + { + bool IsShowingKeypad { get; } + + /// + /// Show the pin entry form. + /// + /// List of digits 0-9, length 4. + /// Message to display to the user on the form. + /// Callback to invoke when the pin entry is complete or cancelled. + /// True to allow the user to cancel the form. + void ShowPinEntry(IReadOnlyList requiredPin, string message, PinEntryCompleteCallback callback, + bool allowCancel = true); + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Services/IPinEntryService.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Services/IPinEntryService.cs.meta new file mode 100644 index 0000000..3684117 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Services/IPinEntryService.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 585f26678af38c7498c861763c1890fa +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Services/IPinnedOptionsService.cs b/Assets/StompyRobot/SRDebugger/Scripts/Services/IPinnedOptionsService.cs new file mode 100644 index 0000000..f66a9be --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Services/IPinnedOptionsService.cs @@ -0,0 +1,19 @@ +using UnityEngine; + +namespace SRDebugger.Services +{ + using System; + using Internal; + + public interface IPinnedUIService + { + event Action OptionPinStateChanged; + event Action OptionsCanvasCreated; + + bool IsProfilerPinned { get; set; } + void Pin(OptionDefinition option, int order = -1); + void Unpin(OptionDefinition option); + void UnpinAll(); + bool HasPinned(OptionDefinition option); + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Services/IPinnedOptionsService.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Services/IPinnedOptionsService.cs.meta new file mode 100644 index 0000000..a2f4fcd --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Services/IPinnedOptionsService.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d38ebee13954f8b40ba8b4c26e3efe90 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Services/IProfilerService.cs b/Assets/StompyRobot/SRDebugger/Scripts/Services/IProfilerService.cs new file mode 100644 index 0000000..668b4f4 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Services/IProfilerService.cs @@ -0,0 +1,42 @@ + +namespace SRDebugger.Services +{ + using System; + using Profiler; + using SRF.Service; +#if UNITY_2018_1_OR_NEWER + using UnityEngine.Rendering; + using UnityEngine.Experimental.Rendering; +#endif + + public static class ProfilerServiceSelector + { + [ServiceSelector(typeof(IProfilerService))] + public static Type GetProfilerServiceType() + { +#if UNITY_2018_1_OR_NEWER + if(GraphicsSettings.defaultRenderPipeline != null) + { + return typeof(SRPProfilerService); + } +#endif + + return typeof(ProfilerServiceImpl); + } + } + + public struct ProfilerFrame + { + public double FrameTime; + public double OtherTime; + public double RenderTime; + public double UpdateTime; + } + + public interface IProfilerService + { + float AverageFrameTime { get; } + float LastFrameTime { get; } + CircularBuffer FrameBuffer { get; } + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Services/IProfilerService.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Services/IProfilerService.cs.meta new file mode 100644 index 0000000..e2a8ff4 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Services/IProfilerService.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b7d95917d24be3c48b2afae03dad1abf +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Services/ISystemInformationService.cs b/Assets/StompyRobot/SRDebugger/Scripts/Services/ISystemInformationService.cs new file mode 100644 index 0000000..627e919 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Services/ISystemInformationService.cs @@ -0,0 +1,98 @@ +namespace SRDebugger +{ + using System; + using Services; + using SRF; + + public sealed class InfoEntry + { + public string Title { get; set; } + + public object Value + { + get + { + try + { + return _valueGetter(); + } + catch (Exception e) + { + return "Error ({0})".Fmt(e.GetType().Name); + } + } + } + + public bool IsPrivate { get; private set; } + + private Func _valueGetter; + + /// + /// Create an instance with a getter function for the value. + /// + /// Name to display to the user. + /// Getter method to acquire the latest value. + /// If true, will be excluded from the bug reporter system. + /// The created object. + public static InfoEntry Create(string name, Func getter, bool isPrivate = false) + { + return new InfoEntry + { + Title = name, + _valueGetter = getter, + IsPrivate = isPrivate + }; + } + + /// + /// Create an instance with a fixed value. + /// + /// Name to display to the user. + /// The value of the entry. + /// If true, will be excluded from the bug reporter system. + /// The created object. + public static InfoEntry Create(string name, object value, bool isPrivate = false) + { + return new InfoEntry + { + Title = name, + _valueGetter = () => value, + IsPrivate = isPrivate + }; + } + } +} + +namespace SRDebugger.Services +{ + using System.Collections.Generic; + + public interface ISystemInformationService + { + /// + /// Get an IEnumerable with the available data categories for this system + /// + IEnumerable GetCategories(); + + /// + /// Get a list of information for a category + /// + /// Category name to fetch (get a list of these from GetCategories()) + /// + IList GetInfo(string category); + + /// + /// Add a piece of system information. + /// + /// + /// + void Add(InfoEntry info, string category = "Default"); + + /// + /// Generate a report from all available system data (useful for sending with bug reports) + /// + /// Set to true to include identifying private information (usually you don't want this) + /// The generated report + Dictionary> CreateReport(bool includePrivate = false); + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Services/ISystemInformationService.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Services/ISystemInformationService.cs.meta new file mode 100644 index 0000000..4373b8a --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Services/ISystemInformationService.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: bfaf3e98a7641224c96169cc4280c372 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation.meta b/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation.meta new file mode 100644 index 0000000..ecbc11c --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 164788c4a834b1b4fa28ac46c5def034 +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/BugReportApiService.cs b/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/BugReportApiService.cs new file mode 100644 index 0000000..e683199 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/BugReportApiService.cs @@ -0,0 +1,59 @@ +namespace SRDebugger.Services.Implementation +{ + using System; + using Internal; + using SRF.Service; + using UnityEngine; + + [Service(typeof (IBugReportService))] + class BugReportApiService : IBugReportService + { + private IBugReporterHandler _handler = new InternalBugReporterHandler(); + + public bool IsUsable + { + get + { + return _handler != null && _handler.IsUsable; + } + } + + public void SetHandler(IBugReporterHandler handler) + { + Debug.LogFormat("[SRDebugger] Bug Report handler set to {0}", handler); + _handler = handler; + } + + public void SendBugReport(BugReport report, BugReportCompleteCallback completeHandler, + IProgress progress = null) + { + if (_handler == null) + { + throw new InvalidOperationException("No bug report handler has been configured."); + } + + if (!_handler.IsUsable) + { + throw new InvalidOperationException("Bug report handler is not usable."); + } + + if (report == null) + { + throw new ArgumentNullException("report"); + } + + if (completeHandler == null) + { + throw new ArgumentNullException("completeHandler"); + } + + if (Application.internetReachability == NetworkReachability.NotReachable) + { + completeHandler(false, "No Internet Connection"); + return; + } + + _handler.Submit(report, result => completeHandler(result.IsSuccessful, result.ErrorMessage), progress); + } + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/BugReportApiService.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/BugReportApiService.cs.meta new file mode 100644 index 0000000..c70cc49 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/BugReportApiService.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0f0a70f9ea64595459ec202791f9954a +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/BugReportPopoverService.cs b/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/BugReportPopoverService.cs new file mode 100644 index 0000000..19f35be --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/BugReportPopoverService.cs @@ -0,0 +1,167 @@ +namespace SRDebugger.Services.Implementation +{ + using System; + using System.Collections; + using Internal; + using SRF; + using SRF.Service; + using UI.Other; + using UnityEngine; + + [Service(typeof (BugReportPopoverService))] + public class BugReportPopoverService : SRServiceBase + { + private BugReportCompleteCallback _callback; + private bool _isVisible; + private BugReportPopoverRoot _popover; + private BugReportSheetController _sheet; + + public bool IsShowingPopover + { + get { return _isVisible; } + } + + public void ShowBugReporter(BugReportCompleteCallback callback, bool takeScreenshotFirst = true, + string descriptionText = null) + { + if (_isVisible) + { + throw new InvalidOperationException("Bug report popover is already visible."); + } + + if (_popover == null) + { + Load(); + } + + if (_popover == null) + { + Debug.LogWarning("[SRDebugger] Bug report popover failed loading, executing callback with fail result"); + callback(false, "Resource load failed"); + return; + } + + _callback = callback; + + _isVisible = true; + SRDebuggerUtil.EnsureEventSystemExists(); + + StartCoroutine(OpenCo(takeScreenshotFirst, descriptionText)); + } + + private IEnumerator OpenCo(bool takeScreenshot, string descriptionText) + { + if (takeScreenshot) + { + // Wait for screenshot to be captured + yield return StartCoroutine(BugReportScreenshotUtil.ScreenshotCaptureCo()); + } + _popover.CachedGameObject.SetActive(true); + + yield return new WaitForEndOfFrame(); + + if (!string.IsNullOrEmpty(descriptionText)) + { + _sheet.DescriptionField.text = descriptionText; + } + } + + private void SubmitComplete(bool didSucceed, string errorMessage) + { + OnComplete(didSucceed, errorMessage, false); + } + + private void CancelPressed() + { + OnComplete(false, "User Cancelled", true); + } + + private void OnComplete(bool success, string errorMessage, bool close) + { + if (!_isVisible) + { + Debug.LogWarning("[SRDebugger] Received callback at unexpected time. ???"); + return; + } + + if (!success && !close) + { + return; + } + + _isVisible = false; + + // Destroy it all so it doesn't linger in the scene using memory + _popover.gameObject.SetActive(false); + Destroy(_popover.gameObject); + + _popover = null; + _sheet = null; + + BugReportScreenshotUtil.ScreenshotData = null; + + _callback(success, errorMessage); + } + + private void TakingScreenshot() + { + if (!IsShowingPopover) + { + Debug.LogWarning("[SRDebugger] Received callback at unexpected time. ???"); + return; + } + + _popover.CanvasGroup.alpha = 0f; + } + + private void ScreenshotComplete() + { + if (!IsShowingPopover) + { + Debug.LogWarning("[SRDebugger] Received callback at unexpected time. ???"); + return; + } + + _popover.CanvasGroup.alpha = 1f; + } + + protected override void Awake() + { + base.Awake(); + + CachedTransform.SetParent(Hierarchy.Get("SRDebugger")); + } + + private void Load() + { + var popoverPrefab = Resources.Load(SRDebugPaths.BugReportPopoverPath); + var sheetPrefab = Resources.Load(SRDebugPaths.BugReportSheetPath); + + if (popoverPrefab == null) + { + Debug.LogError("[SRDebugger] Unable to load bug report popover prefab"); + return; + } + + if (sheetPrefab == null) + { + Debug.LogError("[SRDebugger] Unable to load bug report sheet prefab"); + return; + } + + _popover = SRInstantiate.Instantiate(popoverPrefab); + _popover.CachedTransform.SetParent(CachedTransform, false); + + _sheet = SRInstantiate.Instantiate(sheetPrefab); + _sheet.CachedTransform.SetParent(_popover.Container, false); + + _sheet.SubmitComplete = SubmitComplete; + _sheet.CancelPressed = CancelPressed; + + _sheet.TakingScreenshot = TakingScreenshot; + _sheet.ScreenshotComplete = ScreenshotComplete; + + _popover.CachedGameObject.SetActive(false); + } + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/BugReportPopoverService.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/BugReportPopoverService.cs.meta new file mode 100644 index 0000000..c2129f8 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/BugReportPopoverService.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 80565ccf143b6fc40aafeb9c7d23aeef +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/ConsoleFilterStateService.cs b/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/ConsoleFilterStateService.cs new file mode 100644 index 0000000..afeca6a --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/ConsoleFilterStateService.cs @@ -0,0 +1,57 @@ +using System; +using SRDebugger.Services; +using SRF.Service; +using UnityEngine; + +namespace Assets.StompyRobot.SRDebugger.Scripts.Services.Implementation +{ + [Service(typeof(IConsoleFilterState))] + public sealed class ConsoleFilterStateService : IConsoleFilterState + { + public event ConsoleStateChangedEventHandler FilterStateChange; + + private readonly bool[] _states; + + public ConsoleFilterStateService() + { + _states = new bool[Enum.GetValues(typeof(LogType)).Length]; + for (var i = 0; i < _states.Length; i++) + { + _states[i] = true; + } + } + + public void SetConsoleFilterState(LogType type, bool newState) + { + type = GetType(type); + if (_states[(int)type] == newState) + { + return; + } + + //Debug.Log($"FilterState changed {type} {!newState} -> {newState}"); + + _states[(int)type] = newState; + FilterStateChange?.Invoke(type, newState); + } + + public bool GetConsoleFilterState(LogType type) + { + type = GetType(type); + return _states[(int)type]; + } + + private static LogType GetType(LogType type) + { + switch (type) + { + case LogType.Error: + case LogType.Assert: + case LogType.Exception: + return LogType.Error; + default: + return type; + } + } + } +} \ No newline at end of file diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/ConsoleFilterStateService.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/ConsoleFilterStateService.cs.meta new file mode 100644 index 0000000..216f294 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/ConsoleFilterStateService.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d2010dcb3030fd543840eedcac6c1e1b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/DebugCameraServiceImpl.cs b/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/DebugCameraServiceImpl.cs new file mode 100644 index 0000000..7435447 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/DebugCameraServiceImpl.cs @@ -0,0 +1,32 @@ +namespace SRDebugger.Services.Implementation +{ + using SRF; + using SRF.Service; + using UnityEngine; + + [Service(typeof (IDebugCameraService))] + public class DebugCameraServiceImpl : IDebugCameraService + { + private Camera _debugCamera; + + public DebugCameraServiceImpl() + { + if (Settings.Instance.UseDebugCamera) + { + _debugCamera = new GameObject("SRDebugCamera").AddComponent(); + + _debugCamera.cullingMask = 1 << Settings.Instance.DebugLayer; + _debugCamera.depth = Settings.Instance.DebugCameraDepth; + + _debugCamera.clearFlags = CameraClearFlags.Depth; + + _debugCamera.transform.SetParent(Hierarchy.Get("SRDebugger")); + } + } + + public Camera Camera + { + get { return _debugCamera; } + } + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/DebugCameraServiceImpl.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/DebugCameraServiceImpl.cs.meta new file mode 100644 index 0000000..86f1f86 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/DebugCameraServiceImpl.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 07b63666d1ce0074a8e9be3dae9d39a3 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/DebugPanelServiceImpl.cs b/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/DebugPanelServiceImpl.cs new file mode 100644 index 0000000..08043ae --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/DebugPanelServiceImpl.cs @@ -0,0 +1,171 @@ +namespace SRDebugger.Services.Implementation +{ + using System; + using Internal; + using SRF; + using SRF.Service; + using UI; + using UnityEngine; + + [Service(typeof (IDebugPanelService))] + public class DebugPanelServiceImpl : ScriptableObject, IDebugPanelService, IDisposable + { + private DebugPanelRoot _debugPanelRootObject; + public event Action VisibilityChanged; + + private bool _isVisible; + + private bool? _cursorWasVisible; + + private CursorLockMode? _cursorLockMode; + + + public DebugPanelRoot RootObject + { + get { return _debugPanelRootObject; } + } + + public bool IsLoaded + { + get { return _debugPanelRootObject != null; } + } + + public bool IsVisible + { + get { return IsLoaded && _isVisible; } + set + { + if (_isVisible == value) + { + return; + } + + if (value) + { + if (!IsLoaded) + { + Load(); + } + + SRDebuggerUtil.EnsureEventSystemExists(); + + _debugPanelRootObject.CanvasGroup.alpha = 1.0f; + _debugPanelRootObject.CanvasGroup.interactable = true; + _debugPanelRootObject.CanvasGroup.blocksRaycasts = true; + _cursorWasVisible = Cursor.visible; + _cursorLockMode = Cursor.lockState; + + foreach (var c in _debugPanelRootObject.GetComponentsInChildren()) + { + c.enabled = true; + } + + if (Settings.Instance.AutomaticallyShowCursor) + { + Cursor.visible = true; + Cursor.lockState = CursorLockMode.None; + } + } + else + { + if (IsLoaded) + { + _debugPanelRootObject.CanvasGroup.alpha = 0.0f; + _debugPanelRootObject.CanvasGroup.interactable = false; + _debugPanelRootObject.CanvasGroup.blocksRaycasts = false; + + foreach (var c in _debugPanelRootObject.GetComponentsInChildren()) + { + c.enabled = false; + } + } + + if (_cursorWasVisible.HasValue) + { + Cursor.visible = _cursorWasVisible.Value; + _cursorWasVisible = null; + } + + if (_cursorLockMode.HasValue) + { + Cursor.lockState = _cursorLockMode.Value; + _cursorLockMode = null; + } + } + + _isVisible = value; + + if (VisibilityChanged != null) + { + VisibilityChanged(this, _isVisible); + } + } + } + + public DefaultTabs? ActiveTab + { + get + { + if (_debugPanelRootObject == null) + { + return null; + } + + return _debugPanelRootObject.TabController.ActiveTab; + } + } + + public void OpenTab(DefaultTabs tab) + { + if (!IsVisible) + { + IsVisible = true; + } + + _debugPanelRootObject.TabController.OpenTab(tab); + } + + public void Unload() + { + if (_debugPanelRootObject == null) + { + return; + } + + IsVisible = false; + + _debugPanelRootObject.CachedGameObject.SetActive(false); + Destroy(_debugPanelRootObject.CachedGameObject); + + _debugPanelRootObject = null; + } + + private void Load() + { + var prefab = Resources.Load(SRDebugPaths.DebugPanelPrefabPath); + + if (prefab == null) + { + Debug.LogError("[SRDebugger] Error loading debug panel prefab"); + return; + } + + _debugPanelRootObject = SRInstantiate.Instantiate(prefab); + _debugPanelRootObject.name = "Panel"; + + DontDestroyOnLoad(_debugPanelRootObject); + + _debugPanelRootObject.CachedTransform.SetParent(Hierarchy.Get("SRDebugger"), true); + + SRDebuggerUtil.EnsureEventSystemExists(); + } + + public void Dispose() + { + if (_debugPanelRootObject != null) + { + DestroyImmediate(_debugPanelRootObject.gameObject); + } + } + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/DebugPanelServiceImpl.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/DebugPanelServiceImpl.cs.meta new file mode 100644 index 0000000..04f001c --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/DebugPanelServiceImpl.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3395027a4a5c704439ebf91760920165 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/DebugTriggerImpl.cs b/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/DebugTriggerImpl.cs new file mode 100644 index 0000000..33cadfd --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/DebugTriggerImpl.cs @@ -0,0 +1,225 @@ +namespace SRDebugger.Services.Implementation +{ + using System; + using Internal; + using SRF; + using SRF.Service; + using UI.Other; + using UnityEngine; + + [Service(typeof (IDebugTriggerService))] + public class DebugTriggerImpl : SRServiceBase, IDebugTriggerService + { + private PinAlignment _position; + private TriggerRoot _trigger; + private IConsoleService _consoleService; + private bool _showErrorNotification; + + public bool IsEnabled + { + get { return _trigger != null && _trigger.CachedGameObject.activeSelf; } + set + { + // Create trigger if it does not yet exist + if (value && _trigger == null) + { + CreateTrigger(); + } + + if (_trigger != null) + { + _trigger.CachedGameObject.SetActive(value); + } + } + } + + public bool ShowErrorNotification + { + get + { + return _showErrorNotification; + } + set + { + if (_showErrorNotification == value) return; + + _showErrorNotification = value; + + if (_trigger == null) return; + + if(_showErrorNotification) + { + _consoleService = SRServiceManager.GetService(); + _consoleService.Error += OnError; + } + else + { + _consoleService.Error -= OnError; + _consoleService = null; + } + } + } + + public PinAlignment Position + { + get { return _position; } + set + { + if (_trigger != null) + { + SetTriggerPosition(_trigger.TriggerTransform, value); + } + + _position = value; + } + } + + protected override void Awake() + { + base.Awake(); + DontDestroyOnLoad(CachedGameObject); + + CachedTransform.SetParent(Hierarchy.Get("SRDebugger"), true); + ShowErrorNotification = Settings.Instance.ErrorNotification; + + name = "Trigger"; + } + + private void OnError(IConsoleService console) + { + if (_trigger != null) + { + _trigger.ErrorNotifier.ShowErrorWarning(); + } + } + + private void CreateTrigger() + { + var prefab = Resources.Load(SRDebugPaths.TriggerPrefabPath); + + if (prefab == null) + { + Debug.LogError("[SRDebugger] Error loading trigger prefab"); + return; + } + + _trigger = SRInstantiate.Instantiate(prefab); + _trigger.CachedTransform.SetParent(CachedTransform, true); + + SetTriggerPosition(_trigger.TriggerTransform, _position); + + switch (Settings.Instance.TriggerBehaviour) + { + case Settings.TriggerBehaviours.TripleTap: + { + _trigger.TripleTapButton.onClick.AddListener(OnTriggerButtonClick); + _trigger.TapHoldButton.gameObject.SetActive(false); + + break; + } + + case Settings.TriggerBehaviours.TapAndHold: + { + _trigger.TapHoldButton.onLongPress.AddListener(OnTriggerButtonClick); + _trigger.TripleTapButton.gameObject.SetActive(false); + + break; + } + + case Settings.TriggerBehaviours.DoubleTap: + { + _trigger.TripleTapButton.RequiredTapCount = 2; + _trigger.TripleTapButton.onClick.AddListener(OnTriggerButtonClick); + _trigger.TapHoldButton.gameObject.SetActive(false); + + break; + } + + default: + throw new Exception("Unhandled TriggerBehaviour"); + } + + SRDebuggerUtil.EnsureEventSystemExists(); + + UnityEngine.SceneManagement.SceneManager.activeSceneChanged += OnActiveSceneChanged; + + if (_showErrorNotification) + { + _consoleService = SRServiceManager.GetService(); + _consoleService.Error += OnError; + } + } + + protected override void OnDestroy() + { + UnityEngine.SceneManagement.SceneManager.activeSceneChanged -= OnActiveSceneChanged; + + if (_consoleService != null) + { + _consoleService.Error -= OnError; + } + + base.OnDestroy(); + } + + private static void OnActiveSceneChanged(UnityEngine.SceneManagement.Scene s1, UnityEngine.SceneManagement.Scene s2) + { + SRDebuggerUtil.EnsureEventSystemExists(); + } + + private void OnTriggerButtonClick() + { + if (_trigger.ErrorNotifier.IsVisible) + { + // Open into console if there is an error. + SRDebug.Instance.ShowDebugPanel(DefaultTabs.Console); + } + else + { + SRDebug.Instance.ShowDebugPanel(); + } + } + + private static void SetTriggerPosition(RectTransform t, PinAlignment position) + { + var pivotX = 0f; + var pivotY = 0f; + + var posX = 0f; + var posY = 0f; + + if (position == PinAlignment.TopLeft || position == PinAlignment.TopRight || position == PinAlignment.TopCenter) + { + pivotY = 1f; + posY = 1f; + } + else if (position == PinAlignment.BottomLeft || position == PinAlignment.BottomRight || position == PinAlignment.BottomCenter) + { + pivotY = 0f; + posY = 0f; + } else if (position == PinAlignment.CenterLeft || position == PinAlignment.CenterRight) + { + pivotY = 0.5f; + posY = 0.5f; + } + + if (position == PinAlignment.TopLeft || position == PinAlignment.BottomLeft || position == PinAlignment.CenterLeft) + { + pivotX = 0f; + posX = 0f; + } + else if (position == PinAlignment.TopRight || position == PinAlignment.BottomRight || position == PinAlignment.CenterRight) + { + pivotX = 1f; + posX = 1f; + } else if (position == PinAlignment.TopCenter || position == PinAlignment.BottomCenter) + { + pivotX = 0.5f; + posX = 0.5f; + } + + t.pivot = new Vector2(pivotX, pivotY); + t.anchorMax = t.anchorMin = new Vector2(posX, posY); + } + } +} \ No newline at end of file diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/DebugTriggerImpl.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/DebugTriggerImpl.cs.meta new file mode 100644 index 0000000..b9f7726 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/DebugTriggerImpl.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5cbf8bc5e9eb92448bc12690ebd84a02 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/DockConsoleServiceImpl.cs b/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/DockConsoleServiceImpl.cs new file mode 100644 index 0000000..bc2946b --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/DockConsoleServiceImpl.cs @@ -0,0 +1,148 @@ +namespace SRDebugger.Services.Implementation +{ + using Internal; + using SRF.Service; + using UI.Other; + using UnityEngine; + + [Service(typeof (IDockConsoleService))] + public class DockConsoleServiceImpl : IDockConsoleService + { + private ConsoleAlignment _alignment; + private DockConsoleController _consoleRoot; + private bool _didSuspendTrigger; + private bool _isExpanded = true; + private bool _isVisible; + + public DockConsoleServiceImpl() + { + _alignment = Settings.Instance.ConsoleAlignment; + } + + public bool IsVisible + { + get { return _isVisible; } + + set + { + if (value == _isVisible) + { + return; + } + + _isVisible = value; + + if (_consoleRoot == null && value) + { + Load(); + } + else + { + _consoleRoot.CachedGameObject.SetActive(value); + } + + CheckTrigger(); + } + } + + public bool IsExpanded + { + get { return _isExpanded; } + + set + { + if (value == _isExpanded) + { + return; + } + + _isExpanded = value; + + if (_consoleRoot == null && value) + { + Load(); + } + else + { + _consoleRoot.SetDropdownVisibility(value); + } + + CheckTrigger(); + } + } + + public ConsoleAlignment Alignment + { + get { return _alignment; } + set + { + _alignment = value; + + if (_consoleRoot != null) + { + _consoleRoot.SetAlignmentMode(value); + } + + CheckTrigger(); + } + } + + private void Load() + { + var dockService = SRServiceManager.GetService(); + + if (dockService == null) + { + Debug.LogError("[DockConsoleService] PinnedUIService not found"); + return; + } + + var pinService = dockService as PinnedUIServiceImpl; + + if (pinService == null) + { + Debug.LogError("[DockConsoleService] Expected IPinnedUIService to be PinnedUIServiceImpl"); + return; + } + + _consoleRoot = pinService.DockConsoleController; + + _consoleRoot.SetDropdownVisibility(_isExpanded); + _consoleRoot.IsVisible = _isVisible; + _consoleRoot.SetAlignmentMode(_alignment); + + CheckTrigger(); + } + + private void CheckTrigger() + { + ConsoleAlignment? triggerAlignment = null; + var pinAlignment = Service.Trigger.Position; + + if (pinAlignment == PinAlignment.TopLeft || + pinAlignment == PinAlignment.TopRight || pinAlignment == PinAlignment.TopCenter) + { + triggerAlignment = ConsoleAlignment.Top; + } else if (pinAlignment == PinAlignment.BottomLeft || + pinAlignment == PinAlignment.BottomRight || + pinAlignment == PinAlignment.BottomCenter) + { + triggerAlignment = ConsoleAlignment.Bottom; + } + + var shouldHide = triggerAlignment.HasValue && IsVisible && Alignment == triggerAlignment.Value; + + // Show trigger if we have hidden it, and we no longer need to hide it. + if (_didSuspendTrigger && !shouldHide) + { + Service.Trigger.IsEnabled = true; + _didSuspendTrigger = false; + } + else if (Service.Trigger.IsEnabled && shouldHide) + { + Service.Trigger.IsEnabled = false; + _didSuspendTrigger = true; + } + } + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/DockConsoleServiceImpl.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/DockConsoleServiceImpl.cs.meta new file mode 100644 index 0000000..9d25285 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/DockConsoleServiceImpl.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 456e72e9efa4586489f625dc79f1c54d +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/KeyboardShortcutListenerService.cs b/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/KeyboardShortcutListenerService.cs new file mode 100644 index 0000000..c14f7a0 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/KeyboardShortcutListenerService.cs @@ -0,0 +1,265 @@ + +namespace SRDebugger.Services.Implementation +{ + using System.Collections.Generic; + using Internal; + using SRF; + using SRF.Service; + using UnityEngine; +#if ENABLE_INPUT_SYSTEM + using UnityEngine.InputSystem; + using UnityEngine.InputSystem.Controls; +#endif + + + [Service(typeof (KeyboardShortcutListenerService))] + public class KeyboardShortcutListenerService : SRServiceBase + { + private List _shortcuts; + + protected override void Awake() + { + base.Awake(); + + CachedTransform.SetParent(Hierarchy.Get("SRDebugger")); + + _shortcuts = new List(Settings.Instance.KeyboardShortcuts); + +#if ENABLE_INPUT_SYSTEM + + foreach (var s in _shortcuts) + { + // Cache the actual keycode so we don't have to use strings each time we want to use it. + string keyName = s.Key.ToString(); + KeyControl keyControl = Keyboard.current[keyName] as KeyControl; + + if (keyControl == null) + { + Debug.LogErrorFormat( + "[SRDebugger] Input System: Unable to find shortcut key: {0}. Shortcut ({1}) will not be functional.", + keyName, s.Action); + s.Cached_KeyCode = Key.None; + } + + // Find the index for this key control + for (var index = 0; index < Keyboard.current.allKeys.Count; index++) + { + if (Keyboard.current.allKeys[index] == keyControl) + { + s.Cached_KeyCode = (Key) (index + 1); + break; + } + } + } + +#endif + } + + private void ToggleTab(DefaultTabs t) + { + var activeTab = Service.Panel.ActiveTab; + + if (Service.Panel.IsVisible && activeTab.HasValue && activeTab.Value == t) + { + SRDebug.Instance.HideDebugPanel(); + } + else + { + SRDebug.Instance.ShowDebugPanel(t); + } + } + + private void ExecuteShortcut(Settings.KeyboardShortcut shortcut) + { + switch (shortcut.Action) + { + case Settings.ShortcutActions.OpenSystemInfoTab: + + ToggleTab(DefaultTabs.SystemInformation); + + break; + + case Settings.ShortcutActions.OpenConsoleTab: + + ToggleTab(DefaultTabs.Console); + + break; + + case Settings.ShortcutActions.OpenOptionsTab: + + ToggleTab(DefaultTabs.Options); + + break; + + case Settings.ShortcutActions.OpenProfilerTab: + + ToggleTab(DefaultTabs.Profiler); + + break; + + case Settings.ShortcutActions.OpenBugReporterTab: + + ToggleTab(DefaultTabs.BugReporter); + + break; + + case Settings.ShortcutActions.ClosePanel: + + SRDebug.Instance.HideDebugPanel(); + + break; + + case Settings.ShortcutActions.OpenPanel: + + SRDebug.Instance.ShowDebugPanel(); + + break; + + case Settings.ShortcutActions.TogglePanel: + + if (SRDebug.Instance.IsDebugPanelVisible) + { + SRDebug.Instance.HideDebugPanel(); + } + else + { + SRDebug.Instance.ShowDebugPanel(); + } + + break; + + case Settings.ShortcutActions.ShowBugReportPopover: + + SRDebug.Instance.ShowBugReportSheet(); + + break; + + case Settings.ShortcutActions.ToggleDockedConsole: + + SRDebug.Instance.DockConsole.IsVisible = !SRDebug.Instance.DockConsole.IsVisible; + + break; + + case Settings.ShortcutActions.ToggleDockedProfiler: + + SRDebug.Instance.IsProfilerDocked = !SRDebug.Instance.IsProfilerDocked; + + break; + + default: + + Debug.LogWarning("[SRDebugger] Unhandled keyboard shortcut: " + shortcut.Action); + + break; + } + } + + protected override void Update() + { + base.Update(); + +#if ENABLE_INPUT_SYSTEM && ENABLE_LEGACY_INPUT_MANAGER + switch (Settings.Instance.UIInputMode) + { + case Settings.UIModes.NewInputSystem: + UpdateInputSystem(); + break; + case Settings.UIModes.LegacyInputSystem: + UpdateLegacyInputSystem(); + break; + } +#elif ENABLE_INPUT_SYSTEM + UpdateInputSystem(); +#elif ENABLE_LEGACY_INPUT_MANAGER || (!ENABLE_INPUT_SYSTEM && !UNITY_2019_3_OR_NEWER) + UpdateLegacyInputSystem(); +#endif + } + +#if ENABLE_INPUT_SYSTEM + private void UpdateInputSystem() + { + var keyboard = Keyboard.current; + + if (Settings.Instance.KeyboardEscapeClose && keyboard.escapeKey.isPressed && Service.Panel.IsVisible) + { + SRDebug.Instance.HideDebugPanel(); + } + + var ctrl = keyboard.leftCtrlKey.isPressed || keyboard.rightCtrlKey.isPressed; + var alt = keyboard.leftAltKey.isPressed || keyboard.rightAltKey.isPressed; + var shift = keyboard.leftShiftKey.isPressed || keyboard.rightShiftKey.isPressed; + + for (var i = 0; i < _shortcuts.Count; i++) + { + var s = _shortcuts[i]; + + if (s.Control && !ctrl) + { + continue; + } + + if (s.Shift && !shift) + { + continue; + } + + if (s.Alt && !alt) + { + continue; + } + + if (!s.Cached_KeyCode.HasValue) + { + continue; // We can't use this shortcut since we didn't find the keycode. + } + + if (keyboard[s.Cached_KeyCode.Value].wasPressedThisFrame) + { + ExecuteShortcut(s); + break; + } + } + } +#endif + +#if ENABLE_LEGACY_INPUT_MANAGER || (!ENABLE_INPUT_SYSTEM && !UNITY_2019_3_OR_NEWER) + private void UpdateLegacyInputSystem() + { + if (Settings.Instance.KeyboardEscapeClose && Input.GetKeyDown(KeyCode.Escape) && Service.Panel.IsVisible) + { + SRDebug.Instance.HideDebugPanel(); + } + + var ctrl = Input.GetKey(KeyCode.LeftControl) || Input.GetKey(KeyCode.RightControl); + var alt = Input.GetKey(KeyCode.LeftAlt) || Input.GetKey(KeyCode.RightAlt); + var shift = Input.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.RightShift); + + for (var i = 0; i < _shortcuts.Count; i++) + { + var s = _shortcuts[i]; + + if (s.Control && !ctrl) + { + continue; + } + + if (s.Shift && !shift) + { + continue; + } + + if (s.Alt && !alt) + { + continue; + } + + if (Input.GetKeyDown(s.Key)) + { + ExecuteShortcut(s); + break; + } + } + } +#endif + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/KeyboardShortcutListenerService.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/KeyboardShortcutListenerService.cs.meta new file mode 100644 index 0000000..fbae3b7 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/KeyboardShortcutListenerService.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cad04a63089e6e844969aa944ba22fdd +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/OptionsServiceImpl.ReflectionOptionContainer.cs b/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/OptionsServiceImpl.ReflectionOptionContainer.cs new file mode 100644 index 0000000..8c85710 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/OptionsServiceImpl.ReflectionOptionContainer.cs @@ -0,0 +1,75 @@ +using System; +using System.Collections.Generic; +using SRDebugger.Internal; + +namespace SRDebugger.Services.Implementation +{ + public sealed partial class OptionsServiceImpl + { + /// + /// Options container that is implemented via reflection. + /// This is the normal behaviour used when options container is added as an `object`. + /// + private class ReflectionOptionContainer : IOptionContainer + { + // Options don't change, so just leave stubs that do nothing. + public event Action OptionAdded + { + add { } + remove { } + } + + public event Action OptionRemoved + { + add { } + remove { } + } + + public bool IsDynamic + { + get { return false; } + } + + private List Options + { + get + { + if (_options == null) _options = SRDebuggerUtil.ScanForOptions(_target); + return _options; + } + } + + private List _options; + + public IEnumerable GetOptions() + { + return Options; + } + + private readonly object _target; + + public ReflectionOptionContainer(object target) + { + _target = target; + } + + protected bool Equals(ReflectionOptionContainer other) + { + return Equals(other._target, this._target); + } + + public override bool Equals(object obj) + { + if (ReferenceEquals(null, obj)) return false; + if (ReferenceEquals(this, obj)) return true; + if (obj.GetType() != this.GetType()) return false; + return Equals((ReflectionOptionContainer) obj); + } + + public override int GetHashCode() + { + return _target.GetHashCode(); + } + } + } +} \ No newline at end of file diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/OptionsServiceImpl.ReflectionOptionContainer.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/OptionsServiceImpl.ReflectionOptionContainer.cs.meta new file mode 100644 index 0000000..e17920d --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/OptionsServiceImpl.ReflectionOptionContainer.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 3343cb41b53a47568cb627f032f95dd7 +timeCreated: 1609341203 \ No newline at end of file diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/OptionsServiceImpl.cs b/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/OptionsServiceImpl.cs new file mode 100644 index 0000000..aa125af --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/OptionsServiceImpl.cs @@ -0,0 +1,185 @@ +namespace SRDebugger.Services.Implementation +{ + using System; + using System.Collections.Generic; + using System.Collections.ObjectModel; + using Internal; + using SRF.Service; + using SRF.Helpers; + using UnityEngine; + + [Service(typeof (IOptionsService))] + public partial class OptionsServiceImpl : IOptionsService + { + public event EventHandler OptionsUpdated; + + public ICollection Options + { + get { return _optionsReadonly; } + } + + private void OptionsContainerOnOptionAdded(IOptionContainer container, OptionDefinition optionDefinition) + { + List options; + if(!_optionContainerLookup.TryGetValue(container, out options)) + { + Debug.LogWarning("[SRDebugger] Received event from unknown option container."); + return; + } + + if (options.Contains(optionDefinition)) + { + Debug.LogWarning("[SRDebugger] Received option added event from option container, but option has already been added."); + return; + } + + options.Add(optionDefinition); + _options.Add(optionDefinition); + OnOptionsUpdated(); + } + + private void OptionsContainerOnOptionRemoved(IOptionContainer container, OptionDefinition optionDefinition) + { + List options; + if (!_optionContainerLookup.TryGetValue(container, out options)) + { + Debug.LogWarning("[SRDebugger] Received event from unknown option container."); + return; + } + + if (options.Remove(optionDefinition)) + { + _options.Remove(optionDefinition); + OnOptionsUpdated(); + } + else + { + Debug.LogWarning("[SRDebugger] Received option removed event from option container, but option does not exist."); + } + } + + private readonly Dictionary> _optionContainerLookup = new Dictionary>(); + + private readonly Dictionary _optionContainerEventHandlerLookup = new Dictionary(); + + private readonly List _options = new List(); + + private readonly IList _optionsReadonly; + + public OptionsServiceImpl() + { + _optionsReadonly = new ReadOnlyCollection(_options); + } + + public void Scan(object obj) + { + AddContainer(obj); + } + + public void AddContainer(object obj) + { + var container = obj as IOptionContainer ?? new ReflectionOptionContainer(obj); + AddContainer(container); + } + + public void AddContainer(IOptionContainer optionContainer) + { + if (_optionContainerLookup.ContainsKey(optionContainer)) + { + throw new Exception("An options container should only be added once."); + } + + List options = new List(); + options.AddRange(optionContainer.GetOptions()); + + _optionContainerLookup.Add(optionContainer, options); + + if (optionContainer.IsDynamic) + { + var handler = new OptionContainerEventHandler(this, optionContainer); + _optionContainerEventHandlerLookup.Add(optionContainer, handler); + } + + if (options.Count > 0) + { + _options.AddRange(options); + OnOptionsUpdated(); + } + } + + public void RemoveContainer(object obj) + { + var container = obj as IOptionContainer ?? new ReflectionOptionContainer(obj); + RemoveContainer(container); + } + + public void RemoveContainer(IOptionContainer optionContainer) + { + if (!_optionContainerLookup.ContainsKey(optionContainer)) + { + return; + } + + bool isDirty = false; + var list = _optionContainerLookup[optionContainer]; + _optionContainerLookup.Remove(optionContainer); + foreach (var op in list) + { + _options.Remove(op); + isDirty = true; + } + + OptionContainerEventHandler handler; + if (_optionContainerEventHandlerLookup.TryGetValue(optionContainer, + out handler)) + { + handler.Dispose(); + _optionContainerEventHandlerLookup.Remove(optionContainer); + } + + if (isDirty) + { + OnOptionsUpdated(); + } + } + + private void OnOptionsUpdated() + { + if (OptionsUpdated != null) + { + OptionsUpdated(this, EventArgs.Empty); + } + } + + class OptionContainerEventHandler : IDisposable + { + private readonly OptionsServiceImpl _service; + private readonly IOptionContainer _container; + + public OptionContainerEventHandler(OptionsServiceImpl service, IOptionContainer container) + { + _container = container; + _service = service; + + container.OptionAdded += ContainerOnOptionAdded; + container.OptionRemoved += ContainerOnOptionRemoved; + } + + private void ContainerOnOptionAdded(OptionDefinition obj) + { + _service.OptionsContainerOnOptionAdded(_container, obj); + } + + private void ContainerOnOptionRemoved(OptionDefinition obj) + { + _service.OptionsContainerOnOptionRemoved(_container, obj); + } + + public void Dispose() + { + _container.OptionAdded -= ContainerOnOptionAdded; + _container.OptionRemoved -= ContainerOnOptionRemoved; + } + } + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/OptionsServiceImpl.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/OptionsServiceImpl.cs.meta new file mode 100644 index 0000000..72b96a5 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/OptionsServiceImpl.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d1614fef8faa5954d8bda6699bed3fdb +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/PinEntryServiceImpl.cs b/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/PinEntryServiceImpl.cs new file mode 100644 index 0000000..2cea6a6 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/PinEntryServiceImpl.cs @@ -0,0 +1,129 @@ +namespace SRDebugger.Services.Implementation +{ + using System; + using System.Collections.Generic; + using System.Linq; + using Internal; + using SRF; + using SRF.Service; + using UI.Controls; + using UnityEngine; + + [Service(typeof (IPinEntryService))] + public class PinEntryServiceImpl : SRServiceBase, IPinEntryService + { + private PinEntryCompleteCallback _callback; + private bool _isVisible; + private PinEntryControl _pinControl; + private readonly List _requiredPin = new List(4); + + public bool IsShowingKeypad + { + get { return _isVisible; } + } + + public void ShowPinEntry(IReadOnlyList requiredPin, string message, PinEntryCompleteCallback callback, + bool allowCancel = true) + { + if (_isVisible) + { + throw new InvalidOperationException("Pin entry is already in progress"); + } + + VerifyPin(requiredPin); + + if (_pinControl == null) + { + Load(); + } + + if (_pinControl == null) + { + Debug.LogWarning("[PinEntry] Pin entry failed loading, executing callback with fail result"); + callback(false); + return; + } + + _pinControl.Clear(); + _pinControl.PromptText.text = message; + + _pinControl.CanCancel = allowCancel; + + _callback = callback; + + _requiredPin.Clear(); + _requiredPin.AddRange(requiredPin); + + _pinControl.Show(); + + _isVisible = true; + + SRDebuggerUtil.EnsureEventSystemExists(); + } + + protected override void Awake() + { + base.Awake(); + + CachedTransform.SetParent(Hierarchy.Get("SRDebugger")); + } + + private void Load() + { + var prefab = Resources.Load(SRDebugPaths.PinEntryPrefabPath); + + if (prefab == null) + { + Debug.LogError("[PinEntry] Unable to load pin entry prefab"); + return; + } + + _pinControl = SRInstantiate.Instantiate(prefab); + _pinControl.CachedTransform.SetParent(CachedTransform, false); + + _pinControl.Hide(); + + _pinControl.Complete += PinControlOnComplete; + } + + private void PinControlOnComplete(IList result, bool didCancel) + { + var isValid = _requiredPin.SequenceEqual(result); + + if (!didCancel && !isValid) + { + _pinControl.Clear(); + _pinControl.PlayInvalidCodeAnimation(); + + return; + } + + _isVisible = false; + _pinControl.Hide(); + + if (didCancel) + { + _callback(false); + return; + } + + _callback(isValid); + } + + private void VerifyPin(IReadOnlyList pin) + { + if (pin.Count != 4) + { + throw new ArgumentException("Pin list must have 4 elements"); + } + + for (var i = 0; i < pin.Count; i++) + { + if (pin[i] < 0 || pin[i] > 9) + { + throw new ArgumentException("Pin numbers must be >= 0 && <= 9"); + } + } + } + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/PinEntryServiceImpl.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/PinEntryServiceImpl.cs.meta new file mode 100644 index 0000000..1165e90 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/PinEntryServiceImpl.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 43bd0242747ae6042a436f1ff85403d4 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/PinnedUIServiceImpl.cs b/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/PinnedUIServiceImpl.cs new file mode 100644 index 0000000..077f0c1 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/PinnedUIServiceImpl.cs @@ -0,0 +1,271 @@ +namespace SRDebugger.Services.Implementation +{ + using System; + using System.Collections.Generic; + using System.ComponentModel; + using System.Linq; + using Internal; + using SRF; + using SRF.Service; + using UI.Controls; + using UI.Other; + using UnityEngine; + + [Service(typeof (IPinnedUIService))] + public class PinnedUIServiceImpl : SRServiceBase, IPinnedUIService + { + private readonly List _controlList = new List(); + + private readonly Dictionary _pinnedObjects = + new Dictionary(); + + private bool _queueRefresh; + private PinnedUIRoot _uiRoot; + + public DockConsoleController DockConsoleController + { + get + { + if (_uiRoot == null) + { + Load(); + } + return _uiRoot.DockConsoleController; + } + } + + public event Action OptionPinStateChanged; + public event Action OptionsCanvasCreated; + + public bool IsProfilerPinned + { + get + { + if (_uiRoot == null) + { + return false; + } + return _uiRoot.Profiler.activeSelf; + } + set + { + if (_uiRoot == null) + { + Load(); + } + _uiRoot.Profiler.SetActive(value); + } + } + + public void Pin(OptionDefinition obj, int order = -1) + { + if (_uiRoot == null) + { + Load(); + } + + if (_pinnedObjects.ContainsKey(obj)) + { + return; + } + + var control = OptionControlFactory.CreateControl(obj); + + control.CachedTransform.SetParent(_uiRoot.Container, false); + + if (order >= 0) + { + control.CachedTransform.SetSiblingIndex(order); + } + + _pinnedObjects.Add(obj, control); + _controlList.Add(control); + + OnPinnedStateChanged(obj, true); + } + + public void Unpin(OptionDefinition obj) + { + if (!_pinnedObjects.ContainsKey(obj)) + { + return; + } + + var control = _pinnedObjects[obj]; + + _pinnedObjects.Remove(obj); + _controlList.Remove(control); + + Destroy(control.CachedGameObject); + + OnPinnedStateChanged(obj, false); + } + + private void OnPinnedStateChanged(OptionDefinition option, bool isPinned) + { + if (OptionPinStateChanged != null) + { + OptionPinStateChanged(option, isPinned); + } + } + + public void UnpinAll() + { + foreach (var op in _pinnedObjects) + { + Destroy(op.Value.CachedGameObject); + } + + _pinnedObjects.Clear(); + _controlList.Clear(); + } + + public bool HasPinned(OptionDefinition option) + { + return _pinnedObjects.ContainsKey(option); + } + + protected override void Awake() + { + base.Awake(); + + CachedTransform.SetParent(Hierarchy.Get("SRDebugger")); + } + + private void Load() + { + var prefab = Resources.Load(SRDebugPaths.PinnedUIPrefabPath); + + if (prefab == null) + { + Debug.LogError("[SRDebugger.PinnedUI] Error loading ui prefab"); + return; + } + + var instance = SRInstantiate.Instantiate(prefab); + instance.CachedTransform.SetParent(CachedTransform, false); + + _uiRoot = instance; + UpdateAnchors(); + SRDebug.Instance.PanelVisibilityChanged += OnDebugPanelVisibilityChanged; + + Service.Options.OptionsUpdated += OnOptionsUpdated; + + if (OptionsCanvasCreated != null) + { + OptionsCanvasCreated(_uiRoot.Canvas.GetComponent()); + } + } + + private void UpdateAnchors() + { + // Setup alignment of Profiler/Options splitter + switch (Settings.Instance.ProfilerAlignment) + { + case PinAlignment.BottomLeft: + case PinAlignment.TopLeft: + case PinAlignment.CenterLeft: + _uiRoot.Profiler.transform.SetSiblingIndex(0); + break; + + case PinAlignment.BottomRight: + case PinAlignment.TopRight: + case PinAlignment.CenterRight: + _uiRoot.Profiler.transform.SetSiblingIndex(1); + break; + } + + // Setup alignment of Profiler vertical layout group + switch (Settings.Instance.ProfilerAlignment) + { + case PinAlignment.TopRight: + case PinAlignment.TopLeft: + _uiRoot.ProfilerVerticalLayoutGroup.childAlignment = TextAnchor.UpperCenter; + break; + + case PinAlignment.BottomRight: + case PinAlignment.BottomLeft: + _uiRoot.ProfilerVerticalLayoutGroup.childAlignment = TextAnchor.LowerCenter; + break; + + case PinAlignment.CenterLeft: + case PinAlignment.CenterRight: + _uiRoot.ProfilerVerticalLayoutGroup.childAlignment = TextAnchor.MiddleCenter; + break; + } + + _uiRoot.ProfilerHandleManager.SetAlignment(Settings.Instance.ProfilerAlignment); + + // Setup alignment of options flow layout group + switch (Settings.Instance.OptionsAlignment) + { + case PinAlignment.BottomLeft: // OptionsBottomLeft + _uiRoot.OptionsLayoutGroup.childAlignment = TextAnchor.LowerLeft; + break; + case PinAlignment.TopLeft: + _uiRoot.OptionsLayoutGroup.childAlignment = TextAnchor.UpperLeft; + break; + case PinAlignment.BottomRight: + _uiRoot.OptionsLayoutGroup.childAlignment = TextAnchor.LowerRight; + break; + case PinAlignment.TopRight: + _uiRoot.OptionsLayoutGroup.childAlignment = TextAnchor.UpperRight; + break; + case PinAlignment.BottomCenter: + _uiRoot.OptionsLayoutGroup.childAlignment = TextAnchor.LowerCenter; + break; + case PinAlignment.TopCenter: + _uiRoot.OptionsLayoutGroup.childAlignment = TextAnchor.UpperCenter; + break; + case PinAlignment.CenterLeft: + _uiRoot.OptionsLayoutGroup.childAlignment = TextAnchor.MiddleLeft; + break; + case PinAlignment.CenterRight: + _uiRoot.OptionsLayoutGroup.childAlignment = TextAnchor.MiddleRight; + break; + } + } + + protected override void Update() + { + base.Update(); + + if (_queueRefresh) + { + _queueRefresh = false; + Refresh(); + } + } + + private void OnOptionsUpdated(object sender, EventArgs eventArgs) + { + // Check for removed options. + var pinned = _pinnedObjects.Keys.ToList(); + + foreach (var op in pinned) + { + if (!Service.Options.Options.Contains(op)) + { + Unpin(op); + } + } + } + + private void OnDebugPanelVisibilityChanged(bool isVisible) + { + // Refresh bindings when debug panel is no longer visible + if (!isVisible) + { + _queueRefresh = true; + } + } + + private void Refresh() + { + for (var i = 0; i < _controlList.Count; i++) + { + _controlList[i].Refresh(); + } + } + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/PinnedUIServiceImpl.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/PinnedUIServiceImpl.cs.meta new file mode 100644 index 0000000..f02125b --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/PinnedUIServiceImpl.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ba911226d6eee2441ba45b76f81a1d62 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/SRDebugService.cs b/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/SRDebugService.cs new file mode 100644 index 0000000..4ba661c --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/SRDebugService.cs @@ -0,0 +1,382 @@ +namespace SRDebugger.Services.Implementation +{ + using System; + using Internal; + using SRF; + using SRF.Service; + using UnityEngine; + using Object = UnityEngine.Object; + using SRF.UI; + using UnityEngine.UI; + + [Service(typeof (IDebugService))] + public class SRDebugService : IDebugService + { + public IDockConsoleService DockConsole + { + get { return Service.DockConsole; } + } + + public IConsoleFilterState ConsoleFilter + { + get + { + if (_consoleFilterState == null) + { + _consoleFilterState = SRServiceManager.GetService(); + } + return _consoleFilterState; + } + } + + public event VisibilityChangedDelegate PanelVisibilityChanged; + public event PinnedUiCanvasCreated PinnedUiCanvasCreated; + + private readonly IDebugPanelService _debugPanelService; + private readonly IDebugTriggerService _debugTrigger; + private readonly ISystemInformationService _informationService; + private readonly IOptionsService _optionsService; + private readonly IPinnedUIService _pinnedUiService; + private IConsoleFilterState _consoleFilterState; + + private EntryCode? _entryCode; + private bool _hasAuthorised; + + private DefaultTabs? _queuedTab; + private RectTransform _worldSpaceTransform; + private DynamicOptionContainer _looseOptionContainer; + + + public SRDebugService() + { + SRServiceManager.RegisterService(this); + + // Load profiler + SRServiceManager.GetService(); + + // Setup trigger service + _debugTrigger = SRServiceManager.GetService(); + + _informationService = SRServiceManager.GetService(); + + _pinnedUiService = SRServiceManager.GetService(); + _pinnedUiService.OptionsCanvasCreated += transform => + { + if (PinnedUiCanvasCreated == null) return; + try + { + PinnedUiCanvasCreated(transform); + } + catch(Exception e) + { + Debug.LogException(e); + } + }; + + _optionsService = SRServiceManager.GetService(); + + // Create debug panel service (this does not actually load any UI resources until opened) + _debugPanelService = SRServiceManager.GetService(); + + // Subscribe to visibility changes to provide API-facing event for panel open/close + _debugPanelService.VisibilityChanged += DebugPanelServiceOnVisibilityChanged; + + _debugTrigger.IsEnabled = Settings.EnableTrigger == Settings.TriggerEnableModes.Enabled || + Settings.EnableTrigger == Settings.TriggerEnableModes.MobileOnly && Application.isMobilePlatform || + Settings.EnableTrigger == Settings.TriggerEnableModes.DevelopmentBuildsOnly && Debug.isDebugBuild; + + _debugTrigger.Position = Settings.TriggerPosition; + + if (Settings.EnableKeyboardShortcuts) + { + SRServiceManager.GetService(); + } + + if (Settings.Instance.RequireCode) + { + if (Settings.Instance.EntryCode.Count != 4) + { + Debug.LogError("[SRDebugger] RequireCode is enabled, but pin is not 4 digits"); + } + else + { + _entryCode = new EntryCode(Settings.Instance.EntryCode[0], Settings.Instance.EntryCode[1], + Settings.Instance.EntryCode[2], Settings.Instance.EntryCode[3]); + } + } + + // Ensure that root object cannot be destroyed on scene loads + var srDebuggerParent = Hierarchy.Get("SRDebugger"); + Object.DontDestroyOnLoad(srDebuggerParent.gameObject); + + // Add any options containers that were created on init + var internalRegistry = SRServiceManager.GetService(); + internalRegistry.SetHandler(_optionsService.AddContainer); + } + + public Settings Settings + { + get { return Settings.Instance; } + } + + public bool IsDebugPanelVisible + { + get { return _debugPanelService.IsVisible; } + } + + public bool IsTriggerEnabled + { + get { return _debugTrigger.IsEnabled; } + set { _debugTrigger.IsEnabled = value; } + } + + public bool IsTriggerErrorNotificationEnabled + { + get { return _debugTrigger.ShowErrorNotification; } + set { _debugTrigger.ShowErrorNotification = value; } + } + + public bool IsProfilerDocked + { + get { return Service.PinnedUI.IsProfilerPinned; } + set { Service.PinnedUI.IsProfilerPinned = value; } + } + + public void AddSystemInfo(InfoEntry entry, string category = "Default") + { + _informationService.Add(entry, category); + } + + public void ShowDebugPanel(bool requireEntryCode = true) + { + if (requireEntryCode && _entryCode.HasValue && !_hasAuthorised) + { + PromptEntryCode(); + return; + } + + _debugPanelService.IsVisible = true; + } + + public void ShowDebugPanel(DefaultTabs tab, bool requireEntryCode = true) + { + if (requireEntryCode && _entryCode.HasValue && !_hasAuthorised) + { + _queuedTab = tab; + PromptEntryCode(); + return; + } + + _debugPanelService.IsVisible = true; + _debugPanelService.OpenTab(tab); + } + + public void HideDebugPanel() + { + _debugPanelService.IsVisible = false; + } + + public void SetEntryCode(EntryCode newCode) + { + _hasAuthorised = false; + _entryCode = newCode; + } + + public void DisableEntryCode() + { + _entryCode = null; + } + + public void DestroyDebugPanel() + { + _debugPanelService.IsVisible = false; + _debugPanelService.Unload(); + } + + #region Options + + public void AddOptionContainer(object container) + { + _optionsService.AddContainer(container); + } + + public void RemoveOptionContainer(object container) + { + _optionsService.RemoveContainer(container); + } + + public void AddOption(OptionDefinition option) + { + if(_looseOptionContainer == null) + { + _looseOptionContainer = new DynamicOptionContainer(); + _optionsService.AddContainer(_looseOptionContainer); + } + + _looseOptionContainer.AddOption(option); + } + + public bool RemoveOption(OptionDefinition option) + { + if (_looseOptionContainer != null) + { + return _looseOptionContainer.RemoveOption(option); + } + + return false; + } + + public void PinAllOptions(string category) + { + foreach (var op in _optionsService.Options) + { + if (op.Category == category) + { + _pinnedUiService.Pin(op); + } + } + } + + public void UnpinAllOptions(string category) + { + foreach (var op in _optionsService.Options) + { + if (op.Category == category) + { + _pinnedUiService.Unpin(op); + } + } + } + + public void PinOption(string name) + { + foreach (var op in _optionsService.Options) + { + if (op.Name == name) + { + _pinnedUiService.Pin(op); + } + } + } + + public void UnpinOption(string name) + { + foreach (var op in _optionsService.Options) + { + if (op.Name == name) + { + _pinnedUiService.Unpin(op); + } + } + } + + public void ClearPinnedOptions() + { + _pinnedUiService.UnpinAll(); + } + + #endregion + + #region Bug Reporter + + public void ShowBugReportSheet(ActionCompleteCallback onComplete = null, bool takeScreenshot = true, + string descriptionContent = null) + { + var popoverService = SRServiceManager.GetService(); + + if (popoverService.IsShowingPopover) + { + return; + } + + popoverService.ShowBugReporter((succeed, message) => + { + if (onComplete != null) + { + onComplete(succeed); + } + }, takeScreenshot, descriptionContent); + } + + #endregion + + private void DebugPanelServiceOnVisibilityChanged(IDebugPanelService debugPanelService, bool b) + { + if (PanelVisibilityChanged == null) + { + return; + } + + try + { + PanelVisibilityChanged(b); + } + catch (Exception e) + { + Debug.LogError("[SRDebugger] Event target threw exception (IDebugService.PanelVisiblityChanged)"); + Debug.LogException(e); + } + } + + private void PromptEntryCode() + { + SRServiceManager.GetService() + .ShowPinEntry(_entryCode.Value, SRDebugStrings.Current.PinEntryPrompt, + entered => + { + if (entered) + { + if (!Settings.Instance.RequireEntryCodeEveryTime) + { + _hasAuthorised = true; + } + + if (_queuedTab.HasValue) + { + var t = _queuedTab.Value; + + _queuedTab = null; + ShowDebugPanel(t, false); + } + else + { + ShowDebugPanel(false); + } + } + + _queuedTab = null; + }); + } + + public RectTransform EnableWorldSpaceMode() + { + if (_worldSpaceTransform != null) + { + return _worldSpaceTransform; + } + + if (Settings.Instance.UseDebugCamera) + { + throw new InvalidOperationException("UseDebugCamera cannot be enabled at the same time as EnableWorldSpaceMode."); + } + + _debugPanelService.IsVisible = true; + + var root = ((DebugPanelServiceImpl) _debugPanelService).RootObject; + root.Canvas.gameObject.RemoveComponentIfExists(); + root.Canvas.gameObject.RemoveComponentIfExists(); + root.Canvas.renderMode = RenderMode.WorldSpace; + + var rectTransform = root.Canvas.GetComponent(); + rectTransform.sizeDelta = new Vector2(1024, 768); + rectTransform.position = Vector3.zero; + + return _worldSpaceTransform = rectTransform; + } + + public void SetBugReporterHandler(IBugReporterHandler bugReporterHandler) + { + SRServiceManager.GetService().SetHandler(bugReporterHandler); + } + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/SRDebugService.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/SRDebugService.cs.meta new file mode 100644 index 0000000..9eb2fff --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/SRDebugService.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: aa53ffe51d3a35545b9277a06967b48a +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/StandardConsoleService.cs b/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/StandardConsoleService.cs new file mode 100644 index 0000000..a37b8c8 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/StandardConsoleService.cs @@ -0,0 +1,210 @@ +using System; +using System.Collections.Generic; + +namespace SRDebugger.Services.Implementation +{ + using SRF.Service; + using UnityEngine; + + [Service(typeof (IConsoleService))] + public class StandardConsoleService : IConsoleService, IDisposable + { + private readonly bool _collapseEnabled; + private bool _hasCleared; + + private readonly CircularBuffer _allConsoleEntries; + private CircularBuffer _consoleEntries; + private readonly object _threadLock = new object(); + + private ILogHandler _expectedLogHandler; + + public StandardConsoleService() + { + Application.logMessageReceivedThreaded += UnityLogCallback; + _expectedLogHandler = Debug.unityLogger.logHandler; + + SRServiceManager.RegisterService(this); + _collapseEnabled = Settings.Instance.CollapseDuplicateLogEntries; + _allConsoleEntries = new CircularBuffer(Settings.Instance.MaximumConsoleEntries); + } + + public void Dispose() + { + Application.logMessageReceivedThreaded -= UnityLogCallback; + if (_consoleEntries != null) + { + _consoleEntries.Clear(); + } + + _allConsoleEntries.Clear(); + } + + public int ErrorCount { get; private set; } + public int WarningCount { get; private set; } + public int InfoCount { get; private set; } + + public event ConsoleUpdatedEventHandler Updated; + public event ConsoleUpdatedEventHandler Error; + + public bool LoggingEnabled + { + get { return Debug.unityLogger.logEnabled; } + set { Debug.unityLogger.logEnabled = value; } + } + + public bool LogHandlerIsOverriden + { + get + { + return Debug.unityLogger.logHandler != _expectedLogHandler; + } + } + + public IReadOnlyList Entries + { + get + { + if (!_hasCleared) + { + return _allConsoleEntries; + } + + return _consoleEntries; + } + } + + public IReadOnlyList AllEntries + { + get { return _allConsoleEntries; } + } + + public void Clear() + { + lock (_threadLock) + { + _hasCleared = true; + + if (_consoleEntries == null) + { + _consoleEntries = new CircularBuffer(Settings.Instance.MaximumConsoleEntries); + } + else + { + _consoleEntries.Clear(); + } + + ErrorCount = WarningCount = InfoCount = 0; + } + + OnUpdated(); + } + + protected void OnEntryAdded(ConsoleEntry entry) + { + if (_hasCleared) + { + // Decrement counters if adding this entry will push another + // entry from the buffer. + if (_consoleEntries.IsFull) + { + AdjustCounter(_consoleEntries.Front().LogType, -1); + _consoleEntries.PopFront(); + } + + _consoleEntries.PushBack(entry); + } + else + { + if (_allConsoleEntries.IsFull) + { + AdjustCounter(_allConsoleEntries.Front().LogType, -1); + _allConsoleEntries.PopFront(); + } + } + + _allConsoleEntries.PushBack(entry); + OnUpdated(); + } + + protected void OnEntryDuplicated(ConsoleEntry entry) + { + entry.Count++; + OnUpdated(); + + // If has cleared, add this entry again for the current list + if (_hasCleared && _consoleEntries.Count == 0) + { + OnEntryAdded(new ConsoleEntry(entry) {Count = 1}); + } + } + + private void OnUpdated() + { + if (Updated != null) + { + try + { + Updated(this); + } + catch {} + } + } + + private void UnityLogCallback(string condition, string stackTrace, LogType type) + { + //if (condition.StartsWith("[SRConsole]")) + // return; + + lock (_threadLock) + { + var prevMessage = _collapseEnabled && _allConsoleEntries.Count > 0 + ? _allConsoleEntries[_allConsoleEntries.Count - 1] + : null; + + AdjustCounter(type, 1); + + if (prevMessage != null && prevMessage.LogType == type && prevMessage.Message == condition && + prevMessage.StackTrace == stackTrace) + { + OnEntryDuplicated(prevMessage); + } + else + { + var newEntry = new ConsoleEntry + { + LogType = type, + StackTrace = stackTrace, + Message = condition + }; + + OnEntryAdded(newEntry); + } + } + } + + private void AdjustCounter(LogType type, int amount) + { + switch (type) + { + case LogType.Assert: + case LogType.Error: + case LogType.Exception: + ErrorCount += amount; + + if (Error != null) + { + Error.Invoke(this); + } + break; + + case LogType.Warning: + WarningCount += amount; + break; + + case LogType.Log: + InfoCount += amount; + break; + } + } + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/StandardConsoleService.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/StandardConsoleService.cs.meta new file mode 100644 index 0000000..ebdda69 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/StandardConsoleService.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b4ff166e8452e1c468f1d0490738b02f +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/SystemInformationService.cs b/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/SystemInformationService.cs new file mode 100644 index 0000000..57f9101 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/SystemInformationService.cs @@ -0,0 +1,270 @@ +namespace SRDebugger.Services.Implementation +{ + using System; + using System.Collections.Generic; + using System.Linq; + using SRF; + using SRF.Service; + using UnityEngine; + + /// + /// Reports system specifications and environment information. Information that can + /// be used to identify a user is marked as private, and won't be included in any generated + /// reports. + /// + [Service(typeof(ISystemInformationService))] + public class StandardSystemInformationService : ISystemInformationService + { + private readonly Dictionary> _info = new Dictionary>(); + + public StandardSystemInformationService() + { + CreateDefaultSet(); + } + + public IEnumerable GetCategories() + { + return _info.Keys; + } + + public IList GetInfo(string category) + { + IList list; + + if (!_info.TryGetValue(category, out list)) + { + Debug.LogError("[SystemInformationService] Category not found: {0}".Fmt(category)); + return new InfoEntry[0]; + } + + return list; + } + + public void Add(InfoEntry info, string category = "Default") + { + IList list; + + if (!_info.TryGetValue(category, out list)) + { + list = new List(); + _info.Add(category, list); + } + + if (list.Any(p => p.Title == info.Title)) + { + throw new ArgumentException("An InfoEntry object with the same title already exists in that category.", "info"); + } + + list.Add(info); + } + + public Dictionary> CreateReport(bool includePrivate = false) + { + var dict = new Dictionary>(_info.Count); + + foreach (var keyValuePair in _info) + { + var category = new Dictionary(keyValuePair.Value.Count); + + foreach (var systemInfo in keyValuePair.Value) + { + if (systemInfo.IsPrivate && !includePrivate) + { + continue; + } + + category.Add(systemInfo.Title, systemInfo.Value); + } + + dict.Add(keyValuePair.Key, category); + } + + return dict; + } + + private void CreateDefaultSet() + { + _info.Add("System", new[] + { + InfoEntry.Create("Operating System", UnityEngine.SystemInfo.operatingSystem), + InfoEntry.Create("Device Name", UnityEngine.SystemInfo.deviceName, true), + InfoEntry.Create("Device Type", UnityEngine.SystemInfo.deviceType), + InfoEntry.Create("Device Model", UnityEngine.SystemInfo.deviceModel), + InfoEntry.Create("CPU Type", UnityEngine.SystemInfo.processorType), + InfoEntry.Create("CPU Count", UnityEngine.SystemInfo.processorCount), + InfoEntry.Create("System Memory", SRFileUtil.GetBytesReadable(((long) UnityEngine.SystemInfo.systemMemorySize)*1024*1024)) + //Info.Create("Process Name", () => Process.GetCurrentProcess().ProcessName) + }); + + if (SystemInfo.batteryStatus != BatteryStatus.Unknown) + { + _info.Add("Battery", new[] + { + InfoEntry.Create("Status", UnityEngine.SystemInfo.batteryStatus), + InfoEntry.Create("Battery Level", UnityEngine.SystemInfo.batteryLevel) + }); + } + +#if ENABLE_IL2CPP + const string IL2CPP = "Yes"; +#else + const string IL2CPP = "No"; +#endif + + _info.Add("Unity", new[] + { + InfoEntry.Create("Version", Application.unityVersion), + InfoEntry.Create("Debug", Debug.isDebugBuild), + InfoEntry.Create("Unity Pro", Application.HasProLicense()), + InfoEntry.Create("Genuine", + "{0} ({1})".Fmt(Application.genuine ? "Yes" : "No", + Application.genuineCheckAvailable ? "Trusted" : "Untrusted")), + InfoEntry.Create("System Language", Application.systemLanguage), + InfoEntry.Create("Platform", Application.platform), + InfoEntry.Create("Install Mode", Application.installMode), + InfoEntry.Create("Sandbox", Application.sandboxType), + InfoEntry.Create("IL2CPP", IL2CPP), + InfoEntry.Create("Application Version", Application.version), + InfoEntry.Create("Application Id", Application.identifier), + InfoEntry.Create("SRDebugger Version", SRDebug.Version), + }); + + _info.Add("Display", new[] + { + InfoEntry.Create("Resolution", () => Screen.width + "x" + Screen.height), + InfoEntry.Create("DPI", () => Screen.dpi), + InfoEntry.Create("Fullscreen", () => Screen.fullScreen), + InfoEntry.Create("Fullscreen Mode", () => Screen.fullScreenMode), + InfoEntry.Create("Orientation", () => Screen.orientation), + }); + + _info.Add("Runtime", new[] + { + InfoEntry.Create("Play Time", () => Time.unscaledTime), + InfoEntry.Create("Level Play Time", () => Time.timeSinceLevelLoad), +#if UNITY_4_6 || UNITY_4_7 || UNITY_5_0 || UNITY_5_1 || UNITY_5_2 + InfoEntry.Create("Current Level", () => Application.loadedLevelName), +#else + InfoEntry.Create("Current Level", () => + { + var activeScene = UnityEngine.SceneManagement.SceneManager.GetActiveScene(); + return "{0} (Index: {1})".Fmt(activeScene.name, activeScene.buildIndex); + }), +#endif + InfoEntry.Create("Quality Level", + () => + QualitySettings.names[QualitySettings.GetQualityLevel()] + " (" + + QualitySettings.GetQualityLevel() + ")") + }); + + // Check for cloud build manifest + var cloudBuildManifest = (TextAsset)Resources.Load("UnityCloudBuildManifest.json"); + var manifestDict = cloudBuildManifest != null + ? Json.Deserialize(cloudBuildManifest.text) as Dictionary + : null; + + if (manifestDict != null) + { + var manifestList = new List(manifestDict.Count); + + foreach (var kvp in manifestDict) + { + if (kvp.Value == null) + { + continue; + } + + var value = kvp.Value.ToString(); + manifestList.Add(InfoEntry.Create(GetCloudManifestPrettyName(kvp.Key), value)); + } + + _info.Add("Build", manifestList); + } + + _info.Add("Features", new[] + { + InfoEntry.Create("Location", UnityEngine.SystemInfo.supportsLocationService), + InfoEntry.Create("Accelerometer", UnityEngine.SystemInfo.supportsAccelerometer), + InfoEntry.Create("Gyroscope", UnityEngine.SystemInfo.supportsGyroscope), + InfoEntry.Create("Vibration", UnityEngine.SystemInfo.supportsVibration), + InfoEntry.Create("Audio", UnityEngine.SystemInfo.supportsAudio) + }); + +#if UNITY_IOS + + _info.Add("iOS", new[] { + +#if UNITY_5 || UNITY_5_3_OR_NEWER + InfoEntry.Create("Generation", UnityEngine.iOS.Device.generation), + InfoEntry.Create("Ad Tracking", UnityEngine.iOS.Device.advertisingTrackingEnabled), +#else + InfoEntry.Create("Generation", iPhone.generation), + InfoEntry.Create("Ad Tracking", iPhone.advertisingTrackingEnabled), +#endif + }); + +#endif +#pragma warning disable 618 + _info.Add("Graphics - Device", new[] + { + InfoEntry.Create("Device Name", UnityEngine.SystemInfo.graphicsDeviceName), + InfoEntry.Create("Device Vendor", UnityEngine.SystemInfo.graphicsDeviceVendor), + InfoEntry.Create("Device Version", UnityEngine.SystemInfo.graphicsDeviceVersion), + InfoEntry.Create("Graphics Memory", SRFileUtil.GetBytesReadable(((long) UnityEngine.SystemInfo.graphicsMemorySize)*1024*1024)), + InfoEntry.Create("Max Tex Size", UnityEngine.SystemInfo.maxTextureSize), + }); + + _info.Add("Graphics - Features", new[] + { + InfoEntry.Create("UV Starts at top", UnityEngine.SystemInfo.graphicsUVStartsAtTop), + InfoEntry.Create("Shader Level", UnityEngine.SystemInfo.graphicsShaderLevel), + InfoEntry.Create("Multi Threaded", UnityEngine.SystemInfo.graphicsMultiThreaded), + InfoEntry.Create("Hidden Service Removal (GPU)", UnityEngine.SystemInfo.hasHiddenSurfaceRemovalOnGPU), + InfoEntry.Create("Uniform Array Indexing (Fragment Shaders)", UnityEngine.SystemInfo.hasDynamicUniformArrayIndexingInFragmentShaders), + InfoEntry.Create("Shadows", UnityEngine.SystemInfo.supportsShadows), + InfoEntry.Create("Raw Depth Sampling (Shadows)", UnityEngine.SystemInfo.supportsRawShadowDepthSampling), + InfoEntry.Create("Motion Vectors", UnityEngine.SystemInfo.supportsMotionVectors), + InfoEntry.Create("Cubemaps", UnityEngine.SystemInfo.supportsRenderToCubemap), + InfoEntry.Create("Image Effects", UnityEngine.SystemInfo.supportsImageEffects), + InfoEntry.Create("3D Textures", UnityEngine.SystemInfo.supports3DTextures), + InfoEntry.Create("2D Array Textures", UnityEngine.SystemInfo.supports2DArrayTextures), + InfoEntry.Create("3D Render Textures", UnityEngine.SystemInfo.supports3DRenderTextures), + InfoEntry.Create("Cubemap Array Textures", UnityEngine.SystemInfo.supportsCubemapArrayTextures), + InfoEntry.Create("Copy Texture Support", UnityEngine.SystemInfo.copyTextureSupport), + InfoEntry.Create("Compute Shaders", UnityEngine.SystemInfo.supportsComputeShaders), + InfoEntry.Create("Instancing", UnityEngine.SystemInfo.supportsInstancing), + InfoEntry.Create("Hardware Quad Topology", UnityEngine.SystemInfo.supportsHardwareQuadTopology), + InfoEntry.Create("32-bit index buffer", UnityEngine.SystemInfo.supports32bitsIndexBuffer), + InfoEntry.Create("Sparse Textures", UnityEngine.SystemInfo.supportsSparseTextures), + InfoEntry.Create("Render Target Count", UnityEngine.SystemInfo.supportedRenderTargetCount), + InfoEntry.Create("Separated Render Targets Blend", UnityEngine.SystemInfo.supportsSeparatedRenderTargetsBlend), + InfoEntry.Create("Multisampled Textures", UnityEngine.SystemInfo.supportsMultisampledTextures), + InfoEntry.Create("Texture Wrap Mirror Once", UnityEngine.SystemInfo.supportsTextureWrapMirrorOnce), + InfoEntry.Create("Reversed Z Buffer", UnityEngine.SystemInfo.usesReversedZBuffer) + }); +#pragma warning restore 618 + + } + + private static string GetCloudManifestPrettyName(string name) + { + switch (name) + { + case "scmCommitId": + return "Commit"; + + case "scmBranch": + return "Branch"; + + case "cloudBuildTargetName": + return "Build Target"; + + case "buildStartTime": + return "Build Date"; + } + + // Return name with first letter capitalised + return name.Substring(0, 1).ToUpper() + name.Substring(1); + } + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/SystemInformationService.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/SystemInformationService.cs.meta new file mode 100644 index 0000000..33dbd5d --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Services/Implementation/SystemInformationService.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 605ec79db587f5345b0a0b989487631e +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Services/ServiceSelectors.cs b/Assets/StompyRobot/SRDebugger/Scripts/Services/ServiceSelectors.cs new file mode 100644 index 0000000..e02abfc --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Services/ServiceSelectors.cs @@ -0,0 +1 @@ + diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Services/ServiceSelectors.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Services/ServiceSelectors.cs.meta new file mode 100644 index 0000000..9019d57 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Services/ServiceSelectors.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 201175bddf2810a48bf7e4ca1e0ab782 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Settings.cs b/Assets/StompyRobot/SRDebugger/Scripts/Settings.cs new file mode 100644 index 0000000..9dbaec0 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Settings.cs @@ -0,0 +1,704 @@ +using System.ComponentModel; +using UnityEngine.Serialization; + +namespace SRDebugger +{ + using System; + using System.Collections.Generic; + using System.Collections.ObjectModel; + using System.IO; + using System.Linq; + using SRF; + using UnityEngine; +#if UNITY_EDITOR + using UnityEditor; +#endif + +#pragma warning disable 0649 + + public enum DefaultTabs + { + SystemInformation = 0, + Options = 1, + Console = 2, + Profiler = 3, + BugReporter = 4 + } + + public enum PinAlignment + { + TopLeft = 0, + TopRight = 1, + BottomLeft = 2, + BottomRight = 3, + CenterLeft = 4, + CenterRight = 5, + TopCenter = 6, + BottomCenter = 7 + } + + public enum ConsoleAlignment + { + Top, + Bottom + } + + public class Settings : ScriptableObject + { + public enum ShortcutActions + { + None = 0, + + OpenSystemInfoTab = 1, + OpenConsoleTab = 2, + OpenOptionsTab = 3, + OpenProfilerTab = 4, + OpenBugReporterTab = 5, + + ClosePanel = 6, + OpenPanel = 7, + TogglePanel = 8, + + ShowBugReportPopover = 9, + ToggleDockedConsole = 10, + ToggleDockedProfiler = 11 + } + + public enum TriggerBehaviours + { + TripleTap, + TapAndHold, + DoubleTap + } + + public enum TriggerEnableModes + { + Enabled, + MobileOnly, + Off, + DevelopmentBuildsOnly + } + + public enum UIModes + { + NewInputSystem, + LegacyInputSystem + } + + internal const string ResourcesName = "Settings"; + private static Settings _instance; + + public static Settings Instance + { + get + { + if (_instance == null) + { + _instance = GetOrCreateInstance(); + } + + return _instance; + } + } + private static KeyboardShortcut[] GetDefaultKeyboardShortcuts() + { + return new[] + { + new KeyboardShortcut + { + Control = true, + Shift = true, + Key = KeyCode.F1, + Action = ShortcutActions.OpenSystemInfoTab + }, + new KeyboardShortcut + { + Control = true, + Shift = true, + Key = KeyCode.F2, + Action = ShortcutActions.OpenConsoleTab + }, + new KeyboardShortcut + { + Control = true, + Shift = true, + Key = KeyCode.F3, + Action = ShortcutActions.OpenOptionsTab + }, + new KeyboardShortcut + { + Control = true, + Shift = true, + Key = KeyCode.F4, + Action = ShortcutActions.OpenProfilerTab + } + }; + } + + private void UpgradeKeyboardShortcuts() + { + if (_keyboardShortcuts == null || _keyboardShortcuts.Length == 0) + { + return; // Nothing to do + } + + Debug.Log("[SRDebugger] Upgrading Settings format"); + + var newShortcuts = new List(); + + for (var i = 0; i < _keyboardShortcuts.Length; i++) + { + var s = _keyboardShortcuts[i]; + + newShortcuts.Add(new KeyboardShortcut + { + Action = s.Action, + Key = s.Key, + Alt = _keyboardModifierAlt, + Shift = _keyboardModifierShift, + Control = _keyboardModifierControl + }); + } + + _keyboardShortcuts = new KeyboardShortcut[0]; + _newKeyboardShortcuts = newShortcuts.ToArray(); + +#if UNITY_EDITOR + EditorUtility.SetDirty(this); +#endif + } + + [Serializable] + public sealed class KeyboardShortcut + { + [SerializeField] public ShortcutActions Action; + + [SerializeField] public bool Alt; + + [SerializeField] public bool Control; + + [SerializeField] public KeyCode Key; + + [SerializeField] public bool Shift; + +#if ENABLE_INPUT_SYSTEM + [NonSerialized] public UnityEngine.InputSystem.Key? Cached_KeyCode; +#endif + } + + public event PropertyChangedEventHandler PropertyChanged; + + #region Settings + + public bool IsEnabled + { + get { return _isEnabled; } +#if UNITY_EDITOR + set { _isEnabled = value; } +#endif + } + + public UIModes UIInputMode + { + get { return _uiInputMode; } +#if UNITY_EDITOR + set { _uiInputMode = value; } +#endif + } + + public DefaultTabs DefaultTab + { + get { return _defaultTab; } +#if UNITY_EDITOR + set { _defaultTab = value; } +#endif + } + + /// + /// Enable the triple-tap button. + /// + public TriggerEnableModes EnableTrigger + { + get { return _triggerEnableMode; } +#if UNITY_EDITOR + set { _triggerEnableMode = value; } +#endif + } + + /// + /// Enable the triple-tap button. + /// + public TriggerBehaviours TriggerBehaviour + { + get { return _triggerBehaviour; } +#if UNITY_EDITOR + set { _triggerBehaviour = value; } +#endif + } + + /// + /// Enable a notification when a new error is logged. + /// + public bool ErrorNotification + { + get { return _errorNotification; } +#if UNITY_EDITOR + set { _errorNotification = value; } +#endif + } + + public bool EnableKeyboardShortcuts + { + get { return _enableKeyboardShortcuts; } +#if UNITY_EDITOR + set { _enableKeyboardShortcuts = value; } +#endif + } + + public IList KeyboardShortcuts + { + get { return _newKeyboardShortcuts; } +#if UNITY_EDITOR + set { _newKeyboardShortcuts = value.ToArray(); } +#endif + } + + public bool KeyboardEscapeClose + { + get { return _keyboardEscapeClose; } +#if UNITY_EDITOR + set { _keyboardEscapeClose = value; } +#endif + } + + public bool EnableBackgroundTransparency + { + get { return _enableBackgroundTransparency; } +#if UNITY_EDITOR + set { _enableBackgroundTransparency = value; } +#endif + } + + public float BackgroundTransparency + { + get { return _backgroundTransparency; } +#if UNITY_EDITOR + set { _backgroundTransparency = value; } +#endif + } + + public bool RequireCode + { + get { return _requireEntryCode; } +#if UNITY_EDITOR + set { _requireEntryCode = value; } +#endif + } + + public bool RequireEntryCodeEveryTime + { + get { return _requireEntryCodeEveryTime; } +#if UNITY_EDITOR + set { _requireEntryCodeEveryTime = value; } +#endif + } + + public IList EntryCode + { + get { return new ReadOnlyCollection(_entryCode); } + set + { + if (value.Count != 4) + { + throw new Exception("Entry code must be length 4"); + } + if (value.Any(p => p > 9 || p < 0)) + { + throw new Exception("All digits in entry code must be >= 0 and <= 9"); + } + + _entryCode = value.ToArray(); + } + } + + public bool UseDebugCamera + { + get { return _useDebugCamera; } +#if UNITY_EDITOR + set { _useDebugCamera = value; } +#endif + } + + public int DebugLayer + { + get { return _debugLayer; } +#if UNITY_EDITOR + set { _debugLayer = value; } +#endif + } + + public float DebugCameraDepth + { + get { return _debugCameraDepth; } +#if UNITY_EDITOR + set { _debugCameraDepth = value; } +#endif + } + + public bool CollapseDuplicateLogEntries + { + get { return _collapseDuplicateLogEntries; } +#if UNITY_EDITOR + set { _collapseDuplicateLogEntries = value; } +#endif + } + + public bool RichTextInConsole + { + get { return _richTextInConsole; } +#if UNITY_EDITOR + set { _richTextInConsole = value; } +#endif + } + + public string ApiKey + { + get { return _apiKey; } +#if UNITY_EDITOR + set + { + _apiKey = value; + EditorUtility.SetDirty(this); + } +#endif + } + + public bool EnableBugReporter + { + get { return _enableBugReporter; } +#if UNITY_EDITOR + set { _enableBugReporter = value; } +#endif + } + + public bool EnableBugReportScreenshot + { + get { return _enableBugReportScreenshot; } +#if UNITY_EDITOR + set { _enableBugReportScreenshot = value; } +#endif + } + + public IList DisabledTabs + { + get { return _disabledTabs; } +#if UNITY_EDITOR + set { _disabledTabs = value.ToArray(); } +#endif + } + + /// + /// Position for the triple-tap button + /// + public PinAlignment TriggerPosition + { + get { return _triggerPosition; } +#if UNITY_EDITOR + set + { + var prevValue = _triggerPosition; + _triggerPosition = value; + if (OptionsAlignment == value) + { + OptionsAlignment = prevValue; + } + if (ProfilerAlignment == value) + { + ProfilerAlignment = prevValue; + } + } +#endif + } + + public PinAlignment ProfilerAlignment + { + get { return _profilerAlignment; } +#if UNITY_EDITOR + set + { + // Profiler only supports corners + if (value == PinAlignment.CenterRight || value == PinAlignment.CenterLeft || + value == PinAlignment.TopCenter || value == PinAlignment.BottomCenter) + { + // Prefer bottom left + if (TriggerPosition != PinAlignment.BottomLeft && OptionsAlignment != PinAlignment.BottomLeft) + { + _profilerAlignment = PinAlignment.BottomLeft; + return; + } + + // Find next available opening + for (var i = 0; i < 4; i++) + { + var pin = (PinAlignment) i; + if (_triggerPosition == pin || _optionsAlignment == pin) + continue; + + _profilerAlignment = pin; + return; + } + + _profilerAlignment = PinAlignment.BottomLeft; + return; + } + + var prevValue = _profilerAlignment; + _profilerAlignment = value; + + if (TriggerPosition == value) + { + TriggerPosition = prevValue; + } + if (OptionsAlignment == value) + { + OptionsAlignment = prevValue; + } + } +#endif + } + + public PinAlignment OptionsAlignment + { + get { return _optionsAlignment; } +#if UNITY_EDITOR + set + { + // Options doesn't support CenterRight and CenterLeft + if (value == PinAlignment.CenterRight || value == PinAlignment.CenterLeft) + { + // Prefer bottom right + if (TriggerPosition != PinAlignment.BottomRight && ProfilerAlignment != PinAlignment.BottomRight) + { + _optionsAlignment = PinAlignment.BottomRight; + return; + } + for (var i = 0; i < 4; i++) + { + var pin = (PinAlignment) i; + if (_triggerPosition == pin || _profilerAlignment == pin) + continue; + + _optionsAlignment = pin; + return; + } + + _optionsAlignment = PinAlignment.BottomRight; + return; + } + + var prevValue = _optionsAlignment; + _optionsAlignment = value; + + if (TriggerPosition == value) + { + TriggerPosition = prevValue; + } + + if (ProfilerAlignment == value) + { + ProfilerAlignment = prevValue; + } + } +#endif + } + + public ConsoleAlignment ConsoleAlignment + { + get { return _consoleAlignment; } + set { _consoleAlignment = value; } + } + + public int MaximumConsoleEntries + { + get { return _maximumConsoleEntries; } + set { _maximumConsoleEntries = value; } + } + + public bool EnableEventSystemGeneration + { + get { return _enableEventSystemCreation; } + set { _enableEventSystemCreation = value; } + } + + public bool AutomaticallyShowCursor + { + get { return _automaticShowCursor; } +#if UNITY_EDITOR + set { _automaticShowCursor = value; } +#endif + } + + public float UIScale + { + get { return _uiScale; } + set + { + if (value == _uiScale) return; + _uiScale = value; + OnPropertyChanged("UIScale"); + } + } + + public bool UnloadOnClose + { + get { return _unloadOnClose; } +#if UNITY_EDITOR + set + { + _unloadOnClose = value; + } +#endif + } + +#if UNITY_EDITOR + public bool DisableWelcomePopup + { + get { return _disableWelcomePopup; } + set { _disableWelcomePopup = value; } + } +#endif + +#endregion + + #region Serialization + + [SerializeField] private bool _isEnabled = true; + + [SerializeField] private bool _disableWelcomePopup = false; + + [SerializeField] private UIModes _uiInputMode = UIModes.NewInputSystem; + + [SerializeField] private DefaultTabs _defaultTab = DefaultTabs.SystemInformation; + + [SerializeField] private TriggerEnableModes _triggerEnableMode = TriggerEnableModes.Enabled; + + [SerializeField] private TriggerBehaviours _triggerBehaviour = TriggerBehaviours.TripleTap; + + [SerializeField] private bool _errorNotification = true; + + [SerializeField] private bool _enableKeyboardShortcuts = true; + + // Legacy keyboard shortcuts, should be upgraded + [SerializeField] private KeyboardShortcut[] _keyboardShortcuts; + + // New keyboard shortcut array, containing upgraded shortcuts + [SerializeField] private KeyboardShortcut[] _newKeyboardShortcuts = GetDefaultKeyboardShortcuts(); + + [SerializeField] private bool _keyboardModifierControl = true; + + [SerializeField] private bool _keyboardModifierAlt = false; + + [SerializeField] private bool _keyboardModifierShift = true; + + [SerializeField] private bool _keyboardEscapeClose = true; + + [SerializeField] private bool _enableBackgroundTransparency = true; + + [SerializeField] private float _backgroundTransparency = 0.9f; + + [SerializeField] private bool _collapseDuplicateLogEntries = true; + + [SerializeField] private bool _richTextInConsole = true; + + [SerializeField] private bool _requireEntryCode; + + [SerializeField] private bool _requireEntryCodeEveryTime; + + [SerializeField] private int[] _entryCode = {0, 0, 0, 0}; + + [SerializeField] private bool _useDebugCamera; + + [SerializeField] private int _debugLayer = 5; + + [SerializeField] [Range(-100, 100)] private float _debugCameraDepth = 100f; + + [SerializeField] private string _apiKey = ""; + + [SerializeField] private bool _enableBugReporter; + + [SerializeField] private bool _enableBugReportScreenshot = true; + + [SerializeField] private DefaultTabs[] _disabledTabs = {}; + + [SerializeField] private PinAlignment _profilerAlignment = PinAlignment.BottomLeft; + + [SerializeField] private PinAlignment _optionsAlignment = PinAlignment.BottomRight; + + [SerializeField] private ConsoleAlignment _consoleAlignment = ConsoleAlignment.Top; + + [SerializeField] private PinAlignment _triggerPosition = PinAlignment.TopLeft; + + [SerializeField] private int _maximumConsoleEntries = 1500; + + [SerializeField] private bool _enableEventSystemCreation = true; + + [SerializeField] private bool _automaticShowCursor = true; + + [SerializeField] private float _uiScale = 1; + + [SerializeField] private bool _unloadOnClose = false; + + #endregion + + #region Property Changed + + private void OnPropertyChanged(string propertyName) + { + if (PropertyChanged != null) + { + PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); + } + } + + #endregion + + #region Saving/Loading + + internal static void ClearCache() + { + if (_instance != null) + { + Resources.UnloadAsset(_instance); + } + + _instance = null; + } + + internal static Settings GetInstance() + { + var instance = Resources.Load("SRDebugger/" + ResourcesName); + return instance; + } + + private static Settings GetOrCreateInstance() + { + var instance = GetInstance(); + + if (instance == null) + { + Debug.Log("[SRDebugger] No SRDebugger settings object found - using defaults. (Open SRDebugger Settings window in the Unity Editor to create settings file)"); + + // Create instance + instance = CreateInstance(); + + } else + { + instance.UpgradeKeyboardShortcuts(); + } + + return instance; + } + + #endregion + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Settings.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Settings.cs.meta new file mode 100644 index 0000000..f4e8471 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Settings.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 16d00b7005a47ef47802a8421dc6baf6 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI.meta b/Assets/StompyRobot/SRDebugger/Scripts/UI.meta new file mode 100644 index 0000000..cb67bcb --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: efd786645c02b9246916a4d19f1ab7dd +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls.meta b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls.meta new file mode 100644 index 0000000..513de12 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 50d86929c58b07248aadea9a99dc350d +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/ConsoleEntryView.cs b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/ConsoleEntryView.cs new file mode 100644 index 0000000..c95013d --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/ConsoleEntryView.cs @@ -0,0 +1,112 @@ +namespace SRDebugger.UI.Controls +{ + using System; + using Services; + using SRF; + using SRF.UI; + using SRF.UI.Layout; + using UnityEngine; + using UnityEngine.UI; + + [RequireComponent(typeof (RectTransform))] + public class ConsoleEntryView : SRMonoBehaviourEx, IVirtualView + { + public const string ConsoleBlobInfo = "Console_Info_Blob"; + public const string ConsoleBlobWarning = "Console_Warning_Blob"; + public const string ConsoleBlobError = "Console_Error_Blob"; + private int _count; + private bool _hasCount; + private ConsoleEntry _prevData; + private RectTransform _rectTransform; + + [RequiredField] public Text Count; + + [RequiredField] public CanvasGroup CountContainer; + + [RequiredField] public StyleComponent ImageStyle; + + [RequiredField] public Text Message; + + [RequiredField] public Text StackTrace; + + public void SetDataContext(object data) + { + var msg = data as ConsoleEntry; + + if (msg == null) + { + throw new Exception("Data should be a ConsoleEntry"); + } + + // Always check for updates on "Count", as it can change + if (msg.Count > 1) + { + if (!_hasCount) + { + CountContainer.alpha = 1f; + _hasCount = true; + } + + if (msg.Count != _count) + { + Count.text = Internal.SRDebuggerUtil.GetNumberString(msg.Count, 999, "999+"); + _count = msg.Count; + } + } + else if (_hasCount) + { + CountContainer.alpha = 0f; + _hasCount = false; + } + + // Only update everything else if data context has changed, not just for an update + if (msg == _prevData) + { + return; + } + + _prevData = msg; + + Message.text = msg.MessagePreview; + StackTrace.text = msg.StackTracePreview; + + if (string.IsNullOrEmpty(StackTrace.text)) + { + Message.rectTransform.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Bottom, 2, + _rectTransform.rect.height - 4); + } + else + { + Message.rectTransform.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Bottom, 12, + _rectTransform.rect.height - 14); + } + + switch (msg.LogType) + { + case LogType.Log: + ImageStyle.StyleKey = ConsoleBlobInfo; + break; + + case LogType.Warning: + ImageStyle.StyleKey = ConsoleBlobWarning; + break; + + case LogType.Exception: + case LogType.Assert: + case LogType.Error: + ImageStyle.StyleKey = ConsoleBlobError; + break; + } + } + + protected override void Awake() + { + base.Awake(); + + _rectTransform = CachedTransform as RectTransform; + CountContainer.alpha = 0f; + + Message.supportRichText = Settings.Instance.RichTextInConsole; + } + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/ConsoleEntryView.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/ConsoleEntryView.cs.meta new file mode 100644 index 0000000..2a9302d --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/ConsoleEntryView.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c214ec24a4baf1a4f828768a9795f241 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/ConsoleLogControl.cs b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/ConsoleLogControl.cs new file mode 100644 index 0000000..5a905af --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/ConsoleLogControl.cs @@ -0,0 +1,196 @@ + +#pragma warning disable 169 +#pragma warning disable 649 + +namespace SRDebugger.UI.Controls +{ + using System; + using System.Collections; + using Internal; + using Services; + using SRF; + using SRF.UI.Layout; + using UnityEngine; + using UnityEngine.UI; + + public class ConsoleLogControl : SRMonoBehaviourEx + { + [RequiredField] [SerializeField] private VirtualVerticalLayoutGroup _consoleScrollLayoutGroup; + + [RequiredField] [SerializeField] private ScrollRect _consoleScrollRect; + + private bool _isDirty; + private Vector2? _scrollPosition; + private bool _showErrors = true; + private bool _showInfo = true; + private bool _showWarnings = true; + public Action SelectedItemChanged; + private string _filter; + + public bool ShowErrors + { + get { return _showErrors; } + set + { + _showErrors = value; + SetIsDirty(); + } + } + + public bool ShowWarnings + { + get { return _showWarnings; } + set + { + _showWarnings = value; + SetIsDirty(); + } + } + + public bool ShowInfo + { + get { return _showInfo; } + set + { + _showInfo = value; + SetIsDirty(); + } + } + + public bool EnableSelection + { + get { return _consoleScrollLayoutGroup.EnableSelection; } + set { _consoleScrollLayoutGroup.EnableSelection = value; } + } + + public string Filter + { + get { return _filter; } + set { + if (_filter != value) + { + _filter = value; + _isDirty = true; + } + } + } + + protected override void Awake() + { + base.Awake(); + + _consoleScrollLayoutGroup.SelectedItemChanged.AddListener(OnSelectedItemChanged); + Service.Console.Updated += ConsoleOnUpdated; + } + + protected override void Start() + { + base.Start(); + SetIsDirty(); + StartCoroutine(ScrollToBottom()); + } + + IEnumerator ScrollToBottom() + { + yield return new WaitForEndOfFrame(); + yield return new WaitForEndOfFrame(); + yield return new WaitForEndOfFrame(); + _scrollPosition = new Vector2(0,0); + } + + protected override void OnDestroy() + { + if (Service.Console != null) + { + Service.Console.Updated -= ConsoleOnUpdated; + } + + base.OnDestroy(); + } + + private void OnSelectedItemChanged(object arg0) + { + var entry = arg0 as ConsoleEntry; + + if (SelectedItemChanged != null) + { + SelectedItemChanged(entry); + } + } + + protected override void Update() + { + base.Update(); + + if (_scrollPosition.HasValue) + { + _consoleScrollRect.normalizedPosition = _scrollPosition.Value; + _scrollPosition = null; + } + + if (_isDirty) + { + Refresh(); + } + } + + private void Refresh() + { + if (_consoleScrollRect.normalizedPosition.y < 0.01f) + { + _scrollPosition = _consoleScrollRect.normalizedPosition; + } + + _consoleScrollLayoutGroup.ClearItems(); + + var entries = Service.Console.Entries; + + for (var i = 0; i < entries.Count; i++) + { + var e = entries[i]; + + if ((e.LogType == LogType.Error || e.LogType == LogType.Exception || e.LogType == LogType.Assert) && + !ShowErrors) + { + if (e == _consoleScrollLayoutGroup.SelectedItem) _consoleScrollLayoutGroup.SelectedItem = null; + continue; + } + + if (e.LogType == LogType.Warning && !ShowWarnings) + { + if (e == _consoleScrollLayoutGroup.SelectedItem) _consoleScrollLayoutGroup.SelectedItem = null; + continue; + } + + if (e.LogType == LogType.Log && !ShowInfo) + { + if (e == _consoleScrollLayoutGroup.SelectedItem) _consoleScrollLayoutGroup.SelectedItem = null; + continue; + } + + if (!string.IsNullOrEmpty(Filter)) + { + if (e.Message.IndexOf(Filter, StringComparison.OrdinalIgnoreCase) < 0) + { + if (e == _consoleScrollLayoutGroup.SelectedItem) _consoleScrollLayoutGroup.SelectedItem = null; + continue; + } + } + + _consoleScrollLayoutGroup.AddItem(e); + } + + _isDirty = false; + } + + private void SetIsDirty() + { + _isDirty = true; + } + + private void ConsoleOnUpdated(IConsoleService console) + { + SetIsDirty(); + } + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/ConsoleLogControl.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/ConsoleLogControl.cs.meta new file mode 100644 index 0000000..e618f8b --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/ConsoleLogControl.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 413376b74a5948a4db9e0a5c9c002724 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data.meta b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data.meta new file mode 100644 index 0000000..8a3e90f --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: b5fd2859be59fd34c83def152a20f905 +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data/ActionControl.cs b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data/ActionControl.cs new file mode 100644 index 0000000..817ad75 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data/ActionControl.cs @@ -0,0 +1,52 @@ +namespace SRDebugger.UI.Controls.Data +{ + using System; + using SRF; + using UnityEngine; + using UnityEngine.UI; + + public class ActionControl : OptionsControlBase + { + private SRF.Helpers.MethodReference _method; + + [RequiredField] public UnityEngine.UI.Button Button; + + [RequiredField] public Text Title; + + public SRF.Helpers.MethodReference Method + { + get { return _method; } + } + + protected override void Start() + { + base.Start(); + Button.onClick.AddListener(ButtonOnClick); + } + + private void ButtonOnClick() + { + if (_method == null) + { + Debug.LogWarning("[SRDebugger.Options] No method set for action control", this); + return; + } + + try + { + _method.Invoke(null); + } + catch (Exception e) + { + Debug.LogError("[SRDebugger] Exception thrown while executing action."); + Debug.LogException(e); + } + } + + public void SetMethod(string methodName, SRF.Helpers.MethodReference method) + { + _method = method; + Title.text = methodName; + } + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data/ActionControl.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data/ActionControl.cs.meta new file mode 100644 index 0000000..1b57704 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data/ActionControl.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6c637c8d0d16d024fa920dda64fb38db +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data/BoolControl.cs b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data/BoolControl.cs new file mode 100644 index 0000000..8421552 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data/BoolControl.cs @@ -0,0 +1,44 @@ +namespace SRDebugger.UI.Controls.Data +{ + using System; + using SRF; + using UnityEngine.UI; + + public class BoolControl : DataBoundControl + { + [RequiredField] public Text Title; + + [RequiredField] public Toggle Toggle; + + protected override void Start() + { + base.Start(); + Toggle.onValueChanged.AddListener(ToggleOnValueChanged); + } + + private void ToggleOnValueChanged(bool isOn) + { + UpdateValue(isOn); + } + + protected override void OnBind(string propertyName, Type t) + { + base.OnBind(propertyName, t); + + Title.text = propertyName; + + Toggle.interactable = !IsReadOnly; + } + + protected override void OnValueUpdated(object newValue) + { + var value = (bool) newValue; + Toggle.isOn = value; + } + + public override bool CanBind(Type type, bool isReadOnly) + { + return type == typeof (bool); + } + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data/BoolControl.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data/BoolControl.cs.meta new file mode 100644 index 0000000..a166e95 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data/BoolControl.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 645dcae76b625be40b595e4bbc27abb6 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data/DataBoundControl.cs b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data/DataBoundControl.cs new file mode 100644 index 0000000..fbce943 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data/DataBoundControl.cs @@ -0,0 +1,131 @@ +namespace SRDebugger.UI.Controls +{ + using System; + using UnityEngine; + using SRF.Helpers; + + public abstract class DataBoundControl : OptionsControlBase + { + private bool _hasStarted; + private bool _isReadOnly; + private object _prevValue; + private SRF.Helpers.PropertyReference _prop; + + public SRF.Helpers.PropertyReference Property + { + get { return _prop; } + } + + public bool IsReadOnly + { + get { return _isReadOnly; } + } + + public string PropertyName { get; private set; } + + #region Data Binding + + public void Bind(string propertyName, SRF.Helpers.PropertyReference prop) + { + PropertyName = propertyName; + _prop = prop; + + _isReadOnly = !prop.CanWrite; + + prop.ValueChanged += OnValueChanged; + + OnBind(propertyName, prop.PropertyType); + Refresh(); + } + + private void OnValueChanged(PropertyReference property) + { + Refresh(); + } + + protected void UpdateValue(object newValue) + { + if (newValue == _prevValue) + { + return; + } + + if (IsReadOnly) + { + return; + } + + _prop.SetValue(newValue); + _prevValue = newValue; + } + + public override void Refresh() + { + if (_prop == null) + { + return; + } + + var currentValue = _prop.GetValue(); + + if (currentValue != _prevValue) + { + try + { + OnValueUpdated(currentValue); + } + catch (Exception e) + { + Debug.LogError("[SROptions] Error refreshing binding."); + Debug.LogException(e); + } + } + + _prevValue = currentValue; + } + + protected virtual void OnBind(string propertyName, Type t) {} + protected abstract void OnValueUpdated(object newValue); + + public abstract bool CanBind(Type type, bool isReadOnly); + + #endregion + + #region Unity + + protected override void Start() + { + base.Start(); + + Refresh(); + _hasStarted = true; + } + + protected override void OnEnable() + { + base.OnEnable(); + + if (_hasStarted) + { + if (_prop != null) + { + _prop.ValueChanged += OnValueChanged; + } + + Refresh(); + } + } + + protected override void OnDisable() + { + base.OnDisable(); + + if (_prop != null) + { + _prop.ValueChanged -= OnValueChanged; + } + } + + #endregion + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data/DataBoundControl.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data/DataBoundControl.cs.meta new file mode 100644 index 0000000..d4f9dcb --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data/DataBoundControl.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5f319c80d34ef2e4590641a136c82f1e +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data/EnumControl.cs b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data/EnumControl.cs new file mode 100644 index 0000000..f2cd515 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data/EnumControl.cs @@ -0,0 +1,109 @@ +// ReSharper disable once RedundantUsingDirective +using System.Reflection; + +namespace SRDebugger.UI.Controls.Data +{ + using System; + using SRF; + using SRF.UI; + using UnityEngine; + using UnityEngine.UI; + + public class EnumControl : DataBoundControl + { + private object _lastValue; + private string[] _names; + private Array _values; + + [RequiredField] public LayoutElement ContentLayoutElement; + + public GameObject[] DisableOnReadOnly; + + [RequiredField] public SRSpinner Spinner; + + [RequiredField] public Text Title; + + [RequiredField] public Text Value; + + protected override void Start() + { + base.Start(); + } + + protected override void OnBind(string propertyName, Type t) + { + base.OnBind(propertyName, t); + + Title.text = propertyName; + + Spinner.interactable = !IsReadOnly; + + if (DisableOnReadOnly != null) + { + foreach (var child in DisableOnReadOnly) + { + child.SetActive(!IsReadOnly); + } + } + + _names = Enum.GetNames(t); + _values = Enum.GetValues(t); + + var longestName = ""; + + for (var i = 0; i < _names.Length; i++) + { + if (_names[i].Length > longestName.Length) + { + longestName = _names[i]; + } + } + + if (_names.Length == 0) + { + return; + } + + // Set preferred width of content to the largest possible value size + + var width = Value.cachedTextGeneratorForLayout.GetPreferredWidth(longestName, + Value.GetGenerationSettings(new Vector2(float.MaxValue, Value.preferredHeight))); + + ContentLayoutElement.preferredWidth = width; + } + + protected override void OnValueUpdated(object newValue) + { + _lastValue = newValue; + Value.text = newValue.ToString(); + LayoutRebuilder.MarkLayoutForRebuild(GetComponent()); + } + + public override bool CanBind(Type type, bool isReadOnly) + { +#if NETFX_CORE + return type.GetTypeInfo().IsEnum; +#else + return type.IsEnum; +#endif + } + + private void SetIndex(int i) + { + UpdateValue(_values.GetValue(i)); + Refresh(); + } + + public void GoToNext() + { + var currentIndex = Array.IndexOf(_values, _lastValue); + SetIndex(SRMath.Wrap(_values.Length, currentIndex + 1)); + } + + public void GoToPrevious() + { + var currentIndex = Array.IndexOf(_values, _lastValue); + SetIndex(SRMath.Wrap(_values.Length, currentIndex - 1)); + } + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data/EnumControl.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data/EnumControl.cs.meta new file mode 100644 index 0000000..9c44e26 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data/EnumControl.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3b7f14311f0b3f442b273192dc8ffe4d +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data/NumberControl.cs b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data/NumberControl.cs new file mode 100644 index 0000000..dbf0f16 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data/NumberControl.cs @@ -0,0 +1,200 @@ +using System.Globalization; + +namespace SRDebugger.UI.Controls.Data +{ + using System; + using System.Collections.Generic; + using SRF; + using SRF.UI; + using UnityEngine; + using UnityEngine.UI; + + public class NumberControl : DataBoundControl + { + private static readonly Type[] IntegerTypes = + { + typeof (int), typeof (short), typeof (byte), typeof (sbyte), typeof (uint), typeof (ushort) + }; + + private static readonly Type[] DecimalTypes = + { + typeof (float), typeof (double) + }; + + public static readonly Dictionary ValueRanges = new Dictionary + { + {typeof (int), new ValueRange {MaxValue = int.MaxValue, MinValue = int.MinValue}}, + {typeof (short), new ValueRange {MaxValue = short.MaxValue, MinValue = short.MinValue}}, + {typeof (byte), new ValueRange {MaxValue = byte.MaxValue, MinValue = byte.MinValue}}, + {typeof (sbyte), new ValueRange {MaxValue = sbyte.MaxValue, MinValue = sbyte.MinValue}}, + {typeof (uint), new ValueRange {MaxValue = uint.MaxValue, MinValue = uint.MinValue}}, + {typeof (ushort), new ValueRange {MaxValue = ushort.MaxValue, MinValue = ushort.MinValue}}, + {typeof (float), new ValueRange {MaxValue = float.MaxValue, MinValue = float.MinValue}}, + {typeof (double), new ValueRange {MaxValue = double.MaxValue, MinValue = double.MinValue}} + }; + + private string _lastValue; + private Type _type; + public GameObject[] DisableOnReadOnly; + public SRNumberButton DownNumberButton; + + [RequiredField] public SRNumberSpinner NumberSpinner; + + [RequiredField] public Text Title; + + public SRNumberButton UpNumberButton; + + protected override void Start() + { + base.Start(); + NumberSpinner.onEndEdit.AddListener(OnValueChanged); + } + + private void OnValueChanged(string newValue) + { + try + { + var num = Convert.ChangeType(newValue, _type, CultureInfo.InvariantCulture); + UpdateValue(num); + } + catch (Exception) + { + NumberSpinner.text = _lastValue; + } + + LayoutRebuilder.MarkLayoutForRebuild(GetComponent()); + } + + protected override void OnBind(string propertyName, Type t) + { + base.OnBind(propertyName, t); + Title.text = propertyName; + + if (IsIntegerType(t)) + { + NumberSpinner.contentType = InputField.ContentType.IntegerNumber; + } + else if (IsDecimalType(t)) + { + NumberSpinner.contentType = InputField.ContentType.DecimalNumber; + } + else + { + throw new ArgumentException("Type must be one of expected types", "t"); + } + + var rangeAttrib = Property.GetAttribute(); + + NumberSpinner.MaxValue = GetMaxValue(t); + NumberSpinner.MinValue = GetMinValue(t); + + if (rangeAttrib != null) + { + NumberSpinner.MaxValue = Math.Min(rangeAttrib.Max, NumberSpinner.MaxValue); + NumberSpinner.MinValue = Math.Max(rangeAttrib.Min, NumberSpinner.MinValue); + } + + var incrementAttribute = Property.GetAttribute(); + + if (incrementAttribute != null) + { + if (UpNumberButton != null) + { + UpNumberButton.Amount = incrementAttribute.Increment; + } + + if (DownNumberButton != null) + { + DownNumberButton.Amount = -incrementAttribute.Increment; + } + } + + _type = t; + + NumberSpinner.interactable = !IsReadOnly; + + if (DisableOnReadOnly != null) + { + foreach (var childControl in DisableOnReadOnly) + { + childControl.SetActive(!IsReadOnly); + } + } + } + + protected override void OnValueUpdated(object newValue) + { + var value = Convert.ToDecimal(newValue, CultureInfo.InvariantCulture).ToString(CultureInfo.InvariantCulture); + + if (value != _lastValue) + { + NumberSpinner.text = value; + } + + _lastValue = value; + } + + public override bool CanBind(Type type, bool isReadOnly) + { + return IsDecimalType(type) || IsIntegerType(type); + } + + protected static bool IsIntegerType(Type t) + { + for (var i = 0; i < IntegerTypes.Length; i++) + { + if (IntegerTypes[i] == t) + { + return true; + } + } + + return false; + } + + protected static bool IsDecimalType(Type t) + { + for (var i = 0; i < DecimalTypes.Length; i++) + { + if (DecimalTypes[i] == t) + { + return true; + } + } + + return false; + } + + protected double GetMaxValue(Type t) + { + ValueRange value; + if (ValueRanges.TryGetValue(t, out value)) + { + return value.MaxValue; + } + + Debug.LogWarning("[NumberControl] No MaxValue stored for type {0}".Fmt(t)); + + return double.MaxValue; + } + + protected double GetMinValue(Type t) + { + ValueRange value; + if (ValueRanges.TryGetValue(t, out value)) + { + return value.MinValue; + } + + Debug.LogWarning("[NumberControl] No MinValue stored for type {0}".Fmt(t)); + + return double.MinValue; + } + + public struct ValueRange + { + public double MaxValue; + public double MinValue; + } + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data/NumberControl.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data/NumberControl.cs.meta new file mode 100644 index 0000000..6f8ed81 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data/NumberControl.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4a6d9f7214a7c5e4b868bfc520d92799 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data/OptionsControlBase.cs b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data/OptionsControlBase.cs new file mode 100644 index 0000000..700b41f --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data/OptionsControlBase.cs @@ -0,0 +1,74 @@ +namespace SRDebugger.UI.Controls +{ + using Internal; + using SRF; + using UnityEngine.UI; + + public abstract class OptionsControlBase : SRMonoBehaviourEx + { + private bool _selectionModeEnabled; + + [RequiredField] public Toggle SelectionModeToggle; + + public OptionDefinition Option; + + public bool SelectionModeEnabled + { + get { return _selectionModeEnabled; } + + set + { + if (value == _selectionModeEnabled) + { + return; + } + + _selectionModeEnabled = value; + + SelectionModeToggle.gameObject.SetActive(_selectionModeEnabled); + + if (SelectionModeToggle.graphic != null) + { + SelectionModeToggle.graphic.CrossFadeAlpha(IsSelected ? _selectionModeEnabled ? 1.0f : 0.2f : 0f, 0, + true); + } + } + } + + public bool IsSelected + { + get { return SelectionModeToggle.isOn; } + set + { + SelectionModeToggle.isOn = value; + + if (SelectionModeToggle.graphic != null) + { + SelectionModeToggle.graphic.CrossFadeAlpha(value ? _selectionModeEnabled ? 1.0f : 0.2f : 0f, 0, true); + } + } + } + + protected override void Awake() + { + base.Awake(); + + IsSelected = false; + SelectionModeToggle.gameObject.SetActive(false); + } + + protected override void OnEnable() + { + base.OnEnable(); + + // Reapply selection indicator alpha (is reset when disabled / reenabled) + if (SelectionModeToggle.graphic != null) + { + SelectionModeToggle.graphic.CrossFadeAlpha(IsSelected ? _selectionModeEnabled ? 1.0f : 0.2f : 0f, 0, + true); + } + } + + public virtual void Refresh() {} + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data/OptionsControlBase.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data/OptionsControlBase.cs.meta new file mode 100644 index 0000000..925da66 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data/OptionsControlBase.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ff04c6750fdb3b744ac19818a2425666 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data/ReadOnlyControl.cs b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data/ReadOnlyControl.cs new file mode 100644 index 0000000..f7a9c86 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data/ReadOnlyControl.cs @@ -0,0 +1,36 @@ +namespace SRDebugger.UI.Controls.Data +{ + using System; + using SRF; + using UnityEngine.UI; + + public class ReadOnlyControl : DataBoundControl + { + [RequiredField] + public Text ValueText; + + [RequiredField] + public Text Title; + + protected override void Start() + { + base.Start(); + } + + protected override void OnBind(string propertyName, Type t) + { + base.OnBind(propertyName, t); + Title.text = propertyName; + } + + protected override void OnValueUpdated(object newValue) + { + ValueText.text = Convert.ToString(newValue); + } + + public override bool CanBind(Type type, bool isReadOnly) + { + return type == typeof(string) && isReadOnly; + } + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data/ReadOnlyControl.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data/ReadOnlyControl.cs.meta new file mode 100644 index 0000000..b5a21a1 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data/ReadOnlyControl.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 41b5dbc85a74ae84dbb6c6685e1151fc +timeCreated: 1466683332 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data/StringControl.cs b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data/StringControl.cs new file mode 100644 index 0000000..3190d25 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data/StringControl.cs @@ -0,0 +1,47 @@ +namespace SRDebugger.UI.Controls.Data +{ + using System; + using SRF; + using UnityEngine.UI; + + public class StringControl : DataBoundControl + { + [RequiredField] public InputField InputField; + + [RequiredField] public Text Title; + + protected override void Start() + { + base.Start(); +#if UNITY_4_6 || UNITY_4_7 || UNITY_5_0 || UNITY_5_1 || UNITY_5_2 + InputField.onValueChange.AddListener(OnValueChanged); +#else + InputField.onValueChanged.AddListener(OnValueChanged); +#endif + } + + private void OnValueChanged(string newValue) + { + UpdateValue(newValue); + } + + protected override void OnBind(string propertyName, Type t) + { + base.OnBind(propertyName, t); + Title.text = propertyName; + InputField.text = ""; + InputField.interactable = !IsReadOnly; + } + + protected override void OnValueUpdated(object newValue) + { + var value = newValue == null ? "" : (string) newValue; + InputField.text = value; + } + + public override bool CanBind(Type type, bool isReadOnly) + { + return type == typeof (string) && !isReadOnly; + } + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data/StringControl.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data/StringControl.cs.meta new file mode 100644 index 0000000..b355e9e --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Data/StringControl.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 019f81638c7cf1f438569f1ca9def175 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/InfoBlock.cs b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/InfoBlock.cs new file mode 100644 index 0000000..079da14 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/InfoBlock.cs @@ -0,0 +1,12 @@ +namespace SRDebugger.UI.Controls +{ + using SRF; + using UnityEngine.UI; + + public class InfoBlock : SRMonoBehaviourEx + { + [RequiredField] public Text Content; + + [RequiredField] public Text Title; + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/InfoBlock.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/InfoBlock.cs.meta new file mode 100644 index 0000000..b73a7b4 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/InfoBlock.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3214a2a17debe0c489148429ec9a37b2 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/MultiTapButton.cs b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/MultiTapButton.cs new file mode 100644 index 0000000..e3cd25e --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/MultiTapButton.cs @@ -0,0 +1,30 @@ +namespace SRDebugger.UI.Controls +{ + using UnityEngine; + using UnityEngine.EventSystems; + + public class MultiTapButton : UnityEngine.UI.Button + { + private float _lastTap; + private int _tapCount; + public int RequiredTapCount = 3; + public float ResetTime = 0.5f; + + public override void OnPointerClick(PointerEventData eventData) + { + if (Time.unscaledTime - _lastTap > ResetTime) + { + _tapCount = 0; + } + + _lastTap = Time.unscaledTime; + _tapCount++; + + if (_tapCount == RequiredTapCount) + { + base.OnPointerClick(eventData); + _tapCount = 0; + } + } + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/MultiTapButton.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/MultiTapButton.cs.meta new file mode 100644 index 0000000..ecb4755 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/MultiTapButton.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: abc57d317f579f2459ba7317f386ecf3 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/PinEntryControl.cs b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/PinEntryControl.cs new file mode 100644 index 0000000..1dd95c1 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/PinEntryControl.cs @@ -0,0 +1,214 @@ +#if ENABLE_INPUT_SYSTEM +using UnityEngine.InputSystem; +#endif + +namespace SRDebugger.UI.Controls +{ + using System.Collections.Generic; + using System.Collections.ObjectModel; + using SRF; + using UnityEngine; + using UnityEngine.UI; + + public delegate void PinEntryControlCallback(IList result, bool didCancel); + + public class PinEntryControl : SRMonoBehaviourEx + { + private bool _isVisible = true; + private List _numbers = new List(4); + + [RequiredField] public Image Background; + + public bool CanCancel = true; + + [RequiredField] public UnityEngine.UI.Button CancelButton; + + [RequiredField] public Text CancelButtonText; + + [RequiredField] public CanvasGroup CanvasGroup; + + [RequiredField] public Animator DotAnimator; + + public UnityEngine.UI.Button[] NumberButtons; + public Toggle[] NumberDots; + + [RequiredField] public Text PromptText; + + public event PinEntryControlCallback Complete; + + protected override void Awake() + { + base.Awake(); + + for (var i = 0; i < NumberButtons.Length; i++) + { + var number = i; + + NumberButtons[i].onClick.AddListener(() => { PushNumber(number); }); + } + + CancelButton.onClick.AddListener(CancelButtonPressed); + + RefreshState(); + + + } + + protected override void OnEnable() + { +#if ENABLE_INPUT_SYSTEM + Keyboard.current.onTextInput += HandleCharacter; +#endif + } + + protected override void OnDisable() + { +#if ENABLE_INPUT_SYSTEM + Keyboard.current.onTextInput -= HandleCharacter; +#endif + } + + protected override void Update() + { + base.Update(); + + if (!_isVisible) + { + return; + } + +#if ENABLE_INPUT_SYSTEM + bool delete = Keyboard.current.deleteKey.wasPressedThisFrame || Keyboard.current.backspaceKey.wasPressedThisFrame; +#else + bool delete = (Input.GetKeyDown(KeyCode.Backspace) || Input.GetKeyDown(KeyCode.Delete)); +#endif + + if (_numbers.Count > 0 && delete) + { + _numbers.PopLast(); + RefreshState(); + } + +#if !ENABLE_INPUT_SYSTEM + var input = Input.inputString; + + for (var i = 0; i < input.Length; i++) + { + HandleCharacter(input[i]); + } +#endif + } + + private void HandleCharacter(char i) + { + if (!_isVisible) + { + return; + } + + if (!char.IsNumber(i)) + { + return; + } + + var num = (int) char.GetNumericValue(i); + + if (num > 9 || num < 0) + { + return; + } + + PushNumber(num); + } + + public void Show() + { + CanvasGroup.alpha = 1f; + CanvasGroup.blocksRaycasts = CanvasGroup.interactable = true; + _isVisible = true; + } + + public void Hide() + { + CanvasGroup.alpha = 0f; + CanvasGroup.blocksRaycasts = CanvasGroup.interactable = false; + _isVisible = false; + } + + public void Clear() + { + _numbers.Clear(); + RefreshState(); + } + + public void PlayInvalidCodeAnimation() + { + DotAnimator.SetTrigger("Invalid"); + } + + protected void OnComplete() + { + if (Complete != null) + { + Complete(new ReadOnlyCollection(_numbers), false); + } + } + + protected void OnCancel() + { + if (Complete != null) + { + Complete(new int[] {}, true); + } + } + + private void CancelButtonPressed() + { + if (_numbers.Count > 0) + { + _numbers.PopLast(); + } + else + { + OnCancel(); + } + + RefreshState(); + } + + public void PushNumber(int number) + { + if (_numbers.Count >= 4) + { + Debug.LogWarning("[PinEntry] Expected 4 numbers"); + return; + } + + _numbers.Add(number); + + if (_numbers.Count >= 4) + { + OnComplete(); + } + + RefreshState(); + } + + private void RefreshState() + { + for (var i = 0; i < NumberDots.Length; i++) + { + NumberDots[i].isOn = i < _numbers.Count; + } + + if (_numbers.Count > 0) + { + CancelButtonText.text = "Delete"; + } + else + { + CancelButtonText.text = CanCancel ? "Cancel" : ""; + } + } + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/PinEntryControl.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/PinEntryControl.cs.meta new file mode 100644 index 0000000..0cc59f1 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/PinEntryControl.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ac5725a9566ed324c98b66c6cb03c5cf +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Profiler.meta b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Profiler.meta new file mode 100644 index 0000000..2366c91 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Profiler.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: de55705b2748e684483766cb59b84390 +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Profiler/ProfilerFPSLabel.cs b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Profiler/ProfilerFPSLabel.cs new file mode 100644 index 0000000..9ee06f0 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Profiler/ProfilerFPSLabel.cs @@ -0,0 +1,38 @@ +namespace SRDebugger.UI +{ + using Services; + using SRF; + using UnityEngine; + using UnityEngine.UI; + + public class ProfilerFPSLabel : SRMonoBehaviourEx + { + private float _nextUpdate; + + protected override void Update() + { + base.Update(); + + if (Time.realtimeSinceStartup > _nextUpdate) + { + Refresh(); + } + } + + private void Refresh() + { + _text.text = "FPS: {0:0.00}".Fmt(1f/_profilerService.AverageFrameTime); + + _nextUpdate = Time.realtimeSinceStartup + UpdateFrequency; + } +#pragma warning disable 649 + + [Import] private IProfilerService _profilerService; + + public float UpdateFrequency = 1f; + + [RequiredField] [SerializeField] private Text _text; + +#pragma warning restore 649 + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Profiler/ProfilerFPSLabel.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Profiler/ProfilerFPSLabel.cs.meta new file mode 100644 index 0000000..98ffed1 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Profiler/ProfilerFPSLabel.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 85621644eaef06f44835068498590190 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Profiler/ProfilerMemoryBlock.cs b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Profiler/ProfilerMemoryBlock.cs new file mode 100644 index 0000000..2cb6c5b --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Profiler/ProfilerMemoryBlock.cs @@ -0,0 +1,79 @@ +namespace SRDebugger.UI.Controls +{ + using System; + using System.Collections; + using SRF; + using UnityEngine; + using UnityEngine.UI; +#if UNITY_5_5_OR_NEWER + using UnityEngine.Profiling; +#endif + + public class ProfilerMemoryBlock : SRMonoBehaviourEx + { + private float _lastRefresh; + + [RequiredField] public Text CurrentUsedText; + + [RequiredField] public Slider Slider; + + [RequiredField] public Text TotalAllocatedText; + + protected override void OnEnable() + { + base.OnEnable(); + TriggerRefresh(); + } + + protected override void Update() + { + base.Update(); + + if (SRDebug.Instance.IsDebugPanelVisible && (Time.realtimeSinceStartup - _lastRefresh > 1f)) + { + TriggerRefresh(); + _lastRefresh = Time.realtimeSinceStartup; + } + } + + public void TriggerRefresh() + { + long max; + long current; + +#if UNITY_5_6_OR_NEWER + max = Profiler.GetTotalReservedMemoryLong(); + current = Profiler.GetTotalAllocatedMemoryLong(); +#else + max = Profiler.GetTotalReservedMemory(); + current = Profiler.GetTotalAllocatedMemory(); +#endif + + var maxMb = (max >> 10); + maxMb /= 1024; // On new line to fix il2cpp + + var currentMb = (current >> 10); + currentMb /= 1024; + + Slider.maxValue = maxMb; + Slider.value = currentMb; + + TotalAllocatedText.text = "Reserved: {0}MB".Fmt(maxMb); + CurrentUsedText.text = "{0}MB".Fmt(currentMb); + } + + public void TriggerCleanup() + { + StartCoroutine(CleanUp()); + } + + private IEnumerator CleanUp() + { + GC.Collect(); + yield return Resources.UnloadUnusedAssets(); + GC.Collect(); + + TriggerRefresh(); + } + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Profiler/ProfilerMemoryBlock.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Profiler/ProfilerMemoryBlock.cs.meta new file mode 100644 index 0000000..1579bc2 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Profiler/ProfilerMemoryBlock.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 445cb6d0a347a0542a38dd652e9ba01b +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Profiler/ProfilerMonoBlock.cs b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Profiler/ProfilerMonoBlock.cs new file mode 100644 index 0000000..23476e1 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Profiler/ProfilerMonoBlock.cs @@ -0,0 +1,91 @@ +namespace SRDebugger.UI.Controls +{ + using System; + using SRF; + using UnityEngine; + using UnityEngine.UI; +#if UNITY_5_5_OR_NEWER + using UnityEngine.Profiling; +#endif + + public class ProfilerMonoBlock : SRMonoBehaviourEx + { + private float _lastRefresh; + + [RequiredField] + public Text CurrentUsedText; + + [RequiredField] + public GameObject NotSupportedMessage; + + [RequiredField] + public Slider Slider; + + [RequiredField] + public Text TotalAllocatedText; + private bool _isSupported; + + protected override void OnEnable() + { + base.OnEnable(); + +#if UNITY_5_6_OR_NEWER + _isSupported = Profiler.GetMonoUsedSizeLong() > 0; +#else + _isSupported = Profiler.GetMonoUsedSize() > 0; +#endif + + NotSupportedMessage.SetActive(!_isSupported); + CurrentUsedText.gameObject.SetActive(_isSupported); + + TriggerRefresh(); + } + + protected override void Update() + { + base.Update(); + + if (SRDebug.Instance.IsDebugPanelVisible && (Time.realtimeSinceStartup - _lastRefresh > 1f)) + { + TriggerRefresh(); + _lastRefresh = Time.realtimeSinceStartup; + } + } + + public void TriggerRefresh() + { + long max; + long current; + +#if UNITY_5_6_OR_NEWER + max = _isSupported ? Profiler.GetMonoHeapSizeLong() : GC.GetTotalMemory(false); + current = Profiler.GetMonoUsedSizeLong(); +#else + max = _isSupported ? Profiler.GetMonoHeapSize() : GC.GetTotalMemory(false); + current = Profiler.GetMonoUsedSize(); +#endif + + var maxMb = (max >> 10); + maxMb /= 1024; // On new line to workaround IL2CPP bug + + var currentMb = (current >> 10); + currentMb /= 1024; + + Slider.maxValue = maxMb; + Slider.value = currentMb; + + TotalAllocatedText.text = "Total: {0}MB".Fmt(maxMb); + + if (currentMb > 0) + { + CurrentUsedText.text = "{0}MB".Fmt(currentMb); + } + } + + public void TriggerCollection() + { + GC.Collect(); + TriggerRefresh(); + } + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Profiler/ProfilerMonoBlock.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Profiler/ProfilerMonoBlock.cs.meta new file mode 100644 index 0000000..c29458c --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/Profiler/ProfilerMonoBlock.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9fff10238b625f545b2d88c80d4cf9d4 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/ProfilerEnableControl.cs b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/ProfilerEnableControl.cs new file mode 100644 index 0000000..ee619a2 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/ProfilerEnableControl.cs @@ -0,0 +1,73 @@ +namespace SRDebugger.UI.Controls +{ + using Internal; + using SRF; + using UnityEngine; + using UnityEngine.UI; +#if UNITY_5_5_OR_NEWER + using UnityEngine.Profiling; +#endif + + public class ProfilerEnableControl : SRMonoBehaviourEx + { + private bool _previousState; + [RequiredField] public Text ButtonText; + [RequiredField] public UnityEngine.UI.Button EnableButton; + [RequiredField] public Text Text; + + protected override void Start() + { + base.Start(); + + if (!Profiler.supported) + { + Text.text = SRDebugStrings.Current.Profiler_NotSupported; + EnableButton.gameObject.SetActive(false); + enabled = false; + return; + } + + if (!Application.HasProLicense()) + { + Text.text = SRDebugStrings.Current.Profiler_NoProInfo; + EnableButton.gameObject.SetActive(false); + enabled = false; + return; + } + + UpdateLabels(); + } + + protected void UpdateLabels() + { + if (!Profiler.enabled) + { + Text.text = SRDebugStrings.Current.Profiler_EnableProfilerInfo; + ButtonText.text = "Enable"; + } + else + { + Text.text = SRDebugStrings.Current.Profiler_DisableProfilerInfo; + ButtonText.text = "Disable"; + } + + _previousState = Profiler.enabled; + } + + protected override void Update() + { + base.Update(); + + if (Profiler.enabled != _previousState) + { + UpdateLabels(); + } + } + + public void ToggleProfiler() + { + Debug.Log("Toggle Profiler"); + Profiler.enabled = !Profiler.enabled; + } + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/ProfilerEnableControl.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/ProfilerEnableControl.cs.meta new file mode 100644 index 0000000..0765be5 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/ProfilerEnableControl.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 04ad714fc337b334687c4aedb49873e9 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/ProfilerGraphAxisLabel.cs b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/ProfilerGraphAxisLabel.cs new file mode 100644 index 0000000..d69c564 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/ProfilerGraphAxisLabel.cs @@ -0,0 +1,51 @@ +namespace SRDebugger.UI.Controls +{ + using SRF; + using UnityEngine; + using UnityEngine.UI; + + [RequireComponent(typeof (RectTransform))] + public class ProfilerGraphAxisLabel : SRMonoBehaviourEx + { + private float _prevFrameTime; + private float? _queuedFrameTime; + private float _yPosition; + + [RequiredField] public Text Text; + + protected override void Update() + { + base.Update(); + + if (_queuedFrameTime.HasValue) + { + SetValueInternal(_queuedFrameTime.Value); + _queuedFrameTime = null; + } + } + + public void SetValue(float frameTime, float yPosition) + { + if (_prevFrameTime == frameTime && _yPosition == yPosition) + { + return; + } + + _queuedFrameTime = frameTime; + _yPosition = yPosition; + } + + private void SetValueInternal(float frameTime) + { + _prevFrameTime = frameTime; + + var ms = Mathf.FloorToInt(frameTime*1000); + var fps = Mathf.RoundToInt(1f/frameTime); + + Text.text = "{0}ms ({1}FPS)".Fmt(ms, fps); + + var r = (RectTransform) CachedTransform; + r.anchoredPosition = new Vector2(r.rect.width*0.5f + 10f, _yPosition); + } + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/ProfilerGraphAxisLabel.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/ProfilerGraphAxisLabel.cs.meta new file mode 100644 index 0000000..ac94ab7 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/ProfilerGraphAxisLabel.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4694d7052fd506340ba6cad9f8a10f1b +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/ProfilerGraphControl.cs b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/ProfilerGraphControl.cs new file mode 100644 index 0000000..8ed0023 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/ProfilerGraphControl.cs @@ -0,0 +1,550 @@ +//#define LOGGING + +#if UNITY_4_6 || UNITY_4_7 || UNITY_5_0 || UNITY_5_1 +#define LEGACY_UI +#endif + +namespace SRDebugger.UI.Controls +{ + using System.Collections.Generic; + using Services; + using SRF; + using SRF.Service; + using UnityEngine; + using UnityEngine.UI; + + [ExecuteInEditMode] + [RequireComponent(typeof (RectTransform))] + [RequireComponent(typeof (CanvasRenderer))] + public class ProfilerGraphControl : Graphic + { + public enum VerticalAlignments + { + Top, + Bottom + } + + public VerticalAlignments VerticalAlignment = VerticalAlignments.Bottom; + + private static readonly float[] ScaleSteps = + { + 1f/200f, + 1f/160f, + 1f/120f, + 1f/100f, + 1f/60f, + 1f/30f, + 1f/20f, + 1f/12f, + 1f/6f + }; + + /// + /// Resize the y-axis to fit the nearest useful fps value + /// + public bool FloatingScale; + + /// + /// If not using FloatingScale, use the target FPS set by Application.targetFrameRate for TargetFps + /// + public bool TargetFpsUseApplication; + + /// + /// Toggle drawing of the various axes + /// + public bool DrawAxes = true; + + /// + /// If FloatingScale is disabled, use this value to determine y-axis + /// + public int TargetFps = 60; + + public bool Clip = true; + + public const float DataPointMargin = 2f; + public const float DataPointVerticalMargin = 2f; + + public const float DataPointWidth = 4f; + + public int VerticalPadding = 10; + + public const int LineCount = 3; + + public Color[] LineColours = new Color[0]; + + private IProfilerService _profilerService; + + private ProfilerGraphAxisLabel[] _axisLabels; + + private Rect _clipBounds; + +#if LEGACY_UI + private List _vbo; +#else + private readonly List _meshVertices = new List(); + private readonly List _meshVertexColors = new List(); + private readonly List _meshTriangles = new List(); +#endif + + protected override void Awake() + { + base.Awake(); + _profilerService = SRServiceManager.GetService(); + } + + protected override void Start() + { + base.Start(); + } + + protected void Update() + { + SetVerticesDirty(); + } + +#if LEGACY_UI + protected override void OnFillVBO(List vbo) +#else + [System.ObsoleteAttribute] + protected override void OnPopulateMesh(Mesh m) +#endif + { +#if LEGACY_UI + _vbo = vbo; +#else + _meshVertices.Clear(); + _meshVertexColors.Clear(); + _meshTriangles.Clear(); +#endif + +#if LOGGING + if(!Application.isPlaying) + Debug.Log("Draw"); +#endif + + var graphWidth = rectTransform.rect.width; + var graphHeight = rectTransform.rect.height; + + _clipBounds = new Rect(0, 0, graphWidth, graphHeight); + + var targetFps = TargetFps; + + if (Application.isPlaying && TargetFpsUseApplication && Application.targetFrameRate > 0) + { + targetFps = Application.targetFrameRate; + } + + var maxValue = 1f/targetFps; + + // Holds the index of the nearest 'useful' FPS step + var fpsStep = -1; + + var maxFrameTime = FloatingScale ? CalculateMaxFrameTime() : 1f/targetFps; + + if (FloatingScale) + { + for (var i = 0; i < ScaleSteps.Length; i++) + { + var step = ScaleSteps[i]; + + if (maxFrameTime < step*1.1f) + { + maxValue = step; + fpsStep = i; + break; + } + } + + // Fall back on the largest one + if (fpsStep < 0) + { + fpsStep = ScaleSteps.Length - 1; + maxValue = ScaleSteps[fpsStep]; + } + } + else + { + // Search for the next scale step after the user-provided step + for (var i = 0; i < ScaleSteps.Length; i++) + { + var step = ScaleSteps[i]; + + if (maxFrameTime > step) + { + fpsStep = i; + } + } + } + + var verticalScale = (graphHeight - (VerticalPadding*2))/maxValue; + + // Number of data points that can fit into the graph space + var availableDataPoints = CalculateVisibleDataPointCount(); + + // Reallocate vertex array if insufficient length (or not yet created) + var sampleCount = GetFrameBufferCurrentSize(); + + for (var i = 0; i < sampleCount; i++) + { + // Break loop if all visible data points have been drawn + if (i >= availableDataPoints) + { + break; + } + + // When using right-alignment, read from the end of the profiler buffer + var frame = GetFrame(sampleCount - i - 1); + + // Left-hand x coord + var lx = graphWidth - DataPointWidth*i - DataPointWidth - graphWidth/2f; + + DrawDataPoint(lx, verticalScale, frame); + } + + if (DrawAxes) + { + if (!FloatingScale) + { + DrawAxis(maxValue, maxValue*verticalScale, GetAxisLabel(0)); + } + + var axisCount = 2; + var j = 0; + + if (!FloatingScale) + { + j++; + } + + for (var i = fpsStep; i >= 0; --i) + { + if (j >= axisCount) + { + break; + } + + DrawAxis(ScaleSteps[i], ScaleSteps[i]*verticalScale, GetAxisLabel(j)); + ++j; + } + } + +#if !LEGACY_UI + + m.Clear(); + m.SetVertices(_meshVertices); + m.SetColors(_meshVertexColors); + m.SetTriangles(_meshTriangles, 0); + +#endif + } + + protected void DrawDataPoint(float xPosition, float verticalScale, ProfilerFrame frame) + { + // Right-hand x-coord + var rx = Mathf.Min(_clipBounds.width/2f, xPosition + DataPointWidth - DataPointMargin); + + var currentLineHeight = 0f; + + for (var j = 0; j < LineCount; j++) + { + var lineIndex = j; + + var value = 0f; + + if (j == 0) + { + value = (float) frame.UpdateTime; + } + else if (j == 1) + { + value = (float) frame.RenderTime; + } + else if (j == 2) + { + value = (float) frame.OtherTime; + } + + value *= verticalScale; + + if (value.ApproxZero() || value - DataPointVerticalMargin*2f < 0f) + { + continue; + } + + // Lower y-coord + var ly = currentLineHeight + DataPointVerticalMargin - rectTransform.rect.height/2f; + + if (VerticalAlignment == VerticalAlignments.Top) + { + ly = rectTransform.rect.height/2f - currentLineHeight - DataPointVerticalMargin; + } + + // Upper y-coord + var uy = ly + value - DataPointVerticalMargin; + + if (VerticalAlignment == VerticalAlignments.Top) + { + uy = ly - value + DataPointVerticalMargin; + } + + var c = LineColours[lineIndex]; + + AddRect(new Vector3(Mathf.Max(-_clipBounds.width/2f, xPosition), ly), + new Vector3(Mathf.Max(-_clipBounds.width/2f, xPosition), uy), new Vector3(rx, uy), + new Vector3(rx, ly), c); + + currentLineHeight += value; + } + } + + protected void DrawAxis(float frameTime, float yPosition, ProfilerGraphAxisLabel label) + { +#if LOGGING + if(!Application.isPlaying) + Debug.Log("Draw Axis: {0}".Fmt(yPosition)); +#endif + + var lx = -rectTransform.rect.width*0.5f; + var rx = -lx; + + var uy = yPosition - rectTransform.rect.height*0.5f + 0.5f; + var ly = yPosition - rectTransform.rect.height*0.5f - 0.5f; + + var c = new Color(1f, 1f, 1f, 0.4f); + + AddRect(new Vector3(lx, ly), new Vector3(lx, uy), new Vector3(rx, uy), new Vector3(rx, ly), c); + + if (label != null) + { + label.SetValue(frameTime, yPosition); + } + } + + protected void AddRect(Vector3 tl, Vector3 tr, Vector3 bl, Vector3 br, Color c) + { +#if LEGACY_UI + + var v = UIVertex.simpleVert; + v.color = c; + + v.position = tl; + _vbo.Add(v); + + v.position = tr; + _vbo.Add(v); + + v.position = bl; + _vbo.Add(v); + + v.position = br; + _vbo.Add(v); + +#else + + // New UI system uses triangles + + _meshVertices.Add(tl); + _meshVertices.Add(tr); + _meshVertices.Add(bl); + _meshVertices.Add(br); + + _meshTriangles.Add(_meshVertices.Count - 4); // tl + _meshTriangles.Add(_meshVertices.Count - 3); // tr + _meshTriangles.Add(_meshVertices.Count - 1); // br + + _meshTriangles.Add(_meshVertices.Count - 2); // bl + _meshTriangles.Add(_meshVertices.Count - 1); // br + _meshTriangles.Add(_meshVertices.Count - 3); // tr + + _meshVertexColors.Add(c); + _meshVertexColors.Add(c); + _meshVertexColors.Add(c); + _meshVertexColors.Add(c); + +#endif + } + + protected ProfilerFrame GetFrame(int i) + { +#if UNITY_EDITOR + + if (!Application.isPlaying) + { + return TestData[i]; + } + +#endif + + return _profilerService.FrameBuffer[i]; + } + + protected int CalculateVisibleDataPointCount() + { + return Mathf.RoundToInt(rectTransform.rect.width/DataPointWidth); + } + + protected int GetFrameBufferCurrentSize() + { +#if UNITY_EDITOR + + if (!Application.isPlaying) + { + return TestData.Length; + } + +#endif + + return _profilerService.FrameBuffer.Count; + } + + protected int GetFrameBufferMaxSize() + { +#if UNITY_EDITOR + + if (!Application.isPlaying) + { + return TestData.Length; + } + +#endif + + return _profilerService.FrameBuffer.Capacity; + } + + protected float CalculateMaxFrameTime() + { + var frameCount = GetFrameBufferCurrentSize(); + var c = Mathf.Min(CalculateVisibleDataPointCount(), frameCount); + + var max = 0d; + + for (var i = 0; i < c; i++) + { + var frameNumber = frameCount - i - 1; + + var t = GetFrame(frameNumber); + + if (t.FrameTime > max) + { + max = t.FrameTime; + } + } + + return (float) max; + } + + private ProfilerGraphAxisLabel GetAxisLabel(int index) + { + if (_axisLabels == null || !Application.isPlaying) + { + _axisLabels = GetComponentsInChildren(); + } + + if (_axisLabels.Length > index) + { + return _axisLabels[index]; + } + + Debug.LogWarning("[SRDebugger.Profiler] Not enough axis labels in pool"); + + return null; + } + + #region Editor Only test data + +#if UNITY_EDITOR + + private ProfilerFrame[] TestData + { + get + { + if (_testData == null) + { + _testData = GenerateSampleData(); + } + + return _testData; + } + } + + private ProfilerFrame[] _testData; + + protected static ProfilerFrame[] GenerateSampleData() + { + var sampleCount = 200; + + var data = new ProfilerFrame[sampleCount]; + + for (var i = 0; i < sampleCount; i++) + { + var frame = new ProfilerFrame(); + + for (var j = 0; j < 3; j++) + { + var v = 0d; + + if (j == 0) + { + v = Mathf.PerlinNoise(i/200f, 0); + } + else if (j == 1) + { + v = Mathf.PerlinNoise(0, i/200f); + } + else + { + v = Random.Range(0, 1f); + } + + v *= (1f/60f)*0.333f; + + // Simulate spikes + if (Random.value > 0.8f) + { + v *= Random.Range(1.2f, 1.8f); + } + + if (j == 2) + { + v *= 0.1f; + } + + if (j == 0) + { + frame.UpdateTime = v; + } + else if (j == 1) + { + frame.RenderTime = v; + } + else if (j == 2) + { + frame.FrameTime = frame.RenderTime + frame.UpdateTime + v; + } + } + + data[i] = frame; + } + + data[0] = new ProfilerFrame + { + FrameTime = 0.005, + RenderTime = 0.005, + UpdateTime = 0.005 + }; + + data[sampleCount - 1] = new ProfilerFrame + { + FrameTime = 1d/60d, + RenderTime = 0.007, + UpdateTime = 0.007 + }; + + return data; + } + +#endif + + #endregion + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/ProfilerGraphControl.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/ProfilerGraphControl.cs.meta new file mode 100644 index 0000000..0d1e737 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/ProfilerGraphControl.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e5812a284a856b743b4f54c6a4637061 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/SRTabButton.cs b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/SRTabButton.cs new file mode 100644 index 0000000..44ad2c8 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/SRTabButton.cs @@ -0,0 +1,26 @@ +namespace SRDebugger.UI.Controls +{ + using SRF; + using SRF.UI; + using UnityEngine; + using UnityEngine.UI; + + public class SRTabButton : SRMonoBehaviourEx + { + [RequiredField] public Behaviour ActiveToggle; + + [RequiredField] public UnityEngine.UI.Button Button; + + [RequiredField] public RectTransform ExtraContentContainer; + + [RequiredField] public StyleComponent IconStyleComponent; + + [RequiredField] public Text TitleText; + + public bool IsActive + { + get { return ActiveToggle.enabled; } + set { ActiveToggle.enabled = value; } + } + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/SRTabButton.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/SRTabButton.cs.meta new file mode 100644 index 0000000..d7fcc19 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Controls/SRTabButton.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d2e81b40d04e8e440bb9659057db98c8 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/DebugPanelRoot.cs b/Assets/StompyRobot/SRDebugger/Scripts/UI/DebugPanelRoot.cs new file mode 100644 index 0000000..9728173 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/DebugPanelRoot.cs @@ -0,0 +1,34 @@ +namespace SRDebugger.UI +{ + using Scripts; + using Services; + using SRF; + using SRF.Service; + using UnityEngine; + + public class DebugPanelRoot : SRMonoBehaviourEx + { + [RequiredField] public Canvas Canvas; + + [RequiredField] public CanvasGroup CanvasGroup; + + [RequiredField] public DebuggerTabController TabController; + + public void Close() + { + if (Settings.Instance.UnloadOnClose) + { + SRServiceManager.GetService().DestroyDebugPanel(); + } + else + { + SRServiceManager.GetService().HideDebugPanel(); + } + } + + public void CloseAndDestroy() + { + SRServiceManager.GetService().DestroyDebugPanel(); + } + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/DebugPanelRoot.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/UI/DebugPanelRoot.cs.meta new file mode 100644 index 0000000..bc449fa --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/DebugPanelRoot.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 64a45d1be7c826148a745e7d38b02161 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/DebuggerTabController.cs b/Assets/StompyRobot/SRDebugger/Scripts/UI/DebuggerTabController.cs new file mode 100644 index 0000000..122ab5b --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/DebuggerTabController.cs @@ -0,0 +1,119 @@ +namespace SRDebugger.Scripts +{ + using System; + using System.Linq; + using SRF; + using UI.Other; + using UnityEngine; + + public class DebuggerTabController : SRMonoBehaviourEx + { + private SRTab _aboutTabInstance; + private DefaultTabs? _activeTab; + private bool _hasStarted; + public SRTab AboutTab; + + [RequiredField] public SRTabController TabController; + + public DefaultTabs? ActiveTab + { + get + { + var key = TabController.ActiveTab.Key; + + if (string.IsNullOrEmpty(key)) + { + return null; + } + + var t = Enum.Parse(typeof (DefaultTabs), key); + + if (!Enum.IsDefined(typeof (DefaultTabs), t)) + { + return null; + } + + return (DefaultTabs) t; + } + } + + protected override void Start() + { + base.Start(); + + _hasStarted = true; + + // Loads all available tabs from resources + var tabs = Resources.LoadAll("SRDebugger/UI/Prefabs/Tabs"); + var defaultTabs = Enum.GetNames(typeof (DefaultTabs)); + + foreach (var srTab in tabs) + { + var enabler = srTab.GetComponent(typeof (IEnableTab)) as IEnableTab; + + if (enabler != null && !enabler.IsEnabled) + { + continue; + } + + if (defaultTabs.Contains(srTab.Key)) + { + var tabValue = Enum.Parse(typeof (DefaultTabs), srTab.Key); + + if (Enum.IsDefined(typeof (DefaultTabs), tabValue) && + Settings.Instance.DisabledTabs.Contains((DefaultTabs) tabValue)) + { + continue; + } + } + + TabController.AddTab(SRInstantiate.Instantiate(srTab)); + } + + // Add about tab (has no button, accessed via "Stompy" logo + if (AboutTab != null) + { + _aboutTabInstance = SRInstantiate.Instantiate(AboutTab); + TabController.AddTab(_aboutTabInstance, false); + } + + // Open active tab (set before panel loaded), or default tab from settings + var defaultTab = _activeTab ?? Settings.Instance.DefaultTab; + + if (!OpenTab(defaultTab)) + { + TabController.ActiveTab = TabController.Tabs.FirstOrDefault(); + } + } + + public bool OpenTab(DefaultTabs tab) + { + if (!_hasStarted) + { + _activeTab = tab; + return true; + } + + var tabName = tab.ToString(); + + foreach (var t in TabController.Tabs) + { + if (t.Key == tabName) + { + TabController.ActiveTab = t; + return true; + } + } + + return false; + } + + public void ShowAboutTab() + { + if (_aboutTabInstance != null) + { + TabController.ActiveTab = _aboutTabInstance; + } + } + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/DebuggerTabController.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/UI/DebuggerTabController.cs.meta new file mode 100644 index 0000000..96518b9 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/DebuggerTabController.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 295aaaf6e216af84e99f15dff7b6fc32 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/MobileMenuController.cs b/Assets/StompyRobot/SRDebugger/Scripts/UI/MobileMenuController.cs new file mode 100644 index 0000000..5bfb96f --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/MobileMenuController.cs @@ -0,0 +1,162 @@ +namespace SRDebugger.UI +{ + using Other; + using SRF; + using UnityEngine; + using UnityEngine.UI; + + public class MobileMenuController : SRMonoBehaviourEx + { + private UnityEngine.UI.Button _closeButton; + + [SerializeField] private float _maxMenuWidth = 185f; + + [SerializeField] private float _peekAmount = 45f; + + private float _targetXPosition; + + [RequiredField] public RectTransform Content; + + [RequiredField] public RectTransform Menu; + + [RequiredField] public UnityEngine.UI.Button OpenButton; + + [RequiredField] public SRTabController TabController; + + public float PeekAmount + { + get { return _peekAmount; } + } + + public float MaxMenuWidth + { + get { return _maxMenuWidth; } + } + + protected override void OnEnable() + { + base.OnEnable(); + + var parent = Menu.parent as RectTransform; + + var layoutElement = Menu.GetComponent(); + layoutElement.ignoreLayout = true; + + // Set up menu anchors so it stretches to full height and has the screen width + Menu.pivot = new Vector2(1, 1); + + Menu.offsetMin = new Vector2(1f, 0f); + Menu.offsetMax = new Vector2(1f, 1f); + + Menu.SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, + Mathf.Clamp(parent.rect.width - PeekAmount, 0, MaxMenuWidth)); + + Menu.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, parent.rect.height); + + Menu.anchoredPosition = new Vector2(0, 0); + + if (_closeButton == null) + { + CreateCloseButton(); + } + + OpenButton.gameObject.SetActive(true); + + TabController.ActiveTabChanged += TabControllerOnActiveTabChanged; + } + + protected override void OnDisable() + { + base.OnDisable(); + + var layoutElement = Menu.GetComponent(); + layoutElement.ignoreLayout = false; + + // Reset content position in case it has been moved by opening the menu + Content.anchoredPosition = new Vector2(0, 0); + + _closeButton.gameObject.SetActive(false); + OpenButton.gameObject.SetActive(false); + + TabController.ActiveTabChanged -= TabControllerOnActiveTabChanged; + } + + private void CreateCloseButton() + { + var go = new GameObject("SR_CloseButtonCanvas", typeof(RectTransform)); + go.transform.SetParent(Content, false); + var c = go.AddComponent(); + go.AddComponent(); + var rect = go.GetComponentOrAdd(); + + c.overrideSorting = true; + c.sortingOrder = 122; + + go.AddComponent().ignoreLayout = true; + + SetRectSize(rect); + + var cGo = new GameObject("SR_CloseButton", typeof(RectTransform)); + cGo.transform.SetParent(rect, false); + var cRect = cGo.GetComponent(); + + SetRectSize(cRect); + cGo.AddComponent().color = new Color(0, 0, 0, 0); + + _closeButton = cGo.AddComponent(); + _closeButton.transition = Selectable.Transition.None; + _closeButton.onClick.AddListener(CloseButtonClicked); + _closeButton.gameObject.SetActive(false); + } + + private void SetRectSize(RectTransform rect) + { + rect.anchorMin = new Vector2(0, 0); + rect.anchorMax = new Vector2(1, 1); + rect.SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, Content.rect.width); + rect.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, Content.rect.height); + } + + private void CloseButtonClicked() + { + Close(); + } + + protected override void Update() + { + base.Update(); + + var from = Content.anchoredPosition.x; + + if (Mathf.Abs(_targetXPosition - from) < 2.5f) + { + Content.anchoredPosition = new Vector2(_targetXPosition, Content.anchoredPosition.y); + } + else + { + Content.anchoredPosition = + new Vector2(SRMath.SpringLerp(from, _targetXPosition, 15f, Time.unscaledDeltaTime), + Content.anchoredPosition.y); + } + } + + private void TabControllerOnActiveTabChanged(SRTabController srTabController, SRTab srTab) + { + Close(); + } + + [ContextMenu("Open")] + public void Open() + { + _targetXPosition = Menu.rect.width; + _closeButton.gameObject.SetActive(true); + } + + [ContextMenu("Close")] + public void Close() + { + _targetXPosition = 0; + _closeButton.gameObject.SetActive(false); + } + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/MobileMenuController.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/UI/MobileMenuController.cs.meta new file mode 100644 index 0000000..6541ecc --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/MobileMenuController.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3cc3afaacd56e9b4f9f2b6201ec85267 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Other.meta b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other.meta new file mode 100644 index 0000000..65ef8b4 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 7e7d110cdb77d7b41bfa3bc97d8144e2 +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/BugReportPopoverRoot.cs b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/BugReportPopoverRoot.cs new file mode 100644 index 0000000..d3ab773 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/BugReportPopoverRoot.cs @@ -0,0 +1,12 @@ +namespace SRDebugger.UI.Other +{ + using SRF; + using UnityEngine; + + public class BugReportPopoverRoot : SRMonoBehaviourEx + { + [RequiredField] public CanvasGroup CanvasGroup; + + [RequiredField] public RectTransform Container; + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/BugReportPopoverRoot.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/BugReportPopoverRoot.cs.meta new file mode 100644 index 0000000..556004c --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/BugReportPopoverRoot.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5c9a194ca4d3911419f82b2f06d5ef2e +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/BugReportSheetController.cs b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/BugReportSheetController.cs new file mode 100644 index 0000000..6506b9e --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/BugReportSheetController.cs @@ -0,0 +1,195 @@ + +#if NETFX_CORE +using UnityEngine.Windows; +#endif + +namespace SRDebugger.UI.Other +{ + using System; + using System.Collections; + using System.Linq; + using Internal; + using Services; + using SRF; + using SRF.Service; + using UnityEngine; + using UnityEngine.EventSystems; + using UnityEngine.UI; + + public class BugReportSheetController : SRMonoBehaviourEx + { + [RequiredField] public GameObject ButtonContainer; + + [RequiredField] public Text ButtonText; + + [RequiredField] public UnityEngine.UI.Button CancelButton; + + public Action CancelPressed; + + [RequiredField] public InputField DescriptionField; + + [RequiredField] public InputField EmailField; + + [RequiredField] public Slider ProgressBar; + + [RequiredField] public Text ResultMessageText; + + public Action ScreenshotComplete; + + [RequiredField] public UnityEngine.UI.Button SubmitButton; + + public Action SubmitComplete; + public Action TakingScreenshot; + + public bool IsCancelButtonEnabled + { + get { return CancelButton.gameObject.activeSelf; } + set { CancelButton.gameObject.SetActive(value); } + } + + protected override void Start() + { + base.Start(); + + SetLoadingSpinnerVisible(false); + ClearErrorMessage(); + ClearForm(); + } + + public void Submit() + { + EventSystem.current.SetSelectedGameObject(null); + + ProgressBar.value = 0; + ClearErrorMessage(); + SetLoadingSpinnerVisible(true); + SetFormEnabled(false); + + if (!string.IsNullOrEmpty(EmailField.text)) + { + SetDefaultEmailFieldContents(EmailField.text); + } + + StartCoroutine(SubmitCo()); + } + + public void Cancel() + { + if (CancelPressed != null) + { + CancelPressed(); + } + } + + private IEnumerator SubmitCo() + { + if (BugReportScreenshotUtil.ScreenshotData == null && Settings.Instance.EnableBugReportScreenshot) + { + if (TakingScreenshot != null) + { + TakingScreenshot(); + } + + yield return new WaitForEndOfFrame(); + + yield return StartCoroutine(BugReportScreenshotUtil.ScreenshotCaptureCo()); + + if (ScreenshotComplete != null) + { + ScreenshotComplete(); + } + } + + var s = SRServiceManager.GetService(); + + var r = new BugReport(); + + r.Email = EmailField.text; + r.UserDescription = DescriptionField.text; + + r.ConsoleLog = Service.Console.AllEntries.ToList(); + r.SystemInformation = SRServiceManager.GetService().CreateReport(); + r.ScreenshotData = BugReportScreenshotUtil.ScreenshotData; + + BugReportScreenshotUtil.ScreenshotData = null; + + s.SendBugReport(r, OnBugReportComplete, new Progress(OnBugReportProgress)); + } + + private void OnBugReportProgress(float progress) + { + ProgressBar.value = progress; + } + + private void OnBugReportComplete(bool didSucceed, string errorMessage) + { + if (!didSucceed) + { + ShowErrorMessage("Error sending bug report", errorMessage); + } + else + { + ClearForm(); + ShowErrorMessage("Bug report submitted successfully"); + } + + SetLoadingSpinnerVisible(false); + SetFormEnabled(true); + + if (SubmitComplete != null) + { + SubmitComplete(didSucceed, errorMessage); + } + } + + protected void SetLoadingSpinnerVisible(bool visible) + { + ProgressBar.gameObject.SetActive(visible); + ButtonContainer.SetActive(!visible); + } + + protected void ClearForm() + { + EmailField.text = GetDefaultEmailFieldContents(); + DescriptionField.text = ""; + } + + protected void ShowErrorMessage(string userMessage, string serverMessage = null) + { + var txt = userMessage; + + if (!string.IsNullOrEmpty(serverMessage)) + { + txt += " ({0})".Fmt(serverMessage); + } + + ResultMessageText.text = txt; + ResultMessageText.gameObject.SetActive(true); + } + + protected void ClearErrorMessage() + { + ResultMessageText.text = ""; + ResultMessageText.gameObject.SetActive(false); + } + + protected void SetFormEnabled(bool e) + { + SubmitButton.interactable = e; + CancelButton.interactable = e; + EmailField.interactable = e; + DescriptionField.interactable = e; + } + + private string GetDefaultEmailFieldContents() + { + return PlayerPrefs.GetString("SRDEBUGGER_BUG_REPORT_LAST_EMAIL", ""); + } + + private void SetDefaultEmailFieldContents(string value) + { + PlayerPrefs.SetString("SRDEBUGGER_BUG_REPORT_LAST_EMAIL", value); + PlayerPrefs.Save(); + } + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/BugReportSheetController.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/BugReportSheetController.cs.meta new file mode 100644 index 0000000..918d30c --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/BugReportSheetController.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 63d76b94b1c670b4cbafd57dd8dcd2ff +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/CategoryGroup.cs b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/CategoryGroup.cs new file mode 100644 index 0000000..abe2996 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/CategoryGroup.cs @@ -0,0 +1,56 @@ +namespace SRDebugger.UI.Other +{ + using SRF; + using UnityEngine; + using UnityEngine.UI; + + public class CategoryGroup : SRMonoBehaviourEx + { + [RequiredField] public RectTransform Container; + [RequiredField] public Text Header; + [RequiredField] public GameObject Background; + [RequiredField] public Toggle SelectionToggle; + + public GameObject[] EnabledDuringSelectionMode = new GameObject[0]; + + private bool _selectionModeEnabled = true; + + public bool IsSelected + { + get + { + return SelectionToggle.isOn; + } + set + { + SelectionToggle.isOn = value; + + if (SelectionToggle.graphic != null) + { + SelectionToggle.graphic.CrossFadeAlpha(value ? _selectionModeEnabled ? 1.0f : 0.2f : 0f, 0, true); + } + } + } + + public bool SelectionModeEnabled + { + get { return _selectionModeEnabled; } + + set + { + if (value == _selectionModeEnabled) + { + return; + } + + _selectionModeEnabled = value; + + for (var i = 0; i < EnabledDuringSelectionMode.Length; i++) + { + EnabledDuringSelectionMode[i].SetActive(_selectionModeEnabled); + } + } + } + + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/CategoryGroup.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/CategoryGroup.cs.meta new file mode 100644 index 0000000..7e34518 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/CategoryGroup.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 176c1a8b99c762143a65fa14f47b5d93 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/ConfigureCanvasFromSettings.cs b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/ConfigureCanvasFromSettings.cs new file mode 100644 index 0000000..04fcaec --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/ConfigureCanvasFromSettings.cs @@ -0,0 +1,56 @@ +using System; +using System.ComponentModel; +using UnityEngine.UI; + +namespace SRDebugger.UI.Other +{ + using Internal; + using SRF; + using UnityEngine; + + [RequireComponent(typeof (Canvas))] + public class ConfigureCanvasFromSettings : SRMonoBehaviour + { + private Canvas _canvas; + private CanvasScaler _canvasScaler; + + private float _originalScale; + private float _lastSetScale; + private Settings _settings; + + private void Start() + { + _canvas = GetComponent(); + _canvasScaler = GetComponent(); + + SRDebuggerUtil.ConfigureCanvas(_canvas); + + _settings = SRDebug.Instance.Settings; + _originalScale = _canvasScaler.scaleFactor; + _canvasScaler.scaleFactor = _originalScale * _settings.UIScale; + + // Track the last set scale in case it is modified by the retina scaler. + _lastSetScale = _canvasScaler.scaleFactor; + + _settings.PropertyChanged += SettingsOnPropertyChanged; + } + + private void OnDestroy() + { + if (_settings != null) + { + _settings.PropertyChanged -= SettingsOnPropertyChanged; + } + } + + private void SettingsOnPropertyChanged(object sender, PropertyChangedEventArgs propertyChangedEventArgs) + { + // If the last set scale does not match the current scale factor, then it is likely the retina scaler has applied a change. + // Treat the new value as the original scale. + if (_canvasScaler.scaleFactor != _lastSetScale) _originalScale = _canvasScaler.scaleFactor; + + _canvasScaler.scaleFactor = _originalScale * _settings.UIScale; + _lastSetScale = _canvasScaler.scaleFactor; + } + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/ConfigureCanvasFromSettings.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/ConfigureCanvasFromSettings.cs.meta new file mode 100644 index 0000000..05ba97f --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/ConfigureCanvasFromSettings.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f0ad3d8afa9fd64429a249b5bbb19557 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/ConsoleTabQuickViewControl.cs b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/ConsoleTabQuickViewControl.cs new file mode 100644 index 0000000..0cef007 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/ConsoleTabQuickViewControl.cs @@ -0,0 +1,71 @@ +namespace SRDebugger.UI.Other +{ + using Services; + using SRF; + using UnityEngine; + using UnityEngine.UI; + + public class ConsoleTabQuickViewControl : SRMonoBehaviourEx + { + private const int Max = 1000; + private static readonly string MaxString = (Max - 1) + "+"; + private int _prevErrorCount = -1; + private int _prevInfoCount = -1; + private int _prevWarningCount = -1; + + [Import] public IConsoleService ConsoleService; + + [RequiredField] public Text ErrorCountText; + + [RequiredField] public Text InfoCountText; + + [RequiredField] public Text WarningCountText; + + protected override void Awake() + { + base.Awake(); + + ErrorCountText.text = "0"; + WarningCountText.text = "0"; + InfoCountText.text = "0"; + } + + protected override void Update() + { + base.Update(); + + if (ConsoleService == null) + { + return; + } + + if (HasChanged(ConsoleService.ErrorCount, ref _prevErrorCount, Max)) + { + ErrorCountText.text = Internal.SRDebuggerUtil.GetNumberString(ConsoleService.ErrorCount, Max, MaxString); + } + + if (HasChanged(ConsoleService.WarningCount, ref _prevWarningCount, Max)) + { + WarningCountText.text = Internal.SRDebuggerUtil.GetNumberString(ConsoleService.WarningCount, Max, + MaxString); + } + + if (HasChanged(ConsoleService.InfoCount, ref _prevInfoCount, Max)) + { + InfoCountText.text = Internal.SRDebuggerUtil.GetNumberString(ConsoleService.InfoCount, Max, MaxString); + } + } + + private static bool HasChanged(int newCount, ref int oldCount, int max) + { + var newCountClamped = Mathf.Clamp(newCount, 0, max); + var oldCountClamped = Mathf.Clamp(oldCount, 0, max); + + var hasChanged = newCountClamped != oldCountClamped; + + oldCount = newCount; + + return hasChanged; + } + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/ConsoleTabQuickViewControl.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/ConsoleTabQuickViewControl.cs.meta new file mode 100644 index 0000000..f4cec6b --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/ConsoleTabQuickViewControl.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b9e7555976318b846887116c61e2ecf6 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/DebugPanelBackgroundBehaviour.cs b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/DebugPanelBackgroundBehaviour.cs new file mode 100644 index 0000000..b92815e --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/DebugPanelBackgroundBehaviour.cs @@ -0,0 +1,32 @@ +namespace SRDebugger.UI.Other +{ + using SRF; + using SRF.UI; + using UnityEngine; + + [RequireComponent(typeof (StyleComponent))] + public class DebugPanelBackgroundBehaviour : SRMonoBehaviour + { + private StyleComponent _styleComponent; + public string TransparentStyleKey = ""; + + [SerializeField] + private StyleSheet _styleSheet; + + private void Awake() + { + _styleComponent = GetComponent(); + + if (Settings.Instance.EnableBackgroundTransparency) + { + // Update transparent style to have the transparency set in the settings menu. + Style style = _styleSheet.GetStyle(TransparentStyleKey); + Color c = style.NormalColor; + c.a = Settings.Instance.BackgroundTransparency; + style.NormalColor = c; + + _styleComponent.StyleKey = TransparentStyleKey; + } + } + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/DebugPanelBackgroundBehaviour.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/DebugPanelBackgroundBehaviour.cs.meta new file mode 100644 index 0000000..34a0ba2 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/DebugPanelBackgroundBehaviour.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a819a08c122d6474a848377ee7ba3192 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/DockConsoleController.cs b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/DockConsoleController.cs new file mode 100644 index 0000000..933e983 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/DockConsoleController.cs @@ -0,0 +1,266 @@ +namespace SRDebugger.UI.Other +{ + using Controls; + using Internal; + using Services; + using SRF; + using UnityEngine; + using UnityEngine.EventSystems; + using UnityEngine.UI; + + public class DockConsoleController : SRMonoBehaviourEx, IPointerEnterHandler, IPointerExitHandler + { + public const float NonFocusOpacity = 0.65f; + private bool _isDirty; + private bool _isDragging; + private int _pointersOver; + + [Import] + public IConsoleFilterState FilterState; + + [RequiredField] public GameObject BottomHandle; + + [RequiredField] public CanvasGroup CanvasGroup; + + [RequiredField] public ConsoleLogControl Console; + + [RequiredField] public GameObject Dropdown; + + [RequiredField] public Image DropdownToggleSprite; + + [RequiredField] public Text TextErrors; + + [RequiredField] public Text TextInfo; + + [RequiredField] public Text TextWarnings; + + [RequiredField] public Toggle ToggleErrors; + + [RequiredField] public Toggle ToggleInfo; + + [RequiredField] public Toggle ToggleWarnings; + + [RequiredField] public GameObject TopBar; + + [RequiredField] public GameObject TopHandle; + + [RequiredField] public GameObject TopSafeAreaSpacer; + [RequiredField] public GameObject BottomSafeAreaSpacer; + + public bool IsVisible + { + get { return CachedGameObject.activeSelf; } + set { CachedGameObject.SetActive(value); } + } + + protected override void Start() + { + base.Start(); + + //_canvasScaler = Canvas.GetComponent(); + Service.Console.Updated += ConsoleOnUpdated; + + ToggleErrors.isOn = FilterState.GetConsoleFilterState(LogType.Error); + ToggleWarnings.isOn = FilterState.GetConsoleFilterState(LogType.Warning); + ToggleInfo.isOn = FilterState.GetConsoleFilterState(LogType.Log); + + ToggleErrors.onValueChanged.AddListener(isOn => + { + FilterState.SetConsoleFilterState(LogType.Error, isOn); + _isDirty = true; + }); + + ToggleWarnings.onValueChanged.AddListener(isOn => + { + FilterState.SetConsoleFilterState(LogType.Warning, isOn); + _isDirty = true; + }); + + ToggleInfo.onValueChanged.AddListener(isOn => + { + FilterState.SetConsoleFilterState(LogType.Log, isOn); + _isDirty = true; + }); + + FilterState.FilterStateChange += OnFilterStateChange; + + Refresh(); + RefreshAlpha(); + } + + protected override void OnDestroy() + { + base.OnDestroy(); + + if (Service.Console != null) + { + Service.Console.Updated -= ConsoleOnUpdated; + } + + FilterState.FilterStateChange -= OnFilterStateChange; + } + + protected override void OnEnable() + { + base.OnEnable(); + + _pointersOver = 0; + _isDragging = false; + RefreshAlpha(); + } + + protected override void OnDisable() + { + base.OnDisable(); + _pointersOver = 0; + } + + protected override void Update() + { + base.Update(); + + if (_isDirty) + { + Refresh(); + } + } + + private void OnFilterStateChange(LogType logType, bool newState) + { + switch (logType) + { + case LogType.Error: + ToggleErrors.isOn = newState; + break; + case LogType.Warning: + ToggleWarnings.isOn = newState; + break; + case LogType.Log: + ToggleInfo.isOn = newState; + break; + } + } + + private void ConsoleOnUpdated(IConsoleService console) + { + _isDirty = true; + } + + public void SetDropdownVisibility(bool visible) + { + Dropdown.SetActive(visible); + DropdownToggleSprite.rectTransform.localRotation = Quaternion.Euler(0, 0, visible ? 0f : 180f); + } + + public void SetAlignmentMode(ConsoleAlignment alignment) + { + switch (alignment) + { + case ConsoleAlignment.Top: + { + TopBar.transform.SetSiblingIndex(0); + Dropdown.transform.SetSiblingIndex(2); + TopHandle.SetActive(false); + BottomHandle.SetActive(true); + transform.SetSiblingIndex(0); + DropdownToggleSprite.rectTransform.parent.localRotation = Quaternion.Euler(0, 0, 0f); + TopSafeAreaSpacer.SetActive(true); + BottomSafeAreaSpacer.SetActive(false); + break; + } + + case ConsoleAlignment.Bottom: + { + Dropdown.transform.SetSiblingIndex(0); + TopBar.transform.SetSiblingIndex(2); + TopHandle.SetActive(true); + BottomHandle.SetActive(false); + transform.SetSiblingIndex(1); + DropdownToggleSprite.rectTransform.parent.localRotation = Quaternion.Euler(0, 0, 180f); + TopSafeAreaSpacer.SetActive(false); + BottomSafeAreaSpacer.SetActive(true); + break; + } + } + } + + private void Refresh() + { + // Update total counts labels + TextInfo.text = SRDebuggerUtil.GetNumberString(Service.Console.InfoCount, 999, "999+"); + TextWarnings.text = SRDebuggerUtil.GetNumberString(Service.Console.WarningCount, 999, "999+"); + TextErrors.text = SRDebuggerUtil.GetNumberString(Service.Console.ErrorCount, 999, "999+"); + + ToggleErrors.isOn = FilterState.GetConsoleFilterState(LogType.Error); + ToggleWarnings.isOn = FilterState.GetConsoleFilterState(LogType.Warning); + ToggleInfo.isOn = FilterState.GetConsoleFilterState(LogType.Log); + + _isDirty = false; + } + + private void RefreshAlpha() + { + if (_isDragging || _pointersOver > 0) + { + CanvasGroup.alpha = 1.0f; + } + else + { + CanvasGroup.alpha = NonFocusOpacity; + } + } + + #region Event Callbacks + + public void ToggleDropdownVisible() + { + SetDropdownVisibility(!Dropdown.activeSelf); + } + + public void MenuButtonPressed() + { + SRDebug.Instance.ShowDebugPanel(DefaultTabs.Console); + } + + public void ClearButtonPressed() + { + Service.Console.Clear(); + } + + public void TogglesUpdated() + { + Console.ShowErrors = ToggleErrors.isOn; + Console.ShowWarnings = ToggleWarnings.isOn; + Console.ShowInfo = ToggleInfo.isOn; + + SetDropdownVisibility(true); + } + + public void OnPointerEnter(PointerEventData e) + { + _pointersOver = 1; + RefreshAlpha(); + } + + public void OnPointerExit(PointerEventData e) + { + _pointersOver = 0; //Mathf.Max(0, _pointersOver - 1); + RefreshAlpha(); + } + + public void OnBeginDrag() + { + _isDragging = true; + RefreshAlpha(); + } + + public void OnEndDrag() + { + _isDragging = false; + _pointersOver = 0; + RefreshAlpha(); + } + + #endregion + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/DockConsoleController.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/DockConsoleController.cs.meta new file mode 100644 index 0000000..b6acf66 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/DockConsoleController.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: c8181ba76f89dd64a96c1e8c2beccb26 +timeCreated: 1441833066 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/DockConsoleRoot.cs b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/DockConsoleRoot.cs new file mode 100644 index 0000000..6de3efb --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/DockConsoleRoot.cs @@ -0,0 +1,3 @@ +// Deprecated file. Included to prevent conflicts when upgrading from a previous version of SRDebugger + + diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/DockConsoleRoot.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/DockConsoleRoot.cs.meta new file mode 100644 index 0000000..36719a1 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/DockConsoleRoot.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e502669a31931b74ea762540a783f1ff +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/ErrorNotifier.cs b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/ErrorNotifier.cs new file mode 100644 index 0000000..6b5cf76 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/ErrorNotifier.cs @@ -0,0 +1,56 @@ +using UnityEngine; + +namespace SRDebugger.UI.Other +{ + public class ErrorNotifier : MonoBehaviour + { + public bool IsVisible + { + get { return _isShowing; } + } + + private const float DisplayTime = 6; + + [SerializeField] + private Animator _animator = null; + + private int _triggerHash; + + private float _hideTime; + private bool _isShowing; + + private bool _queueWarning; + + void Awake() + { + _triggerHash = Animator.StringToHash("Display"); + } + + public void ShowErrorWarning() + { + _queueWarning = true; + } + + void Update() + { + if (_queueWarning) + { + _hideTime = Time.realtimeSinceStartup + DisplayTime; + + if (!_isShowing) + { + _isShowing = true; + _animator.SetBool(_triggerHash, true); + } + + _queueWarning = false; + } + + if (_isShowing && Time.realtimeSinceStartup > _hideTime) + { + _animator.SetBool(_triggerHash, false); + _isShowing = false; + } + } + } +} \ No newline at end of file diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/ErrorNotifier.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/ErrorNotifier.cs.meta new file mode 100644 index 0000000..dee34e3 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/ErrorNotifier.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: dc845b8723c64841aa76e259d4a0b6c4 +timeCreated: 1582392762 \ No newline at end of file diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/FloatOverElement.cs b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/FloatOverElement.cs new file mode 100644 index 0000000..dc4757c --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/FloatOverElement.cs @@ -0,0 +1,44 @@ +using UnityEngine; +using UnityEngine.EventSystems; +using UnityEngine.UI; + +namespace SRDebugger.UI.Other +{ + [RequireComponent(typeof(RectTransform)), ExecuteAlways] + public class FloatOverElement : UIBehaviour, ILayoutSelfController + { + public RectTransform CopyFrom; + + private DrivenRectTransformTracker _tracker; + + void Copy() + { + if (CopyFrom == null) return; + + _tracker.Clear(); + + var r = GetComponent(); + r.anchorMin = CopyFrom.anchorMin; + r.anchorMax = CopyFrom.anchorMax; + r.anchoredPosition = CopyFrom.anchoredPosition; + r.offsetMin = CopyFrom.offsetMin; + r.offsetMax = CopyFrom.offsetMax; + r.sizeDelta = CopyFrom.sizeDelta; + r.localScale = CopyFrom.localScale; + r.pivot = CopyFrom.pivot; + + _tracker.Add(this, r, DrivenTransformProperties.All); + } + + public void SetLayoutHorizontal() + { + Copy(); + } + + public void SetLayoutVertical() + { + Copy(); + } + + } +} \ No newline at end of file diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/FloatOverElement.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/FloatOverElement.cs.meta new file mode 100644 index 0000000..f404bb0 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/FloatOverElement.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: cb581f748e6cd6d43805081fbb5242f8 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/HandleManager.cs b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/HandleManager.cs new file mode 100644 index 0000000..a425060 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/HandleManager.cs @@ -0,0 +1,106 @@ +namespace SRDebugger.UI.Other +{ + using SRF; + using UnityEngine; + + /// + /// Handles enabling/disabling handle objects for different anchoring modes + /// + public class HandleManager : SRMonoBehaviour + { + private bool _hasSet; + public GameObject BottomHandle; + public GameObject BottomLeftHandle; + public GameObject BottomRightHandle; + public PinAlignment DefaultAlignment; + public GameObject LeftHandle; + public GameObject RightHandle; + public GameObject TopHandle; + public GameObject TopLeftHandle; + public GameObject TopRightHandle; + + private void Start() + { + if (!_hasSet) + { + SetAlignment(DefaultAlignment); + } + } + + public void SetAlignment(PinAlignment alignment) + { + _hasSet = true; + + switch (alignment) + { + case PinAlignment.TopLeft: + case PinAlignment.TopRight: + SetActive(BottomHandle, true); + SetActive(TopHandle, false); + SetActive(TopLeftHandle, false); + SetActive(TopRightHandle, false); + break; + + case PinAlignment.BottomLeft: + case PinAlignment.BottomRight: + SetActive(BottomHandle, false); + SetActive(TopHandle, true); + SetActive(BottomLeftHandle, false); + SetActive(BottomRightHandle, false); + break; + } + + switch (alignment) + { + case PinAlignment.TopLeft: + case PinAlignment.BottomLeft: + SetActive(LeftHandle, false); + SetActive(RightHandle, true); + SetActive(TopLeftHandle, false); + SetActive(BottomLeftHandle, false); + break; + + case PinAlignment.TopRight: + case PinAlignment.BottomRight: + SetActive(LeftHandle, true); + SetActive(RightHandle, false); + SetActive(TopRightHandle, false); + SetActive(BottomRightHandle, false); + break; + } + + switch (alignment) + { + case PinAlignment.TopLeft: + SetActive(BottomLeftHandle, false); + SetActive(BottomRightHandle, true); + break; + + case PinAlignment.TopRight: + SetActive(BottomLeftHandle, true); + SetActive(BottomRightHandle, false); + break; + + case PinAlignment.BottomLeft: + SetActive(TopLeftHandle, false); + SetActive(TopRightHandle, true); + break; + + case PinAlignment.BottomRight: + SetActive(TopLeftHandle, true); + SetActive(TopRightHandle, false); + break; + } + } + + private void SetActive(GameObject obj, bool active) + { + if (obj == null) + { + return; + } + + obj.SetActive(active); + } + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/HandleManager.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/HandleManager.cs.meta new file mode 100644 index 0000000..9467152 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/HandleManager.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 4292e93ad30fda64b96c60d4d68b3c0d +timeCreated: 1441815277 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/IEnableTab.cs b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/IEnableTab.cs new file mode 100644 index 0000000..39b0033 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/IEnableTab.cs @@ -0,0 +1,7 @@ +namespace SRDebugger.UI.Other +{ + public interface IEnableTab + { + bool IsEnabled { get; } + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/IEnableTab.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/IEnableTab.cs.meta new file mode 100644 index 0000000..cceeb7a --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/IEnableTab.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a0522b3ec2155a4468bea956e3ea2fd5 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/LoadingSpinnerBehaviour.cs b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/LoadingSpinnerBehaviour.cs new file mode 100644 index 0000000..f77beff --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/LoadingSpinnerBehaviour.cs @@ -0,0 +1,35 @@ +namespace SRDebugger.UI.Other +{ + using SRF; + using UnityEngine; + + public class LoadingSpinnerBehaviour : SRMonoBehaviour + { + private float _dt; + public int FrameCount = 12; + public float SpinDuration = 0.8f; + + private void Update() + { + _dt += Time.unscaledDeltaTime; + + var localRotation = CachedTransform.localRotation.eulerAngles; + var r = localRotation.z; + + var fTime = SpinDuration/FrameCount; + var hasChanged = false; + + while (_dt > fTime) + { + r -= 360f/FrameCount; + _dt -= fTime; + hasChanged = true; + } + + if (hasChanged) + { + CachedTransform.localRotation = Quaternion.Euler(localRotation.x, localRotation.y, r); + } + } + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/LoadingSpinnerBehaviour.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/LoadingSpinnerBehaviour.cs.meta new file mode 100644 index 0000000..c6b364c --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/LoadingSpinnerBehaviour.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 44d058d954e809c4fa87cfab328237d7 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/PinnedUIRoot.cs b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/PinnedUIRoot.cs new file mode 100644 index 0000000..bf2b77f --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/PinnedUIRoot.cs @@ -0,0 +1,26 @@ +namespace SRDebugger.UI.Other +{ + using SRF; + using SRF.UI.Layout; + using UnityEngine; + using UnityEngine.UI; + + public class PinnedUIRoot : SRMonoBehaviourEx + { + [RequiredField] public Canvas Canvas; + + [RequiredField] public RectTransform Container; + + [RequiredField] public DockConsoleController DockConsoleController; + + [RequiredField] public GameObject Options; + + [RequiredField] public FlowLayoutGroup OptionsLayoutGroup; + + [RequiredField] public GameObject Profiler; + + [RequiredField] public HandleManager ProfilerHandleManager; + + [RequiredField] public VerticalLayoutGroup ProfilerVerticalLayoutGroup; + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/PinnedUIRoot.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/PinnedUIRoot.cs.meta new file mode 100644 index 0000000..b148481 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/PinnedUIRoot.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7d5f8248a0899ee48adc84c3fb98627a +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/SRTab.cs b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/SRTab.cs new file mode 100644 index 0000000..d71c96d --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/SRTab.cs @@ -0,0 +1,52 @@ +namespace SRDebugger.UI.Other +{ + using System; + using Controls; + using SRF; + using UnityEngine; + using UnityEngine.Serialization; + + public class SRTab : SRMonoBehaviourEx + { + /// + /// Content that will be added to the content area of the header + /// + public RectTransform HeaderExtraContent; + + [Obsolete] [HideInInspector] public Sprite Icon; + + /// + /// Content that will be added to the content area of the tab button + /// + public RectTransform IconExtraContent; + + public string IconStyleKey = "Icon_Stompy"; + public int SortIndex; + + [HideInInspector] public SRTabButton TabButton; + + public string Title + { + get { return _title; } + } + + public string LongTitle + { + get { return !string.IsNullOrEmpty(_longTitle) ? _longTitle : _title; } + } + + public string Key + { + get { return _key; } + } +#pragma warning disable 649 + + [SerializeField] [FormerlySerializedAs("Title")] private string _title; + + [SerializeField] private string _longTitle; + + [SerializeField] private string _key; + +#pragma warning restore 649 + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/SRTab.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/SRTab.cs.meta new file mode 100644 index 0000000..557b5c6 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/SRTab.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 94b1f24ed4379dd4fab14add56e520a5 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/SRTabController.cs b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/SRTabController.cs new file mode 100644 index 0000000..db84923 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/SRTabController.cs @@ -0,0 +1,133 @@ +namespace SRDebugger.UI.Other +{ + using System; + using System.Collections.Generic; + using Controls; + using SRF; + using UnityEngine; + using UnityEngine.UI; + + public class SRTabController : SRMonoBehaviourEx + { + private readonly SRList _tabs = new SRList(); + private SRTab _activeTab; + + [RequiredField] public RectTransform TabButtonContainer; + + [RequiredField] public SRTabButton TabButtonPrefab; + + [RequiredField] public RectTransform TabContentsContainer; + + [RequiredField] public RectTransform TabHeaderContentContainer; + + [RequiredField] public Text TabHeaderText; + + public SRTab ActiveTab + { + get { return _activeTab; } + set { MakeActive(value); } + } + + public IList Tabs + { + get { return _tabs.AsReadOnly(); } + } + + public event Action ActiveTabChanged; + + public void AddTab(SRTab tab, bool visibleInSidebar = true) + { + tab.CachedTransform.SetParent(TabContentsContainer, false); + tab.CachedGameObject.SetActive(false); + + if (visibleInSidebar) + { + // Create a tab button for this tab + var button = SRInstantiate.Instantiate(TabButtonPrefab); + button.CachedTransform.SetParent(TabButtonContainer, false); + button.TitleText.text = tab.Title.ToUpper(); + + if (tab.IconExtraContent != null) + { + var extraContent = SRInstantiate.Instantiate(tab.IconExtraContent); + extraContent.SetParent(button.ExtraContentContainer, false); + } + + button.IconStyleComponent.StyleKey = tab.IconStyleKey; + button.IsActive = false; + + button.Button.onClick.AddListener(() => MakeActive(tab)); + + tab.TabButton = button; + } + + _tabs.Add(tab); + SortTabs(); + + if (_tabs.Count == 1) + { + ActiveTab = tab; + } + } + + private void MakeActive(SRTab tab) + { + if (!_tabs.Contains(tab)) + { + throw new ArgumentException("tab is not a member of this tab controller", "tab"); + } + + if (_activeTab != null) + { + _activeTab.CachedGameObject.SetActive(false); + + if (_activeTab.TabButton != null) + { + _activeTab.TabButton.IsActive = false; + } + + if (_activeTab.HeaderExtraContent != null) + { + _activeTab.HeaderExtraContent.gameObject.SetActive(false); + } + } + + _activeTab = tab; + + if (_activeTab != null) + { + _activeTab.CachedGameObject.SetActive(true); + TabHeaderText.text = _activeTab.LongTitle; + + if (_activeTab.TabButton != null) + { + _activeTab.TabButton.IsActive = true; + } + + if (_activeTab.HeaderExtraContent != null) + { + _activeTab.HeaderExtraContent.SetParent(TabHeaderContentContainer, false); + _activeTab.HeaderExtraContent.gameObject.SetActive(true); + } + } + + if (ActiveTabChanged != null) + { + ActiveTabChanged(this, _activeTab); + } + } + + private void SortTabs() + { + _tabs.Sort((t1, t2) => t1.SortIndex.CompareTo(t2.SortIndex)); + + for (var i = 0; i < _tabs.Count; i++) + { + if (_tabs[i].TabButton != null) + { + _tabs[i].TabButton.CachedTransform.SetSiblingIndex(i); + } + } + } + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/SRTabController.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/SRTabController.cs.meta new file mode 100644 index 0000000..383de92 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/SRTabController.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 035be48566f8a3a4285521c6480d83ce +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/SafeAreaSizer.cs b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/SafeAreaSizer.cs new file mode 100644 index 0000000..d627f42 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/SafeAreaSizer.cs @@ -0,0 +1,153 @@ +using System; +using UnityEngine; +using UnityEngine.EventSystems; +using UnityEngine.Serialization; +using UnityEngine.UI; + +namespace SRDebugger.UI.Other +{ + /// + /// + /// + [RequireComponent(typeof(RectTransform))] + [ExecuteInEditMode] + public class SafeAreaSizer : UIBehaviour, ILayoutElement + { + public RectTransform.Edge Edge + { + get { return _edge; } + set + { + if (_edge != value) + { + _edge = value; + LayoutRebuilder.MarkLayoutForRebuild(transform as RectTransform); + } + } + } + + [SerializeField, FormerlySerializedAs("Edge")] + private RectTransform.Edge _edge; + public float Scale = 1f; + + private float _height; + private float _width; + + + public float preferredWidth + { + get + { + return _width; + } + } + + public float preferredHeight + { + get + { + return _height; + } + } + + public float minWidth + { + get + { + return _width; + } + } + + public float minHeight + { + get + { + return _height; + } + } + + public int layoutPriority + { + get { return 2; } + } + + public float flexibleHeight + { + get { return -1; } + } + + public float flexibleWidth + { + get { return -1; } + } + +#if UNITY_EDITOR + protected override void OnValidate() + { + base.OnValidate(); + if (Application.isPlaying) + { + Refresh(); + } + } + + void Update() + { + _width = _height = 0; + } +#endif + + void Refresh() + { + // Determine the distance in local coords + Rect safeArea = Screen.safeArea; + Canvas myCanvas = GetComponentInParent(); + if (myCanvas == null) + { + return; + } + + RectTransform canvasRect = myCanvas.GetComponent(); + + // RectTransformUtility.PixelAdjustRect() + _width = _height = 0; + + switch (_edge) + { + case RectTransform.Edge.Left: + _width = (safeArea.x / myCanvas.pixelRect.width) * canvasRect.rect.width; + break; + case RectTransform.Edge.Right: + _width = (Screen.width - safeArea.width - safeArea.x) / myCanvas.pixelRect.width * canvasRect.rect.width; + break; + case RectTransform.Edge.Top: + _height = (Screen.height - safeArea.height - safeArea.y) / myCanvas.pixelRect.height * canvasRect.rect.height; + break; + case RectTransform.Edge.Bottom: + _height = (safeArea.y / myCanvas.pixelRect.height) * canvasRect.rect.height; + break; + default: + throw new ArgumentOutOfRangeException(); + } + + _width *= Scale; + _height *= Scale; + } + + public void CalculateLayoutInputHorizontal() + { + if (Application.isPlaying) + { + Refresh(); + } + } + + public void CalculateLayoutInputVertical() + { + if (Application.isPlaying) + { + Refresh(); + } + } + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/SafeAreaSizer.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/SafeAreaSizer.cs.meta new file mode 100644 index 0000000..8c669f3 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/SafeAreaSizer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 00b72250a6a48194fbecb6ed8b983720 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/ScrollRectPatch.cs b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/ScrollRectPatch.cs new file mode 100644 index 0000000..c99d58a --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/ScrollRectPatch.cs @@ -0,0 +1,4 @@ +/* + * This file has been deleted. + * This empty file is left here to ensure it is properly overwritten when importing a new version of the package over an old version. + */ \ No newline at end of file diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/ScrollRectPatch.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/ScrollRectPatch.cs.meta new file mode 100644 index 0000000..095bd79 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/ScrollRectPatch.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ec8340b6e7293114da3d567338dc8e9f +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/ScrollSettingsBehaviour.cs b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/ScrollSettingsBehaviour.cs new file mode 100644 index 0000000..ac9f6f9 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/ScrollSettingsBehaviour.cs @@ -0,0 +1,23 @@ +namespace SRDebugger.UI.Other +{ + using UnityEngine; + using UnityEngine.UI; + + [RequireComponent(typeof (ScrollRect))] + public class ScrollSettingsBehaviour : MonoBehaviour + { + public const float ScrollSensitivity = 40f; + + private void Awake() + { + var scrollRect = GetComponent(); + scrollRect.scrollSensitivity = ScrollSensitivity; + + if (!Internal.SRDebuggerUtil.IsMobilePlatform) + { + scrollRect.movementType = ScrollRect.MovementType.Clamped; + scrollRect.inertia = false; + } + } + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/ScrollSettingsBehaviour.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/ScrollSettingsBehaviour.cs.meta new file mode 100644 index 0000000..b9193cf --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/ScrollSettingsBehaviour.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6f0ff44b792ef2042856036000e22450 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/SetLayerFromSettings.cs b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/SetLayerFromSettings.cs new file mode 100644 index 0000000..c51dfa2 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/SetLayerFromSettings.cs @@ -0,0 +1,12 @@ +namespace SRDebugger.UI.Other +{ + using SRF; + + public class SetLayerFromSettings : SRMonoBehaviour + { + private void Start() + { + gameObject.SetLayerRecursive(Settings.Instance.DebugLayer); + } + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/SetLayerFromSettings.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/SetLayerFromSettings.cs.meta new file mode 100644 index 0000000..b81061f --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/SetLayerFromSettings.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 40436e7c301de034f916ee1e7ddabeeb +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/TriggerRoot.cs b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/TriggerRoot.cs new file mode 100644 index 0000000..d16d5c3 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/TriggerRoot.cs @@ -0,0 +1,21 @@ +namespace SRDebugger.UI.Other +{ + using Controls; + using SRF; + using SRF.UI; + using UnityEngine; + using UnityEngine.Serialization; + + public class TriggerRoot : SRMonoBehaviourEx + { + [RequiredField] public Canvas Canvas; + + [RequiredField] public LongPressButton TapHoldButton; + + [RequiredField] public RectTransform TriggerTransform; + + [RequiredField] public ErrorNotifier ErrorNotifier; + + [RequiredField] [FormerlySerializedAs("TriggerButton")] public MultiTapButton TripleTapButton; + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/TriggerRoot.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/TriggerRoot.cs.meta new file mode 100644 index 0000000..49453a8 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/TriggerRoot.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e511950015658d545aa9d10a45550b11 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/VersionTextBehaviour.cs b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/VersionTextBehaviour.cs new file mode 100644 index 0000000..4192431 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/VersionTextBehaviour.cs @@ -0,0 +1,19 @@ +namespace SRDebugger.UI.Other +{ + using SRF; + using UnityEngine.UI; + + public class VersionTextBehaviour : SRMonoBehaviourEx + { + public string Format = "SRDebugger {0}"; + + [RequiredField] public Text Text; + + protected override void Start() + { + base.Start(); + + Text.text = string.Format(Format, SRDebug.Version); + } + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/VersionTextBehaviour.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/VersionTextBehaviour.cs.meta new file mode 100644 index 0000000..87bcc64 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Other/VersionTextBehaviour.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: bc11b0e922d02a54fa6197856eee3976 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Tabs.meta b/Assets/StompyRobot/SRDebugger/Scripts/UI/Tabs.meta new file mode 100644 index 0000000..18ac44b --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Tabs.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: e8e391e4f3003d641aaae5d4046e75f3 +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Tabs/BugReportTabController.cs b/Assets/StompyRobot/SRDebugger/Scripts/UI/Tabs/BugReportTabController.cs new file mode 100644 index 0000000..2ff97cb --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Tabs/BugReportTabController.cs @@ -0,0 +1,45 @@ +using SRF.Service; + +namespace SRDebugger.UI.Tabs +{ + using Services; + using Other; + using SRF; + using UnityEngine; + + public class BugReportTabController : SRMonoBehaviourEx, IEnableTab + { + [RequiredField] public BugReportSheetController BugReportSheetPrefab; + + [RequiredField] public RectTransform Container; + + public bool IsEnabled + { + get { return SRServiceManager.GetService().IsUsable; } + } + + protected override void Start() + { + base.Start(); + + var sheet = SRInstantiate.Instantiate(BugReportSheetPrefab); + sheet.IsCancelButtonEnabled = false; + + // Callbacks when taking screenshot will hide the debug panel so it is not present in the image + sheet.TakingScreenshot = TakingScreenshot; + sheet.ScreenshotComplete = ScreenshotComplete; + + sheet.CachedTransform.SetParent(Container, false); + } + + private void TakingScreenshot() + { + SRDebug.Instance.HideDebugPanel(); + } + + private void ScreenshotComplete() + { + SRDebug.Instance.ShowDebugPanel(false); + } + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Tabs/BugReportTabController.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/UI/Tabs/BugReportTabController.cs.meta new file mode 100644 index 0000000..f685b81 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Tabs/BugReportTabController.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6739582ce86516749a398ff57c5ca282 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Tabs/ConsoleTabController.cs b/Assets/StompyRobot/SRDebugger/Scripts/UI/Tabs/ConsoleTabController.cs new file mode 100644 index 0000000..d2ed73b --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Tabs/ConsoleTabController.cs @@ -0,0 +1,410 @@ +//#define SR_CONSOLE_DEBUG + +using System.Collections; + +namespace SRDebugger.UI.Tabs +{ + using System; + using Controls; + using Internal; + using Services; + using SRF; + using UnityEngine; + using UnityEngine.UI; + + public class ConsoleTabController : SRMonoBehaviourEx + { + private const int MaxLength = 2600; + + private Canvas _consoleCanvas; + private bool _isDirty; + + private static bool _hasWarnedAboutLogHandler; + private static bool _hasWarnedAboutLoggingDisabled; + + [Import] + public IConsoleFilterState FilterState; + + [RequiredField] + public ConsoleLogControl ConsoleLogControl; + + [RequiredField] + public Toggle PinToggle; + //public bool IsListening = true; + + [RequiredField] + public ScrollRect StackTraceScrollRect; + [RequiredField] + public Text StackTraceText; + [RequiredField] + public Toggle ToggleErrors; + [RequiredField] + public Text ToggleErrorsText; + [RequiredField] + public Toggle ToggleInfo; + [RequiredField] + public Text ToggleInfoText; + [RequiredField] + public Toggle ToggleWarnings; + [RequiredField] + public Text ToggleWarningsText; + + [RequiredField] + public GameObject CopyToClipboardContainer; + + [RequiredField] + public GameObject CopyToClipboardButton; + + [RequiredField] + public GameObject CopyToClipboardMessage; + + [RequiredField] + public CanvasGroup CopyToClipboardMessageCanvasGroup; + + [RequiredField] + public GameObject LoggingIsDisabledCanvasGroup; + + [RequiredField] + public GameObject LogHandlerHasBeenOverridenGroup; + + [RequiredField] + public Toggle FilterToggle; + [RequiredField] + public InputField FilterField; + [RequiredField] + public GameObject FilterBarContainer; + + private ConsoleEntry _selectedItem; + + private Coroutine _fadeButtonCoroutine; + + protected override void Start() + { + base.Start(); + + _consoleCanvas = GetComponent(); + + ToggleErrors.isOn = FilterState.GetConsoleFilterState(LogType.Error); + ToggleWarnings.isOn = FilterState.GetConsoleFilterState(LogType.Warning); + ToggleInfo.isOn = FilterState.GetConsoleFilterState(LogType.Log); + + ToggleErrors.onValueChanged.AddListener(isOn => + { + FilterState.SetConsoleFilterState(LogType.Error, isOn); + _isDirty = true; + }); + + ToggleWarnings.onValueChanged.AddListener(isOn => + { + FilterState.SetConsoleFilterState(LogType.Warning, isOn); + _isDirty = true; + }); + + ToggleInfo.onValueChanged.AddListener(isOn => + { + FilterState.SetConsoleFilterState(LogType.Log, isOn); + _isDirty = true; + }); + + PinToggle.onValueChanged.AddListener(PinToggleValueChanged); + + FilterToggle.onValueChanged.AddListener(FilterToggleValueChanged); + FilterBarContainer.SetActive(FilterToggle.isOn); + +#if UNITY_5_3_OR_NEWER + FilterField.onValueChanged.AddListener(FilterValueChanged); +#else + FilterField.onValueChange.AddListener(FilterValueChanged); +#endif + + ConsoleLogControl.SelectedItemChanged = ConsoleLogSelectedItemChanged; + + Service.Console.Updated += ConsoleOnUpdated; + Service.Panel.VisibilityChanged += PanelOnVisibilityChanged; + FilterState.FilterStateChange += OnFilterStateChange; + + StackTraceText.supportRichText = Settings.Instance.RichTextInConsole; + PopulateStackTraceArea(null); + + Refresh(); + } + + private void OnFilterStateChange(LogType logtype, bool newstate) + { + switch (logtype) + { + case LogType.Error: + ToggleErrors.isOn = newstate; + break; + case LogType.Warning: + ToggleWarnings.isOn = newstate; + break; + case LogType.Log: + ToggleInfo.isOn = newstate; + break; + } + } + + private void FilterToggleValueChanged(bool isOn) + { + if (isOn) + { + FilterBarContainer.SetActive(true); + ConsoleLogControl.Filter = FilterField.text; + } + else + { + ConsoleLogControl.Filter = null; + FilterBarContainer.SetActive(false); + } + } + private void FilterValueChanged(string filterText) + { + if (FilterToggle.isOn && !string.IsNullOrEmpty(filterText) && filterText.Trim().Length != 0) + { + ConsoleLogControl.Filter = filterText; + } + else + { + ConsoleLogControl.Filter = null; + } + } + + private void PanelOnVisibilityChanged(IDebugPanelService debugPanelService, bool b) + { + if (_consoleCanvas == null) + { + return; + } + + if (b) + { + _consoleCanvas.enabled = true; + } + else + { + _consoleCanvas.enabled = false; + StopAnimations(); + } + } + + private void PinToggleValueChanged(bool isOn) + { + Service.DockConsole.IsVisible = isOn; + } + + protected override void OnDestroy() + { + StopAnimations(); + + if (Service.Console != null) + { + Service.Console.Updated -= ConsoleOnUpdated; + } + + FilterState.FilterStateChange -= OnFilterStateChange; + + + base.OnDestroy(); + } + + protected override void OnEnable() + { + base.OnEnable(); + + _isDirty = true; + } + + protected override void OnDisable() + { + base.OnDisable(); + StopAnimations(); + } + + private void ConsoleLogSelectedItemChanged(object item) + { + var log = item as ConsoleEntry; + PopulateStackTraceArea(log); + } + + protected override void Update() + { + base.Update(); + + if (_isDirty) + { + Refresh(); + } + } + + private void PopulateStackTraceArea(ConsoleEntry entry) + { + if (entry == null) + { + SetCopyToClipboardButtonState(CopyToClipboardStates.Hidden); + StackTraceText.text = ""; + } + else + { + if (SRDebug.CopyConsoleItemCallback != null) + { + SetCopyToClipboardButtonState(CopyToClipboardStates.Visible); + } + + var text = entry.Message + Environment.NewLine + + (!string.IsNullOrEmpty(entry.StackTrace) + ? entry.StackTrace + : SRDebugStrings.Current.Console_NoStackTrace); + + if (text.Length > MaxLength) + { + text = text.Substring(0, MaxLength); + text += "\n" + SRDebugStrings.Current.Console_MessageTruncated; + } + + StackTraceText.text = text; + } + + StackTraceScrollRect.normalizedPosition = new Vector2(0, 1); + _selectedItem = entry; + } + + public void CopyToClipboard() + { + if (_selectedItem != null) + { + SetCopyToClipboardButtonState(CopyToClipboardStates.Activated); + if (SRDebug.CopyConsoleItemCallback != null) + { + SRDebug.CopyConsoleItemCallback(_selectedItem); + } + else + { + Debug.LogError("[SRDebugger] Copy to clipboard is not available."); + } + } + } + + public enum CopyToClipboardStates + { + Hidden, + Visible, + Activated + } + + void SetCopyToClipboardButtonState(CopyToClipboardStates state) + { + StopAnimations(); + + switch (state) + { + case CopyToClipboardStates.Hidden: + CopyToClipboardContainer.SetActive(false); + CopyToClipboardButton.SetActive(false); + CopyToClipboardMessage.SetActive(false); + break; + case CopyToClipboardStates.Visible: + CopyToClipboardContainer.SetActive(true); + CopyToClipboardButton.SetActive(true); + CopyToClipboardMessage.SetActive(false); + break; + case CopyToClipboardStates.Activated: + CopyToClipboardMessageCanvasGroup.alpha = 1; + CopyToClipboardContainer.SetActive(true); + CopyToClipboardButton.SetActive(false); + CopyToClipboardMessage.SetActive(true); + + _fadeButtonCoroutine = StartCoroutine(FadeCopyButton()); + break; + default: + throw new ArgumentOutOfRangeException("state", state, null); + } + } + + IEnumerator FadeCopyButton() + { + yield return new WaitForSecondsRealtime(2f); + + float startTime = Time.realtimeSinceStartup; + float endTime = Time.realtimeSinceStartup + 1f; + + while (Time.realtimeSinceStartup < endTime) + { + float currentAlpha = Mathf.InverseLerp(endTime, startTime, Time.realtimeSinceStartup); + CopyToClipboardMessageCanvasGroup.alpha = currentAlpha; + yield return new WaitForEndOfFrame(); + } + + CopyToClipboardMessageCanvasGroup.alpha = 0; + _fadeButtonCoroutine = null; + } + + void StopAnimations() + { + if (_fadeButtonCoroutine != null) + { + StopCoroutine(_fadeButtonCoroutine); + _fadeButtonCoroutine = null; + CopyToClipboardMessageCanvasGroup.alpha = 0; + } + } + + private void Refresh() + { + // Update total counts labels + ToggleInfoText.text = SRDebuggerUtil.GetNumberString(Service.Console.InfoCount, 999, "999+"); + ToggleWarningsText.text = SRDebuggerUtil.GetNumberString(Service.Console.WarningCount, 999, "999+"); + ToggleErrorsText.text = SRDebuggerUtil.GetNumberString(Service.Console.ErrorCount, 999, "999+"); + + ConsoleLogControl.ShowErrors = ToggleErrors.isOn; + ConsoleLogControl.ShowWarnings = ToggleWarnings.isOn; + ConsoleLogControl.ShowInfo = ToggleInfo.isOn; + + PinToggle.isOn = Service.DockConsole.IsVisible; + + _isDirty = false; + + if (!_hasWarnedAboutLogHandler && Service.Console.LogHandlerIsOverriden) + { + LogHandlerHasBeenOverridenGroup.SetActive(true); + _hasWarnedAboutLogHandler = true; + } + + if (!_hasWarnedAboutLoggingDisabled && !Service.Console.LoggingEnabled) + { + LoggingIsDisabledCanvasGroup.SetActive(true); + } + } + + private void ConsoleOnUpdated(IConsoleService console) + { + _isDirty = true; + } + + public void Clear() + { + Service.Console.Clear(); + _isDirty = true; + } + + public void LogHandlerHasBeenOverridenOkayButtonPress() + { + _hasWarnedAboutLogHandler = true; + LogHandlerHasBeenOverridenGroup.SetActive(false); + } + + public void LoggingDisableCloseAndIgnorePressed() + { + LoggingIsDisabledCanvasGroup.SetActive(false); + _hasWarnedAboutLoggingDisabled = true; + } + + public void LoggingDisableReenablePressed() + { + Service.Console.LoggingEnabled = true; + LoggingIsDisabledCanvasGroup.SetActive(false); + + Debug.Log("[SRDebugger] Re-enabled logging."); + } + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Tabs/ConsoleTabController.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/UI/Tabs/ConsoleTabController.cs.meta new file mode 100644 index 0000000..129dd57 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Tabs/ConsoleTabController.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7b54f4d46edbb634985db4a2fa4ada2f +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Tabs/InfoTabController.cs b/Assets/StompyRobot/SRDebugger/Scripts/UI/Tabs/InfoTabController.cs new file mode 100644 index 0000000..6010119 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Tabs/InfoTabController.cs @@ -0,0 +1,145 @@ +using SRF.UI; + +namespace SRDebugger.UI.Tabs +{ + using System.Collections.Generic; + using System.Text; + using Controls; + using Services; + using SRF; + using SRF.Service; + using UnityEngine; + + public class InfoTabController : SRMonoBehaviourEx + { + public const char Tick = '\u2713'; + public const char Cross = '\u00D7'; + public const string NameColor = "#BCBCBC"; + private Dictionary _infoBlocks = new Dictionary(); + + [RequiredField] public InfoBlock InfoBlockPrefab; + + [RequiredField] public RectTransform LayoutContainer; + + [RequiredField] public FlashGraphic ToggleButton; + + private bool _updateEveryFrame; + + protected override void OnEnable() + { + base.OnEnable(); + InternalRefresh(); + + if (_updateEveryFrame) + { + ToggleButton.FlashAndHoldUntilNextPress(); + } + } + + public void Refresh() + { + ToggleButton.Flash(); // flash to disable any "press and hold" that is going on + _updateEveryFrame = false; + InternalRefresh(); + } + + protected override void Update() + { + if (_updateEveryFrame) + { + InternalRefresh(); + } + } + + public void ActivateRefreshEveryFrame() + { + ToggleButton.FlashAndHoldUntilNextPress(); + _updateEveryFrame = true; + InternalRefresh(); + } + + private void InternalRefresh() + { + var s = SRServiceManager.GetService(); + + foreach (var category in s.GetCategories()) + { + if (!_infoBlocks.ContainsKey(category)) + { + var block = CreateBlock(category); + _infoBlocks.Add(category, block); + } + } + + foreach (var kv in _infoBlocks) + { + FillInfoBlock(kv.Value, s.GetInfo(kv.Key)); + } + } + + private void FillInfoBlock(InfoBlock block, IList info) + { + var sb = new StringBuilder(); + + var maxTitleLength = 0; + + foreach (var systemInfo in info) + { + if (systemInfo.Title.Length > maxTitleLength) + { + maxTitleLength = systemInfo.Title.Length; + } + } + + maxTitleLength += 2; + + var first = true; + foreach (var i in info) + { + if (first) + { + first = false; + } + else + { + sb.AppendLine(); + } + + sb.Append(""); + + sb.Append(i.Title); + sb.Append(": "); + + sb.Append(""); + + for (var j = i.Title.Length; j <= maxTitleLength; ++j) + { + sb.Append(' '); + } + + if (i.Value is bool) + { + sb.Append((bool) i.Value ? Tick : Cross); + } + else + { + sb.Append(i.Value); + } + } + + block.Content.text = sb.ToString(); + } + + private InfoBlock CreateBlock(string title) + { + var block = SRInstantiate.Instantiate(InfoBlockPrefab); + block.Title.text = title; + + block.CachedTransform.SetParent(LayoutContainer, false); + + return block; + } + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Tabs/InfoTabController.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/UI/Tabs/InfoTabController.cs.meta new file mode 100644 index 0000000..0f736a2 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Tabs/InfoTabController.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5b6cf74d4a6343648bbe857301cf1bc8 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Tabs/OptionsTabController.cs b/Assets/StompyRobot/SRDebugger/Scripts/UI/Tabs/OptionsTabController.cs new file mode 100644 index 0000000..b963585 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Tabs/OptionsTabController.cs @@ -0,0 +1,377 @@ +using System.Linq; + +namespace SRDebugger.UI.Tabs +{ + using System; + using System.Collections.Generic; + using System.ComponentModel; + using Controls; + using Controls.Data; + using Internal; + using Other; + using Services; + using SRF; + using UnityEngine; + using UnityEngine.UI; + + public class OptionsTabController : SRMonoBehaviourEx + { + private class CategoryInstance + { + public CategoryGroup CategoryGroup { get; private set; } + public readonly List Options = new List(); + + public CategoryInstance(CategoryGroup group) + { + CategoryGroup = group; + } + } + + private readonly List _controls = new List(); + private readonly List _categories = new List(); + + private readonly Dictionary _options = + new Dictionary(); + + private bool _queueRefresh; + private bool _selectionModeEnabled; + private Canvas _optionCanvas; + + [RequiredField] public ActionControl ActionControlPrefab; + + [RequiredField] public CategoryGroup CategoryGroupPrefab; + + [RequiredField] public RectTransform ContentContainer; + + [RequiredField] public GameObject NoOptionsNotice; + + [RequiredField] public Toggle PinButton; + + [RequiredField] public GameObject PinPromptSpacer; + + [RequiredField] public GameObject PinPromptText; + + + protected override void Start() + { + base.Start(); + + PinButton.onValueChanged.AddListener(SetSelectionModeEnabled); + + PinPromptText.SetActive(false); + //PinPromptSpacer.SetActive(false); + + Populate(); + + _optionCanvas = GetComponent(); + + Service.Options.OptionsUpdated += OnOptionsUpdated; + Service.PinnedUI.OptionPinStateChanged += OnOptionPinnedStateChanged; + } + + protected override void OnDestroy() + { + if (Service.Options != null) + { + Service.Options.OptionsUpdated -= OnOptionsUpdated; + } + + if (Service.PinnedUI != null) + { + Service.PinnedUI.OptionPinStateChanged -= OnOptionPinnedStateChanged; + } + + base.OnDestroy(); + } + + private void OnOptionPinnedStateChanged(OptionDefinition optionDefinition, bool isPinned) + { + if (_options.ContainsKey(optionDefinition)) + { + _options[optionDefinition].IsSelected = isPinned; + } + } + + private void OnOptionsUpdated(object sender, EventArgs eventArgs) + { + Clear(); + Populate(); + } + + protected override void OnEnable() + { + base.OnEnable(); + + Service.Panel.VisibilityChanged += PanelOnVisibilityChanged; + } + + protected override void OnDisable() + { + // Always end pinning mode when tabbing away + SetSelectionModeEnabled(false); + + if (Service.Panel != null) + { + Service.Panel.VisibilityChanged -= PanelOnVisibilityChanged; + } + + base.OnDisable(); + } + + protected override void Update() + { + base.Update(); + + if (_queueRefresh) + { + _queueRefresh = false; + Refresh(); + } + } + + private void PanelOnVisibilityChanged(IDebugPanelService debugPanelService, bool b) + { + // Always end pinning mode when panel is closed + if (!b) + { + SetSelectionModeEnabled(false); + + // Refresh bindings for all pinned controls + Refresh(); + } + else if (b && CachedGameObject.activeInHierarchy) + { + // If the panel is visible, and this tab is active (selected), refresh all the data bindings + Refresh(); + } + + if (_optionCanvas != null) + { + _optionCanvas.enabled = b; + } + } + + public void SetSelectionModeEnabled(bool isEnabled) + { + if (_selectionModeEnabled == isEnabled) + { + return; + } + + _selectionModeEnabled = isEnabled; + + PinButton.isOn = isEnabled; + PinPromptText.SetActive(isEnabled); + //PinPromptSpacer.SetActive(isEnabled); + + foreach (var kv in _options) + { + kv.Value.SelectionModeEnabled = isEnabled; + + // Set IsSelected if entering selection mode. + if (isEnabled) + { + kv.Value.IsSelected = Service.PinnedUI.HasPinned(kv.Key); + } + } + + foreach (var cat in _categories) + { + cat.CategoryGroup.SelectionModeEnabled = isEnabled; + } + + RefreshCategorySelection(); + + // Return if entering selection mode + if (isEnabled) + { + return; + } + } + + private void Refresh() + { + for (var i = 0; i < _options.Count; i++) + { + _controls[i].Refresh(); + _controls[i].SelectionModeEnabled = _selectionModeEnabled; + _controls[i].IsSelected = Service.PinnedUI.HasPinned(_controls[i].Option); + } + } + + private void CommitPinnedOptions() + { + foreach (var kv in _options) + { + var control = kv.Value; + + if (control.IsSelected && !Service.PinnedUI.HasPinned(kv.Key)) + { + Service.PinnedUI.Pin(kv.Key); + } + else if (!control.IsSelected && Service.PinnedUI.HasPinned(kv.Key)) + { + Service.PinnedUI.Unpin(kv.Key); + } + } + } + + private bool _isTogglingCategory; + + private void RefreshCategorySelection() + { + _isTogglingCategory = true; + + foreach (var cat in _categories) + { + var allSelected = true; + + for (var i = 0; i < cat.Options.Count; i++) + { + if (!cat.Options[i].IsSelected) + { + allSelected = false; + break; + } + } + + cat.CategoryGroup.IsSelected = allSelected; + } + + _isTogglingCategory = false; + } + + private void OnOptionSelectionToggle(bool selected) + { + if (!_isTogglingCategory) + { + RefreshCategorySelection(); + CommitPinnedOptions(); + } + } + + /// + /// When a category mode selection is changed. + /// + /// + /// + private void OnCategorySelectionToggle(CategoryInstance category, bool selected) + { + _isTogglingCategory = true; + + for (var i = 0; i < category.Options.Count; i++) + { + category.Options[i].IsSelected = selected; + } + + _isTogglingCategory = false; + + CommitPinnedOptions(); + } + + #region Initialisation + + protected void Populate() + { + var sortedOptions = new Dictionary>(); + + foreach (var option in Service.Options.Options) + { + if (!OptionControlFactory.CanCreateControl(option)) + { + if (option.IsProperty) + { + Debug.LogError("[SRDebugger.OptionsTab] Unsupported property type: {0} (on property {1})".Fmt(option.Property.PropertyType, option.Property)); + } + else + { + Debug.LogError("[SRDebugger.OptionsTab] Unsupported method signature: {0}".Fmt(option.Name)); + } + continue; + } + + // Find a properly list for that category, or create a new one + List memberList; + + if (!sortedOptions.TryGetValue(option.Category, out memberList)) + { + memberList = new List(); + sortedOptions.Add(option.Category, memberList); + } + + memberList.Add(option); + } + + var hasCreated = false; + + foreach (var kv in sortedOptions.OrderBy(p => p.Key)) + { + if (kv.Value.Count == 0) + { + continue; + } + + hasCreated = true; + CreateCategory(kv.Key, kv.Value); + } + + if (hasCreated) + { + NoOptionsNotice.SetActive(false); + } + + RefreshCategorySelection(); + } + + protected void CreateCategory(string title, List options) + { + options.Sort((d1, d2) => d1.SortPriority.CompareTo(d2.SortPriority)); + + var groupInstance = SRInstantiate.Instantiate(CategoryGroupPrefab); + var categoryInstance = new CategoryInstance(groupInstance); + + _categories.Add(categoryInstance); + + groupInstance.CachedTransform.SetParent(ContentContainer, false); + groupInstance.Header.text = title; + groupInstance.SelectionModeEnabled = _selectionModeEnabled; + + categoryInstance.CategoryGroup.SelectionToggle.onValueChanged.AddListener( + b => OnCategorySelectionToggle(categoryInstance, b)); + + foreach (var option in options) + { + var control = OptionControlFactory.CreateControl(option, title); + + if (control == null) + { + Debug.LogError("[SRDebugger.OptionsTab] Failed to create option control for {0}".Fmt(option.Name)); + continue; + } + + categoryInstance.Options.Add(control); + control.CachedTransform.SetParent(groupInstance.Container, false); + control.IsSelected = Service.PinnedUI.HasPinned(option); + control.SelectionModeEnabled = _selectionModeEnabled; + control.SelectionModeToggle.onValueChanged.AddListener(OnOptionSelectionToggle); + + _options.Add(option, control); + _controls.Add(control); + } + } + + void Clear() + { + foreach (var categoryInstance in _categories) + { + Destroy(categoryInstance.CategoryGroup.gameObject); + } + + _categories.Clear(); + _controls.Clear(); + _options.Clear(); + } + + #endregion + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Tabs/OptionsTabController.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/UI/Tabs/OptionsTabController.cs.meta new file mode 100644 index 0000000..7fc5e2d --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Tabs/OptionsTabController.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 977db337f5942e64aa7b62fc1ca01e28 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Tabs/ProfilerTabController.cs b/Assets/StompyRobot/SRDebugger/Scripts/UI/Tabs/ProfilerTabController.cs new file mode 100644 index 0000000..976044f --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Tabs/ProfilerTabController.cs @@ -0,0 +1,49 @@ +//#define SR_CONSOLE_DEBUG + +namespace SRDebugger.UI.Tabs +{ + using SRF; + using UnityEngine.UI; + + public class ProfilerTabController : SRMonoBehaviourEx + { + private bool _isDirty; + + [RequiredField] public Toggle PinToggle; + + protected override void Start() + { + base.Start(); + + PinToggle.onValueChanged.AddListener(PinToggleValueChanged); + Refresh(); + } + + private void PinToggleValueChanged(bool isOn) + { + SRDebug.Instance.IsProfilerDocked = isOn; + } + + protected override void OnEnable() + { + base.OnEnable(); + _isDirty = true; + } + + protected override void Update() + { + base.Update(); + + if (_isDirty) + { + Refresh(); + } + } + + private void Refresh() + { + PinToggle.isOn = SRDebug.Instance.IsProfilerDocked; + _isDirty = false; + } + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/UI/Tabs/ProfilerTabController.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/UI/Tabs/ProfilerTabController.cs.meta new file mode 100644 index 0000000..ad2e0c1 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/UI/Tabs/ProfilerTabController.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f26b5a0018be8444fb0a18037b471f65 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Version.cs b/Assets/StompyRobot/SRDebugger/Scripts/Version.cs new file mode 100644 index 0000000..2245ec8 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Version.cs @@ -0,0 +1,5 @@ +namespace SRDebugger { + public static class VersionInfo { + public const string Version = "1.12.1"; + } +} diff --git a/Assets/StompyRobot/SRDebugger/Scripts/Version.cs.meta b/Assets/StompyRobot/SRDebugger/Scripts/Version.cs.meta new file mode 100644 index 0000000..16fdae2 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/Scripts/Version.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 8f621404e9f88e144a8f9d2b15378f78 +timeCreated: 1441800960 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger/StompyRobot.SRDebugger.asmdef b/Assets/StompyRobot/SRDebugger/StompyRobot.SRDebugger.asmdef new file mode 100644 index 0000000..62dcfdd --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/StompyRobot.SRDebugger.asmdef @@ -0,0 +1,17 @@ +{ + "name": "StompyRobot.SRDebugger", + "references": [ + "StompyRobot.SRF", + "Unity.InputSystem" + ], + "optionalUnityReferences": [], + "includePlatforms": [], + "excludePlatforms": [], + "allowUnsafeCode": false, + "overrideReferences": false, + "precompiledReferences": [], + "autoReferenced": true, + "defineConstraints": [ + "!DISABLE_SRDEBUGGER" + ] +} \ No newline at end of file diff --git a/Assets/StompyRobot/SRDebugger/StompyRobot.SRDebugger.asmdef.meta b/Assets/StompyRobot/SRDebugger/StompyRobot.SRDebugger.asmdef.meta new file mode 100644 index 0000000..aaf4686 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/StompyRobot.SRDebugger.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: bcc75752368a72b4aba4043ea13b2a1a +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger/UI.meta b/Assets/StompyRobot/SRDebugger/UI.meta new file mode 100644 index 0000000..a6ea20b --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/UI.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 330115dc0d4b42741a9215c39211f366 +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/StompyRobot/SRDebugger/UI/Fonts.meta b/Assets/StompyRobot/SRDebugger/UI/Fonts.meta new file mode 100644 index 0000000..ec8b557 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/UI/Fonts.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: dd8e6d338a61bf544bebf375287bcbeb +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/StompyRobot/SRDebugger/UI/Fonts/FONT LICENSE.txt b/Assets/StompyRobot/SRDebugger/UI/Fonts/FONT LICENSE.txt new file mode 100644 index 0000000..1804534 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/UI/Fonts/FONT LICENSE.txt @@ -0,0 +1,93 @@ +Copyright 2010, 2012 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark of Adobe Systems Incorporated in the United States and/or other countries. + +This Font Software is licensed under the SIL Open Font License, Version 1.1. + +This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. \ No newline at end of file diff --git a/Assets/StompyRobot/SRDebugger/UI/Fonts/FONT LICENSE.txt.meta b/Assets/StompyRobot/SRDebugger/UI/Fonts/FONT LICENSE.txt.meta new file mode 100644 index 0000000..904fbdb --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/UI/Fonts/FONT LICENSE.txt.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: ff89cdf7c4536ff47b40d4549239bc2c +TextScriptImporter: + userData: diff --git a/Assets/StompyRobot/SRDebugger/UI/Fonts/Orbitron Black.otf b/Assets/StompyRobot/SRDebugger/UI/Fonts/Orbitron Black.otf new file mode 100644 index 0000000000000000000000000000000000000000..7fc1e44f3b207fdffce673807919b3e56e2611b0 GIT binary patch literal 20232 zcmb8X2V50L_dh&)m%EFz<|HD?lgE;1 zqDDxuB^vB4Dj}w!s39hrm}pF%n9N>h4gc@##XNb+@AH0MaL>+8J#*&FIcLrp$s8~s zlhh_lh)g?hZg$SESB{)S*+o2UCLlv??{gdV zeem6Q!qmLE%PL!x65@Lf^}m~(J8Rm9Q$9RMNNvsL=sgAnK|Asa&(>K--#^$fE;qRL-L}>@9OT=!FE}` zgm0PHL@s{N#`bfy0=!3~e5GBsdh(Wep@$IQ0Z44N7v<%|PJC=fY^(9T#`~781CNI& z{;SmzLYmbj1l08Y%$PT8Hd5hLwY_5j2T;O0lC7JqT$EYO>q)_Xji3Cu26B8!a!tMs z<9Dk`%cK#>s7d<}2bofnwxiDcnzVxa#WiVPq}SG@YyB;)k%nY*O@3_>NIt4b`&;9J zB0jZ%%Utpq=qAz{FcyztcN)AD*{j}6bto0BtfdQ^DV z=^*pO@e}e;>B;HgGjgZpOq@18Ds$G@iFvc8PwO%zd)(yS*?D=r$7P_mX}R+f!ylK0 zTZM^M*Z-au8x<21^Ek`>S0CYjbuu9@Z$@Htbl!yADY@C>=j2X*a_aQ_-0ZPaa`WcR z$c-8|eQHgO858H`PMJMp7B+^+C21s=Ov5vaWRpC+bHD-kPhDE0RAB=W;iBE}K5r=c{8WTM_!eC6RS z`t1U?$tL5-WYXKhBoFU#U@I?f0?s3e=;uG%h5xOkD1VIgf7WyVtzIm~7jujGYpn49 zF`Ae`9`H^i(fG~7jBxW{Pj~)@2~Hgg#66u;`twq`1tUV(MR)M zD*b{TxOR2zn$IsU+cW#qH&#A>VvJGy2|xd!`oSR)jhZxV-l}zcn|4XboxAtw)ptV9 zMDpE+tg%z(6s}(P!p7IOY~Qh~$unmXlgqoO|EX zE6$ufcYYrEXC|rlS6wwgaRut3Vc}8HB(_7xP77yMl1U3L%^+X}AKR;_*PnDk=l-NS z*kdGFL|!Lvk$1>Ga)2BnpOCM}6>^PSC-(`1v^2>hQZ2`d-R=+`fpfB)KJ-&Ke^-L@EWA*Lo2i3n- z_Y_}$ekC9wkI=H}ovPhc8C9dco_yoQ@LS$|@I!y3Hj!iG&zc{8zrz zNrLp3x=7umRJ_ywRU%SSveZ$OgUg;Fr%5rS^+#j``IsCgM?iz4VEUIxDft4FJOG+r zh16a{J|~ySGO`CO{3&^ZtR&Bq6J!iApuwLYepr-;FkqUAHdg>0j zi#7cXn=Tg{a1>cZW@4>Rky=C{D$$@LD7d07^oElJ5EoWbC!r*av?OA?M_Yp7EwY{r zCxggfY~rEdonhFdPeCs&Axp`tX0x0MOg{_FQ_UfRext6P1?xaNaFu|I*}w9)WH)kV|QEW zE+o2;I?6j>Yz^^Mv5Ty@U)hk zNC)5@Mw&~r$rRf`^p7#579>Qxt^OC12q}^@0LQlhueGslCiQH`(e5B|OH1*s5>*a> zopJ}9@g?xuhdve|f06YTY3q@@0GEyy&Dz*bS>;JspG54P1nCg)&O}*9)VWF&tZOaX z9@4`09_HVfw3q6VaH*0c*V7tppdX(u%$@t|8f`3#ik9gKCB_}N|tPuS3ACkX@HLTs-Sr?iGNmM(*Kz=Qk( zy8Vnd$J`vKhc!amTDD>mV=E!Ccw!_999{tb%HXqj&w=qcrihG zp41cclc6K9jtT$k5&S83r5s3HwhzE}5ya)AgFmqbK5a-t%qhzDA^H~Yy`-h>9paBi zyj#}fx3=D>Bi2*wVMt2rr+Po+$^ZU=zE7l|E*{3sz2<1#go`)W2h;@1iuq!mtquuEu^Q zS-__eDFKF!z;7aLRNsM&?_Av$uzU4-z+TnE0k@-vrdIu?WC~{2-0G(lYF>vn5SX_j zJ*vL}6s4`mI`r0x{DyRE%<)^SSLf=l0lNdXBh8W1t|om4qbC7}JAh@tDjDz(z}sk> zOzv3eyMUcBVj18@VA2`&MY^o|9H3GCyO7j>UWXoPRs9)YR`n^s!s>SbUqJueLHP>6 zlIo*?H>}e87^^$legfT9yZU>;ER5I#t?ojXWnmS1A$_8@EX?r=;GOC(0Pg~yEKuxQ ztgcv>vE)2vIu>Jz^li*>ENb3?Rt*7$Q>;2uF!~=zPqAPjW-$e$e+#(9f+be|1q)VS z+$rcyKrsq*GkTk2QGO1v`UB}3=wXgU^Eu#$yU^ZKkW+}70*cucTC*#JHm68$uf7df zV%5A*?Lk_sT_LbN3wQ_nqR^UGp~YRRF+U1>Ag}s0K*8awVHpVc8aQ(`cuYXS)vIA6 zi2Mrh|7zF>6gET_a99U??f?qR*OAp2YaOt<3%J8d3ocrRxrmyAm)2P`T4!Oh&YICW z%>56HS_u1XBk+*`r=b6hz$XB(&`Phi((A1B3s!oImEI0~HUh)ufMUmOgdGzHc)`jq zv+^sf{M%OjJ62lkyN%E}6!R1mcn!bJ@rZeCK?%jovtZ|J#|q1UbI{v%3zO}by(ryi z<%m7F9is~<=(8O?h*tN}|8}eY9iY-Tu(8I1Gk1Vi6@Y~nTn8T80j@X;xWj_GK!+XV zkd?kueHi@;PTpm$_%5`%iL_X8*lVEYF4PpIWuW#hYfVcq)-B*6IIskqAkw=~r^KpX zV)1zi>fb?51@=pc#d{^-4N>z>^#_1=kv;@UP}rqH1|CD5``~-Q3Foo;0^SC#E`UA( zfI{wF0RM~woC6E+f<>hZppqyR>vh56s0*N&$PpB~0DMKd1U7@PIYs)01;rX&u;^BX zS^tExLJO|LUMmBwz6ac8LBZi=!0l_m+n{6_@V^Oo7qcq^M|}^C-4*uzmn02Rr~=rA z0t##^fM*<_;3BaaBEQti7gD+ctp%*G;B8=7fz=c_zoGsO(DoLf*n>BKn}Dk=DAwhM zC1Gx0HANk<({EsnMEX3iy+a`T5vmhy93JH0xW?ny@Rzr4Omuv9a+G=6#F~DFP}1 zBjnt-cJX~{M)$25-N!6MzUcG5)h9Rwt?pwkBIkltDx}JNYZkv*T=$#R_BTrw{bupr zZy5I$s3s(v0nKs+uoqSn20I=Kx{-^q0DBbeTig$ zXw_^3H^6dm*jBO|Cx#Qmlx$Lv)KZF<5~TssFeyixB`uVmmEMqcOXboH$&miEwX^lH zEwOE~mD?W5F>)Juxx7JsS^ijl;1lSR?$gI-fX^_W2|l}hDtvC*1ML0nIre|p-?D#c z{{{PB*c8H|5cY(GdHw;e5cY(yCWI{^ED2#p*ep9jSP?eMiV*upMvd#11tFxX!?GWQ z^&o5qv4aFhirpZjhmc>wUJ!gJxKLOM!cGv<>hZY3N)Wn8SP1v=7S@3eFlmc%)?1c= z*kLxSj?nwwb_!}h7vm8Yfyfv9Dr^DCvIT4?{~G0A17BeYh?Lk*HjE><=qHRJR$N#B zf^&uTw}TR87QYJ3FZ909`jVyfYgt-f=zO8^g}xWsUg&zE>4lybT3)uaywLGN!z;j9 zaNs4>y98dlhdw_={rlD&Zi03~8Vap0a2IPK^tq67LYE6oF7&vNZbF9(4KDPz;6A%W z4WYY*<`#NeXzkjT*0%IIa)rJY`&sB}p{d306&hIZu+Y$=9|bkU{t~+jyBDTUS7==!X&-Zh(6&M+J%Jg( zlEBCU153-IU!h^W*g!6#PcKGaSr`eOD%QRlCv>4xg+>+nRA^Hnn}uW+5>RMSp+kiR z_3~dF_%9Uv*Bml0phgA-SUf27rEK9Ww57mH=xPc|3SB8QrO=b!5rqC0I#X~rwYXbo zMxhr)FPJ&_Q0PRV5rsY!+R)O4kZ?i|3N0vfpl{8p!`eY@L0ut>gys`^Pf!x0V||3q z6TD#QJJfj03qsF{^%FWyXgHzYBul?ZmVT2^dLNhzs(a_#94EcUJ5%U2q1FDKYGQ6; zogVL8JE$degO^%jej4WW6EKFo18x&~OK2^@3qoTFeI<66&{aZH*(^;Z^pv1vs3jAG zjuPu5^pns|k7a_;OF}CNog_3;9n2i|BYF|sCv=gZk=PkR3zgt4G?36gVrK~5Hx5u!tjbN4oJC)sU`O1ww2aUPLc<9CBD9OpEkd(cS_J*t(88-_ zv>I;p;v}@mzuJnm6FW=b1D%CO?E705_F_+qHMH~wR@eqPbj8vc63!`)eO^I0i-~jC z-#uUd@_Ti`3Bv37`v3BG9fqtu54x7YM)-HHmrl!XUD{nM8G)G39vQ1oZdi@rQI+qq1nXQR_HbXh4WSd9aL~$5DCYq zF*u8LLY~M!QB(I=&3E&fcmJCA@|yQEHSaYT;U+wD4tQ1?!eiBpw16H-AZ_8v>IN@v zPq^Rvkpa-2C&~BZM{4=g>Q|DEL+qF}GBl z*<|3;1@&cMm5Nq2U@!o18*sB>48c=B0Ye+cx(E2Xg{koWNtoXgHC*8JetLbM|MGj{ zv ze%2Ef*IfqJT?6%meye4TB5;0;F?bL|+Th!e>il~wN@O)Q>JnqP%@`pYP9L7h=Qps+ z53}tJl;7(#@V)J~xk2O#f6@i5!Brvx=mhl}V9zv#2OtK#kVsN2Ug!gQ4}j8F*%jXHM?yyouANiTqjk zo-Ll-{9G%;nrB=dvhoV1iyCu~oHK1=cLW&o#dkiw3q+y-iMb*%7m0az=8KQ{NIYJA zZ@lvH7nv;nvR66_PBe(i4(XYK3r2TbRV7VH8i2W=I9n zMrpIOP1+&tl8UAMQmJ%OIxm$;pGg(cb?F=Fmh^-4vrV;8TRmF{jOG+uSKA0%j%|W% zA?hZkL**uN zOF3GOms8|ka$k9XJVYKLkCUg%v*iMLfxK8=DX*1Zl3$az%RA-Wa@&FUsX| zg?wGUDc_cVlJ9$RT-XMDQ;$o(kC<7P4DbIiXhRWufDM6y_oyLnU(-TxRmt7u9^-H3F( zYjjexF3~)ny%WTHDb)%H}|n(xUe&~o%NUC}&R zFPF!~-DU?~VsyZ}`wV?xA6?_6N+Vsfh^4u*CrlU{HcTB`JYj!msj`1>@xHJl>b{A^ z*`Y%^xJm~OQ5;d2uEyLcx)y3=w$n8uO^MPq76W`^wBtsKi~XwbU-@=Bk2R{8oByh^ zU)gp$i#4lMt*E`Osa4_ix(@yw4?!`33pG6qgO*&sdDXNPgWQQBPn_(bGPQdK{uL+R{niKlNe{YRtfgLbO~#E3fV+jDZ!GFR^gPg2Lf#`BBdp;J{lpm zv05sECKB<^_Yg1KNA@G)(G1p73(`_ri>T>AXx9%&E9qGhDXl}yC<^z6q7fnd5V4L8 zh#iVZ>qpRHM-kVFLsX+RqFM3Mix8R#5TwVU-A*FL*;aZ9Lh@zAU0#tkL0Gwr5C^v;`uzi?mhRM$W;0EQCIM4*Fb$Z8REoe+0yDS7|%xfQaV^L{5`QN5nhx zaJ%Jo#C^-4U9(|dg}{F3j(Ej3M0dBq{(B1gHdWdI>#7`)-pjCX=RpfkhwX1eyf;nS z2~qEo-X!VLThPl3aU#i(c0sTAkaiih43dt(D)<_<~^br{h z^>UO9k&a2n$x!J8VoJlLQ?O0HCBvoD(iudh{a~SbgeLO=0mU&l6$E(>X2&~Ns4L`G zsfW~GS|OD{M|~sRm8xz2Hn**l?J3)4=o}{7gb&9$| z-Kt*mZRR`L_gUXVzDBM1S{-Xmsx`mX^R-^7b*|RcTDPbVji;$}2+g4jX&L=m8>ba& z`?OzbcdI?R_T<{7wZE!;`-#LS7Cf=>i4ULn+Cd!=j_!_rj>V4W9oHQ{*0I&8Q>Sg6 zk#*M8d9}{Ty6JUi*Iiim)w+l3o~iq}pX^uHZ=_#=-zvY&ejoZ>^?TqS<{#@n+<(3Q z$NqmfTRRJ!%bg|8^UfcgcLRI^o(KpEXcW*fAS<9S;O&6Z0XG8-S3OsxtG{cJ>s{CT zuKTV(1Dgis25t>JSTD9->v{?G2Gv_oZ)d$5K_n<5C^cwU(8{3Cf_|$XT)(jXGxhh^ z|FZt?!STThgO3D%6=Dl%8qzK#HDp-GjF4R+AB5a$5ZNHR!Mp}9HrU^ws=*(6sGh4o ztM3X`L+gk33*8v{TIj*hlcAr4{t)_mm=abitYuh2*r2eN!_J3m;Thr6!`}?wAATd8 zMfgQHBf3O%ix?EKHDcGJ1rGe! zd|l{)GBek!&Lhw2s`DC;9_lh9SvMh&lIRgOx;f?V8-7iw_~?a?S%zOjJ&AraS3eCI zeJ7kc0~Z=^N1*&8t8z!BQFR$JFYOuMNw{SThU_wDq7)GRz(=h7t+GbtFakZ!iHOf}&R|nIh=+@0*WzQ?d zPp(hqXCCVs0!7-G8p+D%=Z=+c3}f|qRCCj9L>lhqMbt5$8b?;>MLsM>VNF>VJA0OQ zVNsr({<`_Wqd2>9#Axs0jk!a0T;(D8ET#u#9hDJ01}1>=A;W9sYW?VusGfuqcguW%679%7psPqQeEtQy=P=Y<4#l- z(h;%TeQSaM*=jf4fL=7S6-NP>t~gbfFqjPV!7s&KDT`4ZHwC(c#eB`C@E9!C$x+nv z>QHJVDPm>b;Fm-$C$J5j*FZ_U?q-6RjLf5;e+L#Vd;HRMUTk)N5{@o_Du#_#%%VLx zs>9rpNKehvPYux>Uk;}1>v_88#aTK!EH)!~F^}=&pzC7raj}BB6X^bR`u-uXELVKg zgqmBT_44)f{5t)-$U1YRp>A$jNvARQP!=+~N*&3kNp z3;GUbg>hCGvkUy!fj#H4)@+4~M@L0d)p^J=bsa78sgVV8JR4{XQLcS*>3Wz^&SO#5 zS9KhpN9XCrO-!sQ?>conekauD5tw1jBj60%FG68Uc(I+eIj*$5ANQc`FYHBjCg`~8 z7)^yiZBb$m7DQJz(7NupgN40t@*|| z79$;J(QFGa+&52um;e*08g0(8EhftF-eHF&NMO9EPs@vIKGS4zZgbOf~pt)yK#SPe_oq)Xhf?9)8lB5 zqk`jFAF)}P6L|TFUBX6$>#T(NyTl@KFri25LyvhST0oWO6-YFke#$bgg+9C_j zVxDFG?Wm(FN$jiUI;&?qY(nuR@P~Z_11V!w-8?tQ#iR?v`#K{ z*>2CwM)dFk{p4`{q-UJ#(KukYKpmwU@oVhY%gU~Wu|Ddx^s;f3M?a~v2x}&uO+%@t zA&Y6RV3i_)3-fE9&uX{VEt>mdoiR7rqofOSzA=UHsg1naEVvv-^UbHQLQ|OjWuWa8F?7ZvkV+>tGodq+&&?y}~w$(KThy?f3q<_lFCtTM+ALjuSa-6Yy~uEfZ-acH0b0{WyO# zY25hiN#p9XZYrD1HrS8xc$L4-zp}4UMh_k}VALRAqreg(@ha=b=Ggfh)><`Adt$@^ z%?JV-jpymCHTsJG3wbt2!3k{+rZJJ4`HI=X$hY&>gA_KIZ?N;us)N0oNU`yaTM!q| zvR_^71OBVGcAmlyv)_0re_%J}@Ms9H)uJ=x9A2l$Ik6=rKc)}p1s@b;@UpM71^0PsMSb}=)%jfbRZxw`2E|@cUd@v6E(QJ>=$}1z)cjxXJ zza@0CN4LJ%{5 zBjNEDC`bQiIkv$S2%PoQc`Oqy4K|Jyy6Ldax`dOd9HBdgPNz6D%8z{~@Gm6jaM8d+ zP|SC#j(OO~p*W;A7^5G<>tkr~;dvBUA9G|IX(}8Pm-&7dYk-^vs-qiaqo>0c6CosO zuF;|iMNY53avB>gpb>X^7PHaP+n&Xubgq7sxhJR6LCo#EgJyxpjFS=6NGqC4Suj^D z7lpqVy992T(ueI+=$}6DDWzwc=_~ba`a^k~t~hU49v}5;&kWt{D?CgkinFwmm8i}e zXsN&p^lzATH6FB}Y%tFAE%S|?Y+M?gJ}^saVMYXKyyPijIWCsK-I1zESWi1lja#a7 zCs6!W{bX_P(rzLAcO`iM4OizD&EGIT)VX_V!J^!m!MwLHUgDL*hu(N+XP9#m3s17M zIMwWP(dFE|cV6*=;(5OO21`^vAAddj@_1i?)JT8Ke>EF(6$Af>`3LZ^#y{hA{ylq= zb?3g!*WcNRon%*BFQpGJO@&8n=^}W`EFrDk*G`n)t!!%1|SKab+eoTPvBm*+sZE zjMFgIN{u+9312e$W2JJ`p`_6Eyszu}FYUoUo%M5=hRRg%z->&=x2v(mYi*|#VQF>_ zg2OJ0j_II(!Ww&@5b4@0;cCfu-S-G4h9$lc4RvkG3PuU&Iqv#(b3wj6rb4ng5OhxzqT5_|MW3gepU ztQrUTS5IBPYU8pE&-kuZoaLLB+Iffy_vW=w=edhd(V9L>+4!Mw7_ouQs?xxVV|5mS zzTSVs&H_XyuiF__XVM-(!C8KqCn$$Qv|l z%Bg*aj)fJ&&h=$`SPO}f6*}u;baIW!%Nr9mPaU&;&VkUa%E9g14urj?9?081I@B?| zXuj_8H&WK5Mncp{a(2~_%f7O`H^ z&WCN>bZB@!3z)CtK<0*kF;Y=SbjNBbOS9*WT{_D5uJYpkf9!klkT09p17divPH=pJ# z>SxvslbMPdX>g|&r6D##(#>Zj$A>NnL0c4jBX57 z1<$eraK&9p4&}!dQFe&G2~KtJQ|u?!;CmJ#9bzHBvJjbNc?P*M^{#5trAhiVAW5bW+<;b)^7zhyFlpTJ{Jc$To9m}eiEIUct4dcCK3z21A2{l)Nl?^gFsfY;m6j~-2}CK#XqcH9{g{)jdH5mRJv(;gY4 z8`oK}%iNC4?FwT)H7OiR;i$;GPS3%Me*78zIrW?J{Q*Lj|Q9Fj8ZXw)w%F6cV`Wvjzusl(pZ#HuRt;~FwRZ( zjmxOVb=Ax=o7=f=bmeK_)U=-#Q@)lpck$-DhibV4y4SSog;uv9s~Lni58<;__7*#3 zzrjOQ{+#)Ibkm_hToEpu>!qb2$iYQVCqnU^fW$B$!;Id*y zp1?ve{bB=Axkt1l=$I zn`8isls(H+=%YT%5msXZuw+p+@5pvIKcMOr5y&zkuyifiDHk8ecHszRUI9h!C^&!b z#b|r&{0`b(!HEsa$cO$j-$=!#T4%iM;;ofbciJ60j~l8m7f<9ao@^glM7QjEYtNS5 zO3ZBYIk{v%3m=kKe^f z&8QGFuL8>lU^+oUoEeQ#-3)9?jV|f}YR1Dz%%!DL#Xw^C3xeD>{{l z5qACrcYg`zX`G!!E3X{hbbixeUly(m_hxLW$pDS`6UyG-?Mzk7-VrX5Y9N|B+R!!# zJDgdH@G%>bLSfkmS#dx`Ale;|J#gBX-vkv-uNOzI|Dz78W6W!)520r*E%jt79S+{V z{J*-3WH&r6oRm_bDvx5aI3LLm&#{RvHp@B)J(>lhbs*x$UeolU4Jr=DDWB2$qp_7w zVTk`5Q8w7q9kS;E4zo+s=o+KHi;Y(Hyk}pntX*q27ce)>OdQF9>rEUj;B!YRVTQz*nu_nwv_p(S9+8sAxg~M ztLZINUI+$DEE3{`!Haq+jh-~HA9|`CE~P_w=WtQJ@Dg5b&mi-Pl9Z929LD}wCYXLC zOH>&Pyu=eTVD$}z?R-?&)oioSO&RJ!m@cqwE?G7`{~DuB278axykOH(klA=+()34EJ;W8r4KG*Be8<2A{d12<8nNw}d+Q zzCZF=eM}wNk~M?MZe|p@cs(8nz76D}pgxQ)HxFj@RL5+(MHr}C7QrfI2l;$Zq}1%I z2s4#MErWTwb2=4Ae^0<7{c2By;&EeQ8*{@yn8tRZxJL(lADf+~vzE;5Z*A;pV8Cm; zJvkewF_E|A1t3|6#ngGEoXt_MT|`V61g`9H5kdVqb7)Ej{T)_N(;T-9R$*ac(7{#K zFiICx0^%LAXQqz@`z&dwgQoV zV3N}X9-ct7HYcGhU#(mZ8{>vh0@ph6d=;W5$vThLS%P~A_l>n|q*THp--4KBeLaJo zr7VMud=})~WsJ(-2D84vAA03HdOgI385u6PZxRaA`*aTG{;G4X;j?B6Mb)ACY^RXI z=Wt5e3JV=hk(-;!&V3$?@V@C2I88T;&>cFH_F`o+jf^SOTx+$;*HIniON=!*#+*Uv z1QDp`qk8Ckst{dcgtleF@^IE*mtZ`M0i&m~C~H^Dpt7glBK=ARwt<<6-I4mE!UpqH zNG3R|B3NDf7aLAr_#)U$|7|t34D6B83v7)1&BKg%y?-wCKRg3O_4r|tt@{?G%0j)P zrN<6r@?ym~t*`DpkPii)1wGsOeHQgT>s+WGu^RcKQN}7gIqcsWY~k+dUi)XPj$0fV zxIAE8;&2`)5Z&You_gw6|NkCzG6sDggTe>f--vfpb0&^g#!1WSVA)1R4CEw#XNnH- zU|fW8J0Oid>&XS*^)oL*{(laY;&>Bf7sluxSp1l%nu+Gi_956=#$ivK{Ug;;VHxQ# zL4^~;GSVA~jcyJBf0$hcQNBl*;KCSp@L7p;J&Q(wS2qPa_z#|C!zi3kCp>?^ zbF-uwy@{#UVo_CW{93&p8=bCa>KW+VI1S1+Ld*?2agS#(rd-NuA@+uS3J2~?>i7)p z?y_0nGuVpdo|TYwtQj0?nWYGV3R|Hgc;lUNqhWz+9^psV@L+q-&8LTzhZtwj*%8I) z$)2`5h7Zu2QUTf6LTaWd-7GaLtU=gY@N10Mud>mRy6JPK2^HyHkvjkCOhbLVer2wp z&h%8;AGEoQ8(xvE*n|kH5*qMz!a}X$(KvmrUFCW-80$7z5fShY`%#0#u*@}G@M*g2 zyqm&4Gb`+@p29viD(sGt1N4^E$TTVx$7$4!VvrM)j6gf@s<4WhieI53z8&o2e$;a> zg^q7ImXn-jJe-{l;?0$ry(V^<-eXL&Ab7rx+j$#>%@qw*1)}a}grR@7Ghc;G6Qi-k z;!YHc^jeV+A;SYby@fG``450niK=-=f;hrhcCc?T0Yg zZlAISTj(8Z$En?)?Ko4$S_NUq@2w$ciy?<#R`XNn=s`pJj2wu7Z*mZig;6e#S#yH< ztUO(vM#UHlK;?!!S&RU^IaE2BhCUPdFuuBGjIQ|Zx{kuDzZ$(S6214!rqX_FR-Ef% zb;p2yu()7^zJ;FJ^C>);O|kO~g}q_cwWF1rjZoPeMqRsOKsLShv~D#7H{6XC4(msr z{!J(fuFn+(1*x%x9YsZ++@du_3Y!$*S>W32 z^jZ zY26QQiQB=g@jtavq*SRV{=e2xX{7X|G(}n>Etg)vy{cWf>{Bj%E?vV_)O+}!TfVm1 zwz@Xm*2ETx>!|6r-nP-US++u40(#oE!M4TrrfrYyUE2ZtWsuKo-`H;1{%QNe_6S#l zR9r$0!4=dNa+Dk=ca(d`nesq+m^?}zD^HU1C5gEKZcFcJ4@T;ZA?KBV7h}y8r1>6n8}GYOelzDaU2iScKgc z;#w;tjX3z3X|Nr=*GrqCYt8vX3vmHYTx7kkFmbJwhbS{f&p2pzSodNzB?iGe9;+dS zm)wbJN?WR7*)ufUREdqW1`=@>XlRYcw4>S(Z*=Cdd7VWoafeb|N;L7SXgxA?En1hf zA1o6&27b;MtqP$@Ho6tnjx&DE z#&a5+^rvx$(rq2+G{jw^G^jw$iojIjz8^GCMS+HxF{1l2BDq%ZwM=b{D}h(Tv@<+9 zeJb{UvX0Jxl%+{p!{3dIxiz;+B&`&Ua1FrBH(THcYuy^iSB-q51Vq#3U zmO&-W8ENRA7b582j!upYINvpKhOmyxmUjb}VS7^qA|jceq9uU{LptJmY`JT&j!1P9 zV%eHE?%*%3PQuTj;R^3`7!@-NUl)P~ZX*G*IC@7a-GrOJxE63%`vw*Fz*>D5_8ugBG@)%9fVm*ub^OBO7j!V;;OT?6*0!2&(-1DXyUzp*w zLmg@i)wV5oW64%{6F0xUJ=oC^Gldi@#)K*}p2j8X6)99p=DGQ7KKxr+3Qa1|VamI; zM>()1qM+y<{g96sYBbuN6~sV*TLdOgX^2QeXuA!)K+-CEptB?qFFXJOj&MUwx#YA2v~Az5J1nJEnyEKZSp8m;e9( literal 0 HcmV?d00001 diff --git a/Assets/StompyRobot/SRDebugger/UI/Fonts/Orbitron Black.otf.meta b/Assets/StompyRobot/SRDebugger/UI/Fonts/Orbitron Black.otf.meta new file mode 100644 index 0000000..177c146 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/UI/Fonts/Orbitron Black.otf.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: db8aec58b7ce99443a1c4f5cd4d9e408 +TrueTypeFontImporter: + serializedVersion: 2 + fontSize: 16 + forceTextureCase: -2 + characterSpacing: 1 + characterPadding: 0 + includeFontData: 1 + use2xBehaviour: 0 + fontNames: [] + customCharacters: + fontRenderingMode: 0 + userData: diff --git a/Assets/StompyRobot/SRDebugger/UI/Fonts/Orbitron Bold.otf b/Assets/StompyRobot/SRDebugger/UI/Fonts/Orbitron Bold.otf new file mode 100644 index 0000000000000000000000000000000000000000..4ea0cc900a470ff8965e32adbd8ecaaf1e23b851 GIT binary patch literal 20388 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 literal 0 HcmV?d00001 diff --git a/Assets/StompyRobot/SRDebugger/UI/Fonts/Orbitron Light.otf.meta b/Assets/StompyRobot/SRDebugger/UI/Fonts/Orbitron Light.otf.meta new file mode 100644 index 0000000..688c498 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/UI/Fonts/Orbitron Light.otf.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 677c9fb41b6c7e14199885b0b31740ee +TrueTypeFontImporter: + serializedVersion: 2 + fontSize: 16 + forceTextureCase: -2 + characterSpacing: 1 + characterPadding: 0 + includeFontData: 1 + use2xBehaviour: 0 + fontNames: [] + customCharacters: + fontRenderingMode: 0 + userData: diff --git a/Assets/StompyRobot/SRDebugger/UI/Fonts/Orbitron Medium.otf b/Assets/StompyRobot/SRDebugger/UI/Fonts/Orbitron Medium.otf new file mode 100644 index 0000000000000000000000000000000000000000..c16ae86d15b899d6fbd00a35e8ba02ad62c1ad53 GIT binary patch literal 19256 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 Uo+;*1eNQ?P?*#iXv|;T30iE@oF#rGn literal 0 HcmV?d00001 diff --git a/Assets/StompyRobot/SRDebugger/UI/Fonts/Orbitron Medium.otf.meta b/Assets/StompyRobot/SRDebugger/UI/Fonts/Orbitron Medium.otf.meta new file mode 100644 index 0000000..c963cb7 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/UI/Fonts/Orbitron Medium.otf.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: dff6bf51d54250840bdef2ca8260c146 +TrueTypeFontImporter: + serializedVersion: 2 + fontSize: 16 + forceTextureCase: -2 + characterSpacing: 1 + characterPadding: 0 + includeFontData: 1 + use2xBehaviour: 0 + fontNames: [] + customCharacters: + fontRenderingMode: 0 + userData: diff --git a/Assets/StompyRobot/SRDebugger/UI/Fonts/SourceCodePro-Regular.otf b/Assets/StompyRobot/SRDebugger/UI/Fonts/SourceCodePro-Regular.otf new file mode 100644 index 0000000000000000000000000000000000000000..8f031da9dd395e323c9da55941a2e0c89b96ce7f GIT binary patch literal 90056 zcmdqK33wA#+c11)(j;xBO_wwkT9Sr+FKN1i2whSrw6t`g?2xwULer)sX-nDnf`}lX zh$8zYpe!P?3W$gxARvk$tBB%?`xJxn-S;^OX%V02d7uA(ukZT*VlrpWoOAEnnaLS5 zb8|C^l1wEMGCCM7y4vn<|zJWZJ$gzKy)L@;FLbTim4 zoc)auE(^wwF03$BeSP6QA3~lQOo$?&)NCqpUag-9*S>>KY$>B%q5m`iX6iy`kU~VCi!q}&I;EMETM{XoBa60G}q&^Za3D0}MiJXvTNE7`_ zOi415-bCl*`5zw05F-~jnsAHpB6ovd0tX#viI7&@iih}(co9DM?N5xZHV=?X#8U+2?A@$!PMStL;rfxo)nu5Ao&FTy23g=ki=_zragerK_zZ zZB%_&8;A-~mAl#;5mYW*91rbhT>TQFRxJgdI4`gP^0aEJtIZK@aICA%6J>C&t1Thv z!3D0iSEDgfVheuV)h{ER)F>x}DJO^3{akHt5*?y&wS7plkf&U2ffzytx!QiMcZbYz zwUwlAch?x;rAznOte@jZNcWwtHV^IhU2O^J)csnrwW`imR#NKF8T66*F8FQGB^Fr= z%(|R9yTe>z*QHe!T5VNUo5^7=iqIumEV^u*VAo}v?PgmIbmmyAZG~oCvbD&p%d%Os z%_Y?qlPxkr9~svJjid(~fY;%2SJ!p8l$m54WVYGMtd%-8Ix7bodVP;ltE13bS%YU0 zarzz=rgF2@Q5<0@D=QQ<1sCWGmNMi~j{ny0S{0qtvX+ zt1JTsbvX{;6Q)-db+g)ZR=8r*6s7wlVz&5=u#qdePL*+!%@|}TesTU z+6WVhGNRC0(alj;W&R&ZTi4;SkUDnJ)s{I*AIe{sYOQqW20$#)wPylo|9Cy={

    B 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 literal 0 HcmV?d00001 diff --git a/Assets/StompyRobot/SRDebugger/UI/Fonts/SourceCodePro-Regular.otf.meta b/Assets/StompyRobot/SRDebugger/UI/Fonts/SourceCodePro-Regular.otf.meta new file mode 100644 index 0000000..70e2f1d --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/UI/Fonts/SourceCodePro-Regular.otf.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 718657b6be420a6498b0f091c199a215 +TrueTypeFontImporter: + serializedVersion: 2 + fontSize: 16 + forceTextureCase: -2 + characterSpacing: 1 + characterPadding: 0 + includeFontData: 1 + use2xBehaviour: 0 + fontNames: [] + customCharacters: + fontRenderingMode: 0 + userData: diff --git a/Assets/StompyRobot/SRDebugger/UI/Prefabs.meta b/Assets/StompyRobot/SRDebugger/UI/Prefabs.meta new file mode 100644 index 0000000..835bbd2 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/UI/Prefabs.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 6c0b9bd3b1ebd8149b26cf724e7814ba +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/StompyRobot/SRDebugger/UI/Prefabs/AboutTab.prefab b/Assets/StompyRobot/SRDebugger/UI/Prefabs/AboutTab.prefab new file mode 100644 index 0000000..8f566aa --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/UI/Prefabs/AboutTab.prefab @@ -0,0 +1,585 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &127230 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22427230} + - component: {fileID: 11427230} + - component: {fileID: 11410894} + m_Layer: 5 + m_Name: AboutTab + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22427230 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 127230} + 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: 22448260} + m_Father: {fileID: 0} + 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 &11427230 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 127230} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 94b1f24ed4379dd4fab14add56e520a5, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + HeaderExtraContent: {fileID: 0} + Icon: {fileID: 0} + IconExtraContent: {fileID: 0} + IconStyleKey: + SortIndex: 100 + TabButton: {fileID: 0} + _title: About + _longTitle: + _key: +--- !u!114 &11410894 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 127230} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 40436e7c301de034f916ee1e7ddabeeb, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: +--- !u!1 &148258 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22448258} + - component: {fileID: 11448252} + m_Layer: 5 + m_Name: SR_Spacer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22448258 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 148258} + 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: 22448260} + 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!114 &11448252 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 148258} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: 10000 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &148260 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22448260} + - component: {fileID: 11448254} + m_Layer: 5 + m_Name: SR_Contents + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22448260 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 148260} + 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: 22448258} + - {fileID: 22448262} + - {fileID: 22448264} + m_Father: {fileID: 22427230} + 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: 1} +--- !u!114 &11448254 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 148260} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Padding: + m_Left: 5 + m_Right: 5 + m_Top: 5 + m_Bottom: 5 + m_ChildAlignment: 0 + m_Spacing: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 +--- !u!1 &148262 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22448262} + - component: {fileID: 11448258} + - component: {fileID: 11448256} + m_Layer: 5 + m_Name: SR_Center + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22448262 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 148262} + 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: 22448268} + - {fileID: 22448270} + - {fileID: 22448266} + m_Father: {fileID: 22448260} + 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!114 &11448258 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 148262} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Padding: + m_Left: 10 + m_Right: 10 + m_Top: 10 + m_Bottom: 10 + m_ChildAlignment: 0 + m_Spacing: 20 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 +--- !u!114 &11448256 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 148262} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 620 + m_PreferredHeight: -1 + m_FlexibleWidth: 0 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &148264 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22448264} + - component: {fileID: 11448260} + m_Layer: 5 + m_Name: SR_Spacer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22448264 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 148264} + 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: 22448260} + 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!114 &11448260 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 148264} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: 10000 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &148266 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22448266} + m_Layer: 5 + m_Name: SR_GameObject + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22448266 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 148266} + 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: 22448262} + 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!1 &148268 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22448268} + - component: {fileID: 22248268} + - component: {fileID: 11448262} + - component: {fileID: 11448264} + - component: {fileID: 11448270} + m_Layer: 5 + m_Name: SR_Title + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22448268 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 148268} + 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: 22448262} + 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!222 &22248268 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 148268} + m_CullTransparentMesh: 0 +--- !u!114 &11448262 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 148268} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: dff6bf51d54250840bdef2ca8260c146, type: 3} + m_FontSize: 41 + m_FontStyle: 0 + m_BestFit: 1 + m_MinSize: 20 + m_MaxSize: 41 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: SRDebugger 1.1.0 +--- !u!114 &11448264 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 148268} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Text_Light + IgnoreImage: 0 +--- !u!114 &11448270 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 148268} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: bc11b0e922d02a54fa6197856eee3976, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + Format: SRDebugger {0} + Text: {fileID: 11448262} +--- !u!1 &148270 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22448270} + - component: {fileID: 22248270} + - component: {fileID: 11448268} + - component: {fileID: 11448266} + m_Layer: 5 + m_Name: SR_Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22448270 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 148270} + 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: 22448262} + 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!222 &22248270 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 148270} + m_CullTransparentMesh: 0 +--- !u!114 &11448268 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 148270} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: dff6bf51d54250840bdef2ca8260c146, type: 3} + m_FontSize: 18 + m_FontStyle: 0 + m_BestFit: 1 + m_MinSize: 10 + m_MaxSize: 18 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 'Developed by Stompy Robot LTD + + + (c) 2015-2022 + + + www.stompyrobot.uk + + + + + Icons + provided by Icons8 + + + www.icons8.com' +--- !u!114 &11448266 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 148270} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Text_Light + IgnoreImage: 0 diff --git a/Assets/StompyRobot/SRDebugger/UI/Prefabs/AboutTab.prefab.meta b/Assets/StompyRobot/SRDebugger/UI/Prefabs/AboutTab.prefab.meta new file mode 100644 index 0000000..f4515c8 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/UI/Prefabs/AboutTab.prefab.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: b32f9ca33474ad44999aa3570c7f42ee +NativeFormatImporter: + userData: diff --git a/Assets/StompyRobot/SRDebugger/UI/Prefabs/Console.meta b/Assets/StompyRobot/SRDebugger/UI/Prefabs/Console.meta new file mode 100644 index 0000000..66da381 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/UI/Prefabs/Console.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 45f652f6286230a4c8f77ed9d37c4f35 +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/StompyRobot/SRDebugger/UI/Prefabs/Console/Item.prefab b/Assets/StompyRobot/SRDebugger/UI/Prefabs/Console/Item.prefab new file mode 100644 index 0000000..595a667 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/UI/Prefabs/Console/Item.prefab @@ -0,0 +1,734 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &100000 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22400000} + - 222: {fileID: 22200000} + - 114: {fileID: 11400000} + - 114: {fileID: 11400010} + m_Layer: 5 + m_Name: SR_StackTrace + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &100002 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22400002} + - 222: {fileID: 22200002} + - 114: {fileID: 11400002} + - 114: {fileID: 11400014} + m_Layer: 5 + m_Name: SR_BG + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &100004 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22400004} + - 114: {fileID: 11400004} + - 114: {fileID: 11400006} + - 114: {fileID: 11440990} + m_Layer: 5 + m_Name: Item + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &100006 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22400006} + - 222: {fileID: 22200004} + - 114: {fileID: 11479146} + - 114: {fileID: 11400012} + - 114: {fileID: 11454940} + m_Layer: 5 + m_Name: SR_Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &141924 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22441924} + - 225: {fileID: 22508906} + m_Layer: 5 + m_Name: SR_Count + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &178810 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22478810} + - 222: {fileID: 22278812} + - 114: {fileID: 11478810} + - 114: {fileID: 11478812} + - 114: {fileID: 11441920} + m_Layer: 5 + m_Name: SR_Blob + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &178812 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22478812} + - 222: {fileID: 22278810} + - 114: {fileID: 11478806} + - 114: {fileID: 11478808} + m_Layer: 5 + m_Name: SR_Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &179136 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22479136} + - 222: {fileID: 22279136} + - 114: {fileID: 11479140} + - 114: {fileID: 11479138} + - 114: {fileID: 11479136} + m_Layer: 5 + m_Name: SR_BG + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &179138 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22479138} + - 114: {fileID: 11479144} + - 114: {fileID: 11479142} + m_Layer: 5 + m_Name: SR_Layout + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100000} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: .705882311, g: .705882311, b: .705882311, a: 1} + m_FontData: + m_Font: {fileID: 12800000, guid: 718657b6be420a6498b0f091c199a215, type: 3} + m_FontSize: 9 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_RichText: 0 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Test Console Log Message +--- !u!114 &11400002 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100002} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: .172549024, g: .172549024, b: .172549024, a: .784313738} + 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 &11400004 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100004} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: 30 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 +--- !u!114 &11400006 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100004} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c214ec24a4baf1a4f828768a9795f241, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + Count: {fileID: 11479146} + CountContainer: {fileID: 22508906} + ImageStyle: {fileID: 11478812} + Message: {fileID: 11478806} + StackTrace: {fileID: 11400000} +--- !u!114 &11400010 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100000} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Console_Entry_Stack + IgnoreImage: 0 +--- !u!114 &11400012 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100006} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Console_Count_Text + IgnoreImage: 0 +--- !u!114 &11400014 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100002} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Console_Entry_BG + IgnoreImage: 0 +--- !u!114 &11440990 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100004} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 40436e7c301de034f916ee1e7ddabeeb, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: +--- !u!114 &11441920 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 178810} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 8 + m_PreferredHeight: 8 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 +--- !u!114 &11454940 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100006} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: 16 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 +--- !u!114 &11478806 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 178812} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FontData: + m_Font: {fileID: 12800000, guid: 718657b6be420a6498b0f091c199a215, type: 3} + m_FontSize: 11 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_RichText: 0 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Test Console Log Message +--- !u!114 &11478808 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 178812} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Console_Entry_Message + IgnoreImage: 0 +--- !u!114 &11478810 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 178810} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: .34117648, g: .701960802, b: .956862748, a: 1} + m_Sprite: {fileID: 21300000, guid: 54b8502585d246249bd1f7540a8bf2b9, 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 &11478812 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 178810} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Console_Info_Blob + IgnoreImage: 0 +--- !u!114 &11479136 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 179136} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 +--- !u!114 &11479138 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 179136} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Console_Count + IgnoreImage: 0 +--- !u!114 &11479140 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 179136} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: .258823544, g: .258823544, b: .258823544, a: 1} + m_Sprite: {fileID: 21300000, guid: a0c7ffb7676bd694192d1a9b3f8d20bd, type: 3} + m_Type: 1 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &11479142 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 179138} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1741964061, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_HorizontalFit: 2 + m_VerticalFit: 2 +--- !u!114 &11479144 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 179138} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -405508275, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 5 + m_Spacing: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 1 +--- !u!114 &11479146 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100006} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 983b04ffc0cd0a04fb74c9b74eb789bd, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: .996078432, g: .996078432, b: .996078432, a: 1} + m_FontData: + m_Font: {fileID: 12800000, guid: 718657b6be420a6498b0f091c199a215, type: 3} + m_FontSize: 10 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 1 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 9 +--- !u!222 &22200000 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100000} +--- !u!222 &22200002 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100002} +--- !u!222 &22200004 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100006} +--- !u!222 &22278810 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 178812} +--- !u!222 &22278812 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 178810} +--- !u!222 &22279136 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 179136} +--- !u!224 &22400000 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100000} + 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: 22400004} + m_RootOrder: 3 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: 8.5, y: 3} + m_SizeDelta: {x: -27, y: 12} + m_Pivot: {x: .5, y: 0} +--- !u!224 &22400002 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100002} + 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: 22400004} + m_RootOrder: 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: .5, y: .5} +--- !u!224 &22400004 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100004} + 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: 22400002} + - {fileID: 22478810} + - {fileID: 22478812} + - {fileID: 22400000} + - {fileID: 22441924} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 364.543488, y: -508.153046} + m_SizeDelta: {x: 719.086975, y: 30} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22400006 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100006} + 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: 22479138} + m_RootOrder: 1 + 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: .5, y: .5} +--- !u!224 &22441924 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 141924} + 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: 22479138} + m_Father: {fileID: 22400004} + m_RootOrder: 4 + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -14, y: 0} + m_SizeDelta: {x: 45, y: 0} + m_Pivot: {x: 1, y: .5} +--- !u!224 &22478810 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 178810} + 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: 22400004} + m_RootOrder: 1 + m_AnchorMin: {x: 0, y: .5} + m_AnchorMax: {x: 0, y: .5} + m_AnchoredPosition: {x: 8, y: 0} + m_SizeDelta: {x: 8, y: 8} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22478812 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 178812} + 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: 22400004} + m_RootOrder: 2 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 6.5, y: 5} + m_SizeDelta: {x: -23, y: -14} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22479136 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 179136} + 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: 22479138} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 8, y: 4} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22479138 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 179138} + 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: 22479136} + - {fileID: 22400006} + m_Father: {fileID: 22441924} + m_RootOrder: 0 + m_AnchorMin: {x: 1, y: .5} + m_AnchorMax: {x: 1, y: .5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 1, y: .5} +--- !u!225 &22508906 +CanvasGroup: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 141924} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 +--- !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: 100004} + m_IsPrefabParent: 1 diff --git a/Assets/StompyRobot/SRDebugger/UI/Prefabs/Console/Item.prefab.meta b/Assets/StompyRobot/SRDebugger/UI/Prefabs/Console/Item.prefab.meta new file mode 100644 index 0000000..ba406cd --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/UI/Prefabs/Console/Item.prefab.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 408ed745743f47f46ac11b71f96cf1a4 +NativeFormatImporter: + userData: diff --git a/Assets/StompyRobot/SRDebugger/UI/Prefabs/InfoBlock.prefab b/Assets/StompyRobot/SRDebugger/UI/Prefabs/InfoBlock.prefab new file mode 100644 index 0000000..06c0bf1 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/UI/Prefabs/InfoBlock.prefab @@ -0,0 +1,256 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &100000 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22400000} + - 114: {fileID: 11400008} + - 114: {fileID: 11419538} + - 114: {fileID: 11434292} + m_Layer: 5 + m_Name: InfoBlock + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &100002 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22400002} + - 222: {fileID: 22200000} + - 114: {fileID: 11400000} + - 114: {fileID: 11400012} + m_Layer: 5 + m_Name: SR_Header + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &100006 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22400006} + - 222: {fileID: 22200004} + - 114: {fileID: 11400004} + - 114: {fileID: 11400010} + m_Layer: 5 + m_Name: SR_Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100002} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: .845588207, g: .845588207, b: .845588207, a: 1} + m_FontData: + m_Font: {fileID: 12800000, guid: dff6bf51d54250840bdef2ca8260c146, type: 3} + m_FontSize: 16 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Test Text Header +--- !u!114 &11400004 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100006} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FontData: + m_Font: {fileID: 12800000, guid: 718657b6be420a6498b0f091c199a215, type: 3} + m_FontSize: 13 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: "Operating System: Windows 8.1 \nSys + Memory Size: 15.951 GB\r\nDevice Name: PWNHAMMER\r\nDevice + Model: Intel(R) )\r\nDevice Type: Desktop\r" +--- !u!114 &11400008 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100000} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1297475563, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Padding: + m_Left: 10 + m_Right: 10 + m_Top: 10 + m_Bottom: 10 + m_ChildAlignment: 0 + m_Spacing: 5 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 0 +--- !u!114 &11400010 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100006} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Content_Block_Text + IgnoreImage: 0 +--- !u!114 &11400012 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100002} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Content_Block_Header + IgnoreImage: 0 +--- !u!114 &11419538 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100000} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3214a2a17debe0c489148429ec9a37b2, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + Content: {fileID: 11400004} + Title: {fileID: 11400000} +--- !u!114 &11434292 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100000} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 40436e7c301de034f916ee1e7ddabeeb, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: +--- !u!222 &22200000 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100002} +--- !u!222 &22200004 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100006} +--- !u!224 &22400000 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100000} + 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: 22400002} + - {fileID: 22400006} + m_Father: {fileID: 0} + m_RootOrder: 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: .5, y: .5} +--- !u!224 &22400002 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100002} + 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: 22400000} + m_RootOrder: 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: .5, y: .5} +--- !u!224 &22400006 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100006} + 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: 22400000} + m_RootOrder: 1 + 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: .5, y: .5} +--- !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: 100000} + m_IsPrefabParent: 1 diff --git a/Assets/StompyRobot/SRDebugger/UI/Prefabs/InfoBlock.prefab.meta b/Assets/StompyRobot/SRDebugger/UI/Prefabs/InfoBlock.prefab.meta new file mode 100644 index 0000000..0db90e5 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/UI/Prefabs/InfoBlock.prefab.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 54dcbf94ddefe604898e059992c2f974 +NativeFormatImporter: + userData: diff --git a/Assets/StompyRobot/SRDebugger/UI/Prefabs/Options.meta b/Assets/StompyRobot/SRDebugger/UI/Prefabs/Options.meta new file mode 100644 index 0000000..622f709 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/UI/Prefabs/Options.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: eabed75fe7405114c8e2d4c3270eeb2f +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/StompyRobot/SRDebugger/UI/Prefabs/Options/Category.prefab b/Assets/StompyRobot/SRDebugger/UI/Prefabs/Options/Category.prefab new file mode 100644 index 0000000..221ac3b --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/UI/Prefabs/Options/Category.prefab @@ -0,0 +1,628 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &104774 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22453876} + - 222: {fileID: 22257160} + - 114: {fileID: 11477844} + - 114: {fileID: 11428292} + - 114: {fileID: 11491264} + - 114: {fileID: 11484494} + - 114: {fileID: 11428488} + m_Layer: 5 + m_Name: SR_SelectionToggle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &125720 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22485638} + - 222: {fileID: 22263646} + - 114: {fileID: 11489672} + - 114: {fileID: 11448550} + - 114: {fileID: 11424022} + m_Layer: 5 + m_Name: SR_BG + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &164394 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22464394} + - 114: {fileID: 11464392} + - 114: {fileID: 11456202} + - 114: {fileID: 11416692} + m_Layer: 5 + m_Name: Category + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &164396 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22464396} + - 222: {fileID: 22264396} + - 114: {fileID: 11464394} + - 114: {fileID: 11464396} + - 114: {fileID: 11420472} + m_Layer: 5 + m_Name: SR_Header + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &179716 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22402984} + - 222: {fileID: 22214518} + - 114: {fileID: 11443600} + - 114: {fileID: 11450382} + - 114: {fileID: 11482066} + m_Layer: 5 + m_Name: SR_Indicator + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &182766 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22459184} + - 114: {fileID: 11456566} + - 114: {fileID: 11497630} + - 114: {fileID: 11423070} + m_Layer: 5 + m_Name: SR_HeaderButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &11416692 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 164394} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 40436e7c301de034f916ee1e7ddabeeb, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: +--- !u!114 &11420472 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 164396} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Options_Category_Header + IgnoreImage: 0 +--- !u!114 &11423070 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 182766} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1741964061, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalFit: 2 + m_VerticalFit: 0 +--- !u!114 &11424022 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 125720} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Options_Item_Background + IgnoreImage: 0 +--- !u!114 &11428292 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 104774} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 +--- !u!114 &11428488 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 104774} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7134149b092993149867a9ce13a5ec50, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &11443600 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 179716} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: .396078438, g: .396078438, b: .396078438, a: 1} + 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 &11448550 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 125720} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 +--- !u!114 &11450382 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 179716} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Options_SelectionToggleBackground + IgnoreImage: 0 +--- !u!114 &11456202 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 164394} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 176c1a8b99c762143a65fa14f47b5d93, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + Container: {fileID: 22464394} + Header: {fileID: 11464394} + Background: {fileID: 125720} + SelectionToggle: {fileID: 11477844} + EnabledDuringSelectionMode: + - {fileID: 179716} + - {fileID: 125720} + - {fileID: 104774} +--- !u!114 &11456566 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 182766} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1297475563, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Padding: + m_Left: 10 + m_Right: 10 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 0 + m_Spacing: 5 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 1 +--- !u!114 &11464392 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 164394} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f3a5149e46522d84cb8079537220a929, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Padding: + m_Left: 5 + m_Right: 5 + m_Top: 39 + m_Bottom: 10 + m_ChildAlignment: 0 + ChildForceExpandHeight: 1 + ChildForceExpandWidth: 0 + Spacing: 5 +--- !u!114 &11464394 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 164396} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: .996078432, g: .996078432, b: .996078432, a: 1} + m_FontData: + m_Font: {fileID: 12800000, guid: dff6bf51d54250840bdef2ca8260c146, type: 3} + m_FontSize: 16 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: .899999976 + m_Text: Some Header +--- !u!114 &11464396 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 164396} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 +--- !u!114 &11477844 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 104774} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 2109663825, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + 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: .397058845, g: .397058845, b: .397058845, a: 0} + m_HighlightedColor: {r: .325490206, g: .325490206, b: .325490206, a: .392156869} + m_PressedColor: {r: .152941182, g: .152941182, b: .152941182, a: 0} + m_DisabledColor: {r: .258823544, g: .258823544, b: .258823544, a: 0} + m_ColorMultiplier: 1 + m_FadeDuration: .0500000007 + 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: 11491264} + toggleTransition: 0 + graphic: {fileID: 11443600} + 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 &11482066 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 179716} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 +--- !u!114 &11484494 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 104774} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Options_SelectionToggle + IgnoreImage: 0 +--- !u!114 &11489672 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 125720} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: .258823544, g: .258823544, b: .258823544, a: 1} + 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 &11491264 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 104774} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + 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 &11497630 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 182766} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 +--- !u!222 &22214518 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 179716} +--- !u!222 &22257160 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 104774} +--- !u!222 &22263646 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 125720} +--- !u!222 &22264396 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 164396} +--- !u!224 &22402984 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 179716} + 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: 22459184} + m_RootOrder: 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: .5, y: .5} +--- !u!224 &22453876 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 104774} + 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: 22459184} + m_RootOrder: 3 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: .5} + m_SizeDelta: {x: 0, y: -1} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22459184 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 182766} + 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: 22402984} + - {fileID: 22485638} + - {fileID: 22464396} + - {fileID: 22453876} + m_Father: {fileID: 22464394} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 5, y: -17} + m_SizeDelta: {x: 0, y: 40} + m_Pivot: {x: 0, y: .5} +--- !u!224 &22464394 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 164394} + 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: 22459184} + m_Father: {fileID: 0} + m_RootOrder: 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 &22464396 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 164396} + 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: 22459184} + m_RootOrder: 2 + 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 &22485638 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 125720} + 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: 22459184} + m_RootOrder: 1 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -10, y: -10} + m_Pivot: {x: .5, y: .5} +--- !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: 164394} + m_IsPrefabParent: 1 diff --git a/Assets/StompyRobot/SRDebugger/UI/Prefabs/Options/Category.prefab.meta b/Assets/StompyRobot/SRDebugger/UI/Prefabs/Options/Category.prefab.meta new file mode 100644 index 0000000..3817a54 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/UI/Prefabs/Options/Category.prefab.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: d866070c81c4ea749b60d2854567cea1 +NativeFormatImporter: + userData: diff --git a/Assets/StompyRobot/SRDebugger/UI/Prefabs/SR_ModalPopup.prefab b/Assets/StompyRobot/SRDebugger/UI/Prefabs/SR_ModalPopup.prefab new file mode 100644 index 0000000..f945252 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/UI/Prefabs/SR_ModalPopup.prefab @@ -0,0 +1,1098 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &562721171652916406 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1469704785368781942} + - component: {fileID: 660144987313823488} + m_Layer: 5 + m_Name: Box + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1469704785368781942 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 562721171652916406} + 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: 6666916689749429539} + - {fileID: 4397597722958498203} + - {fileID: 2230248988321356896} + - {fileID: 1000441556822832392} + m_Father: {fileID: 624329263195916320} + 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: 300} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &660144987313823488 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 562721171652916406} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 600 + m_PreferredHeight: 300 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &1302085041080258521 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 519958326944690360} + - component: {fileID: 3136512040238747539} + - component: {fileID: 5530707775814766675} + - component: {fileID: 470703280674547166} + - component: {fileID: 7345921853497246975} + - component: {fileID: 1694080693049445916} + m_Layer: 5 + m_Name: Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &519958326944690360 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1302085041080258521} + 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: 5161330886873865679} + m_Father: {fileID: 4150806331175787070} + 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: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3136512040238747539 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1302085041080258521} + m_CullTransparentMesh: 0 +--- !u!114 &5530707775814766675 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1302085041080258521} + 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_Sprite: {fileID: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 +--- !u!114 &470703280674547166 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1302085041080258521} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, 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: 0.25882354, g: 0.25882354, b: 0.25882354, a: 1} + m_HighlightedColor: {r: 0.32352942, g: 0.32352942, b: 0.32352942, a: 1} + m_PressedColor: {r: 0.1544118, g: 0.1544118, b: 0.1544118, a: 1} + m_DisabledColor: {r: 0.25882354, g: 0.25882354, b: 0.25882354, a: 1} + 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: 5530707775814766675} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &7345921853497246975 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1302085041080258521} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: + m_EditorClassIdentifier: + _styleKey: Options_Item_Background + IgnoreImage: 0 +--- !u!114 &1694080693049445916 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1302085041080258521} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 32609112f4257a740aa4b920a8556d24, 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 + CopySource: {fileID: 5161330886873865679} + PaddingHeight: 0 + PaddingWidth: 60 +--- !u!1 &1906727054319998095 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5539582031626976758} + - component: {fileID: 870683871020629847} + - component: {fileID: 788100764868306934} + - component: {fileID: 2683187388849751392} + - component: {fileID: 660744468943005135} + m_Layer: 5 + m_Name: FadeBackground + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5539582031626976758 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1906727054319998095} + 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: 2661281818904749199} + 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!222 &870683871020629847 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1906727054319998095} + m_CullTransparentMesh: 0 +--- !u!114 &788100764868306934 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1906727054319998095} + 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: 0, g: 0, b: 0, a: 0.7607843} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 +--- !u!114 &2683187388849751392 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1906727054319998095} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: + m_EditorClassIdentifier: + _styleKey: Modal_BackgroundFade + IgnoreImage: 0 +--- !u!114 &660744468943005135 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1906727054319998095} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &3952813215589545985 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2661281818904749199} + - component: {fileID: 8221829102963803959} + m_Layer: 5 + m_Name: SR_ModalPopup + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2661281818904749199 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3952813215589545985} + 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: 5539582031626976758} + - {fileID: 624329263195916320} + m_Father: {fileID: 0} + 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 &8221829102963803959 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3952813215589545985} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &4639441466451763575 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6854728642248097178} + - component: {fileID: 6157174211181970618} + - component: {fileID: 3218412197097691677} + m_Layer: 5 + m_Name: MessageText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6854728642248097178 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4639441466451763575} + 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: 2230248988321356896} + 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: 12.5} + m_SizeDelta: {x: -40, y: -75} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6157174211181970618 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4639441466451763575} + m_CullTransparentMesh: 0 +--- !u!114 &3218412197097691677 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4639441466451763575} + 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: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Contents go here +--- !u!1 &5144294846804596754 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6666916689749429539} + - component: {fileID: 2797651709726659842} + - component: {fileID: 6211482791036201698} + - component: {fileID: 6330237155359703403} + m_Layer: 5 + m_Name: Border + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6666916689749429539 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5144294846804596754} + 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: 1469704785368781942} + 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: 4, y: 4} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2797651709726659842 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5144294846804596754} + m_CullTransparentMesh: 0 +--- !u!114 &6211482791036201698 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5144294846804596754} + 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: 0.25882354, g: 0.3882353, b: 0.54509807, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 +--- !u!114 &6330237155359703403 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5144294846804596754} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: + m_EditorClassIdentifier: + _styleKey: Content_Border + IgnoreImage: 0 +--- !u!1 &5936397828323937888 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5161330886873865679} + - component: {fileID: 1843465800036332692} + - component: {fileID: 6736952320735140508} + - component: {fileID: 1088016970106907453} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5161330886873865679 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5936397828323937888} + 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: 519958326944690360} + 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!222 &1843465800036332692 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5936397828323937888} + m_CullTransparentMesh: 0 +--- !u!114 &6736952320735140508 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5936397828323937888} + 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: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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: Close +--- !u!114 &1088016970106907453 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5936397828323937888} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: + m_EditorClassIdentifier: + _styleKey: Options_Name + IgnoreImage: 0 +--- !u!1 &6047167722121574468 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8070901158744261160} + - component: {fileID: 2543077220354479692} + - component: {fileID: 41383732836325349} + m_Layer: 5 + m_Name: TitleText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8070901158744261160 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6047167722121574468} + 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: 4397597722958498203} + 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: -40, y: -10} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2543077220354479692 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6047167722121574468} + m_CullTransparentMesh: 0 +--- !u!114 &41383732836325349 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6047167722121574468} + 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: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 4e46f78eb6d69074d9b4fe427bb2f1a2, type: 3} + m_FontSize: 16 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Warning +--- !u!1 &6148570510871430391 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1000441556822832392} + - component: {fileID: 8859814354019156857} + - component: {fileID: 7499898477873689701} + - component: {fileID: 3166446213147649867} + m_Layer: 5 + m_Name: Divider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1000441556822832392 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6148570510871430391} + 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: 1469704785368781942} + m_RootOrder: 3 + 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: -30} + m_SizeDelta: {x: 0, y: 2} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &8859814354019156857 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6148570510871430391} + m_CullTransparentMesh: 0 +--- !u!114 &7499898477873689701 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6148570510871430391} + 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: 0.25882354, g: 0.3882353, b: 0.54509807, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 +--- !u!114 &3166446213147649867 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6148570510871430391} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: + m_EditorClassIdentifier: + _styleKey: Content_Border + IgnoreImage: 0 +--- !u!1 &6849596931428989116 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 624329263195916320} + - component: {fileID: 8908498981481047420} + m_Layer: 5 + m_Name: Dialog + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &624329263195916320 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6849596931428989116} + 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: 1469704785368781942} + m_Father: {fileID: 2661281818904749199} + 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 &8908498981481047420 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6849596931428989116} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -405508275, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 10 + m_Right: 10 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 4 + m_Spacing: 0 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 0 +--- !u!1 &7748694649902781652 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4150806331175787070} + - component: {fileID: 472807910106120798} + m_Layer: 5 + m_Name: Buttons + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4150806331175787070 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7748694649902781652} + 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: 519958326944690360} + m_Father: {fileID: 2230248988321356896} + 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: -40, y: 50} + m_Pivot: {x: 0.5, y: 0} +--- !u!114 &472807910106120798 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7748694649902781652} + 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: 5 + m_Spacing: 10 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 0 +--- !u!1 &8603868325637985496 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2230248988321356896} + - component: {fileID: 7162796534101471927} + - component: {fileID: 4140178611504842232} + - component: {fileID: 8486166938836704435} + m_Layer: 5 + m_Name: Contents + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2230248988321356896 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8603868325637985496} + 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: 6854728642248097178} + - {fileID: 4150806331175787070} + m_Father: {fileID: 1469704785368781942} + 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: 0, y: -30} + m_SizeDelta: {x: 0, y: -30} + m_Pivot: {x: 0.5, y: 1} +--- !u!222 &7162796534101471927 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8603868325637985496} + m_CullTransparentMesh: 0 +--- !u!114 &4140178611504842232 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8603868325637985496} + 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: 0.20392157, g: 0.20392157, b: 0.20392157, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 +--- !u!114 &8486166938836704435 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8603868325637985496} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: + m_EditorClassIdentifier: + _styleKey: Tab_Background + IgnoreImage: 0 +--- !u!1 &8883536240005191721 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4397597722958498203} + - component: {fileID: 3837403341380592837} + - component: {fileID: 7204092038281299558} + - component: {fileID: 9064035310152095825} + m_Layer: 5 + m_Name: TitleBar + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4397597722958498203 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8883536240005191721} + 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: 8070901158744261160} + m_Father: {fileID: 1469704785368781942} + m_RootOrder: 1 + 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!222 &3837403341380592837 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8883536240005191721} + m_CullTransparentMesh: 0 +--- !u!114 &7204092038281299558 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8883536240005191721} + 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: 0.21568628, g: 0.21568628, b: 0.21568628, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + 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 + m_UseSpriteMesh: 0 +--- !u!114 &9064035310152095825 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8883536240005191721} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: + m_EditorClassIdentifier: + _styleKey: Tab_Header_Background + IgnoreImage: 0 diff --git a/Assets/StompyRobot/SRDebugger/UI/Prefabs/SR_ModalPopup.prefab.meta b/Assets/StompyRobot/SRDebugger/UI/Prefabs/SR_ModalPopup.prefab.meta new file mode 100644 index 0000000..d1748a3 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/UI/Prefabs/SR_ModalPopup.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 9848f30f74d55944087b9a0aafbe0e75 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger/UI/Prefabs/SideBar.meta b/Assets/StompyRobot/SRDebugger/UI/Prefabs/SideBar.meta new file mode 100644 index 0000000..4256e5d --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/UI/Prefabs/SideBar.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 9704ac39d22659a4993f2fd2a7249a9f +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/StompyRobot/SRDebugger/UI/Prefabs/SideBar/ConsoleTabButtonContent.prefab b/Assets/StompyRobot/SRDebugger/UI/Prefabs/SideBar/ConsoleTabButtonContent.prefab new file mode 100644 index 0000000..425957d --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/UI/Prefabs/SideBar/ConsoleTabButtonContent.prefab @@ -0,0 +1,843 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &173734 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22473734} + - 222: {fileID: 22273734} + - 114: {fileID: 11473734} + - 114: {fileID: 11425312} + m_Layer: 5 + m_Name: SR_Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &173736 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22473736} + - 114: {fileID: 11473736} + - 114: {fileID: 11435312} + m_Layer: 5 + m_Name: ConsoleTabButtonContent + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &173738 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22473738} + - 114: {fileID: 11473740} + - 114: {fileID: 11473738} + m_Layer: 5 + m_Name: SR_Errors + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &173740 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22473740} + - 114: {fileID: 11473744} + - 114: {fileID: 11473742} + m_Layer: 5 + m_Name: SR_Warnings + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &173742 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22473742} + - 222: {fileID: 22273736} + - 114: {fileID: 11473746} + - 114: {fileID: 11425310} + m_Layer: 5 + m_Name: SR_Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &173744 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22473744} + - 114: {fileID: 11473750} + - 114: {fileID: 11473748} + m_Layer: 5 + m_Name: SR_Info + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &173746 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22473746} + - 222: {fileID: 22273738} + - 114: {fileID: 11473752} + - 114: {fileID: 11425308} + m_Layer: 5 + m_Name: SR_Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &173748 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22473748} + - 222: {fileID: 22273740} + - 114: {fileID: 11473758} + - 114: {fileID: 11473756} + - 114: {fileID: 11473754} + m_Layer: 5 + m_Name: SR_Knob + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &173750 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22473750} + - 222: {fileID: 22273742} + - 114: {fileID: 11473764} + - 114: {fileID: 11473762} + - 114: {fileID: 11473760} + m_Layer: 5 + m_Name: SR_Knob + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &173752 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22473752} + - 222: {fileID: 22273744} + - 114: {fileID: 11473770} + - 114: {fileID: 11473768} + - 114: {fileID: 11473766} + m_Layer: 5 + m_Name: SR_Knob + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &11425308 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 173746} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 34 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 +--- !u!114 &11425310 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 173742} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 34 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 +--- !u!114 &11425312 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 173734} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 34 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 +--- !u!114 &11435312 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 173736} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b9e7555976318b846887116c61e2ecf6, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + ErrorCountText: {fileID: 11473734} + InfoCountText: {fileID: 11473752} + WarningCountText: {fileID: 11473746} +--- !u!114 &11473734 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 173734} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FontData: + m_Font: {fileID: 12800000, guid: dff6bf51d54250840bdef2ca8260c146, type: 3} + m_FontSize: 9 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 1 + m_LineSpacing: .769999981 + m_Text: 65765 +--- !u!114 &11473736 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 173736} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1297475563, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 4 + m_Spacing: 9 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 0 +--- !u!114 &11473738 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 173738} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -405508275, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 4 + m_Spacing: 6.80000019 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 +--- !u!114 &11473740 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 173738} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 30 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 +--- !u!114 &11473742 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 173740} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -405508275, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 4 + m_Spacing: 6.80000019 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 +--- !u!114 &11473744 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 173740} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 30 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 +--- !u!114 &11473746 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 173742} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FontData: + m_Font: {fileID: 12800000, guid: dff6bf51d54250840bdef2ca8260c146, type: 3} + m_FontSize: 9 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 0 + m_LineSpacing: .769999981 + m_Text: 65765 +--- !u!114 &11473748 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 173744} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -405508275, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 4 + m_Spacing: 6.80000019 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 +--- !u!114 &11473750 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 173744} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 30 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 +--- !u!114 &11473752 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 173746} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FontData: + m_Font: {fileID: 12800000, guid: dff6bf51d54250840bdef2ca8260c146, type: 3} + m_FontSize: 9 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 0 + m_LineSpacing: .769999981 + m_Text: 65765 +--- !u!114 &11473754 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 173748} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Console_Info_Blob + IgnoreImage: 0 +--- !u!114 &11473756 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 173748} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 8 + m_PreferredHeight: 8 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 +--- !u!114 &11473758 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 173748} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: .34117648, g: .701960802, b: .956862748, a: 1} + m_Sprite: {fileID: 21300000, guid: 54b8502585d246249bd1f7540a8bf2b9, 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 &11473760 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 173750} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Console_Warning_Blob + IgnoreImage: 0 +--- !u!114 &11473762 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 173750} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 8 + m_PreferredHeight: 8 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 +--- !u!114 &11473764 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 173750} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: .956862748, g: .760784328, b: .34117648, a: 1} + m_Sprite: {fileID: 21300000, guid: 54b8502585d246249bd1f7540a8bf2b9, 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 &11473766 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 173752} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: Console_Error_Blob + IgnoreImage: 0 +--- !u!114 &11473768 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 173752} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 8 + m_PreferredHeight: 8 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 +--- !u!114 &11473770 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 173752} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: .956862748, g: .356862754, b: .34117648, a: 1} + m_Sprite: {fileID: 21300000, guid: 54b8502585d246249bd1f7540a8bf2b9, 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 &22273734 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 173734} +--- !u!222 &22273736 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 173742} +--- !u!222 &22273738 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 173746} +--- !u!222 &22273740 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 173748} +--- !u!222 &22273742 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 173750} +--- !u!222 &22273744 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 173752} +--- !u!224 &22473734 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 173734} + 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: 22473738} + m_RootOrder: 1 + 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: .5, y: .5} +--- !u!224 &22473736 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 173736} + 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: 22473738} + - {fileID: 22473740} + - {fileID: 22473744} + m_Father: {fileID: 0} + m_RootOrder: 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: .5, y: .5} +--- !u!224 &22473738 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 173738} + 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: 22473752} + - {fileID: 22473734} + m_Father: {fileID: 22473736} + m_RootOrder: 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: .5, y: .5} +--- !u!224 &22473740 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 173740} + 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: 22473750} + - {fileID: 22473742} + m_Father: {fileID: 22473736} + m_RootOrder: 1 + 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: .5, y: .5} +--- !u!224 &22473742 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 173742} + 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: 22473740} + m_RootOrder: 1 + 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: .5, y: .5} +--- !u!224 &22473744 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 173744} + 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: 22473748} + - {fileID: 22473746} + m_Father: {fileID: 22473736} + m_RootOrder: 2 + 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: .5, y: .5} +--- !u!224 &22473746 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 173746} + 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: 22473744} + m_RootOrder: 1 + 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: .5, y: .5} +--- !u!224 &22473748 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 173748} + 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: 22473744} + m_RootOrder: 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: .5, y: .5} +--- !u!224 &22473750 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 173750} + 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: 22473740} + m_RootOrder: 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: .5, y: .5} +--- !u!224 &22473752 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 173752} + 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: 22473738} + m_RootOrder: 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: .5, y: .5} +--- !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: 173736} + m_IsPrefabParent: 1 diff --git a/Assets/StompyRobot/SRDebugger/UI/Prefabs/SideBar/ConsoleTabButtonContent.prefab.meta b/Assets/StompyRobot/SRDebugger/UI/Prefabs/SideBar/ConsoleTabButtonContent.prefab.meta new file mode 100644 index 0000000..f8436a0 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/UI/Prefabs/SideBar/ConsoleTabButtonContent.prefab.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 38622dccbe5c7c84782cd2c695aa3521 +NativeFormatImporter: + userData: diff --git a/Assets/StompyRobot/SRDebugger/UI/Prefabs/SideBar/Tab.prefab b/Assets/StompyRobot/SRDebugger/UI/Prefabs/SideBar/Tab.prefab new file mode 100644 index 0000000..e82c1bc --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/UI/Prefabs/SideBar/Tab.prefab @@ -0,0 +1,667 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &100020 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22400020} + - 114: {fileID: 11400042} + m_Layer: 5 + m_Name: SR_Content + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &100022 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22400022} + - 114: {fileID: 11400044} + - 114: {fileID: 11400040} + m_Layer: 5 + m_Name: SR_Title + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &100024 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22400024} + - 222: {fileID: 22200012} + - 114: {fileID: 11400052} + - 114: {fileID: 11400050} + - 114: {fileID: 11400048} + m_Layer: 5 + m_Name: SR_BG + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &100026 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22400026} + - 114: {fileID: 11400056} + - 114: {fileID: 11400054} + - 114: {fileID: 11400060} + - 114: {fileID: 11400058} + - 114: {fileID: 11400062} + - 114: {fileID: 11400038} + - 114: {fileID: 11423178} + m_Layer: 5 + m_Name: Tab + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &100028 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22400028} + - 222: {fileID: 22200014} + - 114: {fileID: 11400064} + - 114: {fileID: 11433166} + m_Layer: 5 + m_Name: SR_Icon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &100030 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22400030} + - 222: {fileID: 22200016} + - 114: {fileID: 11400068} + - 114: {fileID: 11400066} + m_Layer: 5 + m_Name: SR_Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &100032 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22400032} + - 222: {fileID: 22200018} + - 114: {fileID: 11400072} + - 114: {fileID: 11400070} + - 114: {fileID: 11400046} + m_Layer: 5 + m_Name: SR_BorderBot + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &11400038 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100026} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -405508275, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Padding: + m_Left: 15 + m_Right: 15 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 4 + m_Spacing: 0 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 +--- !u!114 &11400040 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100022} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 90 + m_PreferredHeight: -1 + m_FlexibleWidth: 0 + m_FlexibleHeight: 0 +--- !u!114 &11400042 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100020} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: 1 + m_FlexibleHeight: 1 +--- !u!114 &11400044 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100022} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1297475563, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 4 + m_Spacing: 10 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 +--- !u!114 &11400046 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100032} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 +--- !u!114 &11400048 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100024} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 +--- !u!114 &11400050 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100024} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: SideBar_Tab_Background + IgnoreImage: 0 +--- !u!114 &11400052 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100024} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: .152941182, g: .152941182, b: .152941182, a: .58431375} + 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 &11400054 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100026} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d1bf029da478aff42a6d6e0ed8e21203, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + StyleSheet: {fileID: 11400000, guid: 4c110ad198b0a65458270ceac7690ce5, type: 2} +--- !u!114 &11400056 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100026} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: 80 + m_FlexibleWidth: 1 + m_FlexibleHeight: 0 +--- !u!114 &11400058 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100026} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: SideBar_Tab_Text + IgnoreImage: 0 +--- !u!114 &11400060 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100026} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + 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: 1, g: 1, b: 1, a: 1} + m_PressedColor: {r: 1, g: 1, b: 1, a: 1} + m_DisabledColor: {r: 1, g: 1, b: 1, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: .0500000007 + 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: 11400064} + 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 &11400062 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100026} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2415a15c0c9eea041863fc6c1a434ede, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + Entries: + - Components: [] + GameObjects: + - {fileID: 100020} + Mode: 0 + ThresholdHeight: 0 + ThresholdWidth: 160 + - Components: [] + GameObjects: + - {fileID: 100030} + Mode: 0 + ThresholdHeight: 0 + ThresholdWidth: 61 +--- !u!114 &11400064 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100028} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Sprite: {fileID: 21300000, guid: 4ea5932536416924bab8eb9b5bab3874, 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 &11400066 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100030} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5ed84aa42fb48c9458d3942c1d059055, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + From: {fileID: 11400064} +--- !u!114 &11400068 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100030} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FontData: + m_Font: {fileID: 12800000, guid: dff6bf51d54250840bdef2ca8260c146, type: 3} + m_FontSize: 11 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 1 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: SYSTEM +--- !u!114 &11400070 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100032} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: SideBar_Tab_Border + IgnoreImage: 0 +--- !u!114 &11400072 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100032} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: .258823544, g: .258823544, b: .258823544, a: 1} + 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 &11423178 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100026} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d2e81b40d04e8e440bb9659057db98c8, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + ActiveToggle: {fileID: 11400054} + Button: {fileID: 11400060} + ExtraContentContainer: {fileID: 22400020} + IconStyleComponent: {fileID: 11433166} + TitleText: {fileID: 11400068} +--- !u!114 &11433166 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100028} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73ae1b6eac706814a9cd427288a3c5c9, type: 3} + m_Name: SR_ + m_EditorClassIdentifier: + _styleKey: + IgnoreImage: 0 +--- !u!222 &22200012 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100024} +--- !u!222 &22200014 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100028} +--- !u!222 &22200016 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100030} +--- !u!222 &22200018 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100032} +--- !u!224 &22400020 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100020} + 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: 22400026} + m_RootOrder: 2 + 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: .5, y: .5} +--- !u!224 &22400022 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100022} + 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: 22400028} + - {fileID: 22400030} + m_Father: {fileID: 22400026} + m_RootOrder: 3 + 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: .5, y: .5} +--- !u!224 &22400024 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100024} + 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: 22400026} + m_RootOrder: 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: .5, y: 0} +--- !u!224 &22400026 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100026} + 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: 22400024} + - {fileID: 22400032} + - {fileID: 22400020} + - {fileID: 22400022} + m_Father: {fileID: 0} + m_RootOrder: 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: .5, y: .5} +--- !u!224 &22400028 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100028} + 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: 22400022} + m_RootOrder: 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: .5, y: 0} +--- !u!224 &22400030 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100030} + 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: 22400022} + m_RootOrder: 1 + 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: .5, y: 1} +--- !u!224 &22400032 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100032} + 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: 22400026} + m_RootOrder: 1 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: 0, y: -6.10351562e-05} + m_SizeDelta: {x: 0, y: 1} + m_Pivot: {x: .5, y: 0} +--- !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: 100026} + m_IsPrefabParent: 1 diff --git a/Assets/StompyRobot/SRDebugger/UI/Prefabs/SideBar/Tab.prefab.meta b/Assets/StompyRobot/SRDebugger/UI/Prefabs/SideBar/Tab.prefab.meta new file mode 100644 index 0000000..9bda8de --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/UI/Prefabs/SideBar/Tab.prefab.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 20aa0923117a8a449bbe649769f6bd16 +NativeFormatImporter: + userData: diff --git a/Assets/StompyRobot/SRDebugger/UI/Sprites.meta b/Assets/StompyRobot/SRDebugger/UI/Sprites.meta new file mode 100644 index 0000000..38c510a --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/UI/Sprites.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 2d746042121a9c44b9cbdce2d52723bb +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/StompyRobot/SRDebugger/UI/Sprites/Default.meta b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default.meta new file mode 100644 index 0000000..b8773a4 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: afe097535c95d384d8ee3afb4b7c0e50 +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Alert.PSD b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Alert.PSD new file mode 100644 index 0000000000000000000000000000000000000000..7b3da722b432e55232579e6ecd4826d215392102 GIT binary patch literal 22508 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 JhjxCc{|~!!4(0#= literal 0 HcmV?d00001 diff --git a/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/BG/footer_lodyas.png.meta b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/BG/footer_lodyas.png.meta new file mode 100644 index 0000000..d7298de --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/BG/footer_lodyas.png.meta @@ -0,0 +1,88 @@ +fileFormatVersion: 2 +guid: 72f587d74eb73bb4789dd3f6f10b3600 +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 9 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 5 + maxTextureSize: 256 + textureSettings: + serializedVersion: 2 + filterMode: 2 + aniso: 16 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 200 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 459e35432521c904ebb65152de428d4c + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: '[RECT]srdebugger_default' + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Circle.psd b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Circle.psd new file mode 100644 index 0000000000000000000000000000000000000000..d0ecc33163d3866c9f6d743a2002de56be916861 GIT binary patch literal 29006 zcmeHQ2Ygh;)}MQ~Z#KQqVM(Q>YD9;#>iyS#Kb6Bd_rQPY=AU2 zMiv_#1OE~uW$~#AiK($kQri`rAqFbVsH#dW&B?Q62ch)f8nfAu8Xa9Z(6%CO(QwXEPt|x~wDUE7_S*_Pev0g=`-eOJ<4#pWdE?d2{ z21iCZQxsjtD5YK--Jmc;%c5eU9hxCw8eoztH&P0--dL{JYciOcm(=LZdQ*+wAeEOT zO8bmd>s0!BQ{S}c_TtX`otmf|g_+6#d=esKWB^WiY;0XW^i@g+_y&tnL$|R?8BJ*@Eu}M? zpaEoU8$hK@tP|>B7NpCSKsoXli!D-z#8!ReHEzp_F3Z0TF$jN}>M5)!P z)cE*>TnT#jC8!O+{(s{Vjl zR?>&m78}(t_9!$g8C>c=qP_za4`q|DHbKvvWVc49tJ5}FMonzXwHvEOP1~qJVKh+~ z`Sf5r^z4q$Xu@ge7EDzrvE5}T@lZgi(xTgNoyBUOO#NpXjnU0Y`rG>JYbf1s3?+;f zTHv?SoAg!YdWDh7ssbBT3+_p_(H_moV_?L||j)9@$-sgyZ zc+7W1rONdhy|GBIqB5W_b;Nd7Kg}6kAeWaI^;K#Om0>C!oGmTLl_$zl5)&h1qhxF~ zEIFH=jw{b_VXA~#I@&Q!w?)`tcz-eBtl(d)n61v82^$TUv>Ps$5U~Z^aIw*FNxR{4 z2@zYs4Hp{?m$Vx$mk_Z9+;Fkca7nx2atRSzzzr804VSbVE|(Co1>A74(Qrw-;c^KP zTfhw$8x5DV8!nd+u?5_4vC(izyWw&P5nI3w7aI+iv>Ps$5U~Z^aIw*FNxR{42@zYs z4Hp{?m$Vx$mk_Z9+;Fkca7nx2atRSzzzr804VSbVE|(Co1>A74(Qrw-;c^KPTfhw$ z8x5DV8!nd+u?5_4vC(izyWw&P5nI3w7aI+iv>Ps$5U~Z^aIw*FNxR{42@zYs4Hp{? zm$Vx$mk_Z9+;Fkca7q6zTw>?JH%bSm-Rj|38+|S=l|CnT0bG1;jyYrJVKAz7=3?dmdiG(%17wTc_F15+_sJ@TceV8#4j~z%rw8G zL6ceP5Es``N;q5uXXW5Dq0K5vs!L3EtH3lC1|Jt26;f4G3pf4Y#QEwOt=Xy%8g{pPccKEz-L@AUhTW>b&wHm#y+LlCOkHJM?@jdPQQgw9= zJHo>r0cCT@W6R%yPm_of!VHqploM9%7kcC>g*;s%s0V- zQ_57KDa0L}Xp;|*jsvzI+yXjKki*JLP;Jy(3~g9^J$)$BK8EL(VeQN*N6_J^u$c9O zDII0RCk%ms@aaUGu$U3X92`@it(JoKzg>S0oX~AEkIA3b~e;pprWc27J7IW)lo)s z2jUfWc3W|e%4+&l9}8SxMt}BTM+786!}L0gwaBbDz%s!^vByub1_s)PxROeGV19`2 z0nJ|1UYzc2eQ-vw4ghl=)I`(F=;lqcVGNe!7pir763kx|#on*$lW0CnKQYkC$-ywaK1|v+OL<7h@J`rj#{6#{excmY2dT%uPc`D5+-A zl`Pr}76`IPt~X4g+eF$&*;fjm7)X}pQ}r6kY>q5}FDEFBD)_E})}YYA+{Dxwr$T-Y zo#v$3jPtvZEVRqyx`4dCevC1)^l&Yfe8ikTpfR(`#3z}P}Qqy0LQ0v;9*JWw=lgU^bFv-|8 z5dN!MQNXw;iD5`)x0zxBuU1aPYXo#oXHV!!tf}}}J zPYXz1S}s*ujCG6%7kfM;M&2j@bwNE*2)6pz62fct^LQB!>Xf;}k)}!~)X7mZ#j=n(q(P4A~okor50{R&>pnqCXK!Boi4#E>TF75~GRnL^Yu!EX3o)Q^Xu%KCzToL98X-BR(Rw6Z?oG z#5crQ;xciaxJPnG2^m24Aj8RMGMUUGhmz&wqhvKXk(^AmQ%!3pB@=0tLmIdV=hXAGx`W8^%^nax?mS;<+?*~;0&ImT(^T;bg1^11$8 zDL0ZkkekmP!Bui6a-ZbRh*44g78VBmDFHW`RJ^MbKZ6E+`f# z1ZKf3!4kncg3kp<1s4Q&gdW0P!dPLRaEwqVoFQB!d|UXL@Tl;j@V>}L6eda)6^m4& zNuqh8)uOGUL!t|!`(j^lgg9MXE}kHsE?z8NFWxOaBfjC`;SubS;xXJq?J><`vB$d} zdp*v2+?DuA`bp%Hu@Z~qdC8lSZIW*!H#|K(!#y)S$9S4OpZ8qrxzqD|&pTfJUQu2J zUMjDtUdy~Tc^&oo)m!8p=AGsJnD=DwMcyBHAM(E9Bk~FNk^3lop7dGf^O4UfpJrcw zUzu;Quhw_2@7uond@uP4{KEZm{ZxK4{Z{$y^gHj*@elEr`z!sQ@?Y)0+y6oUKOiEY zAYekkoPd7@91Lg*^b3p+tO#rfTo(9gU}F#`C_JbjNE0+K=>4FRLH9cK=#hxTv z^_`A(y4|^3=giJj=h>Y%bUxAfUKeSX+%C0UUhJ~D%XeM5UHf$%-nG8#Yh8DDz0xh9 z+rVzhZnL|+-|gG(WcPmEOS@0$zN-6y?#(@V_88p5&|^uDojtDf4CnCZTG)tlOxte zoay7)XHcJseOC54-k0Auxo>UXSNk6BNA^qTSJQ7<&iN+Po&>mt`ho{b8MDvX*DwK?k7=+Njf(Jw~tiEfQah|$EXjyWy!lMRv0kZqM+ zkL?$$j9nIcJkB#NFK%kwmbh#2{o|?l*W$lU@J}d8cqU;-!h^)5L}TLm#LG#cN#m1V zNjjArkX({HH+gRgFC{x=YRV@mcT*En&8hFFUL6=Yuy)|v123gTq)}!sH23?w;JoU*b$LyL69!Kiye*%XKQ#Zv{8I%z3X}zF3z~)`4S8b7 zuA!2lWkZ(^Jy+PT&{(*&h%6dXw4mtBu&`meVVjFlaY6Bd;_pf#N+yFA*ow6kw@2oToIkR0RP?APM(rQn zb+mf)mN9}c6=T+nX?`U4k(VC1Fg9WAtg$B_jd---(S46~eN6M%r{lcGDaL&;o;QBv z__xQmD2f#;70s0em9JDbDdozSl|QR8RSQ*@sdQ>Sb+IbFYJSzF>h$Ub)t74q)hw#H zqL!;=Ut!|gTr@ldd#L(X`%g{J6b>d4C zn~Xz^YfOacQPUQ404$~sSo&C=ww$fYs9RQdr@o^8g9hIQUBiJ%{U$v(>Eh(P$!|>I zPEk(T@p$jYr$2u7iL579JV`uR`Q(nNAya2gy)bR?w6~^@lHS(#g zGkeUOHuL<`gP&eE%WIZ#)~RO(KJ)ss+-KF#9(*qDxh2oF&Q{I-a!$;gMRQu_D(8Or z57|E!|HJxx)$<4ECC+>81^x@V7f!x7=*73@`_7*{|NMfY1)CO17tUUI^QCbw?OPPT z==GPyFI!%2TwJ(#%aYI~FDz+UTC?=Tvg~CWUg`eIbFbWfRrTu8*D_yQ|9X$t=e&Mz zxqA86D+aIFv@(3CXY4zN|C#g8E$buKuh}&5c_|Z#nYOkdJn39k_Ml$59`@`AP3jmVFxd>AcUxpUwQt`uXI~ zo3|OZUD;l}{rrw`J5KK$we$F{;kyp*9=dz)7kOXo+>^EE^S$YNKiQYM@1rl1zude( zasQ?R2?sWQmGITZgNX+>9ZEX1<#5X3tw++1e0Fru(e1}_j(u^w;Q0O%!%iGIIpXBk zr^cRY{95((rEfIfT>G}}+xw@do#CCC{hiNui@xvv{mOs!{nv)Z#Kuq0=A1onuI$|D z^UCu-|6ux|<-*J#J%3zuvDd}5mtrq{ayjqv;h!G)>B7&3pYLCp^^5N>ul(BQ*AK5| zUOmt>s_DWt<2CE`xi`Apc=Klb%^l4p&EMbB-nxH#_MI+w-nyH7ch9|%_b%SAZxOUC ze$e;9*4Ck|XRKPQmELOv(5nHw7+`k#cm<8T&VYm06PdPq8$x(F?X?YcMuhci>p96N z_)N*TlG5V5g2G$`KOFq$dlJy^-jmq(D(*drdrtx#;!kca{$w)9kbSxLB!2{EEEj5K>Kpl?h=zjbOcn5a&_Yd^<@9Zm~FPp~%+Pj3Ohli(^r;nGHPk@(~R{(ar0+=Me|BeFd zHsmXWtx+b22u7qY!SN-m-@%hbu5}kN2ujI=pFH8REu}b!Ah|rgKqwM>5bY!3Svtoa z>4OL^!6CUMPrw)QIFdMs^yP4S`^k7&!xjF)6Q{@W172M5UUo=mVCnYCxOn4?BXU95 z{IaIA*OaD&pq1}G6`r%8T$Q_Hl{vA~(GlmU>mSVAdCYSDMqb3i)lYx;(yrq_+ z?h_Z9E2`>dEn2hbi<3XzN*X+}y8fA$-`u?C)WzGrh$Nx3T)IpGJ}-eTLT{NL7fLWO z*q;|W{lx%Wg6*Y8n&Lt$&l+dUmzM=9P4U;l__zRq@Pr*lp%AM&sd7gonyGV+BK&p< zBAi9Aev2d=I!|9T2sM|_F9_=!I=^5@LFoL_`30d1t;l+~L++6dxko$Xenanjd(+J` z0$UYsDQ}d8RPf48CA@whg&)^zfHuQzqA3GN_`8shB00RQlZX{EPwRq#L_}0k5$Xqo z5D5rB`Xv@H0^oP0UoOH~R}$SE^aP@hO@;&+89dKJ@XI_xMk1D`@oxQvXVmm#Y@BvA z+=r34Wg0^87K6?I-H%Zt{Do=ws&uL>UTXisH0=GC6V9?NCms4TmvfvnoU5Ah9?Wt%TAVoi-AE6?dnoD9q$NGuI5wkXotiupJP9eh693P0z7@@?QS zzXJgQS0;Tk<>|w`b%XW&{w>PYXw(K1C55NYSbv#bt_MB1>#$00Yb_dgcyCVH=H-dM zvv#~hO!QN92*<9Hi-B8_4aWh_@~Df}j1)``fEpL<7ghtAie zi!A{OTn<`iRfCbXpUhC;z?C_G@tHc-(RBvS4A4uWK*-YvdBJ-V_-6l!=@53stUn>t z$NtAh0tbzGj2t76U9639oqCy^ydlp(L~ciyk+*lzl$BqeziGAJ{Nc-$Q;NJVqbrCL zGIeju4J)T*@6?bh=qloH#_VeS#mZ^jHHLE)U4!{wdHSN2JgwwhL)Q_J^woJQ@m11w zbQ6)H1rN?z$p;HWH&HVp!jFAtC60wR!!uPv-gMeZT$SHKw-GVo?l)HA?ugsy4$v*9 ztVGL*JLoPVvhSV%e)e5-57IUrvl30=_t1Srh>jfrJ>vU7qn8d@(Zc&+nM6kGAuI79 zxdlCdRmicgti(ai1E7&|zZF$JK&`+%v)@Xb=C%Tj9@%F_V`yqGPH{J;hqfVmLBT!3LE#3umagM#}Q`Uo2O(0gr~1e&UXZmNnq zxCuwnO;~XoH*F4X+NPXaxXB}qLz5qmXvW4MUPv3mLh(&(CdmiEOb#Yr#|Ff$I(N}Z zo~z)-q5M!<~#jevU&anB(z@!*NcJ%{|EIRqwYyecbEnCVp@rt^yERX99RcI;4M zG2dXW!TY$jt3)q@0@(OegJP)jrslHjMTw+FXQUZX?k??ycjLtXb_VbJ#q_x^%!9~^Lh-K&5kTRSXsP@ z2xT1A27#o6NdXb<5r2qObyQ|jL5v0&lbMtdNk9xHs{B7xjz<~8={(pY-n8tN|1q(2 z%JG%4)=o)y{lL>mHfD<1spK|^jCdo@yA=ZQrnr$?-}Q35Bim0T zUD@{qW0y9r+<4;By6~R_h{=h;yKzz z$x|)CAk%}tZ!|4&QaUCZmA=C=;;65#O4^%glTFHWrZ3z%w>XeDbMm@5shwp@mgcw4 zx}T?4vUdC5qUT;uPjq(dQ8;J5@$$vHF_(C4!~b1yr+8grqFLc(L*ws zlDj9ZjObNXbCJHbbxUHbw=@b1$N{1^#VP0NpIH8xuN>v~LBP4MV$rY5AAGj5Fc##< zHP2t(E>kIVab`zc*S4e0vW>sE+aUE1&Jyko%dWbkzL Kb6Mw<&;$Uiftt+# literal 0 HcmV?d00001 diff --git a/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/clipboard-50.png.meta b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/clipboard-50.png.meta new file mode 100644 index 0000000..8d1b4f3 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/clipboard-50.png.meta @@ -0,0 +1,91 @@ +fileFormatVersion: 2 +guid: b1590655e6ace004e936321c0d535ad7 +labels: +- Icons8 +- See_Readme_License +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 9 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 2 + aniso: -1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 200 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 0 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 1024 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e553f6eaf1458848a91b34314dde5a5 + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: '[RECT]srdebugger_default' + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/close-50.png b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/close-50.png new file mode 100644 index 0000000000000000000000000000000000000000..3fbeec5018a0817062853d85ef71cf6f256683cb GIT binary patch literal 1037 zcmV+o1oHcdP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02p*dSaefwW^{L9 za%BK;VQFr3E^cLXAT%y8E;VI^GGzb&1Aa+FK~!i%)tZfQ)G!c6QvxNV1Ud*EkPb)( zp#$iEbdYoqIv^cD2T2Fe!LiS|&socBqd(u7oq031yq5MmNh|5@E)Iu7FD{Kw#y8`K z@oc0<8PD*+mv^GNiU|t~Adp)l3Od(#mpYn6g@qZ==)K|XkMZ63YJ4!Fz$oJxKKSyE zH|nes6c(=V&PWA37}rMRp9Akwhd0`wt;jzlEL?yFe;cwpqiHxKP#1N|Xe;{z3JU|6 zoU$jQr+^gdrVSZwM}8B+LI>STmXUonBEK!5E!m^7I@H3#BfR+2z?hWpjmU3HXj2J+ zSQf>Eg-7@luwTYGLWLIDhS+94vjT%mA=`rpK`gRaHk;fSj6tQ? zQ%>w$lmLivGGDwCXkjA#rO)<)QZuoR<=%n(E!%RPXeEr(JE%9<2l?_nqGUAoiXPPV z2Hm`x-!ss9#ljmskC?@)2bx5aahHL{YpocGz)I((M$nLyRH*Yr_9pEJfv{j=rDD7Y z>L~pnv`i5DAVl57f|EMuP$Q;QgwP^+$<58{^>ENh9djuW(@O*pGj_v`GC*s#$`R93 z1Q0WJ$BiZ|N6^%<$5FrK|FU(Sh zR=gN&3lT8bcwv@0v_jD82~5K*@@-+T@xm;1Xu*r1C;Tw$EoLw-US2P|PWE(8z!qXO z*Z5#Nsw8EIi^Dt8?{?7qPltg@q1YRL@}iLm~3p z0@{)h!=eZX3j;J~Fw)kM@(#bQ|tbXd3mnL?=<?o=;oZo7k{$1-e&@ zri{N^d^95e9C$bSTgd8AN(l=y;L}S5F)8`^_=|C6M7_o26SJEqNr4GM?dsZ&UDZ94`I>?M1?q-N=7{00000NkvXX Hu0mjfR8P&9 literal 0 HcmV?d00001 diff --git a/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/close-50.png.meta b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/close-50.png.meta new file mode 100644 index 0000000..d528625 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/close-50.png.meta @@ -0,0 +1,91 @@ +fileFormatVersion: 2 +guid: 8ccc360b0ed61e54ba5d8fa329ca8988 +labels: +- Icons8 +- See_Readme_License +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 9 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 1024 + textureSettings: + serializedVersion: 2 + filterMode: 2 + aniso: 0 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 200 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 0 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 1024 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 0469082ea9ac9764d84f9d4014c32c6e + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: '[RECT]srdebugger_default' + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/collapse-32.png b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/collapse-32.png new file mode 100644 index 0000000000000000000000000000000000000000..79265eb29556d3b0834a564e1cef28bae2cdfb49 GIT binary patch literal 284 zcmV+%0ptFOP)?FTj0FBS z0cPFV z(oqkPAv2{`a}RmlV06cwh|>I6{tyAFs(OVC#ILn&fOeD(dcXU i4S|usNMIz;J%JZ&Mv@`6Sejb^00000#LT=By}Z;C1rt33 zJ>#Bd(*uBpUh{Nu45^5FJG;^Mumg{)HIuRdlk@=&*+$+3W(go6d}G1g2El~p5Bm>Z zO^lqPWf61k-zDL%i5Y)Au0E48yKJ)bSnQdW-7`3M7x3w^w;Ri)U6VF{z?;IE{`8De z!s)3?ZU!BA_xalwzIT%kM9!3D&5&!bQ*~?K>=lubam=ibD}CyQ3sV>pq}`XYFmQ68 zRsL|#qK6}W>K3M;Wh^zdsq+qm3R$dPA{wxs>3~_E7bk;|*eoH2oX0DsFeoH0)MSJU z?qu3=TT8lETfwE_omO%G#ou-QEgTh$QuFevZ1)N%J>YrMxGbGhk?BN~N(-k#_5=Z~ zhA(=GF$^yw4=FKutQQg!cG$ssRqa)sU*bh&2m6}T3X_7fuVW{(kC2D8XP=5y?Ei26;kl}gNz9hs#X(FBEv?H~7;al=sWNy( zWOy-bz#;gEtAefE^TC=)VGgGP9Dbkl-S+0I>S<=h_#N@0xX%8dpa|WDnpf54I1=NW`2lb-Q|$<*1yX@XTYi(g-pY}5%~Ps4^*w+&1+oB<_PO6ITKQt339|%p z0-_pGjXS1jO&hlcs)4lDXojxUtO98{Q;FYB6G;oqYLEtuW+ro-%FTy>tbiE;k@^n< zF~AIi7!IO@`33Me`euHpBgNb77QkoaOEW>-k^Is;JUuloAlaEYj2nbYv`Q64WP(W_ zyErlRb8}=CGkCXOCKUM?8jh`H8aCpshaPNK2uu{~wNQt$3^7AJiY$Gy6cz QMF0Q*07*qoM6N<$g5Dy?`v3p{ literal 0 HcmV?d00001 diff --git a/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/down-50.png.meta b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/down-50.png.meta new file mode 100644 index 0000000..677fe26 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/down-50.png.meta @@ -0,0 +1,91 @@ +fileFormatVersion: 2 +guid: 3422278a31f39bc4cab9304b78a09d41 +labels: +- Icons8 +- See_Readme_License +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 9 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 1024 + textureSettings: + serializedVersion: 2 + filterMode: 2 + aniso: 16 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 200 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 0 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 1024 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: b27dba0cf7730b04682689e06b4f54d2 + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: '[RECT]srdebugger_default' + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/feedback-64.png b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/feedback-64.png new file mode 100644 index 0000000000000000000000000000000000000000..d18fdcc2d14a3b3563c57dd02335a37d3c3270ca GIT binary patch literal 1303 zcmV+y1?c*TP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02p*dSaefwW^{L9 za%BK;VQFr3E^cLXAT%y8E;Eegmrwuz1c*sQK~#8N?VF8p)G!c*DS;9wfexSpD1i>3 z1Ly!cNIHNHpabXtI)DxieV1F$`rS&FW!X93<;{FE7g<(zpY`iYo*fQ{t$CC9n)sbC z@tHENMfa>mShy0e6F%vjekNWfqBgn{7Oueigz87)(+NJSxF>3>D`8=0?h;-k{5+xc zDC3$J_iDYagoT|Tq3;RPzeG*frVe#Y%ngxYT?h+1K){S;)33yfL{v8d6S&7jTdSB5 z7G@x*kCpsQczsSp^-6G$7bZmYBC03RurNb3QC+IOC88Y82n#dp$pB)FayTO_%wPso zH~t9Bjxj9E@MJ&&JsFUQu3rMXGvM8c=voWAGJwQQy-e7R0X}(C4--~1zz4k4fGBy> zQWMMoRMl2kDCm}Si2J5a24n4}ERs($Uoc2CEd_0QJ{sh=+f*OE| zN9wRJ5gld!JbY|2K$GXN!W$wJpY<5rVuBe!tiCOB2~U$}1&Qb=OPMu3*MKN_%GChM zmYU#WB<9H@_2`EL0r>ZJmOR&54Dd<%VpJ23!;1@=d~Vz= zF(6{ffEK1=Jj<0ruUztQ4F8vu+?KQEjeC>r2tyh_-2dHiLFe?lz~lRwBs=MQ6+0YGp%FEE)zbxSZV z`MNtNuC=TP#G>Q9Waw-I44oGyUpbv1nCR_NPSmaK5&FvROCqZ0X*K}ZQ1~H{ecN(E zyC%X&o*GY^>wKn6m*CP+<9F&?tI}Dn68zn^> z-c({KwW};P0C)nWV71HFbWMZ0UVf!T^1-a6>xW{|EDw|B=1Rum=DD N002ovPDHLkV1j6=Nbvvw literal 0 HcmV?d00001 diff --git a/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/feedback-64.png.meta b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/feedback-64.png.meta new file mode 100644 index 0000000..eb9b899 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/feedback-64.png.meta @@ -0,0 +1,91 @@ +fileFormatVersion: 2 +guid: 511379265414f8841b9a7b342d8e3981 +labels: +- Icons8 +- See_Readme_License +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 9 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 1024 + textureSettings: + serializedVersion: 2 + filterMode: 2 + aniso: 16 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 200 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 0 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 1024 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: f119622f094dcb74f9efcb7ddd250632 + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: '[RECT]srdebugger_default' + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/heart_monitor-64.png b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/heart_monitor-64.png new file mode 100644 index 0000000000000000000000000000000000000000..a34ca93d27b22d6a256c91a6cdb32c2ecda8e1c1 GIT binary patch literal 917 zcmV;G18V$Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02p*dSaefwW^{L9 za%BK;VQFr3E^cLXAT%y8E;Eegmrwuz0|rS%K~#8N?U{>_(@+dWw**R{1Ui5c=m0u^ z4xoeG4xohXVCeulfDWL8pc7V^I~pa<@9B9^?#$V&pXHCPCCAUX+iW(iNe4TT4t63P z>_j@)3I5z0zm0Ap=X(rjEj8em@vRBux|JI6+1U0)1ITqN7F;(2j2L(=UKn2tZn)X{ zYRV1xXt-V(SxhD620R+BH%1myNx1>~oYBqzN?!HW$l@v~H9-3xjjXg|DK$X*AGI?e z&NEsW5c?l}HL}=B$_&u{|MUFGvv?L;NtprO|0GZ1sFeZU{}|EE0PTNT!41HaEWVNw z1LE`l!@qyG%Hk_2F+lsD<=sI|F}9kk8t~3|8OA{SpXFl>pjt-H7p`IebNufH`f2F8 z*#C^F0s9ifNH=ceoZ(^vG{d!|Pak2kF4amxy@{c;F3OLRuPK)Kj?U7 zwwAw}ieeS8pX}U#q*YIbZtJ85oFY%2?fLZQd=8lPzvIdbaC6z0?o+FP$~je8yIo{} zChySyE=@#Zz!eS9^7nhm?j%iK1(vGwAFa3 zjOPU!gZ9lkQUl^uIhEbdP0!N)k1_GY_En8mfy-M&;}ncwyX^SR5Ch`L#{LJtxv2qJ z`8!$#u1n7oh8UoUWc?4B0a^JgYV6Y0Kb9c|fF~HQWL&RP;zKu0&?>mbIl?dlI9Ymd z-&KlJ;zQ-H5XXMAb>}e5fF*VZHnF@^{-aop0ZZjSid7h(-`R)Ce+1JEppRWXV?>qZ z534Z1RbBqDDg&y^AEp_gQ({+j`NK2=KsBTMVKoNKD1TUu0W-=UrW)W=;#uVnQw^Z( zQPuG>rWyd*yMjul8!(%j0mfD=xNZg*G4OvSHGo&o{IJo1-R}!(Kuci&@9F%dV<(aG rgZD&R(!oxogPlkRJCP3dVRQEvy5xm#Ltto@00000NkvXXu0mjf)BdMX literal 0 HcmV?d00001 diff --git a/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/heart_monitor-64.png.meta b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/heart_monitor-64.png.meta new file mode 100644 index 0000000..0d8090e --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/heart_monitor-64.png.meta @@ -0,0 +1,91 @@ +fileFormatVersion: 2 +guid: b5b46026463fb334bb8a3b95b303b224 +labels: +- Icons8 +- See_Readme_License +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 9 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 1024 + textureSettings: + serializedVersion: 2 + filterMode: 2 + aniso: 16 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 200 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 0 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 1024 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 4356d7c83d42a0b459afcf6a307550ea + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: '[RECT]srdebugger_default' + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/info-64.png b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/info-64.png new file mode 100644 index 0000000000000000000000000000000000000000..cecd09cbc3d5160ac3a895aa4eb0ec3ae6087f26 GIT binary patch literal 1261 zcmVPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02p*dSaefwW^{L9 za%BK;VQFr3E^cLXAT%y8E;Eegmrwuz1YSu*K~#8N<(rLh(?Ae~Q$k9h1UjGu=m0u^ z4oC;k0qFobfDS?jqyy-{+^6w+o>otmW!=ek^k%-9XtmP)-|d~8yWMWrn)|}r!so*G z!q38=LKZge;e#*F@T_}hHLS4$uM1xaPlcu89lVQoy0jKyjb}n@eJr@vRsGuYqwuhY zzr%h^R0e5O>lxNK6EZ`W{aeWTUHDpfSD2G&e0hdvc}Es$k>=uxu*Mm@FXVzh7s&Xl zf_vs1co*;F-73;15AKMn!FJ5G`kY4F`4^)+n&_gs#2tL9PVK;QTtQaStzJQH=LE`Pj|Mr{G~3UGyoV^$z-M46=tHcr&gYiU zIAPG3y^8{4N4tK@aZe=2h6dQ-IiDKnd_dWHWl~3AYZ_`D-ex(UT2Ph{Wjx$dCvAN; z8+xw=Sv4QIK0(H<@T4UnNay~WDx$V%q)gexD)@Xf*6QIEP)FyfXCrh0zZm?#C zjz&&5jz+d!Y~ya6b+B+F3>rFa#OWiG4yh3@|VwhF)^_545-6W6({{>?5TG z&>i3G>Bi$q^va7tgP&fM)R-*i(*o`B4;VC7&dx2#az3pHJ#rCWW7b-WgDmIMibI*X zhyZAd74XDGXzi_Umh)-FVc2sK>g|$NAj|o*;xO@Z5!!qOJQlKJOR}6#D|$m9c1T;C z1fTU{ixtowVC z^nxtsQ^23LU3YoXn7bz8Ad<(t7D*J zh2QQwpId@5ga&h4??Q;(5?W(IY=t(a-R%wxdk7eGD6IM6q88*?yZ)>nNr7$}TF(cy zp|DYSG`h*NMnNMdV(43_1o9a1J~|rNT4RE0xhqFpFHQZMuS$uway7T=Fv%q zyw*5Eu7qn^9mvbCIoA^u4k_&e;! z#7PcmEG~FpjTK-`W;Tw~<|X1CysJsh}v4-QzGu2w!v%C8b X_PZy5PU;YB00000NkvXXu0mjfBtliy literal 0 HcmV?d00001 diff --git a/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/info-64.png.meta b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/info-64.png.meta new file mode 100644 index 0000000..7a3e0b4 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/info-64.png.meta @@ -0,0 +1,91 @@ +fileFormatVersion: 2 +guid: 4ea5932536416924bab8eb9b5bab3874 +labels: +- Icons8 +- See_Readme_License +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 9 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 1024 + textureSettings: + serializedVersion: 2 + filterMode: 2 + aniso: 16 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 200 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 0 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 1024 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: da85697e3fdadac4bbc8543992315896 + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: '[RECT]srdebugger_default' + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/menu-25.png b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/menu-25.png new file mode 100644 index 0000000000000000000000000000000000000000..acc69e829b071cd38e483e4fffe2b33059cad3d9 GIT binary patch literal 196 zcmeAS@N?(olHy`uVBq!ia0vp^k|4~%1|*NXY)uAIjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt33 zJ=4@yqg0?8Q%@Ji5D)LSR}OMA81Og+x}SfxjXm5z3qS^EwmWW~zT@;QfB| kRS>I5O7H3!zw|xXD}I%UefHe<3TOa>r>mdKI;Vst0D)UPZ~y=R literal 0 HcmV?d00001 diff --git a/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/menu-25.png.meta b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/menu-25.png.meta new file mode 100644 index 0000000..0a6beac --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/menu-25.png.meta @@ -0,0 +1,91 @@ +fileFormatVersion: 2 +guid: a123c1c6f56057e4e9a11e2dcaf2df94 +labels: +- Icons8 +- See_Readme_License +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 9 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 1024 + textureSettings: + serializedVersion: 2 + filterMode: 2 + aniso: -1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 0 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 1024 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: e7f9de68cf9f6ab4ebe4f2ed3bbc4131 + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: '[RECT]srdebugger_default' + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/menu-32.png b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/menu-32.png new file mode 100644 index 0000000000000000000000000000000000000000..d286a419228d92dabab02281e90b446237336f78 GIT binary patch literal 138 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJKu;IPkO=p;(+&zUDDWJ5k=FO@ zS%r-iv)v)4qhAj6otpKjCNUvL-ZO8l5?j{c&lx-um^d61Yzs0EU9;a1I!E-13zq@| lquwHYjwd?nJ4GBGFs{C$U(BPjP8n!8gQu&X%Q~loCIB+qEi?cC literal 0 HcmV?d00001 diff --git a/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/menu-32.png.meta b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/menu-32.png.meta new file mode 100644 index 0000000..084c9cd --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/menu-32.png.meta @@ -0,0 +1,91 @@ +fileFormatVersion: 2 +guid: 2fd39c3920ff82048ad7b8aac693d224 +labels: +- Icons8 +- See_Readme_License +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 9 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 1024 + textureSettings: + serializedVersion: 2 + filterMode: 2 + aniso: -1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 200 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 0 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 1024 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: ad2c09b221c1e0848b24d40eb4d3a3f3 + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: '[RECT]srdebugger_default' + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/menu-50.png b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/menu-50.png new file mode 100644 index 0000000000000000000000000000000000000000..c16cdccc7e65447fa8b362a9782065df143fcd71 GIT binary patch literal 274 zcmeAS@N?(olHy`uVBq!ia0vp^Mj*_=1|;R|J2nC-#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;>1s;*b3=DjSL74G){)!Z!phSslL`iUdT1k0gQ7S`0VrE{6US4X6f{C7i zo@r{UQ7TYPv!{z=NQU#>^BZ{?9C;3JxL^O$X5Dk9B8FuF&)>gOGY~UGfqTshgPk!% hVQR>b{dVU&v;XR7@B6A8EI{Wlc)I$ztaD0e0szB;MbiKP literal 0 HcmV?d00001 diff --git a/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/menu-50.png.meta b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/menu-50.png.meta new file mode 100644 index 0000000..12686c7 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/menu-50.png.meta @@ -0,0 +1,91 @@ +fileFormatVersion: 2 +guid: 48ee5588255d30d4e93c3d7627144a7c +labels: +- Icons8 +- See_Readme_License +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 9 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 1024 + textureSettings: + serializedVersion: 2 + filterMode: 2 + aniso: -1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 200 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 0 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 1024 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 59ab79dffc7a73248bad76fccbcc32e4 + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: '[RECT]srdebugger_default' + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/message-64.png b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/message-64.png new file mode 100644 index 0000000000000000000000000000000000000000..87b2d97358b6866283e13a427df06fa91ed49587 GIT binary patch literal 932 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt33 zJ>#Bd(*qb7m_dxaRohu~z>;u>H$kv#xC=_D6%IL~O;|K900qrt>7K8Wub0 zUimV;;^NnnKfXOb?-<`}Ji~$a%A-YYKz$72+RDv~Iq&zTx5<6cm|$(XV@0o2`fUYf zJ0Xd$mn{}?KJj^{m-WfI>KcRktcEzLk6&$_*9G2sG@FOP_JZK8C(_DVy9>^;9pHXE z{o$?R**&>^b57byUr%K)n7@c~KJR@0>V}vTCtcSSzYg2Z_~FWp3hxy4Ur^_GT7 zGR)DL^hdEvtzP~y>pTn zGL*I~$hk9Z%a)z0X2uM1n|!loM_Ye2GiBJ~n|D{SWNAD|SsufLC;W$94|%^`!P+O- z{aohytZIF>J;ou|w|V9k>z$k0o1YrYyyOyDRc!s=Iq{sIg^Cic#FFWVP(+wW}+a94qXrXkRE-{7{S8!$Dr} z+}`P7OJ$X^1V6gd9SQML1UveL0_cW&)se`ujQ zH+?Fj$g0nKm!BUcO#Av{+6 zQCiM5hQB**eqNB6|6V5iMVSZ@$NSOzz@Y2~)qj9gH)het!sDFl~pP&m&h+ z-IpGp_ljn9tt}VOcPY$%A$|T>$!}$*bzDcSUrGtwesFVUZnLNd?*mTm+D%NCzjs`0 nm{eu5z$$Zt5H`d&efIshwZe;TuHWtk%tQ>Hu6{1-oD!M7N<}V_8rj#D$UV#rX^Nol;iRdGx z^cshnKn8>~lX{{t(e+Ol4_lb%)tPh-&d)iFL z3y@FJ9RW#Xobd_LGORodc}M1BG4m-ugZj4+#Kh-)Hc2EP ziV8#`iefcs8i_P1vtp1)L{Y3JO(T&eWmXJwm_&X7!8`IZwL6qj00000NkvXXu0mjf DeQ2QG literal 0 HcmV?d00001 diff --git a/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/open-dropdown-50.png.meta b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/open-dropdown-50.png.meta new file mode 100644 index 0000000..82a8189 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/open-dropdown-50.png.meta @@ -0,0 +1,91 @@ +fileFormatVersion: 2 +guid: 3174499e448de9d49840e98d8913aa07 +labels: +- Icons8 +- See_Readme_License +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 9 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 1024 + textureSettings: + serializedVersion: 2 + filterMode: 2 + aniso: 16 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 200 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 0 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 1024 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 6eedeeb4091de4443b4c794829721822 + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: '[RECT]srdebugger_default' + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/outline-64.png b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/outline-64.png new file mode 100644 index 0000000000000000000000000000000000000000..63e568439209125ea8120ce366550fcdf02b8a90 GIT binary patch literal 603 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt33 zJ>#Bd(*uBpp7C^X45^5FJL{n@vmsBbHIuS|lX-)n6_a!ci$o)D0*hG#?=4;lMl*|h z#fDaq{~Sv)^|$_A;y=e(>cjGRQcJhbT&8LIEgZjgSEs}c3#T5NY3 z|A_vxleg#b>nSCqcri@aaA68Vg1XyM76wl4vm8v@ z4%`;_E57eu^mU^p4RQUiY#8$YS~_z*cwW~Zuw?tcIf|?T`&!?ot!Q1nk5$i;lL5tN zP**e5&a3crs}k8B>Cpe4%^u?D2YTK6CAZia_T9Wuk$vjYfDbJtSmY~tlU8OU4q=Qv;2)|8SVO?pDF|6p25@A&t;ucLK6U~ Cq3tIC literal 0 HcmV?d00001 diff --git a/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/outline-64.png.meta b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/outline-64.png.meta new file mode 100644 index 0000000..6267988 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/outline-64.png.meta @@ -0,0 +1,91 @@ +fileFormatVersion: 2 +guid: 76eac9450dc776147b628586aac2b0d0 +labels: +- Icons8 +- See_Readme_License +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 9 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 1024 + textureSettings: + serializedVersion: 2 + filterMode: 2 + aniso: 16 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 200 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 0 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 1024 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 2f96dbf51b1dc9640a86492afaa817c3 + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: '[RECT]srdebugger_default' + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/pin-50.png b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/pin-50.png new file mode 100644 index 0000000000000000000000000000000000000000..0c26af19dffc8136d1fe5e73034c42643655a267 GIT binary patch literal 1088 zcmV-G1i$-s1s%5QVEEzzl>4Tq95;P%^*>#0Z24)CiOagb0)fln7iikO;2l&Z!=Inx5^ho)`UR zIlJ?yuj^fn$|G3-K8VPyf)^vesg83+J6_D3_RV^#f| z`k)796A%D95&3C?pQ`HhSRko|Sslduf+j_n&#D?i?r2b~f!P8igxWj$N6w^jL?xJ2 zL84GgS)Z%wFHded1hX2*Sg7@Y916{Af`m|etEvpS%`2yw*+DEK9hsDO^nsdC>!nIy zPA7qwxxBX0g1gKNoi65w@cqG1I{{|j1Y!Uz@-8wjXEX}QjdjygyXHz&S$fR2qI`7k z1~HW~BZpnS6%i)1YgOH6vNNySsp^l}2>#b&L5@oo2mn^4VOI%oF}HvvShEJo5o)te z)72mVLe$~AE>$&WRwX$m{cd@P5Y#fu{`1hYctDuEo{0!QU)5&hNs`;m87}HnH0&^05p;%ltfh?gJ0Ni~>#-IgPWNZeR8^+9uAb*%6YP2xPM@BODWHU33 zaH6tT)e~>no}`h;XP6urVYr&}3;@<>N2=Md;dJFBS4ki8n`VtfmGFaUh{4djTxJFU z6m~TqNm^HqbOs5_jtJuFxac#3CP_8dX&ww@ZjD6oo(~?hu9+&8e#8EySZGF@)6_}2 zKoaL3WM11*)L6Br#+Z_QU6F%2OeWah^ z*Hy<0%?UAzBpiM2l5tQ|n9RVi+8rFb)o3=oW>h25kugn&A(f^SLTf*UX?f`q_hdoR zX}6vAG3qomJxd5))QCAUJ2eW<(t=vx;uM4V;X!C!L(tMY1{yKvW(67|Nw|NqGnNFI z`g;mOKZqS~FqWM9vL)~DK>)<idj;?+Glql$sr}by0LlEqx6RyoF>lAYntnw z+TB~?I)a4ulK#M{-spcJEFr*L&m>6b?y5$UbG>-(=llcXls@DG;9OY%0000Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02p*dSaefwW^{L9 za%BK;VQFr3E^cLXAT%y8E;VI^GGzb&1R+U8K~#8N-I|SY6fq1&Q$k9h1Ui5c=m0u^ z4oC;k0qFobfDWJo=pgCf(7T*&6y@7J|6SG>&AiO5*4eB-TaxX|)o!=DB(9Cm#@&H$ z2cK$Ngmg{{9sO-&!`Cc=bWX~5!|k8(=i%etnnjS#3He~S(Q!Hp-6BZmWV|wnckJHa z+V6FXAf1yDQIvi(m4UV_+P{At)bdw zlnAQb5$T)&7C3H%foiiv7J+A}c6+3AV@PyvbVRi|MX?Cdxgl#Mua+Vao;Wt}=(ZjSS392@u;a%eFyj6`#;bAd;F*-h?exC!xjsry)T&sp9 zFnV#H&JIJ&Q9VPfq$b*%^oR&3p||wbj)pk;9&T@ks`P;yVU(+q_Yt^=tf7MY(0%pBDhVH z0~qO;^w!E#-lx}!5UaqW!;KcCvw@iOmR<^xmX6D7M2KNF#X2Ca%$B~>%NrNMfR40; z1Bum5-LFDAD~O|!lb$0_V-4=Ls2R*iHP5dV=Omm)e7#VI|ZIVD0I{qFMTNaqP+ z(#tC`UNXje?RN%CBE-D~f({vdkj@q2Ry4mzuJ5g@G$lf;AbDnVA)O2GVk+q&LJSG+ z^}b{l!ENooMVpXL0i9H%z>CIsKY0#cK^B2$t9D&Tryyo@pW28Jjk-K6HV?Q6L*qUo zoe46on~y^NT6|bmer}{Q5R)DwK{n1y+Pnt1D5Ud1KGtH&$Lo>tz8TVKy9h00JtFIRk?}~Vl6CL)V z;$7h%a?&H-FTTW;z>mD7CEj1`l+W-Z#{KZ!*6i?uPBZ0ux3Cw;?&?3B*znIu`!S0E O0000 literal 0 HcmV?d00001 diff --git a/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/pin-64.png.meta b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/pin-64.png.meta new file mode 100644 index 0000000..59330d2 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/pin-64.png.meta @@ -0,0 +1,91 @@ +fileFormatVersion: 2 +guid: d74ece6f102dfaa47aa02f6af42f0073 +labels: +- Icons8 +- See_Readme_License +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 9 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 1024 + textureSettings: + serializedVersion: 2 + filterMode: 2 + aniso: 16 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 200 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 0 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 1024 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 3015a41cdc2a5064082facc08a47b2d5 + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: '[RECT]srdebugger_default' + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/refresh-50.png b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/refresh-50.png new file mode 100644 index 0000000000000000000000000000000000000000..c20b55cfbb618bd0fdd591029662a25063be9197 GIT binary patch literal 677 zcmV;W0$TlvP)SFf7MRPRE^Rv?d3L12yD^;cM!DA?|A|DoFPir~0K~Qy;^Hdlwh?=Eb?NXI%K`^wl zFbXEYxF)2k)j%Q;4Sy2MBtQa)HGpHIXuf-4MhA&NFtq;|$RU7t1KSBRDo6~1&fQ+Z zR;L$cG>|R`DiQi(3e1=wmjGS>&=1bqVKx?20+_9RY%~zFJYn9$y`n2R8Vqy0t<88; zkgokDC(O?vsk?Pfy;+e|tL0cKweNPloN;C!$+2{5n^}>XmP+k=_7Sr{)Y(-vCv~_M zk^3A4!Zt;G#2}c=ZRP(vk~yBSc|0w0DNzc9HyF|UzazbFAhxpDTy=_oSXLT^i5z%} zL&VM_DF*4>5Mzg#;0Rg;qBuy0GVN;`eivI#)x&R~Onba45LFauW*vd422m9xSZ4gY zamG$@#?(6YY{9G9wTLuJxwpAD`*mL~_s$@wpsGBN-+G@dTp->_dF$H}{<4=a-uZGr zODam=aG0!AGPM5&2G%Vpr1W>0n4*bLv#|%{zBvXkZ&1R4yW-Qpr-YD`9=!UC8kHcpt00000 LNkvXXu0mjf`CTF+ literal 0 HcmV?d00001 diff --git a/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/refresh-50.png.meta b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/refresh-50.png.meta new file mode 100644 index 0000000..f7227da --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/refresh-50.png.meta @@ -0,0 +1,91 @@ +fileFormatVersion: 2 +guid: 9662640d4260c9a4d926c7de03e6609e +labels: +- Icons8 +- See_Readme_License +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 9 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 1024 + textureSettings: + serializedVersion: 2 + filterMode: 2 + aniso: 16 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 200 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 0 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 1024 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5018678676dc53c4796e52b1b2bb427b + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: '[RECT]srdebugger_default' + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/spider-64.png b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/spider-64.png new file mode 100644 index 0000000000000000000000000000000000000000..9c28415829a95bbdec97429a3234d1d4f07b5373 GIT binary patch literal 1515 zcmVPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02p*dSaefwW^{L9 za%BK;VQFr3E^cLXAT%y8E;Eegmrwuz1zbr)K~#8N)tQZv9yJg|9fCt}2xMS~Kn9Qj z&HzGi29N<{fHQy$>hhEk7Ra;-{e|`74tDf&}q?Ja}>_}R_dU$x4<>vz8XDYu3 zmVJ!I27eXMm%{5ps`HY(DMf8{G4c--`-wLVDOY%oS!q-&ihG^{Yv4HL^3VikP zG1ZAgV~2ZX%&o;x+>O(Y6up0%x z7bJIB6N;$g&-6H2eTc?MR-=H4aO(Y6vKj?Ul#9Rrexxq@R7h<&$Ey#~ zxPY%*@A%2Py{cY5(2*ByuRcWM0yz0!0kMk7XN$1X%USZye~*vIbZ-17nGS~NgZ9h z5N)VEk0km`&o2>;n|M-Ea+4@a&-AF<^TF@57vUemibKdv;Rc=*rRl3_z#~CAN_qxk ze#0*cQ-1zfs4K2OnEqRkc%Ns&z6H;EPN40R_JA=yjTwVGj0m^weYN1{gAavNX9e1j zPW|%N5`CnA8LhJ~;z*jZ^$2EII*lkeZI3bd5gchZdhHdN2v0oHuZ5McqhaYZT!8^d zw4LfC=o{Z_F~%pq>W6@Rw@zm4y}uMv{TiQuRK9~WI|2CW=LN)=ZX)`tKPq@#0a%<3d*3EJ2Zi#I$eMq_}LWcF7l;_6*sMo$T@klOo- zXzV~Z()b9yI)r0thdjeUy_*%RGxCgh#uM7k8DK~>9+LK6iT9Izn427{>tLg-muF}@^|?(nZbE)Y zA3hL+Vt_O6Cv~XXnh5&1+0S>0#tqWJL)yK-@JxMAkyZ|7U7~RToU9X@AD&KcZ}lY9 z2Q&IUY5!;fNJ_ryge*3{akaL#6=*}EZTj%n10S{%WHb)Iq55{E&s~0Oz2Xog{4hix z^i|(i@M(F%qcK2-?9FwOQ*u*1ewVITec@41_g5!NeAGF@+lWM?q18?aF5RyDI_>r= zkm$qh_*h2+!slUBBx7r}5wlG=wzeTTLb6KbCny2ZM=HlBe5)e@HKW4+7_IiqH+W4z z%gGZ~+QwJacilt<|8NT1S?$EPoB;W_()K7S-chMuaXQ%j9~b|Ooyt#;c0aSHsQ5yG zW@vS_6MhRkZOfr8>GW3UQSl*FIKfYayHS*&Er~u-oh_nq6OxOo-mXsY?G@2is<%uu zZcqf2liV(fvrq} z51uw!XNtOywo5Vo$F&sg++Cj?BM(HXz;>U6Y;5= zn^|2Cn|}sJvr&UD($e`O8awPJxMl;b>qnv|}sXP*m9VE`usk{fd!uRx+ zsME?TJ@83N<&kJ?z_nRgNoX|;j^}ZhRReyl$PK41I z_#P6Vkfsu0GzPwh1SpmgVKfG$drp92DG^3vfN$|T=ku3<VHt_@XXTK RkIeu8002ovPDHLkV1l_H%!mL0 literal 0 HcmV?d00001 diff --git a/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/spider-64.png.meta b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/spider-64.png.meta new file mode 100644 index 0000000..3fae08d --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/spider-64.png.meta @@ -0,0 +1,91 @@ +fileFormatVersion: 2 +guid: d1b72323dad76bc4da0da6c26f3dbc2f +labels: +- Icons8 +- See_Readme_License +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 9 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 1024 + textureSettings: + serializedVersion: 2 + filterMode: 2 + aniso: 16 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 200 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 0 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 1024 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 71a93571b1ef5c847b869fcd75124469 + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: '[RECT]srdebugger_default' + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/stompy_white_128.png b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/stompy_white_128.png new file mode 100644 index 0000000000000000000000000000000000000000..9ae73b69a0554dcc4fa7602e6445688cce1f119e GIT binary patch literal 6801 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 UFgA){Gynhq07*qoM6N<$f@FE1<^TWy literal 0 HcmV?d00001 diff --git a/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/trash2-32.png.meta b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/trash2-32.png.meta new file mode 100644 index 0000000..975edc5 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/trash2-32.png.meta @@ -0,0 +1,91 @@ +fileFormatVersion: 2 +guid: 8b93e13a01362424a89df66b813b3403 +labels: +- Icons8 +- See_Readme_License +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 9 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 1024 + textureSettings: + serializedVersion: 2 + filterMode: 2 + aniso: -1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 200 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 0 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 1024 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: bbc78be27e5feb24fbbfc8d060367c1f + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: '[RECT]srdebugger_default' + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/trash2-50.png b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/trash2-50.png new file mode 100644 index 0000000000000000000000000000000000000000..7edd3aa3a1bb15d2c471afdc33442c23c454cfd1 GIT binary patch literal 1005 zcmVN2bZe?^J zG%heMHD!e|WdHyJYe_^wRA@u(nn`OEK^TT7nt*~rjM+pKk%(&|30_2$Ac%^f2QQ)? zym%LXfkzKH>q$g^fCm>`z<3Zug5ZL2!8PJW6bZzbMKkevd%hmpnVQLrWNM<+3lCNE z)z>xO+tbri=}KxQG&MCKYN(^0X3)(bjtuT_pjzhXw#*~C9`xDCyg(*j!B=jFsj(%%4|6Js&g$Z1rLR7oQ$ zApRrj0q8EG#a|ypc^uYC|0RsjzeoEBv^ebJb!?=A{t&Geo0><)rC#D*jcD>sume<# z%ZP51D`~fa&c4ftR?MBS6J*xAkpYIa)Yo;bOTuO3KK%u>x*YZAt;>j(>B~STMW1po zQcz41jL;88hzBE1F-b5&KNuk%j5x(4!3h0egm^IG6q5ua^n(%N!H82#5{%FfMu>Yg zqCN6Ga1iud)@4Kwzqi1C7zCG*cr)}cROKm(q{l#Gmgh2}=Uq__NG>B%avncM2c4#!9P8uZ)XW@0Sn6gk;_cls4GQp@Wm#d2t1EZVbB3)*YR z%ZVmIHjlQ`{>UM|D4s{6Ul}95H6uniSl9MLXtR)4VWI|(z>u(T`NF^%CeWvH4zzQ$ z*)s>=j%q+Bt*r9JB--PM_Y(C#R&PD?&E8vk?9rCRUx_*N4`uCe9ws%ZPw}3^G$*Dv bkxKmr68R8JyBPzA00000NkvXXu0mjfSC_mg literal 0 HcmV?d00001 diff --git a/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/trash2-50.png.meta b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/trash2-50.png.meta new file mode 100644 index 0000000..8101532 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Icons/trash2-50.png.meta @@ -0,0 +1,91 @@ +fileFormatVersion: 2 +guid: a8d613b67f373cd4285c6d5b0a7f163c +labels: +- Icons8 +- See_Readme_License +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 9 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 1024 + textureSettings: + serializedVersion: 2 + filterMode: 2 + aniso: 16 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 200 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 0 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 1024 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: ced7346d512fa474680480c50dee09db + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: '[RECT]srdebugger_default' + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Logo.psd b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Logo.psd new file mode 100644 index 0000000000000000000000000000000000000000..c97cee612ff7c8c7f59da5043cf2446fb5a8d2ea GIT binary patch literal 48785 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

  • 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 P_b?=UQc}uA)%^bf>uF@{ literal 0 HcmV?d00001 diff --git a/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Logo@2x.psd.meta b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Logo@2x.psd.meta new file mode 100644 index 0000000..77e11f4 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Logo@2x.psd.meta @@ -0,0 +1,88 @@ +fileFormatVersion: 2 +guid: 2187241f9bab99244bfd668e9e056e25 +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 9 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 1024 + textureSettings: + serializedVersion: 2 + filterMode: 2 + aniso: 16 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 200 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 1024 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 41848eca656347c44ba96b4fc5535902 + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: '[RECT]srdebugger_default' + pSDRemoveMatte: 1 + pSDShowRemoveMatteOption: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Pin.meta b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Pin.meta new file mode 100644 index 0000000..9075172 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Pin.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 1d4bca2c36f6cc4489e411b96a09fa36 +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Pin/NumberButton_Fill@2x.psd b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Pin/NumberButton_Fill@2x.psd new file mode 100644 index 0000000000000000000000000000000000000000..26790b0ea31c5bce6687db7c4ea09bad669456bc GIT binary patch literal 31868 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 BygvW{ literal 0 HcmV?d00001 diff --git a/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Pin/PinDot_Fill@2x.psd.meta b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Pin/PinDot_Fill@2x.psd.meta new file mode 100644 index 0000000..96967be --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Pin/PinDot_Fill@2x.psd.meta @@ -0,0 +1,88 @@ +fileFormatVersion: 2 +guid: a097b58da8de2bf4cb593d05feca1d98 +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 9 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 1024 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 16 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 200 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 1024 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: ab06b3bc8829aed48a489417c0226d6f + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: '[RECT]srdebugger_default_pin@2x' + pSDRemoveMatte: 1 + pSDShowRemoveMatteOption: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Pin/PinDot_Outline@2x.psd b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/Pin/PinDot_Outline@2x.psd new file mode 100644 index 0000000000000000000000000000000000000000..430d3e857ba6404d009802ed6d19dec917ed099d GIT binary patch literal 24838 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 G$@?EOa1Y}E literal 0 HcmV?d00001 diff --git a/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/RoundedCorner-2px@2x.psd.meta b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/RoundedCorner-2px@2x.psd.meta new file mode 100644 index 0000000..0c64d3f --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/RoundedCorner-2px@2x.psd.meta @@ -0,0 +1,88 @@ +fileFormatVersion: 2 +guid: a0d7355cd1bbc6c44b68f572bb8c2722 +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 9 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 1024 + textureSettings: + serializedVersion: 2 + filterMode: 2 + aniso: 16 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 200 + spriteBorder: {x: 4, y: 4, z: 4, w: 4} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 1024 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 20e308785a448cd48984d9f37c659eb5 + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: '[RECT]srdebugger_default' + pSDRemoveMatte: 1 + pSDShowRemoveMatteOption: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/RoundedCorner-5px.psd b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/RoundedCorner-5px.psd new file mode 100644 index 0000000000000000000000000000000000000000..c1c1cfa4735957e547f3e2703dcf96c77cc3ddb3 GIT binary patch literal 24316 zcmeHP349aP*1t1Z+ot=%4xw~m>ypxq(w4SqOA8GxZCOPjO{QsRG6~6~3vPgj3O+$Z zWN~2=1bm<L^Q;=)5fHuoYA0Y$7LqN4OW_fD2c0rPzN{l4G#`(?_^J@=e*&pr2l z&%HCb!=3D+sv1Ng{t!c=B&QsSc-EMy*+u0VaXiU|@jTC!$l`E5OOZRg#j4dcGMuuG zF&Npr*zaC_BUWkD=f#fC(4=atYNo+hHp9l$%ots(o6)Ens*fF>ADG*c(_*%o8BVKg zF`HO>PD@^_R&S|ea)8F{lvpKE;TrQ|3$Z{sK~tqvTWpLnBY8-YE>)#cW@aX<(latM zRfCmjsj9S;RQQ*fq)N}p$jnL0QaX>={6L^`ZTkA0>f%yob&$)8ZQwX-PD)C1b8~X@ zkYtO^kfItobSO5HmX-t>N%mHj)3zkB_I|t(mz`q9uCp1foYBH6v0ZJQ#lhvp#^Q?H zhqGN~tGgoBo=n=9th1O?TC~;_RdQ;I+cFf)1x#|(Hb%=?Y_%4PDW7k7RfC1I*c&WX zrMf0l*?+u|)mxhF19DS3t9$DASYnE`9Fq_Dq$jD;l2S8j0iX1YoYd?|g7Umlr{Wsu z2ECTk`Y_<7*4czbZ>(?iWx%84ES{T!Q5B#}x)1}@iSG-2z0M83)nPM{KGy3}7!zY= zSk4X|pz`hjy)LKTVl!*Ge67`LGU~Lrk5ighy|d@6uCB;U@u>dYUPHHPG;YUl8Z~Bf z%FUw9&XqJlAUXs4rX}sQtyU(bnz36PHXT#a1UPu2+ZlrzO-?y$=d`SjDKE|kcan`p zeNIt{Dnpg2F3MJCsY}vTs>0ILjMA)Bb$VK9VQPswlf;vEQSWd7S+Pauz|cF*>i>jU zLD3t`R@#g(_h?N59qjd=F@F;iH&jz*w8O}3bwwjT)JaU%Fw?!cu3$A8NsL;xHamln z&x>_IFC6&1C0vH|V2)OY<1Sx^rvgTwo8rawxYfCs@xSRb-nO9Vt?f5AFzhX+65a|? zxOI8ErJifn+L%HEgn+NfjkoAsq_b&$qA(e~vFEwoUE&JPPF?u7%{1k*f$)m1i2z0t(v+p9+uDa&Cfs)lA}CZ#2-gk}VK zPCGYmJkNz&CETS`+_!0Ogx!JnHxr%){>_Gk=KPfi(eO$8;qnQQP{9wE5DlNSA1z^?5D69ha0$`yN&DgQ36W6250?-PpR^w?pAZQZ z{BQ};@JajO@(Gbp!4H=Z4WG0hE}swy75s1s(eO$8;qnQQP{9wE5DlNSA1z^?5D69ha0$`yN&DgQ36W6250?-PpR^w?pAZQZ{BQ}; z@JajO@(Gbp!4H=Z4WG0hE}swy75s1s(eO$8;qnQQP{9wE5DlNSA1$8Md{NeQ`NtpWIov;(c@c9=jl`&B$_<4$kV} zfGNQ$Rd%kX4mNoajdGS_7}jCN0!-snZL;BfC@EWGY{42uMh=(3V%{cW8?7}nwIvg3 zfyGzG7l1thmiiiob66|urs+VaKvl?wEbvzkyZveqgE-_sR%{9dTHV@^BW8+B9P9K* zQRgt4I3r6;f;@m|t2GlxA=2Vu*aV#f7f*{L1TC&4JLT*k?}9beR*rQw0vcIob7!gz zc8xouwy|nYhUGk&iaL|sEg5a#n%tQZv#Hpf0USN1i*$_!ClEYJ2=+>-!5gySv0ATG z>Mf4C0!thAkQ^gy>58P$d4yr(?s_Q(JDhJ_4Obz!Bt8)l#{b+*>X20jToB*SC3n~FOAii}`^O+(w9NI@#drIH-wL=}6D{l)`OOv=g$$2n`z z1z-kFrzPBrpocF+w>zdpxcz*~aTXz^^Tf1sU}MsK2zg52;?wI8D!2qrhj5m4nDA_i zno1Ii^;%c=9FRc(AV=~n;EnK<1tX5Ou znoi{|wwH21gT*$Z&}1~Y?slPkOpk|va3%3 zZa8nhXoOn;MbKyqi?I&iELM0-urtE>GtdMR?G0Q-9hsPK;0HmsH*{7fBd9;F2%ZBV zoQJm)njcxAgbj1BqO8KmT4)G=Gu%7zX2J;*Cn;rzAp8Sh)Ip$Yb#|+!rW8MHAlPWA z#5)doOXLcJ>8BI?IQ%fFtV*dA$o>;DTxYexO_Ztv(!YYgTA*{qvt%HrW4x1959dwK`sdEtj*98S`3H%sb z&D1ma8HG`fgD8VXEa+}lZzNxjFtT3zbp;mw%VGixnB?Och{(0qQPh-V6!t+B5`B9R zi6euMX!6q_q1^pe5ikyZBOo-s&pAHsfd)CbdR^!RkfrTLa$7*^>RP4FVQb=5#5j?l zKop9iP&d>Y^+WyPc_j^Hp<$>1m7tNR5}wT_qC4PetO1$f$*dXOg=V3-Xg*qq9!Ja3 zGiWW^fHtG8Xa{-??L}{+_t9Z=9DRb?&{^~iYDYhzYZOJvs9-9R>PGdU;;BJY8kJ4u zQzcXdRZUH#rcwrqr5w~<)P2-^Y7w=ZT19Q3UZh^3_EPUsN2rge)6@m(2kKW^L@Veh zx)+^5r_kASAw7z&rEjMV^mKX#J%@gTUP`Z~pQpFed+GP-<8&MS4Shv~L_wk$QD0G# zC|jf!Rf;Bw>P0ruJ)(J{C8E`$&7xhR1ELQ_ZK8{!U&K;zq*y6V5)TuXiN}g{;_2dh z#1D&?i=Pv37w;E;C_XK27hjhIOL|HMNpd9Rk_i%nq**dovP7~@vQ6@qI@^kWQ0bv300XYGc0s4T}fCT|-19k;`5O6l& zT3~o!VqjiiZQ!)PS%FIfHwV5I_-WwfprD}GprJuyf{Z~kgO&!p5cE#a>7ZW}5sHBd zwPLcup?E~GUa?2YZ2aBxC!LGYwtF8Gn)4Z&{)e;)jENMuNINO_1pwj%76u#;g|!Xv{~;g#X$@Q1@U zhQAwrK0+3e5K$7LkC+p&CgRPAGm)amev#@(UF3a{Ya`!^JR2pAN{lLxnie%b>Yq`E zqS~V)qSK?tMYlw+h<-h~Ek+cR5K|swidhh|HReRjuU&d|DeS^@d8o_gE=Rju?b@Sj zL06{hyslfi9`E{VH)XeyZjId@?Y5)aXWhl!2X-IRy}A3--QVhdu}4&oVLfy`=JnXx z~*nsOz(o;(|RxNy}S2?K9PO$`xyHy z?(;^Uua(itLZwN$RJmW--nVDpvc8VKtNI@5do4CGc5LkI*e$W2^$YBm-LJmi;(q)3 zwa4{|)5P5sw<+%9_<;EA_=fl=;t#}MO-M`_pYTA!j)e1xT@%X_XC!V){Iq{?|Ka_o z_g~%r*Z}E(>;a7fo*Hm?AU!Z+V8g%_13wr<56T>59Q4$nBZDP_hYn^3uO56dNs&~T z)ReR->2z{Taz*m&VEQsPo3r97H)Amw^$Mye@wZR#hg2-Qf{Y}GE+4`~C_bZINn zjtvPOQaa?`Av=eBpFSv^Nq;*1R7PZmCgXvOeHp)JW@XwkH)meRip!ds^<>t`?5OOj z?1!`887diCH1yt~uMPbrCo_l3*_!j+u%uy)!!`~(pPQJ=6of9E5>|Pt*XAO z`an%&&6JvrH9yrB)h?+0WNiPjj4AE`XVM)V9quRLK z`2Do9Y0pf%+F04RzOlnJ-n7LmH%~Rc!bY%-?0!pcON-@*b&z$gwQYLN^v9>S+eX>e z*(v+&_MKc5JWL&Q^mp9vINg-rw4&+f=5ft0wS>2@EeBf%wm#H)Zbs>hXYUl>sk?LE zU48GGb=T>;3-4Za4|Px7J^SwMcki5g&(0h%^SN1pvl?gpYj*1FMYDgrZ~T3`=Jc8~ zbIzIjN8G<@Zpd8Q+>;Lsd*GP|#Sa=EJoM0zhn78beV%^ad-GH0FPZ<_!@7sx`-kcu zOaIaFNc|&+7Gy4XdZBb7yYR%L!ykQaQTU=6i_Sczd2IV)<>GmZe|&t(U-HZo zfloM|Xj@vbbmy|TWeb=6w!C5a@fAfYwmjMM$%mf2`jq~uqfZw+z4@75&&+@3*OkVV zr&f(vwS9HM>LqKWYns-4wRYUv1J7nZyJ21Tb@SK#zMfs*_FVOI`!{55*s!tZ#s!<` zO^!_$o}c{u;eQtYbLZxy&8xP=Y?=Q8dcpC+*Dp?e@x<0qTlc+`{nF-_<6nMqTjaKR z+o|oX+uL_E>}cCLap#d&M!vFd*RWmNUQK>={cC++Tk(4I>kD=V?w+%|@0op5_I>i^gg1}vAG80^Tch53=k3zB-#k!w;Ei|k-g)iaoOfS&FZ;b6?`OWh z{b0tyZU4&n*S15Mhqix^^})`=Ll5sdl6z$L(cwq;epvkB+sDd}y?=c4@gpb3o;Y=K z^2xSS`cvmWGJW*@$4wt!`();)l27M-7WUba&wGBp`ilWyY-!7Ed;N6r>4RU^eEG>4 z-I;IxZU6UgXXkts{MC|kea>w-pLYJW3#Athe|_86XTPz2bM4~XZ^OTR@>2gxFMn6? z-NE(=?PtHYec$oJ!>92h zhcn?bov&1IP*8A4a9Bu4SX4+zNEE(=MDaz!{}Tfpdr-I>8lV(Wv4{?*MB!A&XYl)< z?$}Qa2QMY?U;+m?j1Li_Xt6{plLrI_QJsab;w5qk!w@B=M6{Te$fRElS(p(3w>1)V(?&kY@{S@)}v9_gT2*9+K0r|owm(h zq^^n9+0(y|mtqHG2^ss2f)i`H=u5_Ca?F=*7jErAqQ`}fkC8$|>I_H2(Usaoa@ORvDRB1V>8A{i8+#twSQXbz{(r)|8l_C!f zb>Txw!NV)06kbL1w1evHX$O@cYzIxbY*5Lx$2Ktr7g#mGi0~=yo6wbzL+EF-mNk}F zm*NHPitGGa7DwG+I3rOtOoI-1^Pz{SQIC|6XW(}?N8XGWkcmu~@Rk8%4WHq( zK^d{VL2D)XRwJ$-j~8+e*O}@}n8q!_awA*c;*^toBio2$gp4mz-fpe;%Ii$nz8p?+ zU>$pd8P`z;Cx!Dmhn=jMK|UQ$PrS+TM?vw|D6uA-0VZuLW2-fq8T{U^@VIh%-pE(3 z6F-{lTqA@Ftj!6^2iZBBrID%OT1|MJ6&sEauwePt4qx1JuBgNGje>b;39GF$F?!b; zau9rH&D4n(C9nhQr_6Yxo@;Qw;o~2Kz#!_@Nv~LIZ>X%VhqYc_nRT@sD@O~IHAarH zRT#}ij=ZCsh~?yn5h&rB)mp1yq4^e4C@E}tk%Qx)9B{jIvNqCUWCiAKC5Dnh1cvPjm=@#i0%?-_0>hq6NNNjdl;rBRRjPFP!wPHSQ+EV@S5YfGV*HKfZ6_0u4z zTymjV3>oeOcuVe_>%qF0`63g%+s9wzbG?NvGO-%0G#YLfkO+aSgw;eN*UI;$*E?3B z7A*Zi>p8F4GSqG{8TI6KKn0F!FpNVS{|A8og=rNG3xf-Pj?(17i;*O_s&U2q__niY zRY2nLOvYw?iw%cK*q+jvkRY@tfh7Fg(b`1j4&clN=V=rID}ZwHCxtotKmFrN1VU;0 z3v?aPn%$Sb>7Xy~uDFii7B=T>2R#R4Q*ow)f*%NIH>A5E{Q=S+pz710^nZKheYq^~ zO+$S3cn_@_z57RK)sMS1*U=ZaIrLxu`=aBo|M@++5krEBKbD>2%x5ga=)-sMDlJFu zWtcA2*x_!B-#X$aP;!tbODorae-C)y6PZscdhKQsFI5^@xBy5s-%Ux#yU7sK3+I~k^S{Gt~ocBH}6I@*mVb@aoZ aX(cIf*;yJw6=_^{p*Aw-ieb)0=zjni8axO9 literal 0 HcmV?d00001 diff --git a/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/RoundedCorner-5px.psd.meta b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/RoundedCorner-5px.psd.meta new file mode 100644 index 0000000..d0e78b1 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/RoundedCorner-5px.psd.meta @@ -0,0 +1,88 @@ +fileFormatVersion: 2 +guid: 1619a22b6c609d946b469c845cc226de +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 9 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 1024 + textureSettings: + serializedVersion: 2 + filterMode: 2 + aniso: 16 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 1024 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 9944cda20047cfe4da197734f3e80a68 + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: '[RECT]srdebugger_default' + pSDRemoveMatte: 1 + pSDShowRemoveMatteOption: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/RoundedCorner-5px@2x.psd b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/RoundedCorner-5px@2x.psd new file mode 100644 index 0000000000000000000000000000000000000000..eb06209b62db14eace36fa7e4654cba705064e9b GIT binary patch literal 29996 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 BaMu6; literal 0 HcmV?d00001 diff --git a/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/RoundedCorner-5px@2x.psd.meta b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/RoundedCorner-5px@2x.psd.meta new file mode 100644 index 0000000..5af3d28 --- /dev/null +++ b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/RoundedCorner-5px@2x.psd.meta @@ -0,0 +1,88 @@ +fileFormatVersion: 2 +guid: a0c7ffb7676bd694192d1a9b3f8d20bd +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 9 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 1024 + textureSettings: + serializedVersion: 2 + filterMode: 2 + aniso: 16 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 200 + spriteBorder: {x: 10, y: 10, z: 10, w: 10} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 1024 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 77c04b334a816e547bd3b0de4e0ee6b5 + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: '[RECT]srdebugger_default' + pSDRemoveMatte: 1 + pSDShowRemoveMatteOption: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/loading@2x.png b/Assets/StompyRobot/SRDebugger/UI/Sprites/Default/loading@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..81edda6215f1497111aceefae1986111894a595d GIT binary patch literal 2252 zcmV;-2s8JIP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGjuK)lL>H$p9eP93p02p*dSaefwW^{L9 za%BK;VQFr3E^cLXAT%y8E;VI^GGzb&2t7$eK~#8N<(k*4Bt;m-*VT2`oO8|@bIw_e zm=zJlh?wJpiYO|I*$1;IW>L&JA_fE>6huLM5(DZV;PZHXm#L-Zo6|kjeWzz0_ThJD zrf#Kk>Z|JN>Ymf<^`^mGv7}famg;}b6QsNRonaF@W-)>2YsDwxBXPA@RxB=Dna;3@ z9m6PJC%y?>C5Qr7rZa3}3mDZUL`euE@>3BF_&}5zKs&VQ{?`bb*Z?{)Uu+|`7R=>Q zCM+$Yc=$@NF1RuY+9S^nVn;!HvogXa7DB`8h)2bHeI6ETiMmcP*V`CCo$HHt#Ls>B zzM*KncG$#1X!LfG#3$|)b)meRXk!4Q{k%xx6ORj`u+Ksb{f?h0x%0!Wrm-LfN%!D zHG;JwFVn;T=JtKUiHAc(>(K|B*bq9&%I^#S_6YfcSb7;m*j~a3hbKkVno*2R>_exk zR`MM3Y$@Iq&Vc(xep%!`pvr)l?=|7X|0uQ+CHR|d&CwZ-gp#(uk*A~}{XT?L}c)=F7&hgd7E5aG@ zm`G~@9pO$e8gRKtqWI)4(TOMTsv>VYhq5aQZmx)w-^ELU9pg~{2Y&RyvAe_zfd|AM zg8w@sX!r!-40ucAiy_x-Zh=1*2)$C|n;Gi*NjL+}6mB%>6N7Y;_)h#4u=|C9AA(9Y z7g2l;;kS`Uqm@Gk80~1l-6A)Db|{aT`7}$$^7*oe;@=b)mFh_#Y-jO?h{AJr5(DPt zl>iNIDxB~f_T=Y^l|)`4<+l)YK8b%(Y$DvK)xp(+a8KgD7Tbwr5@0GfNL(ua5KeRs zcaZr&*eSrs+##Is$P?m7!3gA|$F=@I!5)F{d8bRE3|ru1#WDTwDe6)i7mHtn6B}W= zab+2Z+=X8NKQd^9dC5lP zLE%J4nENY;afq&CHBmb1--@FJ>x}K!P(lFbxp_HJJT08?oP9*s25u-rT5$GvtBB$s5jgJ3juX}= z_6SitTk+k*z$!lqn>YfDVAbDWaD9J9+$30Jx(lS@**3!F3v;=JJ>@n0eT3d&%}Tq`KhAW7;ul6Mg%aIXKTO$Dq{4wjyiEAaC9|| zHGqL*9dhDIVEW8N0G-E8OkgyfNC#1ac&1S7+$13CSjZ6aw{RjIj67vHHk(-k022UL zF@sZ=Dp>Uqz3@^pMd$;4p---_RV>utDqWj8(!3CwJWuWHP8qTD=!he9FcQ_U}xsajT6==&KeP)gCU$7 zHo7F+L<5zsBG@rT;W^ujE~9|Dd1w>G=Wue&*1o78HZg-rI7#Ix?9IZ7&cOgz&$uWt z01gry#S<;HM%Y9_A?7&;54_Xo#739`nC0plCsk9xv9I7LuX0+rL^5;odVz349UMTi z5an+3z1IDfP$#F)EPhV3V;5luCng{shp!M$XoP16bR-WoKG~r$7t?%Gr9Q;*fYb?3j5Gic!L#}(oX6RObk)jA8k?gi9(Y!t%J4}WdyBLBFpV%G z)rA33e1fOfuKiSw7qfUi5ydkFqS4j>DkuEt*e!yq07u~5L{v2loV#J1Gk~Z`W$6Us zdA%(M6Y@Mq2xkCOp>D%P9YhI_@OfeLV8K)2qD3%4C3GTDCmd3Top{(*} zYzQ4?i|oV$3uesk#6xZrupe;-0MpVfh>fs`4ZvA0K~6XvC1NL=7(nRqUXn8acnDfK zx+U1e25=3&P&n~yrs8!Qniv3Vq0HzZ+KGA?#y_I4U3!y_Sa%YPqp3ThAeml_C0N^f@ z_l}czz89bVIBa4=7;O$6*n=a^<;kftpe}MCMIOg<`Fn${v574y9R)f~)I{<5R=5t@ zAz$lJ&#{ReL+6>d(SZDBXkysJj==yfcbLGa1L8-8e<#?)j$xFU1_)-+ + /// Indicates that the value of the marked element could be null sometimes, + /// so the check for null is necessary before its usage + /// + /// + /// [CanBeNull] public object Test() { return null; } + /// public void UseTest() { + /// var p = Test(); + /// var s = p.ToString(); // Warning: Possible 'System.NullReferenceException' + /// } + /// + [AttributeUsage( + AttributeTargets.Method | AttributeTargets.Parameter | AttributeTargets.Property | + AttributeTargets.Delegate | AttributeTargets.Field | AttributeTargets.Event)] + [Conditional("JETBRAINS_ANNOTATIONS")] + public sealed class CanBeNullAttribute : Attribute { } + + /// + /// Indicates that the value of the marked element could never be null + /// + /// + /// [NotNull] public object Foo() { + /// return null; // Warning: Possible 'null' assignment + /// } + /// + [AttributeUsage( + AttributeTargets.Method | AttributeTargets.Parameter | AttributeTargets.Property | + AttributeTargets.Delegate | AttributeTargets.Field | AttributeTargets.Event)] + [Conditional("JETBRAINS_ANNOTATIONS")] + public sealed class NotNullAttribute : Attribute { } + + /// + /// Indicates that collection or enumerable value does not contain null elements + /// + [AttributeUsage( + AttributeTargets.Method | AttributeTargets.Parameter | AttributeTargets.Property | + AttributeTargets.Delegate | AttributeTargets.Field)] + [Conditional("JETBRAINS_ANNOTATIONS")] + public sealed class ItemNotNullAttribute : Attribute { } + + /// + /// Indicates that collection or enumerable value can contain null elements + /// + [AttributeUsage( + AttributeTargets.Method | AttributeTargets.Parameter | AttributeTargets.Property | + AttributeTargets.Delegate | AttributeTargets.Field)] + [Conditional("JETBRAINS_ANNOTATIONS")] + public sealed class ItemCanBeNullAttribute : Attribute { } + + /// + /// Indicates that the marked method builds string by format pattern and (optional) arguments. + /// Parameter, which contains format string, should be given in constructor. The format string + /// should be in -like form + /// + /// + /// [StringFormatMethod("message")] + /// public void ShowError(string message, params object[] args) { /* do something */ } + /// public void Foo() { + /// ShowError("Failed: {0}"); // Warning: Non-existing argument in format string + /// } + /// + [AttributeUsage( + AttributeTargets.Constructor | AttributeTargets.Method | AttributeTargets.Delegate)] + [Conditional("JETBRAINS_ANNOTATIONS")] + public sealed class StringFormatMethodAttribute : Attribute + { + /// + /// Specifies which parameter of an annotated method should be treated as format-string + /// + public StringFormatMethodAttribute(string formatParameterName) + { + FormatParameterName = formatParameterName; + } + + public string FormatParameterName { get; private set; } + } + + /// + /// For a parameter that is expected to be one of the limited set of values. + /// Specify fields of which type should be used as values for this parameter. + /// + [AttributeUsage(AttributeTargets.Parameter | AttributeTargets.Property | AttributeTargets.Field)] + [Conditional("JETBRAINS_ANNOTATIONS")] + public sealed class ValueProviderAttribute : Attribute + { + public ValueProviderAttribute(string name) + { + Name = name; + } + + [NotNull] + public string Name { get; private set; } + } + + /// + /// Indicates that the function argument should be string literal and match one + /// of the parameters of the caller function. For example, ReSharper annotates + /// the parameter of + /// + /// + /// public void Foo(string param) { + /// if (param == null) + /// throw new ArgumentNullException("par"); // Warning: Cannot resolve symbol + /// } + /// + [AttributeUsage(AttributeTargets.Parameter)] + [Conditional("JETBRAINS_ANNOTATIONS")] + public sealed class InvokerParameterNameAttribute : Attribute { } + + /// + /// Indicates that the method is contained in a type that implements + /// System.ComponentModel.INotifyPropertyChanged interface and this method + /// is used to notify that some property value changed + /// + /// + /// The method should be non-static and conform to one of the supported signatures: + /// + /// NotifyChanged(string) + /// NotifyChanged(params string[]) + /// NotifyChanged{T}(Expression{Func{T}}) + /// NotifyChanged{T,U}(Expression{Func{T,U}}) + /// SetProperty{T}(ref T, T, string) + /// + /// + /// + /// public class Foo : INotifyPropertyChanged { + /// public event PropertyChangedEventHandler PropertyChanged; + /// [NotifyPropertyChangedInvocator] + /// protected virtual void NotifyChanged(string propertyName) { ... } + /// + /// private string _name; + /// public string Name { + /// get { return _name; } + /// set { _name = value; NotifyChanged("LastName"); /* Warning */ } + /// } + /// } + /// + /// Examples of generated notifications: + /// + /// NotifyChanged("Property") + /// NotifyChanged(() => Property) + /// NotifyChanged((VM x) => x.Property) + /// SetProperty(ref myField, value, "Property") + /// + /// + [AttributeUsage(AttributeTargets.Method)] + [Conditional("JETBRAINS_ANNOTATIONS")] + public sealed class NotifyPropertyChangedInvocatorAttribute : Attribute + { + public NotifyPropertyChangedInvocatorAttribute() { } + public NotifyPropertyChangedInvocatorAttribute(string parameterName) + { + ParameterName = parameterName; + } + + public string ParameterName { get; private set; } + } + + /// + /// Describes dependency between method input and output + /// + /// + ///

    Function Definition Table syntax:

    + /// + /// FDT ::= FDTRow [;FDTRow]* + /// FDTRow ::= Input => Output | Output <= Input + /// Input ::= ParameterName: Value [, Input]* + /// Output ::= [ParameterName: Value]* {halt|stop|void|nothing|Value} + /// Value ::= true | false | null | notnull | canbenull + /// + /// If method has single input parameter, it's name could be omitted.
    + /// Using halt (or void/nothing, which is the same) + /// for method output means that the methos doesn't return normally.
    + /// canbenull annotation is only applicable for output parameters.
    + /// You can use multiple [ContractAnnotation] for each FDT row, + /// or use single attribute with rows separated by semicolon.
    + ///
    + /// + /// + /// [ContractAnnotation("=> halt")] + /// public void TerminationMethod() + /// + /// + /// [ContractAnnotation("halt <= condition: false")] + /// public void Assert(bool condition, string text) // regular assertion method + /// + /// + /// [ContractAnnotation("s:null => true")] + /// public bool IsNullOrEmpty(string s) // string.IsNullOrEmpty() + /// + /// + /// // A method that returns null if the parameter is null, + /// // and not null if the parameter is not null + /// [ContractAnnotation("null => null; notnull => notnull")] + /// public object Transform(object data) + /// + /// + /// [ContractAnnotation("s:null=>false; =>true,result:notnull; =>false, result:null")] + /// public bool TryParse(string s, out Person result) + /// + /// + [AttributeUsage(AttributeTargets.Method, AllowMultiple = true)] + [Conditional("JETBRAINS_ANNOTATIONS")] + public sealed class ContractAnnotationAttribute : Attribute + { + public ContractAnnotationAttribute([NotNull] string contract) + : this(contract, false) { } + + public ContractAnnotationAttribute([NotNull] string contract, bool forceFullStates) + { + Contract = contract; + ForceFullStates = forceFullStates; + } + + public string Contract { get; private set; } + public bool ForceFullStates { get; private set; } + } + + /// + /// Indicates that marked element should be localized or not + /// + /// + /// [LocalizationRequiredAttribute(true)] + /// public class Foo { + /// private string str = "my string"; // Warning: Localizable string + /// } + /// + [AttributeUsage(AttributeTargets.All)] + [Conditional("JETBRAINS_ANNOTATIONS")] + public sealed class LocalizationRequiredAttribute : Attribute + { + public LocalizationRequiredAttribute() : this(true) { } + public LocalizationRequiredAttribute(bool required) + { + Required = required; + } + + public bool Required { get; private set; } + } + + /// + /// Indicates that the value of the marked type (or its derivatives) + /// cannot be compared using '==' or '!=' operators and Equals() + /// should be used instead. However, using '==' or '!=' for comparison + /// with null is always permitted. + /// + /// + /// [CannotApplyEqualityOperator] + /// class NoEquality { } + /// class UsesNoEquality { + /// public void Test() { + /// var ca1 = new NoEquality(); + /// var ca2 = new NoEquality(); + /// if (ca1 != null) { // OK + /// bool condition = ca1 == ca2; // Warning + /// } + /// } + /// } + /// + [AttributeUsage( + AttributeTargets.Interface | AttributeTargets.Class | AttributeTargets.Struct)] + [Conditional("JETBRAINS_ANNOTATIONS")] + public sealed class CannotApplyEqualityOperatorAttribute : Attribute { } + + /// + /// When applied to a target attribute, specifies a requirement for any type marked + /// with the target attribute to implement or inherit specific type or types. + /// + /// + /// [BaseTypeRequired(typeof(IComponent)] // Specify requirement + /// public class ComponentAttribute : Attribute { } + /// [Component] // ComponentAttribute requires implementing IComponent interface + /// public class MyComponent : IComponent { } + /// + [AttributeUsage(AttributeTargets.Class, AllowMultiple = true)] + [BaseTypeRequired(typeof(Attribute))] + [Conditional("JETBRAINS_ANNOTATIONS")] + public sealed class BaseTypeRequiredAttribute : Attribute + { + public BaseTypeRequiredAttribute([NotNull] Type baseType) + { + BaseType = baseType; + } + + [NotNull] + public Type BaseType { get; private set; } + } + + /// + /// Indicates that the marked symbol is used implicitly + /// (e.g. via reflection, in external library), so this symbol + /// will not be marked as unused (as well as by other usage inspections) + /// + [AttributeUsage(AttributeTargets.All)] + [Conditional("JETBRAINS_ANNOTATIONS")] + public sealed class UsedImplicitlyAttribute : Attribute + { + public UsedImplicitlyAttribute() + : this(ImplicitUseKindFlags.Default, ImplicitUseTargetFlags.Default) { } + + public UsedImplicitlyAttribute(ImplicitUseKindFlags useKindFlags) + : this(useKindFlags, ImplicitUseTargetFlags.Default) { } + + public UsedImplicitlyAttribute(ImplicitUseTargetFlags targetFlags) + : this(ImplicitUseKindFlags.Default, targetFlags) { } + + public UsedImplicitlyAttribute( + ImplicitUseKindFlags useKindFlags, ImplicitUseTargetFlags targetFlags) + { + UseKindFlags = useKindFlags; + TargetFlags = targetFlags; + } + + public ImplicitUseKindFlags UseKindFlags { get; private set; } + public ImplicitUseTargetFlags TargetFlags { get; private set; } + } + + /// + /// Should be used on attributes and causes ReSharper + /// to not mark symbols marked with such attributes as unused + /// (as well as by other usage inspections) + /// + [AttributeUsage(AttributeTargets.Class | AttributeTargets.GenericParameter)] + [Conditional("JETBRAINS_ANNOTATIONS")] + public sealed class MeansImplicitUseAttribute : Attribute + { + public MeansImplicitUseAttribute() + : this(ImplicitUseKindFlags.Default, ImplicitUseTargetFlags.Default) { } + + public MeansImplicitUseAttribute(ImplicitUseKindFlags useKindFlags) + : this(useKindFlags, ImplicitUseTargetFlags.Default) { } + + public MeansImplicitUseAttribute(ImplicitUseTargetFlags targetFlags) + : this(ImplicitUseKindFlags.Default, targetFlags) { } + + public MeansImplicitUseAttribute( + ImplicitUseKindFlags useKindFlags, ImplicitUseTargetFlags targetFlags) + { + UseKindFlags = useKindFlags; + TargetFlags = targetFlags; + } + + [UsedImplicitly] + public ImplicitUseKindFlags UseKindFlags { get; private set; } + [UsedImplicitly] + public ImplicitUseTargetFlags TargetFlags { get; private set; } + } + + [Flags] + public enum ImplicitUseKindFlags + { + Default = Access | Assign | InstantiatedWithFixedConstructorSignature, + /// Only entity marked with attribute considered used + Access = 1, + /// Indicates implicit assignment to a member + Assign = 2, + /// + /// Indicates implicit instantiation of a type with fixed constructor signature. + /// That means any unused constructor parameters won't be reported as such. + /// + InstantiatedWithFixedConstructorSignature = 4, + /// Indicates implicit instantiation of a type + InstantiatedNoFixedConstructorSignature = 8, + } + + /// + /// Specify what is considered used implicitly when marked + /// with or + /// + [Flags] + public enum ImplicitUseTargetFlags + { + Default = Itself, + Itself = 1, + /// Members of entity marked with attribute are considered used + Members = 2, + /// Entity marked with attribute and all its members considered used + WithMembers = Itself | Members + } + + /// + /// This attribute is intended to mark publicly available API + /// which should not be removed and so is treated as used + /// + [MeansImplicitUse] + [Conditional("JETBRAINS_ANNOTATIONS")] + public sealed class PublicAPIAttribute : Attribute + { + public PublicAPIAttribute() { } + public PublicAPIAttribute([NotNull] string comment) + { + Comment = comment; + } + + public string Comment { get; private set; } + } + + /// + /// Tells code analysis engine if the parameter is completely handled + /// when the invoked method is on stack. If the parameter is a delegate, + /// indicates that delegate is executed while the method is executed. + /// If the parameter is an enumerable, indicates that it is enumerated + /// while the method is executed + /// + [AttributeUsage(AttributeTargets.Parameter)] + [Conditional("JETBRAINS_ANNOTATIONS")] + public sealed class InstantHandleAttribute : Attribute { } + + /// + /// Indicates that a method does not make any observable state changes. + /// The same as System.Diagnostics.Contracts.PureAttribute + /// + /// + /// [Pure] private int Multiply(int x, int y) { return x * y; } + /// public void Foo() { + /// const int a = 2, b = 2; + /// Multiply(a, b); // Waring: Return value of pure method is not used + /// } + /// + [AttributeUsage(AttributeTargets.Method)] + [Conditional("JETBRAINS_ANNOTATIONS")] + public sealed class PureAttribute : Attribute { } + + /// + /// Indicates that a parameter is a path to a file or a folder within a web project. + /// Path can be relative or absolute, starting from web root (~) + /// + [AttributeUsage(AttributeTargets.Parameter)] + [Conditional("JETBRAINS_ANNOTATIONS")] + public class PathReferenceAttribute : Attribute + { + public PathReferenceAttribute() { } + public PathReferenceAttribute([PathReference] string basePath) + { + BasePath = basePath; + } + + public string BasePath { get; private set; } + } + + [AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)] + [Conditional("JETBRAINS_ANNOTATIONS")] + public sealed class AspMvcAreaMasterLocationFormatAttribute : Attribute + { + public AspMvcAreaMasterLocationFormatAttribute(string format) + { + Format = format; + } + + public string Format { get; private set; } + } + + [AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)] + [Conditional("JETBRAINS_ANNOTATIONS")] + public sealed class AspMvcAreaPartialViewLocationFormatAttribute : Attribute + { + public AspMvcAreaPartialViewLocationFormatAttribute(string format) + { + Format = format; + } + + public string Format { get; private set; } + } + + [AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)] + [Conditional("JETBRAINS_ANNOTATIONS")] + public sealed class AspMvcAreaViewLocationFormatAttribute : Attribute + { + public AspMvcAreaViewLocationFormatAttribute(string format) + { + Format = format; + } + + public string Format { get; private set; } + } + + [AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)] + [Conditional("JETBRAINS_ANNOTATIONS")] + public sealed class AspMvcMasterLocationFormatAttribute : Attribute + { + public AspMvcMasterLocationFormatAttribute(string format) + { + Format = format; + } + + public string Format { get; private set; } + } + + [AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)] + [Conditional("JETBRAINS_ANNOTATIONS")] + public sealed class AspMvcPartialViewLocationFormatAttribute : Attribute + { + public AspMvcPartialViewLocationFormatAttribute(string format) + { + Format = format; + } + + public string Format { get; private set; } + } + + [AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)] + [Conditional("JETBRAINS_ANNOTATIONS")] + public sealed class AspMvcViewLocationFormatAttribute : Attribute + { + public AspMvcViewLocationFormatAttribute(string format) + { + Format = format; + } + + public string Format { get; private set; } + } + + /// + /// ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter + /// is an MVC action. If applied to a method, the MVC action name is calculated + /// implicitly from the context. Use this attribute for custom wrappers similar to + /// System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String) + /// + [AttributeUsage(AttributeTargets.Parameter | AttributeTargets.Method)] + [Conditional("JETBRAINS_ANNOTATIONS")] + public sealed class AspMvcActionAttribute : Attribute + { + public AspMvcActionAttribute() { } + public AspMvcActionAttribute(string anonymousProperty) + { + AnonymousProperty = anonymousProperty; + } + + public string AnonymousProperty { get; private set; } + } + + /// + /// ASP.NET MVC attribute. Indicates that a parameter is an MVC area. + /// Use this attribute for custom wrappers similar to + /// System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String) + /// + [AttributeUsage(AttributeTargets.Parameter)] + [Conditional("JETBRAINS_ANNOTATIONS")] + public sealed class AspMvcAreaAttribute : PathReferenceAttribute + { + public AspMvcAreaAttribute() { } + public AspMvcAreaAttribute(string anonymousProperty) + { + AnonymousProperty = anonymousProperty; + } + + public string AnonymousProperty { get; private set; } + } + + /// + /// ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter is + /// an MVC controller. If applied to a method, the MVC controller name is calculated + /// implicitly from the context. Use this attribute for custom wrappers similar to + /// System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String, String) + /// + [AttributeUsage(AttributeTargets.Parameter | AttributeTargets.Method)] + [Conditional("JETBRAINS_ANNOTATIONS")] + public sealed class AspMvcControllerAttribute : Attribute + { + public AspMvcControllerAttribute() { } + public AspMvcControllerAttribute(string anonymousProperty) + { + AnonymousProperty = anonymousProperty; + } + + public string AnonymousProperty { get; private set; } + } + + /// + /// ASP.NET MVC attribute. Indicates that a parameter is an MVC Master. Use this attribute + /// for custom wrappers similar to System.Web.Mvc.Controller.View(String, String) + /// + [AttributeUsage(AttributeTargets.Parameter)] + [Conditional("JETBRAINS_ANNOTATIONS")] + public sealed class AspMvcMasterAttribute : Attribute { } + + /// + /// ASP.NET MVC attribute. Indicates that a parameter is an MVC model type. Use this attribute + /// for custom wrappers similar to System.Web.Mvc.Controller.View(String, Object) + /// + [AttributeUsage(AttributeTargets.Parameter)] + [Conditional("JETBRAINS_ANNOTATIONS")] + public sealed class AspMvcModelTypeAttribute : Attribute { } + + /// + /// ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter is an MVC + /// partial view. If applied to a method, the MVC partial view name is calculated implicitly + /// from the context. Use this attribute for custom wrappers similar to + /// System.Web.Mvc.Html.RenderPartialExtensions.RenderPartial(HtmlHelper, String) + /// + [AttributeUsage(AttributeTargets.Parameter | AttributeTargets.Method)] + [Conditional("JETBRAINS_ANNOTATIONS")] + public sealed class AspMvcPartialViewAttribute : PathReferenceAttribute { } + + /// + /// ASP.NET MVC attribute. Allows disabling inspections for MVC views within a class or a method + /// + [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method)] + [Conditional("JETBRAINS_ANNOTATIONS")] + public sealed class AspMvcSupressViewErrorAttribute : Attribute { } + + /// + /// ASP.NET MVC attribute. Indicates that a parameter is an MVC display template. + /// Use this attribute for custom wrappers similar to + /// System.Web.Mvc.Html.DisplayExtensions.DisplayForModel(HtmlHelper, String) + /// + [AttributeUsage(AttributeTargets.Parameter)] + [Conditional("JETBRAINS_ANNOTATIONS")] + public sealed class AspMvcDisplayTemplateAttribute : Attribute { } + + /// + /// ASP.NET MVC attribute. Indicates that a parameter is an MVC editor template. + /// Use this attribute for custom wrappers similar to + /// System.Web.Mvc.Html.EditorExtensions.EditorForModel(HtmlHelper, String) + /// + [AttributeUsage(AttributeTargets.Parameter)] + [Conditional("JETBRAINS_ANNOTATIONS")] + public sealed class AspMvcEditorTemplateAttribute : Attribute { } + + /// + /// ASP.NET MVC attribute. Indicates that a parameter is an MVC template. + /// Use this attribute for custom wrappers similar to + /// System.ComponentModel.DataAnnotations.UIHintAttribute(System.String) + /// + [AttributeUsage(AttributeTargets.Parameter)] + [Conditional("JETBRAINS_ANNOTATIONS")] + public sealed class AspMvcTemplateAttribute : Attribute { } + + /// + /// ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter + /// is an MVC view. If applied to a method, the MVC view name is calculated implicitly + /// from the context. Use this attribute for custom wrappers similar to + /// System.Web.Mvc.Controller.View(Object) + /// + [AttributeUsage(AttributeTargets.Parameter | AttributeTargets.Method)] + [Conditional("JETBRAINS_ANNOTATIONS")] + public sealed class AspMvcViewAttribute : PathReferenceAttribute { } + + /// + /// ASP.NET MVC attribute. When applied to a parameter of an attribute, + /// indicates that this parameter is an MVC action name + /// + /// + /// [ActionName("Foo")] + /// public ActionResult Login(string returnUrl) { + /// ViewBag.ReturnUrl = Url.Action("Foo"); // OK + /// return RedirectToAction("Bar"); // Error: Cannot resolve action + /// } + /// + [AttributeUsage(AttributeTargets.Parameter | AttributeTargets.Property)] + [Conditional("JETBRAINS_ANNOTATIONS")] + public sealed class AspMvcActionSelectorAttribute : Attribute { } + + [AttributeUsage( + AttributeTargets.Parameter | AttributeTargets.Property | AttributeTargets.Field)] + [Conditional("JETBRAINS_ANNOTATIONS")] + public sealed class HtmlElementAttributesAttribute : Attribute + { + public HtmlElementAttributesAttribute() { } + public HtmlElementAttributesAttribute(string name) + { + Name = name; + } + + public string Name { get; private set; } + } + + [AttributeUsage( + AttributeTargets.Parameter | AttributeTargets.Field | AttributeTargets.Property)] + [Conditional("JETBRAINS_ANNOTATIONS")] + public sealed class HtmlAttributeValueAttribute : Attribute + { + public HtmlAttributeValueAttribute([NotNull] string name) + { + Name = name; + } + + [NotNull] + public string Name { get; private set; } + } + + /// + /// Razor attribute. Indicates that a parameter or a method is a Razor section. + /// Use this attribute for custom wrappers similar to + /// System.Web.WebPages.WebPageBase.RenderSection(String) + /// + [AttributeUsage(AttributeTargets.Parameter | AttributeTargets.Method)] + [Conditional("JETBRAINS_ANNOTATIONS")] + public sealed class RazorSectionAttribute : Attribute { } + + /// + /// Indicates how method invocation affects content of the collection + /// + [AttributeUsage(AttributeTargets.Method)] + [Conditional("JETBRAINS_ANNOTATIONS")] + public sealed class CollectionAccessAttribute : Attribute + { + public CollectionAccessAttribute(CollectionAccessType collectionAccessType) + { + CollectionAccessType = collectionAccessType; + } + + public CollectionAccessType CollectionAccessType { get; private set; } + } + + [Flags] + public enum CollectionAccessType + { + /// Method does not use or modify content of the collection + None = 0, + /// Method only reads content of the collection but does not modify it + Read = 1, + /// Method can change content of the collection but does not add new elements + ModifyExistingContent = 2, + /// Method can add new elements to the collection + UpdatedContent = ModifyExistingContent | 4 + } + + /// + /// Indicates that the marked method is assertion method, i.e. it halts control flow if + /// one of the conditions is satisfied. To set the condition, mark one of the parameters with + /// attribute + /// + [AttributeUsage(AttributeTargets.Method)] + [Conditional("JETBRAINS_ANNOTATIONS")] + public sealed class AssertionMethodAttribute : Attribute { } + + /// + /// Indicates the condition parameter of the assertion method. The method itself should be + /// marked by attribute. The mandatory argument of + /// the attribute is the assertion type. + /// + [AttributeUsage(AttributeTargets.Parameter)] + [Conditional("JETBRAINS_ANNOTATIONS")] + public sealed class AssertionConditionAttribute : Attribute + { + public AssertionConditionAttribute(AssertionConditionType conditionType) + { + ConditionType = conditionType; + } + + public AssertionConditionType ConditionType { get; private set; } + } + + /// + /// Specifies assertion type. If the assertion method argument satisfies the condition, + /// then the execution continues. Otherwise, execution is assumed to be halted + /// + public enum AssertionConditionType + { + /// Marked parameter should be evaluated to true + IS_TRUE = 0, + /// Marked parameter should be evaluated to false + IS_FALSE = 1, + /// Marked parameter should be evaluated to null value + IS_NULL = 2, + /// Marked parameter should be evaluated to not null value + IS_NOT_NULL = 3, + } + + /// + /// Indicates that the marked method unconditionally terminates control flow execution. + /// For example, it could unconditionally throw exception + /// + [Obsolete("Use [ContractAnnotation('=> halt')] instead")] + [AttributeUsage(AttributeTargets.Method)] + [Conditional("JETBRAINS_ANNOTATIONS")] + public sealed class TerminatesProgramAttribute : Attribute { } + + /// + /// Indicates that method is pure LINQ method, with postponed enumeration (like Enumerable.Select, + /// .Where). This annotation allows inference of [InstantHandle] annotation for parameters + /// of delegate type by analyzing LINQ method chains. + /// + [AttributeUsage(AttributeTargets.Method)] + [Conditional("JETBRAINS_ANNOTATIONS")] + public sealed class LinqTunnelAttribute : Attribute { } + + /// + /// Indicates that IEnumerable, passed as parameter, is not enumerated. + /// + [AttributeUsage(AttributeTargets.Parameter)] + [Conditional("JETBRAINS_ANNOTATIONS")] + public sealed class NoEnumerationAttribute : Attribute { } + + /// + /// Indicates that parameter is regular expression pattern. + /// + [AttributeUsage(AttributeTargets.Parameter)] + [Conditional("JETBRAINS_ANNOTATIONS")] + public sealed class RegexPatternAttribute : Attribute { } + + /// + /// XAML attribute. Indicates the type that has ItemsSource property and should be + /// treated as ItemsControl-derived type, to enable inner items DataContext + /// type resolve. + /// + [AttributeUsage(AttributeTargets.Class)] + [Conditional("JETBRAINS_ANNOTATIONS")] + public sealed class XamlItemsControlAttribute : Attribute { } + + /// + /// XAML attibute. Indicates the property of some BindingBase-derived type, that + /// is used to bind some item of ItemsControl-derived type. This annotation will + /// enable the DataContext type resolve for XAML bindings for such properties. + /// + /// + /// Property should have the tree ancestor of the ItemsControl type or + /// marked with the attribute. + /// + [AttributeUsage(AttributeTargets.Property)] + [Conditional("JETBRAINS_ANNOTATIONS")] + public sealed class XamlItemBindingOfItemsControlAttribute : Attribute { } + + [AttributeUsage(AttributeTargets.Class, AllowMultiple = true)] + [Conditional("JETBRAINS_ANNOTATIONS")] + public sealed class AspChildControlTypeAttribute : Attribute + { + public AspChildControlTypeAttribute(string tagName, Type controlType) + { + TagName = tagName; + ControlType = controlType; + } + + public string TagName { get; private set; } + public Type ControlType { get; private set; } + } + + [AttributeUsage(AttributeTargets.Property | AttributeTargets.Method)] + [Conditional("JETBRAINS_ANNOTATIONS")] + public sealed class AspDataFieldAttribute : Attribute { } + + [AttributeUsage(AttributeTargets.Property | AttributeTargets.Method)] + [Conditional("JETBRAINS_ANNOTATIONS")] + public sealed class AspDataFieldsAttribute : Attribute { } + + [AttributeUsage(AttributeTargets.Property)] + [Conditional("JETBRAINS_ANNOTATIONS")] + public sealed class AspMethodPropertyAttribute : Attribute { } + + [AttributeUsage(AttributeTargets.Class, AllowMultiple = true)] + [Conditional("JETBRAINS_ANNOTATIONS")] + public sealed class AspRequiredAttributeAttribute : Attribute + { + public AspRequiredAttributeAttribute([NotNull] string attribute) + { + Attribute = attribute; + } + + public string Attribute { get; private set; } + } + + [AttributeUsage(AttributeTargets.Property)] + [Conditional("JETBRAINS_ANNOTATIONS")] + public sealed class AspTypePropertyAttribute : Attribute + { + public bool CreateConstructorReferences { get; private set; } + + public AspTypePropertyAttribute(bool createConstructorReferences) + { + CreateConstructorReferences = createConstructorReferences; + } + } + + [AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)] + [Conditional("JETBRAINS_ANNOTATIONS")] + public sealed class RazorImportNamespaceAttribute : Attribute + { + public RazorImportNamespaceAttribute(string name) + { + Name = name; + } + + public string Name { get; private set; } + } + + [AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)] + [Conditional("JETBRAINS_ANNOTATIONS")] + public sealed class RazorInjectionAttribute : Attribute + { + public RazorInjectionAttribute(string type, string fieldName) + { + Type = type; + FieldName = fieldName; + } + + public string Type { get; private set; } + public string FieldName { get; private set; } + } + + [AttributeUsage(AttributeTargets.Method)] + [Conditional("JETBRAINS_ANNOTATIONS")] + public sealed class RazorHelperCommonAttribute : Attribute { } + + [AttributeUsage(AttributeTargets.Property)] + [Conditional("JETBRAINS_ANNOTATIONS")] + public sealed class RazorLayoutAttribute : Attribute { } + + [AttributeUsage(AttributeTargets.Method)] + [Conditional("JETBRAINS_ANNOTATIONS")] + public sealed class RazorWriteLiteralMethodAttribute : Attribute { } + + [AttributeUsage(AttributeTargets.Method)] + [Conditional("JETBRAINS_ANNOTATIONS")] + public sealed class RazorWriteMethodAttribute : Attribute { } + + [AttributeUsage(AttributeTargets.Parameter)] + [Conditional("JETBRAINS_ANNOTATIONS")] + public sealed class RazorWriteMethodParameterAttribute : Attribute { } + + /// + /// Prevents the Member Reordering feature from tossing members of the marked class. + /// + /// + /// The attribute must be mentioned in your member reordering patterns. + /// + [AttributeUsage(AttributeTargets.All)] + [Conditional("JETBRAINS_ANNOTATIONS")] + public sealed class NoReorder : Attribute { } +} + +#endif diff --git a/Assets/StompyRobot/SRF/External/Jetbrains.Annotations.cs.meta b/Assets/StompyRobot/SRF/External/Jetbrains.Annotations.cs.meta new file mode 100644 index 0000000..feaeaf0 --- /dev/null +++ b/Assets/StompyRobot/SRF/External/Jetbrains.Annotations.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 643a949c9c71dd94a970b2573c29fe67 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRF/External/MiniJSON.cs b/Assets/StompyRobot/SRF/External/MiniJSON.cs new file mode 100644 index 0000000..7b321f1 --- /dev/null +++ b/Assets/StompyRobot/SRF/External/MiniJSON.cs @@ -0,0 +1,626 @@ +/* + * Copyright (c) 2013 Calvin Rien + * + * Based on the JSON parser by Patrick van Bergen + * http://techblog.procurios.nl/k/618/news/view/14605/14863/How-do-I-write-my-own-parser-for-JSON.html + * + * Simplified it so that it doesn't throw exceptions + * and can be used in Unity iPhone with maximum code stripping. + * + * 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. + */ + +using System.Globalization; + +namespace SRF +{ + using System; + using System.Collections; + using System.Collections.Generic; + using System.IO; + using System.Text; + + // Example usage: + // + // using UnityEngine; + // using System.Collections; + // using System.Collections.Generic; + // using MiniJSON; + // + // public class MiniJSONTest : MonoBehaviour { + // void Start () { + // var jsonString = "{ \"array\": [1.44,2,3], " + + // "\"object\": {\"key1\":\"value1\", \"key2\":256}, " + + // "\"string\": \"The quick brown fox \\\"jumps\\\" over the lazy dog \", " + + // "\"unicode\": \"\\u3041 Men\u00fa sesi\u00f3n\", " + + // "\"int\": 65536, " + + // "\"float\": 3.1415926, " + + // "\"bool\": true, " + + // "\"null\": null }"; + // + // var dict = Json.Deserialize(jsonString) as Dictionary; + // + // Debug.Log("deserialized: " + dict.GetType()); + // Debug.Log("dict['array'][0]: " + ((List) dict["array"])[0]); + // Debug.Log("dict['string']: " + (string) dict["string"]); + // Debug.Log("dict['float']: " + (double) dict["float"]); // floats come out as doubles + // Debug.Log("dict['int']: " + (long) dict["int"]); // ints come out as longs + // Debug.Log("dict['unicode']: " + (string) dict["unicode"]); + // + // var str = Json.Serialize(dict); + // + // Debug.Log("serialized: " + str); + // } + // } + + /// + /// This class encodes and decodes JSON strings. + /// Spec. details, see http://www.json.org/ + /// JSON uses Arrays and Objects. These correspond here to the datatypes IList and IDictionary. + /// All numbers are parsed to doubles. + /// + public static class Json + { + /// + /// Parses the string json into a value + /// + /// A JSON string. + /// An List<object>, a Dictionary<string, object>, a double, an integer,a string, null, true, or false + public static object Deserialize(string json) + { + // save the string for debug information + if (json == null) + { + return null; + } + + return Parser.Parse(json); + } + + /// + /// Converts a IDictionary / IList object or a simple type (string, int, etc.) into a JSON string + /// + /// A Dictionary<string, object> / List<object> + /// A JSON encoded string, or null if object 'json' is not serializable + public static string Serialize(object obj) + { + return Serializer.Serialize(obj); + } + + private sealed class Parser : IDisposable + { + private const string WORD_BREAK = "{}[],:\""; + private StringReader json; + + private Parser(string jsonString) + { + json = new StringReader(jsonString); + } + + private char PeekChar + { + get { return Convert.ToChar(json.Peek()); } + } + + private char NextChar + { + get { return Convert.ToChar(json.Read()); } + } + + private string NextWord + { + get + { + var word = new StringBuilder(); + + while (!IsWordBreak(PeekChar)) + { + word.Append(NextChar); + + if (json.Peek() == -1) + { + break; + } + } + + return word.ToString(); + } + } + + private TOKEN NextToken + { + get + { + EatWhitespace(); + + if (json.Peek() == -1) + { + return TOKEN.NONE; + } + + switch (PeekChar) + { + case '{': + return TOKEN.CURLY_OPEN; + case '}': + json.Read(); + return TOKEN.CURLY_CLOSE; + case '[': + return TOKEN.SQUARED_OPEN; + case ']': + json.Read(); + return TOKEN.SQUARED_CLOSE; + case ',': + json.Read(); + return TOKEN.COMMA; + case '"': + return TOKEN.STRING; + case ':': + return TOKEN.COLON; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + case '-': + return TOKEN.NUMBER; + } + + switch (NextWord) + { + case "false": + return TOKEN.FALSE; + case "true": + return TOKEN.TRUE; + case "null": + return TOKEN.NULL; + } + + return TOKEN.NONE; + } + } + + public void Dispose() + { + json.Dispose(); + json = null; + } + + public static bool IsWordBreak(char c) + { + return char.IsWhiteSpace(c) || WORD_BREAK.IndexOf(c) != -1; + } + + public static object Parse(string jsonString) + { + using (var instance = new Parser(jsonString)) + { + return instance.ParseValue(); + } + } + + private Dictionary ParseObject() + { + var table = new Dictionary(); + + // ditch opening brace + json.Read(); + + // { + while (true) + { + switch (NextToken) + { + case TOKEN.NONE: + return null; + case TOKEN.COMMA: + continue; + case TOKEN.CURLY_CLOSE: + return table; + default: + // name + var name = ParseString(); + if (name == null) + { + return null; + } + + // : + if (NextToken != TOKEN.COLON) + { + return null; + } + // ditch the colon + json.Read(); + + // value + table[name] = ParseValue(); + break; + } + } + } + + private List ParseArray() + { + var array = new List(); + + // ditch opening bracket + json.Read(); + + // [ + var parsing = true; + while (parsing) + { + var nextToken = NextToken; + + switch (nextToken) + { + case TOKEN.NONE: + return null; + case TOKEN.COMMA: + continue; + case TOKEN.SQUARED_CLOSE: + parsing = false; + break; + default: + var value = ParseByToken(nextToken); + + array.Add(value); + break; + } + } + + return array; + } + + private object ParseValue() + { + var nextToken = NextToken; + return ParseByToken(nextToken); + } + + private object ParseByToken(TOKEN token) + { + switch (token) + { + case TOKEN.STRING: + return ParseString(); + case TOKEN.NUMBER: + return ParseNumber(); + case TOKEN.CURLY_OPEN: + return ParseObject(); + case TOKEN.SQUARED_OPEN: + return ParseArray(); + case TOKEN.TRUE: + return true; + case TOKEN.FALSE: + return false; + case TOKEN.NULL: + return null; + default: + return null; + } + } + + private string ParseString() + { + var s = new StringBuilder(); + char c; + + // ditch opening quote + json.Read(); + + var parsing = true; + while (parsing) + { + if (json.Peek() == -1) + { + parsing = false; + break; + } + + c = NextChar; + switch (c) + { + case '"': + parsing = false; + break; + case '\\': + if (json.Peek() == -1) + { + parsing = false; + break; + } + + c = NextChar; + switch (c) + { + case '"': + case '\\': + case '/': + s.Append(c); + break; + case 'b': + s.Append('\b'); + break; + case 'f': + s.Append('\f'); + break; + case 'n': + s.Append('\n'); + break; + case 'r': + s.Append('\r'); + break; + case 't': + s.Append('\t'); + break; + case 'u': + var hex = new char[4]; + + for (var i = 0; i < 4; i++) + { + hex[i] = NextChar; + } + + s.Append((char) Convert.ToInt32(new string(hex), 16)); + break; + } + break; + default: + s.Append(c); + break; + } + } + + return s.ToString(); + } + + private object ParseNumber() + { + var number = NextWord; + + if (number.IndexOf('.') == -1) + { + long parsedInt; + long.TryParse(number, out parsedInt); + return parsedInt; + } + + double parsedDouble; + double.TryParse(number, out parsedDouble); + return parsedDouble; + } + + private void EatWhitespace() + { + while (char.IsWhiteSpace(PeekChar)) + { + json.Read(); + + if (json.Peek() == -1) + { + break; + } + } + } + + private enum TOKEN + { + NONE, + CURLY_OPEN, + CURLY_CLOSE, + SQUARED_OPEN, + SQUARED_CLOSE, + COLON, + COMMA, + STRING, + NUMBER, + TRUE, + FALSE, + NULL + }; + } + + private sealed class Serializer + { + private StringBuilder builder; + + private Serializer() + { + builder = new StringBuilder(); + } + + public static string Serialize(object obj) + { + var instance = new Serializer(); + + instance.SerializeValue(obj); + + return instance.builder.ToString(); + } + + private void SerializeValue(object value) + { + IList asList; + IDictionary asDict; + string asStr; + + if (value == null) + { + builder.Append("null"); + } + else if ((asStr = value as string) != null) + { + SerializeString(asStr); + } + else if (value is bool) + { + builder.Append((bool) value ? "true" : "false"); + } + else if ((asList = value as IList) != null) + { + SerializeArray(asList); + } + else if ((asDict = value as IDictionary) != null) + { + SerializeObject(asDict); + } + else if (value is char) + { + SerializeString(new string((char) value, 1)); + } + else + { + SerializeOther(value); + } + } + + private void SerializeObject(IDictionary obj) + { + var first = true; + + builder.Append('{'); + + foreach (var e in obj.Keys) + { + if (!first) + { + builder.Append(','); + } + + SerializeString(e.ToString()); + builder.Append(':'); + + SerializeValue(obj[e]); + + first = false; + } + + builder.Append('}'); + } + + private void SerializeArray(IList anArray) + { + builder.Append('['); + + var first = true; + + foreach (var obj in anArray) + { + if (!first) + { + builder.Append(','); + } + + SerializeValue(obj); + + first = false; + } + + builder.Append(']'); + } + + private void SerializeString(string str) + { + builder.Append('\"'); + + var charArray = str.ToCharArray(); + foreach (var c in charArray) + { + switch (c) + { + case '"': + builder.Append("\\\""); + break; + case '\\': + builder.Append("\\\\"); + break; + case '\b': + builder.Append("\\b"); + break; + case '\f': + builder.Append("\\f"); + break; + case '\n': + builder.Append("\\n"); + break; + case '\r': + builder.Append("\\r"); + break; + case '\t': + builder.Append("\\t"); + break; + default: + var codepoint = Convert.ToInt32(c); + if ((codepoint >= 32) && (codepoint <= 126)) + { + builder.Append(c); + } + else + { + builder.Append("\\u"); + builder.Append(codepoint.ToString("x4")); + } + break; + } + } + + builder.Append('\"'); + } + + private void SerializeOther(object value) + { + // NOTE: decimals lose precision during serialization. + // They always have, I'm just letting you know. + // Previously floats and doubles lost precision too. + if (value is float) + { + builder.Append(((float) value).ToString("R", CultureInfo.InvariantCulture)); + } + else if (value is int + || value is uint + || value is long + || value is sbyte + || value is byte + || value is short + || value is ushort + || value is ulong) + { + builder.Append(value); + } + else if (value is double + || value is decimal) + { + builder.Append(Convert.ToDouble(value).ToString("R", CultureInfo.InvariantCulture)); + } + else + { + SerializeString(value.ToString()); + } + } + } + } +} diff --git a/Assets/StompyRobot/SRF/External/MiniJSON.cs.meta b/Assets/StompyRobot/SRF/External/MiniJSON.cs.meta new file mode 100644 index 0000000..761ab54 --- /dev/null +++ b/Assets/StompyRobot/SRF/External/MiniJSON.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ac9ef7034b8966443b1c264ec9cf4cdd +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRF/Internal.meta b/Assets/StompyRobot/SRF/Internal.meta new file mode 100644 index 0000000..5380f3b --- /dev/null +++ b/Assets/StompyRobot/SRF/Internal.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: c843948cd30ff504ca75040138c14ed9 +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/StompyRobot/SRF/Internal/ComponentMenuPaths.cs b/Assets/StompyRobot/SRF/Internal/ComponentMenuPaths.cs new file mode 100644 index 0000000..dd84f5a --- /dev/null +++ b/Assets/StompyRobot/SRF/Internal/ComponentMenuPaths.cs @@ -0,0 +1,81 @@ +namespace SRF.Internal +{ + internal static class ComponentMenuPaths + { + public const string PathRoot = "SRF"; + public const string SRServiceManager = PathRoot + "/Service/Service Manager"; + + #region Behaviours + + public const string BehavioursRoot = PathRoot + "/Behaviours"; + + public const string DestroyOnDisable = BehavioursRoot + "/Destroy On Disable"; + public const string DontDestroyOnLoad = BehavioursRoot + "/Don't Destroy On Load"; + public const string MatchTransform = BehavioursRoot + "/Match Transform"; + public const string LookAt = BehavioursRoot + "/LookAt"; + public const string MatchForwardDirection = BehavioursRoot + "/Match Forward Direction"; + public const string MatchMainCameraForwardDirection = BehavioursRoot + "/Match Forward Direction (Main Camera)"; + + public const string RuntimePosition = BehavioursRoot + "/Runtime Position"; + public const string ScrollTexture = BehavioursRoot + "/Scroll Texture"; + public const string SmoothFloatBehaviour = BehavioursRoot + "/Smooth Float"; + public const string SmoothFollow2D = BehavioursRoot + "/Smooth Follow (2D)"; + public const string SpringFollow = BehavioursRoot + "/Spring Follow"; + public const string SmoothMatchTransform = BehavioursRoot + "/Match Transform (Smooth)"; + public const string SpawnPrefab = BehavioursRoot + "/Spawn Prefab"; + public const string Velocity = BehavioursRoot + "/Velocity"; + + public const string SmoothOscillate = BehavioursRoot + "/Smooth Oscillate"; + + public const string SRDebugCamera = BehavioursRoot + "/Camera/SRDebugCamera"; + + #endregion + + #region Components + + public const string ComponentsRoot = PathRoot + "/Components"; + + public const string SRLineRenderer = ComponentsRoot + "/SRLineRenderer"; + public const string SelectionRoot = ComponentsRoot + "/Selection Root"; + + public const string SRSpriteFadeRenderer = ComponentsRoot + "/Fade Renderer (Sprite)"; + public const string SRMaterialFadeRenderer = ComponentsRoot + "/Fade Renderer (Material)"; + public const string SRCompositeFadeRenderer = ComponentsRoot + "/Fade Renderer (Composite)"; + + #endregion + + #region UI + + public const string UIRoot = PathRoot + "/UI"; + + public const string TiltOnTouch = UIRoot + "/Tilt On Touch"; + public const string ScaleOnTouch = UIRoot + "/Scale On Touch"; + public const string InheritColour = UIRoot + "/Inherit Colour"; + public const string FlashGraphic = UIRoot + "/Flash Graphic"; + public const string CopyPreferredSize = UIRoot + "/Copy Preferred Size"; + public const string CopyPreferredSizes = UIRoot + "/Copy Preferred Size (Multiple)"; + public const string CopyLayoutElement = UIRoot + "/Copy Layout Element"; + public const string CopySizeIntoLayoutElement = UIRoot + "/Copy Size Into Layout Element"; + public const string SRText = UIRoot + "/SRText"; + public const string Unselectable = UIRoot + "/Unselectable"; + public const string LongPressButton = UIRoot + "/Long Press Button"; + public const string ScrollToBottom = UIRoot + "/Scroll To Bottom Behaviour"; + + public const string FlowLayoutGroup = UIRoot + "/Layout/Flow Layout Group"; + public const string VirtualVerticalLayoutGroup = UIRoot + "/Layout/VerticalLayoutGroup (Virtualizing)"; + + public const string StyleRoot = UIRoot + "/Style Root"; + public const string StyleComponent = UIRoot + "/Style Component"; + + public const string ResponsiveEnable = UIRoot + "/Responsive (Enable)"; + public const string ResponsiveResize = UIRoot + "/Responsive (Resize)"; + + public const string RetinaScaler = UIRoot + "/Retina Scaler"; + public const string NumberButton = UIRoot + "/SRNumberButton"; + public const string NumberSpinner = UIRoot + "/SRNumberSpinner"; + public const string SRSpinner = UIRoot + "/Spinner"; + public const string ContentFitText = UIRoot + "/Content Fit Text"; + + #endregion + } +} diff --git a/Assets/StompyRobot/SRF/Internal/ComponentMenuPaths.cs.meta b/Assets/StompyRobot/SRF/Internal/ComponentMenuPaths.cs.meta new file mode 100644 index 0000000..243d4ae --- /dev/null +++ b/Assets/StompyRobot/SRF/Internal/ComponentMenuPaths.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5483729387663d0428dfecd534652360 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRF/LICENSE b/Assets/StompyRobot/SRF/LICENSE new file mode 100644 index 0000000..d16fab3 --- /dev/null +++ b/Assets/StompyRobot/SRF/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2014 Stompy Robot LTD + +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. \ No newline at end of file diff --git a/Assets/StompyRobot/SRF/LICENSE.meta b/Assets/StompyRobot/SRF/LICENSE.meta new file mode 100644 index 0000000..d385cdd --- /dev/null +++ b/Assets/StompyRobot/SRF/LICENSE.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 8bd9e7d9842a77042bf5a124af70a142 +DefaultImporter: + userData: diff --git a/Assets/StompyRobot/SRF/README.md b/Assets/StompyRobot/SRF/README.md new file mode 100644 index 0000000..a108738 --- /dev/null +++ b/Assets/StompyRobot/SRF/README.md @@ -0,0 +1,12 @@ +SRF (Stompy Robot Framework) +=== + +This is a stripped-down LITE version of SRF, containing the minimal necessary scripts for SRDebugger. Visit http://github.com/StompyRobot/SRF for the full version. + + +SRF contains numerious helpful behaviours and components for the Unity3D game engine that we use internally at Stompy Robot. We have made it available for anyone to use in their own games. + +Dependencies +== +SRF depends on the following libraries, which are included in the External folder +* MiniJSON \ No newline at end of file diff --git a/Assets/StompyRobot/SRF/README.md.meta b/Assets/StompyRobot/SRF/README.md.meta new file mode 100644 index 0000000..dcf6599 --- /dev/null +++ b/Assets/StompyRobot/SRF/README.md.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 5c4f30500bf5ea74da5892d0e5a19f55 +DefaultImporter: + userData: diff --git a/Assets/StompyRobot/SRF/Scripts.meta b/Assets/StompyRobot/SRF/Scripts.meta new file mode 100644 index 0000000..1bab978 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: d6dccedcbd04a634ba6919a7a6a53912 +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/StompyRobot/SRF/Scripts/Collections.meta b/Assets/StompyRobot/SRF/Scripts/Collections.meta new file mode 100644 index 0000000..d7569df --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/Collections.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 713ffa030c417a84190555e6aef2e0b2 +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/StompyRobot/SRF/Scripts/Collections/SRList.cs b/Assets/StompyRobot/SRF/Scripts/Collections/SRList.cs new file mode 100644 index 0000000..be1a27a --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/Collections/SRList.cs @@ -0,0 +1,346 @@ +namespace SRF +{ + using System; + using System.Collections; + using System.Collections.Generic; + using System.Collections.ObjectModel; + using UnityEngine; + + /// + /// IList implementation which does not release the buffer when clearing/removing elements. Based on the NGUI BetterList + /// + [Serializable] + public class SRList : IList, ISerializationCallbackReceiver + { + [SerializeField] private T[] _buffer; + [SerializeField] private int _count; + private EqualityComparer _equalityComparer; + private ReadOnlyCollection _readOnlyWrapper; + public SRList() {} + + public SRList(int capacity) + { + Buffer = new T[capacity]; + } + + /// + /// Create a new list with the range of values. Contains a foreach loop, which will allocate garbage when used with most + /// generic collection types. + /// + public SRList(IEnumerable source) + { + AddRange(source); + } + + public T[] Buffer + { + get { return _buffer; } + private set { _buffer = value; } + } + + private EqualityComparer EqualityComparer + { + get + { + if (_equalityComparer == null) + { + _equalityComparer = EqualityComparer.Default; + } + + return _equalityComparer; + } + } + + public int Count + { + get { return _count; } + private set { _count = value; } + } + + public IEnumerator GetEnumerator() + { + if (Buffer != null) + { + for (var i = 0; i < Count; ++i) + { + yield return Buffer[i]; + } + } + } + + IEnumerator IEnumerable.GetEnumerator() + { + return GetEnumerator(); + } + + public void Add(T item) + { + if (Buffer == null || Count == Buffer.Length) + { + Expand(); + } + + Buffer[Count++] = item; + } + + public void Clear() + { + Count = 0; + } + + public bool Contains(T item) + { + if (Buffer == null) + { + return false; + } + + for (var i = 0; i < Count; ++i) + { + if (EqualityComparer.Equals(Buffer[i], item)) + { + return true; + } + } + + return false; + } + + public void CopyTo(T[] array, int arrayIndex) + { + Trim(); + Buffer.CopyTo(array, arrayIndex); + } + + public bool Remove(T item) + { + if (Buffer == null) + { + return false; + } + + var index = IndexOf(item); + + if (index < 0) + { + return false; + } + + RemoveAt(index); + + return true; + } + + public bool IsReadOnly + { + get { return false; } + } + + public int IndexOf(T item) + { + if (Buffer == null) + { + return -1; + } + + for (var i = 0; i < Count; ++i) + { + if (EqualityComparer.Equals(Buffer[i], item)) + { + return i; + } + } + + return -1; + } + + public void Insert(int index, T item) + { + if (Buffer == null || Count == Buffer.Length) + { + Expand(); + } + + if (index < Count) + { + for (var i = Count; i > index; --i) + { + Buffer[i] = Buffer[i - 1]; + } + Buffer[index] = item; + ++Count; + } + else + { + Add(item); + } + } + + public void RemoveAt(int index) + { + if (Buffer != null && index < Count) + { + --Count; + Buffer[index] = default(T); + for (var b = index; b < Count; ++b) + { + Buffer[b] = Buffer[b + 1]; + } + } + } + + public T this[int index] + { + get + { + if (Buffer == null) + { + throw new IndexOutOfRangeException(); + } + + return Buffer[index]; + } + set + { + if (Buffer == null) + { + throw new IndexOutOfRangeException(); + } + + Buffer[index] = value; + } + } + + public void OnBeforeSerialize() + { + // Clean buffer of unused elements before serializing + Clean(); + } + + public void OnAfterDeserialize() + { + } + + /// + /// Add range of values to the list. Contains a foreach loop, which will allocate garbage when used with most + /// generic collection types. + /// + /// + public void AddRange(IEnumerable range) + { + foreach (var item in range) + { + Add(item); + } + } + + /// + /// Clear the list, optionally setting each element to default(T) + /// + public void Clear(bool clean) + { + Clear(); + + if (!clean) + { + return; + } + + Clean(); + } + + public void Clean() + { + if (Buffer == null) + { + return; + } + + for (var i = Count; i < _buffer.Length; i++) + { + _buffer[i] = default(T); + } + } + + /// + /// Get a read-only wrapper of this list. This is cached, so very little cost after first called. + /// + /// + public ReadOnlyCollection AsReadOnly() + { + if (_readOnlyWrapper == null) + { + _readOnlyWrapper = new ReadOnlyCollection(this); + } + + return _readOnlyWrapper; + } + + /// + /// Helper function that expands the size of the array, maintaining the content. + /// + private void Expand() + { + var newList = (Buffer != null) ? new T[Mathf.Max(Buffer.Length << 1, 32)] : new T[32]; + + if (Buffer != null && Count > 0) + { + Buffer.CopyTo(newList, 0); + } + + Buffer = newList; + } + + /// + /// Trim the unnecessary memory, resizing the buffer to be of 'Length' size. + /// Call this function only if you are sure that the buffer won't need to resize anytime soon. + /// + public void Trim() + { + if (Count > 0) + { + if (Count >= Buffer.Length) + { + return; + } + + var newList = new T[Count]; + + for (var i = 0; i < Count; ++i) + { + newList[i] = Buffer[i]; + } + + Buffer = newList; + } + else + { + Buffer = new T[0]; + } + } + + /// + /// List.Sort equivalent. + /// + public void Sort(Comparison comparer) + { + var changed = true; + + while (changed) + { + changed = false; + + for (var i = 1; i < Count; ++i) + { + if (comparer.Invoke(Buffer[i - 1], Buffer[i]) > 0) + { + var temp = Buffer[i]; + Buffer[i] = Buffer[i - 1]; + Buffer[i - 1] = temp; + changed = true; + } + } + } + } + } +} diff --git a/Assets/StompyRobot/SRF/Scripts/Collections/SRList.cs.meta b/Assets/StompyRobot/SRF/Scripts/Collections/SRList.cs.meta new file mode 100644 index 0000000..f27d3b6 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/Collections/SRList.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5201015973137a64986d1c3a21aa95bd +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRF/Scripts/Components.meta b/Assets/StompyRobot/SRF/Scripts/Components.meta new file mode 100644 index 0000000..8087f2c --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/Components.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: b492ab4aeb29c06468a92411414d3647 +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/StompyRobot/SRF/Scripts/Components/SRAutoSingleton.cs b/Assets/StompyRobot/SRF/Scripts/Components/SRAutoSingleton.cs new file mode 100644 index 0000000..03b36b0 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/Components/SRAutoSingleton.cs @@ -0,0 +1,74 @@ +namespace SRF.Components +{ + using System.Diagnostics; + using UnityEngine; + using Debug = UnityEngine.Debug; + + /// + /// Singleton MonoBehaviour class which automatically creates an instance if one does not already exist. + /// + public abstract class SRAutoSingleton : SRMonoBehaviour where T : SRAutoSingleton + { + private static T _instance; + + /// + /// Get (or create) the instance of this Singleton + /// + public static T Instance + { + [DebuggerStepThrough] + get + { + // Instance required for the first time, we look for it + if (_instance == null && Application.isPlaying) + { +#if UNITY_EDITOR + // Support reloading scripts after a recompile - static reference will be cleared, but we can find it again. + T autoSingleton = FindObjectOfType(); + if (autoSingleton != null) + { + _instance = autoSingleton; + return _instance; + } +#endif + + var go = new GameObject("_" + typeof (T).Name); + go.AddComponent(); // _instance set by Awake() constructor + } + return _instance; + } + } + + public static bool HasInstance + { + get { return _instance != null; } + } + + // If no other monobehaviour request the instance in an awake function + // executing before this one, no need to search the object. + protected virtual void Awake() + { + if (_instance != null) + { + Debug.LogWarning("More than one singleton object of type {0} exists.".Fmt(typeof (T).Name)); + return; + } + + _instance = (T) this; + } + + protected virtual void OnEnable() + { +#if UNITY_EDITOR + // Restore reference after C# recompile. + _instance = (T) this; +#endif + } + + // Make sure the instance isn't referenced anymore when the user quit, just in case. + private void OnApplicationQuit() + { + _instance = null; + } + } +} diff --git a/Assets/StompyRobot/SRF/Scripts/Components/SRAutoSingleton.cs.meta b/Assets/StompyRobot/SRF/Scripts/Components/SRAutoSingleton.cs.meta new file mode 100644 index 0000000..aae5ce3 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/Components/SRAutoSingleton.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 73f72db4fa1856540bbe92740280c8e2 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRF/Scripts/Components/SRMonoBehaviour.cs b/Assets/StompyRobot/SRF/Scripts/Components/SRMonoBehaviour.cs new file mode 100644 index 0000000..e50fcc5 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/Components/SRMonoBehaviour.cs @@ -0,0 +1,202 @@ +namespace SRF +{ + using System.Diagnostics; + using UnityEngine; + + /// + /// Base MonoBehaviour which provides useful common functionality + /// + public abstract class SRMonoBehaviour : MonoBehaviour + { + /// + /// Get the Transform component, using a cached reference if possible. + /// + public Transform CachedTransform + { + [DebuggerStepThrough] + [DebuggerNonUserCode] + get + { + if (_transform == null) + { + _transform = base.transform; + } + + return _transform; + } + } + + /// + /// Get the Collider component, using a cached reference if possible. + /// + public Collider CachedCollider + { + [DebuggerStepThrough] + [DebuggerNonUserCode] + get + { + if (_collider == null) + { + _collider = GetComponent(); + } + + return _collider; + } + } + + /// + /// Get the Collider component, using a cached reference if possible. + /// + public Collider2D CachedCollider2D + { + [DebuggerStepThrough] + [DebuggerNonUserCode] + get + { + if (_collider2D == null) + { + _collider2D = GetComponent(); + } + + return _collider2D; + } + } + + /// + /// Get the Rigidbody component, using a cached reference if possible. + /// + public Rigidbody CachedRigidBody + { + [DebuggerStepThrough] + [DebuggerNonUserCode] + get + { + if (_rigidBody == null) + { + _rigidBody = GetComponent(); + } + + return _rigidBody; + } + } + + /// + /// Get the Rigidbody2D component, using a cached reference if possible. + /// + public Rigidbody2D CachedRigidBody2D + { + [DebuggerStepThrough] + [DebuggerNonUserCode] + get + { + if (_rigidbody2D == null) + { + _rigidbody2D = GetComponent(); + } + + return _rigidbody2D; + } + } + + /// + /// Get the GameObject this behaviour is attached to, using a cached reference if possible. + /// + public GameObject CachedGameObject + { + [DebuggerStepThrough] + [DebuggerNonUserCode] + get + { + if (_gameObject == null) + { + _gameObject = base.gameObject; + } + + return _gameObject; + } + } + + // Override existing getters for legacy usage + + // ReSharper disable InconsistentNaming + public new Transform transform + { + get { return CachedTransform; } + } + +#if !UNITY_5 && !UNITY_2017_1_OR_NEWER + + public new Collider collider + { + get { return CachedCollider; } + } + public new Collider2D collider2D + { + get { return CachedCollider2D; } + } + public new Rigidbody rigidbody + { + get { return CachedRigidBody; } + } + public new Rigidbody2D rigidbody2D + { + get { return CachedRigidBody2D; } + } + public new GameObject gameObject + { + get { return CachedGameObject; } + } + +#endif + + // ReSharper restore InconsistentNaming + + private Collider _collider; + private Transform _transform; + private Rigidbody _rigidBody; + private GameObject _gameObject; + private Rigidbody2D _rigidbody2D; + private Collider2D _collider2D; + + /// + /// Assert that the value is not null, disable the object and print a debug error message if it is. + /// + /// Object to check + /// Debug name to pass in + [DebuggerNonUserCode] + [DebuggerStepThrough] + protected void AssertNotNull(object value, string fieldName = null) + { + SRDebugUtil.AssertNotNull(value, fieldName, this); + } + + [DebuggerNonUserCode] + [DebuggerStepThrough] + protected void Assert(bool condition, string message = null) + { + SRDebugUtil.Assert(condition, message, this); + } + + /// + /// Assert that the value is not null, disable the object and print a debug error message if it is. + /// + /// Object to check + /// Debug name to pass in + /// True if object is not null + [Conditional("UNITY_EDITOR")] + [DebuggerNonUserCode] + [DebuggerStepThrough] + protected void EditorAssertNotNull(object value, string fieldName = null) + { + AssertNotNull(value, fieldName); + } + + [Conditional("UNITY_EDITOR")] + [DebuggerNonUserCode] + [DebuggerStepThrough] + protected void EditorAssert(bool condition, string message = null) + { + Assert(condition, message); + } + } +} diff --git a/Assets/StompyRobot/SRF/Scripts/Components/SRMonoBehaviour.cs.meta b/Assets/StompyRobot/SRF/Scripts/Components/SRMonoBehaviour.cs.meta new file mode 100644 index 0000000..0d27a07 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/Components/SRMonoBehaviour.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a97a8611d5d683b4aa89a5054bc3774e +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRF/Scripts/Components/SRMonoBehaviourEx.cs b/Assets/StompyRobot/SRF/Scripts/Components/SRMonoBehaviourEx.cs new file mode 100644 index 0000000..19a18f9 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/Components/SRMonoBehaviourEx.cs @@ -0,0 +1,215 @@ +// ReSharper disable once RedundantUsingDirective +using System.Linq; + +namespace SRF +{ + using System; + using System.Collections.Generic; + using System.Reflection; + using Helpers; + using Service; + using UnityEngine; + + [AttributeUsage(AttributeTargets.Class | AttributeTargets.Field)] + public sealed class RequiredFieldAttribute : Attribute + { + private bool _autoCreate; + private bool _autoSearch; + private bool _editorOnly = true; + + public RequiredFieldAttribute(bool autoSearch) + { + AutoSearch = autoSearch; + } + + public RequiredFieldAttribute() {} + + public bool AutoSearch + { + get { return _autoSearch; } + set { _autoSearch = value; } + } + + public bool AutoCreate + { + get { return _autoCreate; } + set { _autoCreate = value; } + } + + [Obsolete] + public bool EditorOnly + { + get { return _editorOnly; } + set { _editorOnly = value; } + } + } + + /// + /// Add to a field to attempt to use SRServiceManager to get an instance of the field type + /// + [AttributeUsage(AttributeTargets.Field)] + public class ImportAttribute : Attribute + { + public readonly Type Service; + public ImportAttribute() {} + + public ImportAttribute(Type serviceType) + { + Service = serviceType; + } + } + + public abstract class SRMonoBehaviourEx : SRMonoBehaviour + { + private static Dictionary> _checkedFields; + + private static void CheckFields(SRMonoBehaviourEx instance, bool justSet = false) + { + if (_checkedFields == null) + { + _checkedFields = new Dictionary>(); + } + + var t = instance.GetType(); + + IList cache; + + if (!_checkedFields.TryGetValue(instance.GetType(), out cache)) + { + cache = ScanType(t); + + _checkedFields.Add(t, cache); + } + + PopulateObject(cache, instance, justSet); + } + + private static void PopulateObject(IList cache, SRMonoBehaviourEx instance, bool justSet) + { + for (var i = 0; i < cache.Count; i++) + { + var f = cache[i]; + + if (!EqualityComparer.Default.Equals(f.Field.GetValue(instance), null)) + { + continue; + } + + // If import is enabled, use SRServiceManager to import the reference + if (f.Import) + { + var t = f.ImportType ?? f.Field.FieldType; + + var service = SRServiceManager.GetService(t); + + if (service == null) + { + Debug.LogWarning("Field {0} import failed (Type {1})".Fmt(f.Field.Name, t)); + continue; + } + + f.Field.SetValue(instance, service); + + continue; + } + + // If autoset is enabled on field, try and find the component on the GameObject + + if (f.AutoSet) + { + var newValue = instance.GetComponent(f.Field.FieldType); + + if (!EqualityComparer.Default.Equals(newValue, null)) + { + f.Field.SetValue(instance, newValue); + continue; + } + } + + if (justSet) + { + continue; + } + + if (f.AutoCreate) + { + var newValue = instance.CachedGameObject.AddComponent(f.Field.FieldType); + f.Field.SetValue(instance, newValue); + } + + throw new UnassignedReferenceException( + "Field {0} is unassigned, but marked with RequiredFieldAttribute".Fmt(f.Field.Name)); + } + } + + private static List ScanType(Type t) + { + var cache = new List(); + + // Check for attribute added to the class + var globalAttr = SRReflection.GetAttribute(t); + +#if NETFX_CORE + var fields = t.GetTypeInfo().DeclaredFields.Where(f => !f.IsStatic); +#else + // Check each field for the attribute + var fields = t.GetFields(BindingFlags.Public | BindingFlags.Instance | BindingFlags.NonPublic); +#endif + + foreach (var f in fields) + { + var requiredFieldAttribute = SRReflection.GetAttribute(f); + var importAttribute = SRReflection.GetAttribute(f); + + if (globalAttr == null && requiredFieldAttribute == null && importAttribute == null) + { + continue; // Early out if no attributes found. + } + + var info = new FieldInfo(); + info.Field = f; + + if (importAttribute != null) + { + info.Import = true; + info.ImportType = importAttribute.Service; + } + else if (requiredFieldAttribute != null) + { + info.AutoSet = requiredFieldAttribute.AutoSearch; + info.AutoCreate = requiredFieldAttribute.AutoCreate; + } + else + { + info.AutoSet = globalAttr.AutoSearch; + info.AutoCreate = globalAttr.AutoCreate; + } + + cache.Add(info); + } + + return cache; + } + + protected virtual void Awake() + { + CheckFields(this); + } + + protected virtual void Start() {} + protected virtual void Update() {} + protected virtual void FixedUpdate() {} + protected virtual void OnEnable() {} + protected virtual void OnDisable() {} + protected virtual void OnDestroy() {} + + private struct FieldInfo + { + public bool AutoCreate; + public bool AutoSet; + public System.Reflection.FieldInfo Field; + public bool Import; + public Type ImportType; + } + } +} diff --git a/Assets/StompyRobot/SRF/Scripts/Components/SRMonoBehaviourEx.cs.meta b/Assets/StompyRobot/SRF/Scripts/Components/SRMonoBehaviourEx.cs.meta new file mode 100644 index 0000000..fe922b9 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/Components/SRMonoBehaviourEx.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 82088ea802108344da1e919daa6881fd +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRF/Scripts/Components/SRSingleton.cs b/Assets/StompyRobot/SRF/Scripts/Components/SRSingleton.cs new file mode 100644 index 0000000..7a03f1c --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/Components/SRSingleton.cs @@ -0,0 +1,82 @@ +namespace SRF.Components +{ + using System; + using System.Diagnostics; + using UnityEngine; + using Debug = UnityEngine.Debug; + + /// + /// Inherit from this component to easily create a singleton gameobject. + /// + /// + public abstract class SRSingleton : SRMonoBehaviour where T : SRSingleton + { + private static T _instance; + + /// + /// Get the instance of this singleton. + /// ().Length == 2) + { + Destroy(gameObject); + } + else + { + Destroy(this); + } + + return; + } + + _instance = (T) this; + } + + // If no other monobehaviour request the instance in an awake function + // executing before this one, no need to search the object. + protected virtual void Awake() + { + Register(); + } + + protected virtual void OnEnable() + { + // In case of code-reload, this should restore the single instance + if (_instance == null) + { + Register(); + } + } + + // Make sure the instance isn't referenced anymore when the user quit, just in case. + private void OnApplicationQuit() + { + _instance = null; + } + } +} diff --git a/Assets/StompyRobot/SRF/Scripts/Components/SRSingleton.cs.meta b/Assets/StompyRobot/SRF/Scripts/Components/SRSingleton.cs.meta new file mode 100644 index 0000000..7c13a7c --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/Components/SRSingleton.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ca9e6e61f807f3442b520b02db3a48c7 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRF/Scripts/Coroutines.cs b/Assets/StompyRobot/SRF/Scripts/Coroutines.cs new file mode 100644 index 0000000..9605ad1 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/Coroutines.cs @@ -0,0 +1,18 @@ +namespace SRF +{ + using System.Collections; + using UnityEngine; + + public static class Coroutines + { + public static IEnumerator WaitForSecondsRealTime(float time) + { + var endTime = Time.realtimeSinceStartup + time; + + while (Time.realtimeSinceStartup < endTime) + { + yield return null; + } + } + } +} diff --git a/Assets/StompyRobot/SRF/Scripts/Coroutines.cs.meta b/Assets/StompyRobot/SRF/Scripts/Coroutines.cs.meta new file mode 100644 index 0000000..047281a --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/Coroutines.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 83ca528cafb0d2e40866729c49dc2d76 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRF/Scripts/Extensions.meta b/Assets/StompyRobot/SRF/Scripts/Extensions.meta new file mode 100644 index 0000000..dcdc6e8 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/Extensions.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 5a242390cef216543a4fa08843e88004 +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/StompyRobot/SRF/Scripts/Extensions/FloatExtensions.cs b/Assets/StompyRobot/SRF/Scripts/Extensions/FloatExtensions.cs new file mode 100644 index 0000000..e7448cc --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/Extensions/FloatExtensions.cs @@ -0,0 +1,27 @@ +namespace SRF +{ + using UnityEngine; + + public static class SRFFloatExtensions + { + public static float Sqr(this float f) + { + return f*f; + } + + public static float SqrRt(this float f) + { + return Mathf.Sqrt(f); + } + + public static bool ApproxZero(this float f) + { + return Mathf.Approximately(0, f); + } + + public static bool Approx(this float f, float f2) + { + return Mathf.Approximately(f, f2); + } + } +} diff --git a/Assets/StompyRobot/SRF/Scripts/Extensions/FloatExtensions.cs.meta b/Assets/StompyRobot/SRF/Scripts/Extensions/FloatExtensions.cs.meta new file mode 100644 index 0000000..4e2378d --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/Extensions/FloatExtensions.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: bb221a6020786a841a6f7f1ea19a7eb7 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRF/Scripts/Extensions/GameObjectExtensions.cs b/Assets/StompyRobot/SRF/Scripts/Extensions/GameObjectExtensions.cs new file mode 100644 index 0000000..275d2b8 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/Extensions/GameObjectExtensions.cs @@ -0,0 +1,100 @@ +namespace SRF +{ + using UnityEngine; + + public static class SRFGameObjectExtensions + { + public static T GetIComponent(this GameObject t) where T : class + { + return t.GetComponent(typeof (T)) as T; + } + + /// + /// Get the component T, or add it to the GameObject if none exists + /// + /// + /// + public static T GetComponentOrAdd(this GameObject obj) where T : Component + { + var t = obj.GetComponent(); + + if (t == null) + { + t = obj.AddComponent(); + } + + return t; + } + + /// + /// Removed component of type T if it exists on the GameObject + /// + /// + /// + public static void RemoveComponentIfExists(this GameObject obj) where T : Component + { + var t = obj.GetComponent(); + + if (t != null) + { + Object.Destroy(t); + } + } + + /// + /// Removed components of type T if it exists on the GameObject + /// + /// + /// + public static void RemoveComponentsIfExists(this GameObject obj) where T : Component + { + var t = obj.GetComponents(); + + for (var i = 0; i < t.Length; i++) + { + Object.Destroy(t[i]); + } + } + + /// + /// Set enabled property MonoBehaviour of type T if it exists + /// + /// + /// + /// + /// True if the component exists + public static bool EnableComponentIfExists(this GameObject obj, bool enable = true) where T : MonoBehaviour + { + var t = obj.GetComponent(); + + if (t == null) + { + return false; + } + + t.enabled = enable; + + return true; + } + + /// + /// Set the layer of a gameobject and all child objects + /// + /// + /// + public static void SetLayerRecursive(this GameObject o, int layer) + { + SetLayerInternal(o.transform, layer); + } + + private static void SetLayerInternal(Transform t, int layer) + { + t.gameObject.layer = layer; + + foreach (Transform o in t) + { + SetLayerInternal(o, layer); + } + } + } +} diff --git a/Assets/StompyRobot/SRF/Scripts/Extensions/GameObjectExtensions.cs.meta b/Assets/StompyRobot/SRF/Scripts/Extensions/GameObjectExtensions.cs.meta new file mode 100644 index 0000000..3603833 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/Extensions/GameObjectExtensions.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 57a08f4d800e4384fac80b0ecf63a7a0 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRF/Scripts/Extensions/IListExtensions.cs b/Assets/StompyRobot/SRF/Scripts/Extensions/IListExtensions.cs new file mode 100644 index 0000000..ca16536 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/Extensions/IListExtensions.cs @@ -0,0 +1,47 @@ +namespace SRF +{ + using System; + using System.Collections.Generic; + + public static class SRFIListExtensions + { + public static T Random(this IList list) + { + if (list.Count == 0) + { + throw new IndexOutOfRangeException("List needs at least one entry to call Random()"); + } + + if (list.Count == 1) + { + return list[0]; + } + + return list[UnityEngine.Random.Range(0, list.Count)]; + } + + public static T RandomOrDefault(this IList list) + { + if (list.Count == 0) + { + return default(T); + } + + return list.Random(); + } + + public static T PopLast(this IList list) + { + if (list.Count == 0) + { + throw new InvalidOperationException(); + } + + var t = list[list.Count - 1]; + + list.RemoveAt(list.Count - 1); + + return t; + } + } +} diff --git a/Assets/StompyRobot/SRF/Scripts/Extensions/IListExtensions.cs.meta b/Assets/StompyRobot/SRF/Scripts/Extensions/IListExtensions.cs.meta new file mode 100644 index 0000000..258932b --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/Extensions/IListExtensions.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c196b9d1bba9e9e44939cf8776545577 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRF/Scripts/Extensions/NetFxExtensions.cs b/Assets/StompyRobot/SRF/Scripts/Extensions/NetFxExtensions.cs new file mode 100644 index 0000000..bc512cb --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/Extensions/NetFxExtensions.cs @@ -0,0 +1,32 @@ + +#if NETFX_CORE + +using System; +using System.Reflection; + +namespace SRF +{ + + public static class NetFxExtensions + { + + + public static bool IsAssignableFrom(this Type @this, Type t) + { + + return @this.GetTypeInfo().IsAssignableFrom(t.GetTypeInfo()); + + } + + public static bool IsInstanceOfType(this Type @this, object obj) + { + + return @this.IsAssignableFrom(obj.GetType()); + + } + + } + +} + +#endif diff --git a/Assets/StompyRobot/SRF/Scripts/Extensions/NetFxExtensions.cs.meta b/Assets/StompyRobot/SRF/Scripts/Extensions/NetFxExtensions.cs.meta new file mode 100644 index 0000000..4df1546 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/Extensions/NetFxExtensions.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f503b1a2564101f4f96417c97debaaf5 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRF/Scripts/Extensions/StringExtensions.cs b/Assets/StompyRobot/SRF/Scripts/Extensions/StringExtensions.cs new file mode 100644 index 0000000..5413573 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/Extensions/StringExtensions.cs @@ -0,0 +1,13 @@ +namespace SRF +{ + public static class SRFStringExtensions + { +#if UNITY_EDITOR + [JetBrains.Annotations.StringFormatMethod("formatString")] +#endif + public static string Fmt(this string formatString, params object[] args) + { + return string.Format(formatString, args); + } + } +} diff --git a/Assets/StompyRobot/SRF/Scripts/Extensions/StringExtensions.cs.meta b/Assets/StompyRobot/SRF/Scripts/Extensions/StringExtensions.cs.meta new file mode 100644 index 0000000..3b32dd3 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/Extensions/StringExtensions.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 71e45638ff7335744a6554752b778f39 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRF/Scripts/Extensions/TransformExtensions.cs b/Assets/StompyRobot/SRF/Scripts/Extensions/TransformExtensions.cs new file mode 100644 index 0000000..1ab400a --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/Extensions/TransformExtensions.cs @@ -0,0 +1,91 @@ +namespace SRF +{ + using System.Collections.Generic; + using UnityEngine; + + public static class SRFTransformExtensions + { + public static IEnumerable GetChildren(this Transform t) + { + var i = 0; + + while (i < t.childCount) + { + yield return t.GetChild(i); + ++i; + } + } + + /// + /// Reset all local values on a transform to identity + /// + /// + public static void ResetLocal(this Transform t) + { + t.localPosition = Vector3.zero; + t.localRotation = Quaternion.identity; + t.localScale = Vector3.one; + } + + /// + /// Create an empty child object of this transform + /// + /// + /// + /// + public static GameObject CreateChild(this Transform t, string name) + { + var go = new GameObject(name); + go.transform.parent = t; + go.transform.ResetLocal(); + go.gameObject.layer = t.gameObject.layer; + + return go; + } + + /// + /// Set the parent of this transform, but maintain the localScale, localPosition, localRotation values. + /// + /// + /// + public static void SetParentMaintainLocals(this Transform t, Transform parent) + { + t.SetParent(parent, false); + } + + /// + /// Copy local position,rotation,scale from other transform + /// + /// + /// + public static void SetLocals(this Transform t, Transform from) + { + t.localPosition = from.localPosition; + t.localRotation = from.localRotation; + t.localScale = from.localScale; + } + + /// + /// Set position/rotation to from. Scale is unchanged + /// + /// + /// + public static void Match(this Transform t, Transform from) + { + t.position = from.position; + t.rotation = from.rotation; + } + + /// + /// Destroy all child game objects + /// + /// + public static void DestroyChildren(this Transform t) + { + foreach (var child in t) + { + Object.Destroy(((Transform) child).gameObject); + } + } + } +} diff --git a/Assets/StompyRobot/SRF/Scripts/Extensions/TransformExtensions.cs.meta b/Assets/StompyRobot/SRF/Scripts/Extensions/TransformExtensions.cs.meta new file mode 100644 index 0000000..d20b367 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/Extensions/TransformExtensions.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 891f8206d8bca304fbbf298c6a37648e +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRF/Scripts/Helpers.meta b/Assets/StompyRobot/SRF/Scripts/Helpers.meta new file mode 100644 index 0000000..fb5061b --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/Helpers.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 5354a62e7d1e47949b07ff9e9b123080 +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/StompyRobot/SRF/Scripts/Helpers/AssetUtil.cs b/Assets/StompyRobot/SRF/Scripts/Helpers/AssetUtil.cs new file mode 100644 index 0000000..288bdf1 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/Helpers/AssetUtil.cs @@ -0,0 +1,63 @@ +#if UNITY_EDITOR +using UnityEditor; + +#endif + +namespace SRF.Helpers +{ + using System.IO; + using UnityEngine; + + public static class AssetUtil + { +#if UNITY_EDITOR + + // This makes it easy to create, name and place unique new ScriptableObject asset files. + /// + /// + public static T CreateAsset() where T : ScriptableObject + { + var path = AssetDatabase.GetAssetPath(Selection.activeObject); + + if (path == "") + { + path = "Assets"; + } + else if (Path.GetExtension(path) != "") + { + path = path.Replace(Path.GetFileName(path), ""); + } + + return CreateAsset(path, "New " + typeof (T).Name); + } + + public static T CreateAsset(string path, string name) where T : ScriptableObject + { + if (string.IsNullOrEmpty(path)) + { + path = "Assets"; + } + + if (!name.EndsWith(".asset")) + { + name += ".asset"; + } + + var assetPathAndName = AssetDatabase.GenerateUniqueAssetPath(path + "/" + name); + + var asset = ScriptableObject.CreateInstance(); + AssetDatabase.CreateAsset(asset, assetPathAndName); + AssetDatabase.SaveAssets(); + + return asset; + } + + public static void SelectAssetInProjectView(Object asset) + { + EditorUtility.FocusProjectWindow(); + Selection.activeObject = asset; + } + +#endif + } +} diff --git a/Assets/StompyRobot/SRF/Scripts/Helpers/AssetUtil.cs.meta b/Assets/StompyRobot/SRF/Scripts/Helpers/AssetUtil.cs.meta new file mode 100644 index 0000000..c91b3a0 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/Helpers/AssetUtil.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: de28cc9633260c54a9ba062b7ad82e63 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRF/Scripts/Helpers/Hierarchy.cs b/Assets/StompyRobot/SRF/Scripts/Helpers/Hierarchy.cs new file mode 100644 index 0000000..3a69d6c --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/Helpers/Hierarchy.cs @@ -0,0 +1,73 @@ +namespace SRF +{ + using System; + using System.Collections.Generic; + using System.Linq; + using UnityEngine; + + public class Hierarchy + { + private static readonly char[] Seperator = {'/'}; + private static readonly Dictionary Cache = new Dictionary(); + + [Obsolete("Use static Get() instead")] + public Transform this[string key] + { + get { return Get(key); } + } + + /// + /// Pass in a path (e.g. /Test/Me/One) and get a transform with the hierarchy Test->Me->One. + /// Any Transforms required below this path will be auto-created. + /// This is a very slow method, so use only on initialisation. + /// + /// + /// + public static Transform Get(string key) + { + Transform t; + + // Check cache + if (Cache.TryGetValue(key, out t)) + { + return t; + } + + var find = GameObject.Find(key); + + if (find) + { + t = find.transform; + Cache.Add(key, t); + + return t; + } + + // Find container parent + var elements = key.Split(Seperator, StringSplitOptions.RemoveEmptyEntries); + + // Create new container + t = new GameObject(elements.Last()).transform; + Cache.Add(key, t); + + // If root + if (elements.Length == 1) + { + return t; + } + + t.parent = Get(string.Join("/", elements, 0, elements.Length - 1)); + + return t; + } + +#if (!UNITY_2017 && !UNITY_2018 && !UNITY_2019) || UNITY_2019_3_OR_NEWER + [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.SubsystemRegistration)] + public static void RuntimeInitialize() + { + // To handle entering play mode without a domain reload, need to reset the state of the service manager. + Cache.Clear(); + } +#endif + } +} diff --git a/Assets/StompyRobot/SRF/Scripts/Helpers/Hierarchy.cs.meta b/Assets/StompyRobot/SRF/Scripts/Helpers/Hierarchy.cs.meta new file mode 100644 index 0000000..208e8d1 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/Helpers/Hierarchy.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ecf392c4c08d14543b90300c27422d60 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRF/Scripts/Helpers/MethodReference.cs b/Assets/StompyRobot/SRF/Scripts/Helpers/MethodReference.cs new file mode 100644 index 0000000..ee3fd11 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/Helpers/MethodReference.cs @@ -0,0 +1,37 @@ +using System; + +namespace SRF.Helpers +{ + using System.Reflection; + + public sealed class MethodReference + { + private readonly Func _method; + + public MethodReference(object target, MethodInfo method) + { + SRDebugUtil.AssertNotNull(target); + + _method = o => method.Invoke(target, o); + } + + public MethodReference(Func method) + { + _method = method; + } + + public object Invoke(object[] parameters) + { + return _method.Invoke(parameters); + } + + public static implicit operator MethodReference(Action action) + { + return new MethodReference(args => + { + action(); + return null; + }); + } + } +} diff --git a/Assets/StompyRobot/SRF/Scripts/Helpers/MethodReference.cs.meta b/Assets/StompyRobot/SRF/Scripts/Helpers/MethodReference.cs.meta new file mode 100644 index 0000000..4259fcf --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/Helpers/MethodReference.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3ed7f46979ff4b3418a838a6b940a9ab +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRF/Scripts/Helpers/PropertyReference.cs b/Assets/StompyRobot/SRF/Scripts/Helpers/PropertyReference.cs new file mode 100644 index 0000000..f7ab914 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/Helpers/PropertyReference.cs @@ -0,0 +1,208 @@ +using System.Collections.Generic; +using System.ComponentModel; +using JetBrains.Annotations; +using UnityEngine; + +namespace SRF.Helpers +{ + using System; + using System.Linq; + using System.Reflection; + + public delegate void PropertyValueChangedHandler(PropertyReference property); + + public sealed class PropertyReference + { + public event PropertyValueChangedHandler ValueChanged + { + add + { + if (_valueChangedListeners == null) + { + _valueChangedListeners = new List(); + } + + _valueChangedListeners.Add(value); + if (_valueChangedListeners.Count == 1 && _target is INotifyPropertyChanged) + { + // Subscribe to value changed event on target. + ((INotifyPropertyChanged)_target).PropertyChanged += OnTargetPropertyChanged; + } + } + + remove + { + if (_valueChangedListeners == null) + { + return; + } + + if (_valueChangedListeners.Remove(value) && _valueChangedListeners.Count == 0 && + _target is INotifyPropertyChanged) + { + // Unsubscribe from value changed event on target. + ((INotifyPropertyChanged) _target).PropertyChanged -= OnTargetPropertyChanged; + } + } + } + + [CanBeNull] private readonly PropertyInfo _property; + [CanBeNull] private readonly object _target; + + [CanBeNull] private readonly Attribute[] _attributes; + + [CanBeNull] private readonly Func _getter; + + [CanBeNull] private readonly Action _setter; + + [CanBeNull] private List _valueChangedListeners; + + + public static PropertyReference FromLambda(Func getter, Action setter = null, params Attribute[] attributes) + { + Action internalSetter = null; + if (setter != null) + { + internalSetter = o => setter((T)o); + } + return new PropertyReference(typeof(T), () => getter(), internalSetter, attributes); + } + + /// + /// Create a property reference from an object target and reflection PropertyInfo. + /// This represents a property on an object. + /// + public PropertyReference(object target, PropertyInfo property) + { + SRDebugUtil.AssertNotNull(target); + SRDebugUtil.AssertNotNull(property); + + PropertyType = property.PropertyType; + _property = property; + _target = target; + +#if NETFX_CORE + if(_property.GetMethod != null && _property.GetMethod.IsPublic) +#else + if (property.GetGetMethod() != null) +#endif + { + _getter = () => SRReflection.GetPropertyValue(target, property); + } + + +#if NETFX_CORE + if(_property.SetMethod != null && _property.SetMethod.IsPublic) +#else + if (property.GetSetMethod() != null) +#endif + { + _setter = (v) => SRReflection.SetPropertyValue(target, property, v); + } + } + + /// + /// Create a property reference from lambdas. This has no underlying reflection or object associated with it. + /// + public PropertyReference(Type type, Func getter = null, Action setter = null, Attribute[] attributes = null) + { + SRDebugUtil.AssertNotNull(type); + + PropertyType = type; + _attributes = attributes; + _getter = getter; + _setter = setter; + } + + public Type PropertyType { get; private set; } + + public bool CanRead + { + get + { + return _getter != null; + } + } + + public bool CanWrite + { + get + { + return _setter != null; + } + } + + /// + /// Notify any listeners to that the value has been updated. + /// + public void NotifyValueChanged() + { + if (_valueChangedListeners == null) + { + return; + } + + foreach (var handler in _valueChangedListeners) + { + handler(this); + } + } + + public object GetValue() + { + if (_getter != null) + { + return _getter(); + } + + return null; + } + + public void SetValue(object value) + { + if (_setter != null) + { + _setter(value); + } + else + { + throw new InvalidOperationException("Can not write to property"); + } + } + + public T GetAttribute() where T : Attribute + { + if (_attributes != null) + { + return _attributes.FirstOrDefault(p => p is T) as T; + } + + if (_property != null) + { + return _property.GetCustomAttributes(typeof(T), true).FirstOrDefault() as T; + } + + return null; + } + private void OnTargetPropertyChanged(object sender, PropertyChangedEventArgs e) + { + if (_valueChangedListeners == null || _valueChangedListeners.Count == 0) + { + Debug.LogWarning("[PropertyReference] Received property value changed event when there are no listeners. Did the event not get unsubscribed correctly?"); + return; + } + + NotifyValueChanged(); + } + + public override string ToString() + { + if (_property != null) + { + return "{0}.{1}".Fmt(_property.DeclaringType.Name, _property.Name); + } + + return ""; + } + } +} diff --git a/Assets/StompyRobot/SRF/Scripts/Helpers/PropertyReference.cs.meta b/Assets/StompyRobot/SRF/Scripts/Helpers/PropertyReference.cs.meta new file mode 100644 index 0000000..ec2e606 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/Helpers/PropertyReference.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: dedbd84f93f7d4c4e86f2d3a238916c4 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRF/Scripts/Helpers/SRDebugUtil.cs b/Assets/StompyRobot/SRF/Scripts/Helpers/SRDebugUtil.cs new file mode 100644 index 0000000..94934d3 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/Helpers/SRDebugUtil.cs @@ -0,0 +1,64 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using SRF; +using UnityEngine; +using Debug = UnityEngine.Debug; + +public static class SRDebugUtil +{ + public const int LineBufferCount = 512; + public static bool IsFixedUpdate { get; set; } + + [DebuggerNonUserCode] + [DebuggerStepThrough] + public static void AssertNotNull(object value, string message = null, MonoBehaviour instance = null) + { + if (!EqualityComparer.Default.Equals(value, null)) + { + return; + } + + message = message != null ? "NotNullAssert Failed: {0}".Fmt(message) : "Assert Failed"; + + Debug.LogError(message, instance); + + if (instance != null) + { + instance.enabled = false; + } + + throw new NullReferenceException(message); + } + + [DebuggerNonUserCode] + [DebuggerStepThrough] + public static void Assert(bool condition, string message = null, MonoBehaviour instance = null) + { + if (condition) + { + return; + } + + message = message != null ? "Assert Failed: {0}".Fmt(message) : "Assert Failed"; + + Debug.LogError(message, instance); + throw new Exception(message); + } + + [Conditional("UNITY_EDITOR")] + [DebuggerNonUserCode] + [DebuggerStepThrough] + public static void EditorAssertNotNull(object value, string message = null, MonoBehaviour instance = null) + { + AssertNotNull(value, message, instance); + } + + [Conditional("UNITY_EDITOR")] + [DebuggerNonUserCode] + [DebuggerStepThrough] + public static void EditorAssert(bool condition, string message = null, MonoBehaviour instance = null) + { + Assert(condition, message, instance); + } +} diff --git a/Assets/StompyRobot/SRF/Scripts/Helpers/SRDebugUtil.cs.meta b/Assets/StompyRobot/SRF/Scripts/Helpers/SRDebugUtil.cs.meta new file mode 100644 index 0000000..89da372 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/Helpers/SRDebugUtil.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f74f500c46d2b60419e95b8bd0cb87b6 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRF/Scripts/Helpers/SRFileUtil.cs b/Assets/StompyRobot/SRF/Scripts/Helpers/SRFileUtil.cs new file mode 100644 index 0000000..24bcc4e --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/Helpers/SRFileUtil.cs @@ -0,0 +1,73 @@ +using System.IO; +using System.Threading; + +public static class SRFileUtil +{ +#if !UNITY_WEBPLAYER && !NETFX_CORE + + public static void DeleteDirectory(string path) + { + try + { + Directory.Delete(path, true); + } + catch (IOException) + { + Thread.Sleep(0); + Directory.Delete(path, true); + } + } + +#endif + + /// + /// Returns the human-readable file size for an arbitrary, 64-bit file size + /// The default format is "0.### XB", e.g. "4.2 KB" or "1.434 GB" + /// + /// + /// http://stackoverflow.com/a/281684/147003 + /// + public static string GetBytesReadable(long i) + { + var sign = (i < 0 ? "-" : ""); + double readable = (i < 0 ? -i : i); + string suffix; + if (i >= 0x1000000000000000) // Exabyte + { + suffix = "EB"; + readable = i >> 50; + } + else if (i >= 0x4000000000000) // Petabyte + { + suffix = "PB"; + readable = i >> 40; + } + else if (i >= 0x10000000000) // Terabyte + { + suffix = "TB"; + readable = i >> 30; + } + else if (i >= 0x40000000) // Gigabyte + { + suffix = "GB"; + readable = i >> 20; + } + else if (i >= 0x100000) // Megabyte + { + suffix = "MB"; + readable = i >> 10; + } + else if (i >= 0x400) // Kilobyte + { + suffix = "KB"; + readable = i; + } + else + { + return i.ToString(sign + "0 B"); // Byte + } + readable /= 1024; + + return sign + readable.ToString("0.### ") + suffix; + } +} diff --git a/Assets/StompyRobot/SRF/Scripts/Helpers/SRFileUtil.cs.meta b/Assets/StompyRobot/SRF/Scripts/Helpers/SRFileUtil.cs.meta new file mode 100644 index 0000000..38b2bff --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/Helpers/SRFileUtil.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8c5dd64a3a7854e4f948daaec7d318fa +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRF/Scripts/Helpers/SRInstantiate.cs b/Assets/StompyRobot/SRF/Scripts/Helpers/SRInstantiate.cs new file mode 100644 index 0000000..22c9ec0 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/Helpers/SRInstantiate.cs @@ -0,0 +1,19 @@ +using UnityEngine; + +public static class SRInstantiate +{ + public static T Instantiate(T prefab) where T : Component + { + return (T) Object.Instantiate(prefab); + } + + public static GameObject Instantiate(GameObject prefab) + { + return (GameObject) Object.Instantiate(prefab); + } + + public static T Instantiate(T prefab, Vector3 position, Quaternion rotation) where T : Component + { + return (T) Object.Instantiate(prefab, position, rotation); + } +} diff --git a/Assets/StompyRobot/SRF/Scripts/Helpers/SRInstantiate.cs.meta b/Assets/StompyRobot/SRF/Scripts/Helpers/SRInstantiate.cs.meta new file mode 100644 index 0000000..17e357d --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/Helpers/SRInstantiate.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2b2502558f76a9a4b9d3fd4d26d4d2a6 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRF/Scripts/Helpers/SRMath.Tweening.Functions.cs b/Assets/StompyRobot/SRF/Scripts/Helpers/SRMath.Tweening.Functions.cs new file mode 100644 index 0000000..70d3d5b --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/Helpers/SRMath.Tweening.Functions.cs @@ -0,0 +1,788 @@ +using UnityEngine; + +public static partial class SRMath +{ + /** + * + * These tweening functions taken from https://wpf-animation.googlecode.com/svn/trunk/src/WPF/Animation/PennerDoubleAnimation.cs + * Licensed under the new BSD License + * + * @author Darren David darren-code@lookorfeel.com + * @version 1.0 + * + * Credit/Thanks: + * Robert Penner - The easing equations we all know and love + * (http://robertpenner.com/easing/) [See License.txt for license info] + * + * Lee Brimelow - initial port of Penner's equations to WPF + * (http://thewpfblog.com/?p=12) + * + * Zeh Fernando - additional equations (out/in) from + * caurina.transitions.Tweener (http://code.google.com/p/tweener/) + * [See License.txt for license info] + * + */ + + private static class TweenFunctions + { + #region Equations + + #region Linear + + /// + /// Easing equation function for a simple linear tweening, with no easing. + /// + /// Current time in seconds. + /// Starting value. + /// Final value. + /// Duration of animation. + /// The correct value. + public static float Linear(float t, float b, float c, float d) + { + return c*t/d + b; + } + + #endregion + + #region Expo + + /// + /// Easing equation function for an exponential (2^t) easing out: + /// decelerating from zero velocity. + /// + /// Current time in seconds. + /// Starting value. + /// Final value. + /// Duration of animation. + /// The correct value. + public static float ExpoEaseOut(float t, float b, float c, float d) + { + return (t == d) ? b + c : c*(-Mathf.Pow(2, -10*t/d) + 1) + b; + } + + /// + /// Easing equation function for an exponential (2^t) easing in: + /// accelerating from zero velocity. + /// + /// Current time in seconds. + /// Starting value. + /// Final value. + /// Duration of animation. + /// The correct value. + public static float ExpoEaseIn(float t, float b, float c, float d) + { + return (t == 0) ? b : c*Mathf.Pow(2, 10*(t/d - 1)) + b; + } + + /// + /// Easing equation function for an exponential (2^t) easing in/out: + /// acceleration until halfway, then deceleration. + /// + /// Current time in seconds. + /// Starting value. + /// Final value. + /// Duration of animation. + /// The correct value. + public static float ExpoEaseInOut(float t, float b, float c, float d) + { + if (t == 0) + { + return b; + } + + if (t == d) + { + return b + c; + } + + if ((t /= d/2) < 1) + { + return c/2*Mathf.Pow(2, 10*(t - 1)) + b; + } + + return c/2*(-Mathf.Pow(2, -10*--t) + 2) + b; + } + + /// + /// Easing equation function for an exponential (2^t) easing out/in: + /// deceleration until halfway, then acceleration. + /// + /// Current time in seconds. + /// Starting value. + /// Final value. + /// Duration of animation. + /// The correct value. + public static float ExpoEaseOutIn(float t, float b, float c, float d) + { + if (t < d/2) + { + return ExpoEaseOut(t*2, b, c/2, d); + } + + return ExpoEaseIn((t*2) - d, b + c/2, c/2, d); + } + + #endregion + + #region Circular + + /// + /// Easing equation function for a circular (sqrt(1-t^2)) easing out: + /// decelerating from zero velocity. + /// + /// Current time in seconds. + /// Starting value. + /// Final value. + /// Duration of animation. + /// The correct value. + public static float CircEaseOut(float t, float b, float c, float d) + { + return c*Mathf.Sqrt(1 - (t = t/d - 1)*t) + b; + } + + /// + /// Easing equation function for a circular (sqrt(1-t^2)) easing in: + /// accelerating from zero velocity. + /// + /// Current time in seconds. + /// Starting value. + /// Final value. + /// Duration of animation. + /// The correct value. + public static float CircEaseIn(float t, float b, float c, float d) + { + return -c*(Mathf.Sqrt(1 - (t /= d)*t) - 1) + b; + } + + /// + /// Easing equation function for a circular (sqrt(1-t^2)) easing in/out: + /// acceleration until halfway, then deceleration. + /// + /// Current time in seconds. + /// Starting value. + /// Final value. + /// Duration of animation. + /// The correct value. + public static float CircEaseInOut(float t, float b, float c, float d) + { + if ((t /= d/2) < 1) + { + return -c/2*(Mathf.Sqrt(1 - t*t) - 1) + b; + } + + return c/2*(Mathf.Sqrt(1 - (t -= 2)*t) + 1) + b; + } + + /// + /// Easing equation function for a circular (sqrt(1-t^2)) easing in/out: + /// acceleration until halfway, then deceleration. + /// + /// Current time in seconds. + /// Starting value. + /// Final value. + /// Duration of animation. + /// The correct value. + public static float CircEaseOutIn(float t, float b, float c, float d) + { + if (t < d/2) + { + return CircEaseOut(t*2, b, c/2, d); + } + + return CircEaseIn((t*2) - d, b + c/2, c/2, d); + } + + #endregion + + #region Quad + + /// + /// Easing equation function for a quadratic (t^2) easing out: + /// decelerating from zero velocity. + /// + /// Current time in seconds. + /// Starting value. + /// Final value. + /// Duration of animation. + /// The correct value. + public static float QuadEaseOut(float t, float b, float c, float d) + { + return -c*(t /= d)*(t - 2) + b; + } + + /// + /// Easing equation function for a quadratic (t^2) easing in: + /// accelerating from zero velocity. + /// + /// Current time in seconds. + /// Starting value. + /// Final value. + /// Duration of animation. + /// The correct value. + public static float QuadEaseIn(float t, float b, float c, float d) + { + return c*(t /= d)*t + b; + } + + /// + /// Easing equation function for a quadratic (t^2) easing in/out: + /// acceleration until halfway, then deceleration. + /// + /// Current time in seconds. + /// Starting value. + /// Final value. + /// Duration of animation. + /// The correct value. + public static float QuadEaseInOut(float t, float b, float c, float d) + { + if ((t /= d/2) < 1) + { + return c/2*t*t + b; + } + + return -c/2*((--t)*(t - 2) - 1) + b; + } + + /// + /// Easing equation function for a quadratic (t^2) easing out/in: + /// deceleration until halfway, then acceleration. + /// + /// Current time in seconds. + /// Starting value. + /// Final value. + /// Duration of animation. + /// The correct value. + public static float QuadEaseOutIn(float t, float b, float c, float d) + { + if (t < d/2) + { + return QuadEaseOut(t*2, b, c/2, d); + } + + return QuadEaseIn((t*2) - d, b + c/2, c/2, d); + } + + #endregion + + #region Sine + + /// + /// Easing equation function for a sinusoidal (sin(t)) easing out: + /// decelerating from zero velocity. + /// + /// Current time in seconds. + /// Starting value. + /// Final value. + /// Duration of animation. + /// The correct value. + public static float SineEaseOut(float t, float b, float c, float d) + { + return c*Mathf.Sin(t/d*(Mathf.PI/2)) + b; + } + + /// + /// Easing equation function for a sinusoidal (sin(t)) easing in: + /// accelerating from zero velocity. + /// + /// Current time in seconds. + /// Starting value. + /// Final value. + /// Duration of animation. + /// The correct value. + public static float SineEaseIn(float t, float b, float c, float d) + { + return -c*Mathf.Cos(t/d*(Mathf.PI/2)) + c + b; + } + + /// + /// Easing equation function for a sinusoidal (sin(t)) easing in/out: + /// acceleration until halfway, then deceleration. + /// + /// Current time in seconds. + /// Starting value. + /// Final value. + /// Duration of animation. + /// The correct value. + public static float SineEaseInOut(float t, float b, float c, float d) + { + if ((t /= d/2) < 1) + { + return c/2*(Mathf.Sin(Mathf.PI*t/2)) + b; + } + + return -c/2*(Mathf.Cos(Mathf.PI*--t/2) - 2) + b; + } + + /// + /// Easing equation function for a sinusoidal (sin(t)) easing in/out: + /// deceleration until halfway, then acceleration. + /// + /// Current time in seconds. + /// Starting value. + /// Final value. + /// Duration of animation. + /// The correct value. + public static float SineEaseOutIn(float t, float b, float c, float d) + { + if (t < d/2) + { + return SineEaseOut(t*2, b, c/2, d); + } + + return SineEaseIn((t*2) - d, b + c/2, c/2, d); + } + + #endregion + + #region Cubic + + /// + /// Easing equation function for a cubic (t^3) easing out: + /// decelerating from zero velocity. + /// + /// Current time in seconds. + /// Starting value. + /// Final value. + /// Duration of animation. + /// The correct value. + public static float CubicEaseOut(float t, float b, float c, float d) + { + return c*((t = t/d - 1)*t*t + 1) + b; + } + + /// + /// Easing equation function for a cubic (t^3) easing in: + /// accelerating from zero velocity. + /// + /// Current time in seconds. + /// Starting value. + /// Final value. + /// Duration of animation. + /// The correct value. + public static float CubicEaseIn(float t, float b, float c, float d) + { + return c*(t /= d)*t*t + b; + } + + /// + /// Easing equation function for a cubic (t^3) easing in/out: + /// acceleration until halfway, then deceleration. + /// + /// Current time in seconds. + /// Starting value. + /// Final value. + /// Duration of animation. + /// The correct value. + public static float CubicEaseInOut(float t, float b, float c, float d) + { + if ((t /= d/2) < 1) + { + return c/2*t*t*t + b; + } + + return c/2*((t -= 2)*t*t + 2) + b; + } + + /// + /// Easing equation function for a cubic (t^3) easing out/in: + /// deceleration until halfway, then acceleration. + /// + /// Current time in seconds. + /// Starting value. + /// Final value. + /// Duration of animation. + /// The correct value. + public static float CubicEaseOutIn(float t, float b, float c, float d) + { + if (t < d/2) + { + return CubicEaseOut(t*2, b, c/2, d); + } + + return CubicEaseIn((t*2) - d, b + c/2, c/2, d); + } + + #endregion + + #region Quartic + + /// + /// Easing equation function for a quartic (t^4) easing out: + /// decelerating from zero velocity. + /// + /// Current time in seconds. + /// Starting value. + /// Final value. + /// Duration of animation. + /// The correct value. + public static float QuartEaseOut(float t, float b, float c, float d) + { + return -c*((t = t/d - 1)*t*t*t - 1) + b; + } + + /// + /// Easing equation function for a quartic (t^4) easing in: + /// accelerating from zero velocity. + /// + /// Current time in seconds. + /// Starting value. + /// Final value. + /// Duration of animation. + /// The correct value. + public static float QuartEaseIn(float t, float b, float c, float d) + { + return c*(t /= d)*t*t*t + b; + } + + /// + /// Easing equation function for a quartic (t^4) easing in/out: + /// acceleration until halfway, then deceleration. + /// + /// Current time in seconds. + /// Starting value. + /// Final value. + /// Duration of animation. + /// The correct value. + public static float QuartEaseInOut(float t, float b, float c, float d) + { + if ((t /= d/2) < 1) + { + return c/2*t*t*t*t + b; + } + + return -c/2*((t -= 2)*t*t*t - 2) + b; + } + + /// + /// Easing equation function for a quartic (t^4) easing out/in: + /// deceleration until halfway, then acceleration. + /// + /// Current time in seconds. + /// Starting value. + /// Final value. + /// Duration of animation. + /// The correct value. + public static float QuartEaseOutIn(float t, float b, float c, float d) + { + if (t < d/2) + { + return QuartEaseOut(t*2, b, c/2, d); + } + + return QuartEaseIn((t*2) - d, b + c/2, c/2, d); + } + + #endregion + + #region Quintic + + /// + /// Easing equation function for a quintic (t^5) easing out: + /// decelerating from zero velocity. + /// + /// Current time in seconds. + /// Starting value. + /// Final value. + /// Duration of animation. + /// The correct value. + public static float QuintEaseOut(float t, float b, float c, float d) + { + return c*((t = t/d - 1)*t*t*t*t + 1) + b; + } + + /// + /// Easing equation function for a quintic (t^5) easing in: + /// accelerating from zero velocity. + /// + /// Current time in seconds. + /// Starting value. + /// Final value. + /// Duration of animation. + /// The correct value. + public static float QuintEaseIn(float t, float b, float c, float d) + { + return c*(t /= d)*t*t*t*t + b; + } + + /// + /// Easing equation function for a quintic (t^5) easing in/out: + /// acceleration until halfway, then deceleration. + /// + /// Current time in seconds. + /// Starting value. + /// Final value. + /// Duration of animation. + /// The correct value. + public static float QuintEaseInOut(float t, float b, float c, float d) + { + if ((t /= d/2) < 1) + { + return c/2*t*t*t*t*t + b; + } + return c/2*((t -= 2)*t*t*t*t + 2) + b; + } + + /// + /// Easing equation function for a quintic (t^5) easing in/out: + /// acceleration until halfway, then deceleration. + /// + /// Current time in seconds. + /// Starting value. + /// Final value. + /// Duration of animation. + /// The correct value. + public static float QuintEaseOutIn(float t, float b, float c, float d) + { + if (t < d/2) + { + return QuintEaseOut(t*2, b, c/2, d); + } + return QuintEaseIn((t*2) - d, b + c/2, c/2, d); + } + + #endregion + + #region Elastic + + /// + /// Easing equation function for an elastic (exponentially decaying sine wave) easing out: + /// decelerating from zero velocity. + /// + /// Current time in seconds. + /// Starting value. + /// Final value. + /// Duration of animation. + /// The correct value. + public static float ElasticEaseOut(float t, float b, float c, float d) + { + if ((t /= d) == 1) + { + return b + c; + } + + var p = d*.3f; + var s = p/4; + + return (c*Mathf.Pow(2, -10*t)*Mathf.Sin((t*d - s)*(2*Mathf.PI)/p) + c + b); + } + + /// + /// Easing equation function for an elastic (exponentially decaying sine wave) easing in: + /// accelerating from zero velocity. + /// + /// Current time in seconds. + /// Starting value. + /// Final value. + /// Duration of animation. + /// The correct value. + public static float ElasticEaseIn(float t, float b, float c, float d) + { + if ((t /= d) == 1) + { + return b + c; + } + + var p = d*.3f; + var s = p/4; + + return -(c*Mathf.Pow(2, 10*(t -= 1))*Mathf.Sin((t*d - s)*(2*Mathf.PI)/p)) + b; + } + + /// + /// Easing equation function for an elastic (exponentially decaying sine wave) easing in/out: + /// acceleration until halfway, then deceleration. + /// + /// Current time in seconds. + /// Starting value. + /// Final value. + /// Duration of animation. + /// The correct value. + public static float ElasticEaseInOut(float t, float b, float c, float d) + { + if ((t /= d/2) == 2) + { + return b + c; + } + + var p = d*(.3f*1.5f); + var s = p/4; + + if (t < 1) + { + return -.5f*(c*Mathf.Pow(2, 10*(t -= 1))*Mathf.Sin((t*d - s)*(2*Mathf.PI)/p)) + b; + } + return c*Mathf.Pow(2, -10*(t -= 1))*Mathf.Sin((t*d - s)*(2*Mathf.PI)/p)*.5f + c + b; + } + + /// + /// Easing equation function for an elastic (exponentially decaying sine wave) easing out/in: + /// deceleration until halfway, then acceleration. + /// + /// Current time in seconds. + /// Starting value. + /// Final value. + /// Duration of animation. + /// The correct value. + public static float ElasticEaseOutIn(float t, float b, float c, float d) + { + if (t < d/2) + { + return ElasticEaseOut(t*2, b, c/2, d); + } + return ElasticEaseIn((t*2) - d, b + c/2, c/2, d); + } + + #endregion + + #region Bounce + + /// + /// Easing equation function for a bounce (exponentially decaying parabolic bounce) easing out: + /// decelerating from zero velocity. + /// + /// Current time in seconds. + /// Starting value. + /// Final value. + /// Duration of animation. + /// The correct value. + public static float BounceEaseOut(float t, float b, float c, float d) + { + if ((t /= d) < (1/2.75f)) + { + return c*(7.5625f*t*t) + b; + } + if (t < (2/2.75)) + { + return c*(7.5625f*(t -= (1.5f/2.75f))*t + .75f) + b; + } + if (t < (2.5/2.75)) + { + return c*(7.5625f*(t -= (2.25f/2.75f))*t + .9375f) + b; + } + return c*(7.5625f*(t -= (2.625f/2.75f))*t + .984375f) + b; + } + + /// + /// Easing equation function for a bounce (exponentially decaying parabolic bounce) easing in: + /// accelerating from zero velocity. + /// + /// Current time in seconds. + /// Starting value. + /// Final value. + /// Duration of animation. + /// The correct value. + public static float BounceEaseIn(float t, float b, float c, float d) + { + return c - BounceEaseOut(d - t, 0, c, d) + b; + } + + /// + /// Easing equation function for a bounce (exponentially decaying parabolic bounce) easing in/out: + /// acceleration until halfway, then deceleration. + /// + /// Current time in seconds. + /// Starting value. + /// Final value. + /// Duration of animation. + /// The correct value. + public static float BounceEaseInOut(float t, float b, float c, float d) + { + if (t < d/2) + { + return BounceEaseIn(t*2, 0, c, d)*.5f + b; + } + return BounceEaseOut(t*2 - d, 0, c, d)*.5f + c*.5f + b; + } + + /// + /// Easing equation function for a bounce (exponentially decaying parabolic bounce) easing out/in: + /// deceleration until halfway, then acceleration. + /// + /// Current time in seconds. + /// Starting value. + /// Final value. + /// Duration of animation. + /// The correct value. + public static float BounceEaseOutIn(float t, float b, float c, float d) + { + if (t < d/2) + { + return BounceEaseOut(t*2, b, c/2, d); + } + return BounceEaseIn((t*2) - d, b + c/2, c/2, d); + } + + #endregion + + #region Back + + /// + /// Easing equation function for a back (overshooting cubic easing: (s+1)*t^3 - s*t^2) easing out: + /// decelerating from zero velocity. + /// + /// Current time in seconds. + /// Starting value. + /// Final value. + /// Duration of animation. + /// The correct value. + public static float BackEaseOut(float t, float b, float c, float d) + { + return c*((t = t/d - 1)*t*((1.70158f + 1)*t + 1.70158f) + 1) + b; + } + + /// + /// Easing equation function for a back (overshooting cubic easing: (s+1)*t^3 - s*t^2) easing in: + /// accelerating from zero velocity. + /// + /// Current time in seconds. + /// Starting value. + /// Final value. + /// Duration of animation. + /// The correct value. + public static float BackEaseIn(float t, float b, float c, float d) + { + return c*(t /= d)*t*((1.70158f + 1)*t - 1.70158f) + b; + } + + /// + /// Easing equation function for a back (overshooting cubic easing: (s+1)*t^3 - s*t^2) easing in/out: + /// acceleration until halfway, then deceleration. + /// + /// Current time in seconds. + /// Starting value. + /// Final value. + /// Duration of animation. + /// The correct value. + public static float BackEaseInOut(float t, float b, float c, float d) + { + var s = 1.70158f; + if ((t /= d/2) < 1) + { + return c/2*(t*t*(((s *= (1.525f)) + 1)*t - s)) + b; + } + return c/2*((t -= 2)*t*(((s *= (1.525f)) + 1)*t + s) + 2) + b; + } + + /// + /// Easing equation function for a back (overshooting cubic easing: (s+1)*t^3 - s*t^2) easing out/in: + /// deceleration until halfway, then acceleration. + /// + /// Current time in seconds. + /// Starting value. + /// Final value. + /// Duration of animation. + /// The correct value. + public static float BackEaseOutIn(float t, float b, float c, float d) + { + if (t < d/2) + { + return BackEaseOut(t*2, b, c/2, d); + } + return BackEaseIn((t*2) - d, b + c/2, c/2, d); + } + + #endregion + + #endregion + } +} diff --git a/Assets/StompyRobot/SRF/Scripts/Helpers/SRMath.Tweening.Functions.cs.meta b/Assets/StompyRobot/SRF/Scripts/Helpers/SRMath.Tweening.Functions.cs.meta new file mode 100644 index 0000000..1b84257 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/Helpers/SRMath.Tweening.Functions.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c0be6d36a29af844fa2d7584d66b374c +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRF/Scripts/Helpers/SRMath.Tweening.cs b/Assets/StompyRobot/SRF/Scripts/Helpers/SRMath.Tweening.cs new file mode 100644 index 0000000..3c480c3 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/Helpers/SRMath.Tweening.cs @@ -0,0 +1,209 @@ +using System; +using UnityEngine; + +public static partial class SRMath +{ + public enum EaseType + { + Linear, + QuadEaseOut, + QuadEaseIn, + QuadEaseInOut, + QuadEaseOutIn, + ExpoEaseOut, + ExpoEaseIn, + ExpoEaseInOut, + ExpoEaseOutIn, + CubicEaseOut, + CubicEaseIn, + CubicEaseInOut, + CubicEaseOutIn, + QuartEaseOut, + QuartEaseIn, + QuartEaseInOut, + QuartEaseOutIn, + QuintEaseOut, + QuintEaseIn, + QuintEaseInOut, + QuintEaseOutIn, + CircEaseOut, + CircEaseIn, + CircEaseInOut, + CircEaseOutIn, + SineEaseOut, + SineEaseIn, + SineEaseInOut, + SineEaseOutIn, + ElasticEaseOut, + ElasticEaseIn, + ElasticEaseInOut, + ElasticEaseOutIn, + BounceEaseOut, + BounceEaseIn, + BounceEaseInOut, + BounceEaseOutIn, + BackEaseOut, + BackEaseIn, + BackEaseInOut, + BackEaseOutIn + } + + public static float Ease(float from, float to, float t, EaseType type) + { + switch (type) + { + case EaseType.Linear: + return TweenFunctions.Linear(t, from, to, 1f); + case EaseType.QuadEaseOut: + return TweenFunctions.QuadEaseOut(t, from, to, 1f); + case EaseType.QuadEaseIn: + return TweenFunctions.QuadEaseIn(t, from, to, 1f); + case EaseType.QuadEaseInOut: + return TweenFunctions.QuadEaseInOut(t, from, to, 1f); + case EaseType.QuadEaseOutIn: + return TweenFunctions.QuadEaseOutIn(t, from, to, 1f); + case EaseType.ExpoEaseOut: + return TweenFunctions.ExpoEaseOut(t, from, to, 1f); + case EaseType.ExpoEaseIn: + return TweenFunctions.ExpoEaseIn(t, from, to, 1f); + case EaseType.ExpoEaseInOut: + return TweenFunctions.ExpoEaseInOut(t, from, to, 1f); + case EaseType.ExpoEaseOutIn: + return TweenFunctions.ExpoEaseOutIn(t, from, to, 1f); + case EaseType.CubicEaseOut: + return TweenFunctions.CubicEaseOut(t, from, to, 1f); + case EaseType.CubicEaseIn: + return TweenFunctions.CubicEaseIn(t, from, to, 1f); + case EaseType.CubicEaseInOut: + return TweenFunctions.CubicEaseInOut(t, from, to, 1f); + case EaseType.CubicEaseOutIn: + return TweenFunctions.CubicEaseOutIn(t, from, to, 1f); + case EaseType.QuartEaseOut: + return TweenFunctions.QuartEaseOut(t, from, to, 1f); + case EaseType.QuartEaseIn: + return TweenFunctions.QuartEaseIn(t, from, to, 1f); + case EaseType.QuartEaseInOut: + return TweenFunctions.QuartEaseInOut(t, from, to, 1f); + case EaseType.QuartEaseOutIn: + return TweenFunctions.QuartEaseOutIn(t, from, to, 1f); + case EaseType.QuintEaseOut: + return TweenFunctions.QuintEaseOut(t, from, to, 1f); + case EaseType.QuintEaseIn: + return TweenFunctions.QuintEaseIn(t, from, to, 1f); + case EaseType.QuintEaseInOut: + return TweenFunctions.QuintEaseInOut(t, from, to, 1f); + case EaseType.QuintEaseOutIn: + return TweenFunctions.QuintEaseOutIn(t, from, to, 1f); + case EaseType.CircEaseOut: + return TweenFunctions.CircEaseOut(t, from, to, 1f); + case EaseType.CircEaseIn: + return TweenFunctions.CircEaseIn(t, from, to, 1f); + case EaseType.CircEaseInOut: + return TweenFunctions.CircEaseInOut(t, from, to, 1f); + case EaseType.CircEaseOutIn: + return TweenFunctions.CircEaseOutIn(t, from, to, 1f); + case EaseType.SineEaseOut: + return TweenFunctions.SineEaseOut(t, from, to, 1f); + case EaseType.SineEaseIn: + return TweenFunctions.SineEaseIn(t, from, to, 1f); + case EaseType.SineEaseInOut: + return TweenFunctions.SineEaseInOut(t, from, to, 1f); + case EaseType.SineEaseOutIn: + return TweenFunctions.SineEaseOutIn(t, from, to, 1f); + case EaseType.ElasticEaseOut: + return TweenFunctions.ElasticEaseOut(t, from, to, 1f); + case EaseType.ElasticEaseIn: + return TweenFunctions.ElasticEaseIn(t, from, to, 1f); + case EaseType.ElasticEaseInOut: + return TweenFunctions.ElasticEaseInOut(t, from, to, 1f); + case EaseType.ElasticEaseOutIn: + return TweenFunctions.ElasticEaseOutIn(t, from, to, 1f); + case EaseType.BounceEaseOut: + return TweenFunctions.BounceEaseOut(t, from, to, 1f); + case EaseType.BounceEaseIn: + return TweenFunctions.BounceEaseIn(t, from, to, 1f); + case EaseType.BounceEaseInOut: + return TweenFunctions.BounceEaseInOut(t, from, to, 1f); + case EaseType.BounceEaseOutIn: + return TweenFunctions.BounceEaseOutIn(t, from, to, 1f); + case EaseType.BackEaseOut: + return TweenFunctions.BackEaseOut(t, from, to, 1f); + case EaseType.BackEaseIn: + return TweenFunctions.BackEaseIn(t, from, to, 1f); + case EaseType.BackEaseInOut: + return TweenFunctions.BackEaseInOut(t, from, to, 1f); + case EaseType.BackEaseOutIn: + return TweenFunctions.BackEaseOutIn(t, from, to, 1f); + default: + throw new ArgumentOutOfRangeException("type"); + } + } + + /// + /// Calculate a framerate-independent value to lerp by + /// + /// + /// + /// + public static float SpringLerp(float strength, float deltaTime) + { + var ms = Mathf.RoundToInt(deltaTime*1000f); + var step = 0.001f*strength; + + var from = 0f; + var to = 1f; + + for (var i = 0; i < ms; i++) + { + from = Mathf.Lerp(from, to, step); + } + + return from; + } + + /// + /// A frame-rate independent way of doing Mathf.Lerp(from, to, Time.deltaTime * strength). Based on NGUIMath.SpringLerp + /// + /// Starting Value + /// End Value + /// How fast the spring will complete + /// Pass in Time.deltaTime or RealTime.deltaTime + /// Interpolated value + public static float SpringLerp(float from, float to, float strength, float deltaTime) + { + return Mathf.Lerp(from, to, SpringLerp(strength, deltaTime)); + } + + public static Vector3 SpringLerp(Vector3 from, Vector3 to, float strength, float deltaTime) + { + return Vector3.Lerp(from, to, SpringLerp(strength, deltaTime)); + } + + public static Quaternion SpringLerp(Quaternion from, Quaternion to, float strength, float deltaTime) + { + return Quaternion.Slerp(from, to, SpringLerp(strength, deltaTime)); + } + + /// + /// Smoothly clamp value between 0 and max, smoothing between min and max + /// + /// + /// + /// + /// + /// + public static float SmoothClamp(float value, float min, float max, float scrollMax, + EaseType easeType = EaseType.ExpoEaseOut) + { + if (value < min) + { + return value; + } + + var p = Mathf.Clamp01((value - min)/(scrollMax - min)); + + Debug.Log(p); + + return Mathf.Clamp(min + Mathf.Lerp(value - min, max, Ease(0, 1f, p, easeType)), 0, max); + } +} diff --git a/Assets/StompyRobot/SRF/Scripts/Helpers/SRMath.Tweening.cs.meta b/Assets/StompyRobot/SRF/Scripts/Helpers/SRMath.Tweening.cs.meta new file mode 100644 index 0000000..0746b94 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/Helpers/SRMath.Tweening.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 810c2c875ec6af345a04174ff5828880 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRF/Scripts/Helpers/SRMath.cs b/Assets/StompyRobot/SRF/Scripts/Helpers/SRMath.cs new file mode 100644 index 0000000..e14866a --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/Helpers/SRMath.cs @@ -0,0 +1,151 @@ +using System; +using UnityEngine; + +public static partial class SRMath +{ + /// + /// Lerp from one value to another, without clamping t to 0-1. + /// + /// + /// + /// + /// + public static float LerpUnclamped(float from, float to, float t) + { + return (1.0f - t)*from + t*to; + } + + /// + /// Lerp from one vector to another, without clamping t + /// + /// + /// + /// + /// + public static Vector3 LerpUnclamped(Vector3 from, Vector3 to, float t) + { + return new Vector3( + LerpUnclamped(from.x, to.x, t), + LerpUnclamped(from.y, to.y, t), + LerpUnclamped(from.z, to.z, t) + ); + } + + /// + /// Value from 0.0f-1.0f, 0 when facing fully away and 1.0f when facing fully towards + /// + public static float FacingNormalized(Vector3 dir1, Vector3 dir2) + { + dir1.Normalize(); + dir2.Normalize(); + + return Mathf.InverseLerp(-1, 1, Vector3.Dot(dir1, dir2)); + } + + /// + /// Reduces a given angle to a value between 180 and -180. + /// + /// The angle to reduce, in radians. + /// The new angle, in radians. + /// https://github.com/mono/MonoGame/blob/develop/MonoGame.Framework/MathHelper.cs + public static float WrapAngle(float angle) + { + if (angle <= -180f) + { + angle += 360f; + } + else + { + if (angle > 180f) + { + angle -= 360f; + } + } + return angle; + } + + /// + /// Return the angle closest to 'to' + /// + /// + /// + /// + /// + public static float NearestAngle(float to, float angle1, float angle2) + { + if (Mathf.Abs(Mathf.DeltaAngle(to, angle1)) > Mathf.Abs(Mathf.DeltaAngle(to, angle2))) + { + return angle2; + } + return angle1; + } + + /// + /// Wrap value to 0-max (non-inclusive) + /// + /// Max value (non-inclusive) + /// + /// Value wrapped from 0-max + public static int Wrap(int max, int value) + { + if (max < 0) + { + throw new ArgumentOutOfRangeException("max", "max must be greater than 0"); + } + + while (value < 0) + { + value += max; + } + + while (value >= max) + { + value -= max; + } + + return value; + } + + /// + /// Wrap value to 0-max (non-inclusive) + /// + /// Max value (non-inclusive) + /// + /// Value wrapped from 0-max + public static float Wrap(float max, float value) + { + while (value < 0) + { + value += max; + } + + while (value >= max) + { + value -= max; + } + + return value; + } + + public static float Average(float v1, float v2) + { + return (v1 + v2)*0.5f; + } + + /// + /// Return an angle in range -180, 180 based on direction vector + /// + /// + /// + public static float Angle(Vector2 direction) + { + var angle = Vector3.Angle(Vector3.up, direction); + + if (Vector3.Cross(direction, Vector3.up).z > 0f) + { + angle *= -1; + } + + return angle; + } +} diff --git a/Assets/StompyRobot/SRF/Scripts/Helpers/SRMath.cs.meta b/Assets/StompyRobot/SRF/Scripts/Helpers/SRMath.cs.meta new file mode 100644 index 0000000..ed4d9cf --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/Helpers/SRMath.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: dc751da3d31975645847e0e4088ff560 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRF/Scripts/Helpers/SRReflection.cs b/Assets/StompyRobot/SRF/Scripts/Helpers/SRReflection.cs new file mode 100644 index 0000000..ed8c175 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/Helpers/SRReflection.cs @@ -0,0 +1,46 @@ +namespace SRF.Helpers +{ + using System; + using System.Reflection; + + public static class SRReflection + { + public static void SetPropertyValue(object obj, PropertyInfo p, object value) + { +#if NETFX_CORE + p.SetValue(obj, value, null); +#else + p.GetSetMethod().Invoke(obj, new[] {value}); +#endif + } + + public static object GetPropertyValue(object obj, PropertyInfo p) + { +#if NETFX_CORE + return p.GetValue(obj, null); +#else + return p.GetGetMethod().Invoke(obj, null); +#endif + } + + public static T GetAttribute(MemberInfo t) where T : Attribute + { +#if !NETFX_CORE + return Attribute.GetCustomAttribute(t, typeof (T)) as T; +#else + return t.GetCustomAttribute(typeof (T), true) as T; +#endif + } + +#if NETFX_CORE + + public static T GetAttribute(Type t) where T : Attribute + { + + return GetAttribute(t.GetTypeInfo()); + + } + +#endif + } +} diff --git a/Assets/StompyRobot/SRF/Scripts/Helpers/SRReflection.cs.meta b/Assets/StompyRobot/SRF/Scripts/Helpers/SRReflection.cs.meta new file mode 100644 index 0000000..6f73edd --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/Helpers/SRReflection.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6aaf1b857713dd44a955633b6458f1c2 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRF/Scripts/Service.meta b/Assets/StompyRobot/SRF/Scripts/Service.meta new file mode 100644 index 0000000..6947c0b --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/Service.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 9107076f77b9a344d8c00028a350b6fb +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/StompyRobot/SRF/Scripts/Service/Attributes.cs b/Assets/StompyRobot/SRF/Scripts/Service/Attributes.cs new file mode 100644 index 0000000..16497e7 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/Service/Attributes.cs @@ -0,0 +1,39 @@ +using UnityEngine.Scripting; + +namespace SRF.Service +{ + using System; + + [AttributeUsage(AttributeTargets.Class)] + public sealed class ServiceAttribute : PreserveAttribute + { + public ServiceAttribute(Type serviceType) + { + ServiceType = serviceType; + } + + public Type ServiceType { get; private set; } + } + + [AttributeUsage(AttributeTargets.Method)] + public sealed class ServiceSelectorAttribute : PreserveAttribute + { + public ServiceSelectorAttribute(Type serviceType) + { + ServiceType = serviceType; + } + + public Type ServiceType { get; private set; } + } + + [AttributeUsage(AttributeTargets.Method)] + public sealed class ServiceConstructorAttribute : PreserveAttribute + { + public ServiceConstructorAttribute(Type serviceType) + { + ServiceType = serviceType; + } + + public Type ServiceType { get; private set; } + } +} diff --git a/Assets/StompyRobot/SRF/Scripts/Service/Attributes.cs.meta b/Assets/StompyRobot/SRF/Scripts/Service/Attributes.cs.meta new file mode 100644 index 0000000..e396468 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/Service/Attributes.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 901f51b194db73d479d84ae26519fc20 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRF/Scripts/Service/IAsyncService.cs b/Assets/StompyRobot/SRF/Scripts/Service/IAsyncService.cs new file mode 100644 index 0000000..27ef84f --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/Service/IAsyncService.cs @@ -0,0 +1,7 @@ +namespace SRF.Service +{ + public interface IAsyncService + { + bool IsLoaded { get; } + } +} diff --git a/Assets/StompyRobot/SRF/Scripts/Service/IAsyncService.cs.meta b/Assets/StompyRobot/SRF/Scripts/Service/IAsyncService.cs.meta new file mode 100644 index 0000000..5d3ac74 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/Service/IAsyncService.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 08e9b59ff0ffb22488411ef5134ee325 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRF/Scripts/Service/SRDependencyServiceBase.cs b/Assets/StompyRobot/SRF/Scripts/Service/SRDependencyServiceBase.cs new file mode 100644 index 0000000..a377f0b --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/Service/SRDependencyServiceBase.cs @@ -0,0 +1,91 @@ +//#define ENABLE_LOGGING + +namespace SRF.Service +{ + using System; + using System.Collections; + using System.Diagnostics; + using UnityEngine; + using Debug = UnityEngine.Debug; + using Object = UnityEngine.Object; + + /// + /// A service which has async-loading dependencies + /// + /// + public abstract class SRDependencyServiceBase : SRServiceBase, IAsyncService where T : class + { + private bool _isLoaded; + protected abstract Type[] Dependencies { get; } + + public bool IsLoaded + { + get { return _isLoaded; } + } + + [Conditional("ENABLE_LOGGING")] + private void Log(string msg, Object target) + { +//#if ENABLE_LOGGING + Debug.Log(msg, target); +//#endif + } + + protected override void Start() + { + base.Start(); + + StartCoroutine(LoadDependencies()); + } + + /// + /// Invoked once all dependencies are loaded + /// + protected virtual void OnLoaded() {} + + private IEnumerator LoadDependencies() + { + SRServiceManager.LoadingCount++; + + Log("[Service] Loading service ({0})".Fmt(GetType().Name), this); + + foreach (var d in Dependencies) + { + var hasService = SRServiceManager.HasService(d); + + Log("[Service] Resolving Service ({0}) HasService: {1}".Fmt(d.Name, hasService), this); + + if (hasService) + { + continue; + } + + var service = SRServiceManager.GetService(d); + + if (service == null) + { + Debug.LogError("[Service] Could not resolve dependency ({0})".Fmt(d.Name)); + enabled = false; + yield break; + } + + var a = service as IAsyncService; + + if (a != null) + { + while (!a.IsLoaded) + { + yield return new WaitForEndOfFrame(); + } + } + } + + Log("[Service] Loading service ({0}) complete.".Fmt(GetType().Name), this); + + _isLoaded = true; + SRServiceManager.LoadingCount--; + + OnLoaded(); + } + } +} diff --git a/Assets/StompyRobot/SRF/Scripts/Service/SRDependencyServiceBase.cs.meta b/Assets/StompyRobot/SRF/Scripts/Service/SRDependencyServiceBase.cs.meta new file mode 100644 index 0000000..492d47d --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/Service/SRDependencyServiceBase.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8c5aaa1711d009f48a19f2db87d71b82 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRF/Scripts/Service/SRSceneServiceBase.cs b/Assets/StompyRobot/SRF/Scripts/Service/SRSceneServiceBase.cs new file mode 100644 index 0000000..4da7835 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/Service/SRSceneServiceBase.cs @@ -0,0 +1,128 @@ +//#define ENABLE_LOGGING + +namespace SRF.Service +{ + using System.Collections; + using System.Diagnostics; + using UnityEngine; + using Debug = UnityEngine.Debug; + + public abstract class SRSceneServiceBase : SRServiceBase, IAsyncService + where T : class + where TImpl : Component + { + private TImpl _rootObject; + + /// + /// Name of the scene this service's contents are within + /// + protected abstract string SceneName { get; } + + /// + /// Scene contents root object + /// + protected TImpl RootObject + { + get { return _rootObject; } + } + + public bool IsLoaded + { + get { return _rootObject != null; } + } + + [Conditional("ENABLE_LOGGING")] + private void Log(string msg, Object target) + { + //#if ENABLE_LOGGING + Debug.Log(msg, target); + //#endif + } + + protected override void Start() + { + base.Start(); + + StartCoroutine(LoadCoroutine()); + } + + protected override void OnDestroy() + { + if (IsLoaded) + { + Destroy(_rootObject.gameObject); + } + + base.OnDestroy(); + } + + protected virtual void OnLoaded() {} + + private IEnumerator LoadCoroutine() + { + if (_rootObject != null) + { + yield break; + } + + SRServiceManager.LoadingCount++; +#if UNITY_4_6 || UNITY_4_7 || UNITY_5_0 || UNITY_5_1 || UNITY_5_2 + if (Application.loadedLevelName == SceneName) +#else + if (UnityEngine.SceneManagement.SceneManager.GetSceneByName(SceneName).isLoaded) +#endif + { + Log("[Service] Already in service scene {0}. Searching for root object...".Fmt(SceneName), this); + } + else + { + Log("[Service] Loading scene ({0})".Fmt(SceneName), this); + +#if UNITY_PRO_LICENSE || UNITY_5 || UNITY_5_3_OR_NEWER +#if UNITY_4_6 || UNITY_4_7 || UNITY_5_0 || UNITY_5_1 || UNITY_5_2 + yield return Application.LoadLevelAdditiveAsync(SceneName); +#else + yield return UnityEngine.SceneManagement.SceneManager.LoadSceneAsync(SceneName, UnityEngine.SceneManagement.LoadSceneMode.Additive); +#endif +#else + Application.LoadLevelAdditive(SceneName); + yield return new WaitForEndOfFrame(); +#endif + + Log("[Service] Scene loaded. Searching for root object...", this); + } + + var go = GameObject.Find(SceneName); + + if (go == null) + { + goto Error; + } + + var timpl = go.GetComponent(); + + if (timpl == null) + { + goto Error; + } + + _rootObject = timpl; + _rootObject.transform.parent = CachedTransform; + + DontDestroyOnLoad(go); + + Debug.Log("[Service] Loading {0} complete. (Scene: {1})".Fmt(GetType().Name, SceneName), this); + SRServiceManager.LoadingCount--; + + OnLoaded(); + + yield break; + + Error: + + SRServiceManager.LoadingCount--; + Debug.LogError("[Service] Root object ({0}) not found".Fmt(SceneName), this); + enabled = false; + } + } +} diff --git a/Assets/StompyRobot/SRF/Scripts/Service/SRSceneServiceBase.cs.meta b/Assets/StompyRobot/SRF/Scripts/Service/SRSceneServiceBase.cs.meta new file mode 100644 index 0000000..c11e733 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/Service/SRSceneServiceBase.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ff0dcbb555990d24e9e3055e77395656 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRF/Scripts/Service/SRServiceBase.cs b/Assets/StompyRobot/SRF/Scripts/Service/SRServiceBase.cs new file mode 100644 index 0000000..3623282 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/Service/SRServiceBase.cs @@ -0,0 +1,17 @@ +namespace SRF.Service +{ + public abstract class SRServiceBase : SRMonoBehaviourEx where T : class + { + protected override void Awake() + { + base.Awake(); + SRServiceManager.RegisterService(this); + } + + protected override void OnDestroy() + { + base.OnDestroy(); + SRServiceManager.UnRegisterService(); + } + } +} diff --git a/Assets/StompyRobot/SRF/Scripts/Service/SRServiceBase.cs.meta b/Assets/StompyRobot/SRF/Scripts/Service/SRServiceBase.cs.meta new file mode 100644 index 0000000..0825f20 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/Service/SRServiceBase.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c4f48d5ad0a809349bd5e46160a824d3 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRF/Scripts/Service/SRServiceManager.cs b/Assets/StompyRobot/SRF/Scripts/Service/SRServiceManager.cs new file mode 100644 index 0000000..f2db674 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/Service/SRServiceManager.cs @@ -0,0 +1,530 @@ +// Disable unreachable code warning caused by DEBUG +#pragma warning disable 0162 + +namespace SRF.Service +{ + using System; + using System.Collections.Generic; + using System.Linq; + using System.Reflection; + using Components; + using Helpers; + using Internal; + using UnityEngine; + using Object = UnityEngine.Object; + + [AddComponentMenu(ComponentMenuPaths.SRServiceManager)] + public class SRServiceManager : SRAutoSingleton + { +#if SRDEBUG + public const bool EnableLogging = true; +#else + public const bool EnableLogging = false; +#endif + +#if UNITY_EDITOR && ((!UNITY_2017 && !UNITY_2018 && !UNITY_2019) || UNITY_2019_3_OR_NEWER) + [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.SubsystemRegistration)] + public static void RuntimeInitialize() + { + // To handle entering play mode without a domain reload, need to reset the state of the service manager. + _hasQuit = false; + } +#endif + + /// + /// Register the assembly that contains type with the service manager. + /// + /// + public static void RegisterAssembly() + { +#if NETFX_CORE + var assembly = typeof(TType).GetTypeInfo().Assembly; +#else + var assembly = typeof(TType).Assembly; +#endif + + if (_assemblies.Contains(assembly)) + { + return; + } + + _assemblies.Add(assembly); + } + + /// + /// Is there a service loading? + /// + public static bool IsLoading + { + get { return LoadingCount > 0; } + } + + public static int LoadingCount = 0; + + public static T GetService() where T : class + { + var s = GetServiceInternal(typeof(T)) as T; + + if (s == null && (!_hasQuit || EnableLogging)) + { + Debug.LogWarning("Service {0} not found. (HasQuit: {1})".Fmt(typeof(T).Name, _hasQuit)); + } + + + return s; + } + + public static object GetService(Type t) + { + var s = GetServiceInternal(t); + + if (s == null && (!_hasQuit || EnableLogging)) + { + Debug.LogWarning("Service {0} not found. (HasQuit: {1})".Fmt(t.Name, _hasQuit)); + } + + return s; + } + + private static object GetServiceInternal(Type t) + { + if (_hasQuit || !Application.isPlaying) + { + return null; + } + + var services = Instance._services; + + for (var i = 0; i < services.Count; i++) + { + var s = services[i]; + + if (t.IsAssignableFrom(s.Type)) + { + if (s.Object == null) + { + UnRegisterService(t); + break; + } + + return s.Object; + } + } + + return Instance.AutoCreateService(t); + } + + public static bool HasService() where T : class + { + return HasService(typeof(T)); + } + + public static bool HasService(Type t) + { + if (_hasQuit || !Application.isPlaying) + { + return false; + } + + var services = Instance._services; + + for (var i = 0; i < services.Count; i++) + { + var s = services[i]; + + if (t.IsAssignableFrom(s.Type)) + { + return s.Object != null; + } + } + + return false; + } + + public static void RegisterService(object service) where T : class + { + RegisterService(typeof(T), service); + } + + private static void RegisterService(Type t, object service) + { + if (_hasQuit) + { + return; + } + + if (HasService(t)) + { + if (GetServiceInternal(t) == service) + { + return; + } + + throw new Exception("Service already registered for type " + t.Name); + } + + UnRegisterService(t); + + if (!t.IsInstanceOfType(service)) + { + throw new ArgumentException("service {0} must be assignable from type {1}".Fmt(service.GetType(), t)); + } + + Instance._services.Add(new Service { + Object = service, + Type = t + }); + } + + public static void UnRegisterService() where T : class + { + UnRegisterService(typeof(T)); + } + + private static void UnRegisterService(Type t) + { + if (_hasQuit || !HasInstance) + { + return; + } + + if (!HasService(t)) + { + return; + } + + var services = Instance._services; + + for (var i = services.Count - 1; i >= 0; i--) + { + var s = services[i]; + + if (s.Type == t) + { + services.RemoveAt(i); + } + } + } + + private class Service + { + public object Object; + public Type Type; + } + + private class ServiceStub + { + public Func Constructor; + public Type InterfaceType; + public Func Selector; + public Type Type; + + public override string ToString() + { + var s = InterfaceType.Name + " ("; + + if (Type != null) + { + s += "Type: " + Type; + } + else if (Selector != null) + { + s += "Selector: " + Selector; + } + else if (Constructor != null) + { + s += "Constructor: " + Constructor; + } + + s += ")"; + + return s; + } + } + + private static readonly List _assemblies = new List(2); + + private readonly SRList _services = new SRList(); + + private List _serviceStubs; + + private static bool _hasQuit; + + protected override void Awake() + { + _hasQuit = false; + base.Awake(); + DontDestroyOnLoad(CachedGameObject); + + CachedGameObject.hideFlags = HideFlags.NotEditable; + } + + protected void UpdateStubs() + { + if (_serviceStubs != null) + { + return; + } + + RegisterAssembly(); + + _serviceStubs = new List(); + + var types = new List(); + + foreach (var assembly in _assemblies) + { + try + { +#if NETFX_CORE + types.AddRange(assembly.Types); +#else + types.AddRange(assembly.GetTypes()); +#endif + } + catch (Exception e) + { + Debug.LogError("[SRServiceManager] Error loading assembly {0}".Fmt(assembly.FullName), this); + Debug.LogException(e); + } + } + + foreach (var type in types) + { + ScanType(type); + } + + if (EnableLogging) + { + var serviceStrings = + _serviceStubs.Select(p => " {0}".Fmt(p)).ToArray(); + + Debug.Log("[SRServiceManager] Services Discovered: {0} \n {1}".Fmt(serviceStrings.Length, + string.Join("\n ", serviceStrings))); + } + } + + protected object AutoCreateService(Type t) + { + UpdateStubs(); + + foreach (var stub in _serviceStubs) + { + if (stub.InterfaceType != t) + { + continue; + } + + object service = null; + + if (stub.Constructor != null) + { + service = stub.Constructor(); + } + else + { + var serviceType = stub.Type; + + if (serviceType == null) + { + serviceType = stub.Selector(); + } + + service = DefaultServiceConstructor(t, serviceType); + } + + if (!HasService(t)) + { + RegisterService(t, service); + } + + if (EnableLogging) + { + Debug.Log("[SRServiceManager] Auto-created service: {0} ({1})".Fmt(stub.Type, stub.InterfaceType), + service as Object); + } + + return service; + } + + return null; + } + + protected void OnApplicationQuit() + { + _hasQuit = true; + _assemblies.Clear(); + } + +#if UNITY_EDITOR + + protected void OnDisable() + { + if (EnableLogging) + { + Debug.Log("[SRServiceManager] Cleaning up services"); + } + + // Script recompile is likely in progress - clear up everything. + foreach (Service s in _services) + { + IDisposable disposable = s.Object as IDisposable; + if (disposable != null) + { + disposable.Dispose(); + } + + Behaviour behaviour = s.Object as Behaviour; + if (behaviour != null) + { + DestroyImmediate(behaviour.gameObject); + } else if (s.Object is Object) + { + DestroyImmediate(s.Object as Object); + } + } + + _services.Clear(clean: true); + } +#endif + + private static object DefaultServiceConstructor(Type serviceIntType, Type implType) + { + // If mono-behaviour based, create a gameobject for this service + if (typeof(MonoBehaviour).IsAssignableFrom(implType)) + { + var go = new GameObject("_S_" + serviceIntType.Name); + return go.AddComponent(implType); + } + + // If ScriptableObject based, create an instance + if (typeof(ScriptableObject).IsAssignableFrom(implType)) + { + var obj = ScriptableObject.CreateInstance(implType); + return obj; + } + + // If just a standard C# object, just create an instance + return Activator.CreateInstance(implType); + } + +#region Type Scanning + + private void ScanType(Type type) + { + var attribute = SRReflection.GetAttribute(type); + + if (attribute != null) + { + _serviceStubs.Add(new ServiceStub { + Type = type, + InterfaceType = attribute.ServiceType + }); + } + + ScanTypeForConstructors(type, _serviceStubs); + ScanTypeForSelectors(type, _serviceStubs); + } + + private static void ScanTypeForSelectors(Type t, List stubs) + { + var methods = GetStaticMethods(t); + + foreach (var method in methods) + { + var attrib = SRReflection.GetAttribute(method); + + if (attrib == null) + { + continue; + } + + if (method.ReturnType != typeof(Type)) + { + Debug.LogError("ServiceSelector must have return type of Type ({0}.{1}())".Fmt(t.Name, method.Name)); + continue; + } + + if (method.GetParameters().Length > 0) + { + Debug.LogError("ServiceSelector must have no parameters ({0}.{1}())".Fmt(t.Name, method.Name)); + continue; + } + + var stub = stubs.FirstOrDefault(p => p.InterfaceType == attrib.ServiceType); + + if (stub == null) + { + stub = new ServiceStub { + InterfaceType = attrib.ServiceType + }; + + stubs.Add(stub); + } + +#if NETFX_CORE + stub.Selector = (Func)method.CreateDelegate(typeof(Func)); +#else + stub.Selector = (Func)Delegate.CreateDelegate(typeof(Func), method); +#endif + } + } + + private static void ScanTypeForConstructors(Type t, List stubs) + { + var methods = GetStaticMethods(t); + + foreach (var method in methods) + { + var attrib = SRReflection.GetAttribute(method); + + if (attrib == null) + { + continue; + } + + if (method.ReturnType != attrib.ServiceType) + { + Debug.LogError("ServiceConstructor must have return type of {2} ({0}.{1}())".Fmt(t.Name, method.Name, + attrib.ServiceType)); + continue; + } + + if (method.GetParameters().Length > 0) + { + Debug.LogError("ServiceConstructor must have no parameters ({0}.{1}())".Fmt(t.Name, method.Name)); + continue; + } + + var stub = stubs.FirstOrDefault(p => p.InterfaceType == attrib.ServiceType); + + if (stub == null) + { + stub = new ServiceStub { + InterfaceType = attrib.ServiceType + }; + + stubs.Add(stub); + } + + var m = method; + stub.Constructor = () => m.Invoke(null, null); + } + } + +#endregion + +#region Reflection + + private static MethodInfo[] GetStaticMethods(Type t) + { +#if !NETFX_CORE + return t.GetMethods(BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic); +#else + return t.GetTypeInfo().DeclaredMethods.Where(p => p.IsStatic).ToArray(); +#endif + } + +#endregion + } +} diff --git a/Assets/StompyRobot/SRF/Scripts/Service/SRServiceManager.cs.meta b/Assets/StompyRobot/SRF/Scripts/Service/SRServiceManager.cs.meta new file mode 100644 index 0000000..810c8f8 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/Service/SRServiceManager.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 83920a42d6e0f814bacbc701ae8636a5 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 16100 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRF/Scripts/UI.meta b/Assets/StompyRobot/SRF/Scripts/UI.meta new file mode 100644 index 0000000..3189c53 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/UI.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: ed6eb48a67380fe40a3864e012ce762d +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/StompyRobot/SRF/Scripts/UI/ContentFitText.cs b/Assets/StompyRobot/SRF/Scripts/UI/ContentFitText.cs new file mode 100644 index 0000000..fb055d0 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/UI/ContentFitText.cs @@ -0,0 +1,145 @@ +namespace SRF.UI +{ + using Internal; + using UnityEngine; + using UnityEngine.EventSystems; + using UnityEngine.UI; + + [RequireComponent(typeof (RectTransform))] + [ExecuteInEditMode] + [AddComponentMenu(ComponentMenuPaths.ContentFitText)] + public class ContentFitText : UIBehaviour, ILayoutElement + { + public SRText CopySource; + public Vector2 Padding; + + public float minWidth + { + get + { + if (CopySource == null) + { + return -1f; + } + return LayoutUtility.GetMinWidth(CopySource.rectTransform) + Padding.x; + } + } + + public float preferredWidth + { + get + { + if (CopySource == null) + { + return -1f; + } + return LayoutUtility.GetPreferredWidth(CopySource.rectTransform) + Padding.x; + } + } + + public float flexibleWidth + { + get + { + if (CopySource == null) + { + return -1f; + } + return LayoutUtility.GetFlexibleWidth(CopySource.rectTransform); + } + } + + public float minHeight + { + get + { + if (CopySource == null) + { + return -1f; + } + return LayoutUtility.GetFlexibleHeight(CopySource.rectTransform) + Padding.y; + } + } + + public float preferredHeight + { + get + { + if (CopySource == null) + { + return -1f; + } + return LayoutUtility.GetPreferredHeight(CopySource.rectTransform) + Padding.y; + } + } + + public float flexibleHeight + { + get + { + if (CopySource == null) + { + return -1f; + } + return LayoutUtility.GetFlexibleHeight(CopySource.rectTransform); + } + } + + public int layoutPriority + { + get { return 0; } + } + + public void CalculateLayoutInputHorizontal() + { + CopySource.CalculateLayoutInputHorizontal(); + } + + public void CalculateLayoutInputVertical() + { + CopySource.CalculateLayoutInputVertical(); + } + + protected override void OnEnable() + { + SetDirty(); + CopySource.LayoutDirty += CopySourceOnLayoutDirty; + } + + private void CopySourceOnLayoutDirty(SRText srText) + { + SetDirty(); + } + + protected override void OnTransformParentChanged() + { + SetDirty(); + } + + protected override void OnDisable() + { + CopySource.LayoutDirty -= CopySourceOnLayoutDirty; + SetDirty(); + } + + protected override void OnDidApplyAnimationProperties() + { + SetDirty(); + } + + protected override void OnBeforeTransformParentChanged() + { + SetDirty(); + } + + protected void SetDirty() + { + if (!IsActive()) + { + return; + } + + LayoutRebuilder.MarkLayoutForRebuild(transform as RectTransform); + } + } +} diff --git a/Assets/StompyRobot/SRF/Scripts/UI/ContentFitText.cs.meta b/Assets/StompyRobot/SRF/Scripts/UI/ContentFitText.cs.meta new file mode 100644 index 0000000..a29225e --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/UI/ContentFitText.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: dced79525dbfa2b44b8d52b2cca6d745 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRF/Scripts/UI/CopyLayoutElement.cs b/Assets/StompyRobot/SRF/Scripts/UI/CopyLayoutElement.cs new file mode 100644 index 0000000..ec3ff0e --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/UI/CopyLayoutElement.cs @@ -0,0 +1,95 @@ +namespace SRF.UI +{ + using Internal; + using UnityEngine; + using UnityEngine.EventSystems; + using UnityEngine.UI; + + /// + /// Copies the preferred size of another layout element (useful for a parent object basing its sizing from a child + /// element). + /// This does have very quirky behaviour, though. + /// TODO: Write custom editor for this to match layout element editor + /// + [RequireComponent(typeof (RectTransform))] + [ExecuteInEditMode] + [AddComponentMenu(ComponentMenuPaths.CopyLayoutElement)] + public class CopyLayoutElement : UIBehaviour, ILayoutElement + { + public bool CopyMinHeight; + public bool CopyMinWidth; + public bool CopyPreferredHeight; + public bool CopyPreferredWidth; + public RectTransform CopySource; + public float PaddingMinHeight; + public float PaddingMinWidth; + public float PaddingPreferredHeight; + public float PaddingPreferredWidth; + + public float preferredWidth + { + get + { + if (!CopyPreferredWidth || CopySource == null || !IsActive()) + { + return -1f; + } + return LayoutUtility.GetPreferredWidth(CopySource) + PaddingPreferredWidth; + } + } + + public float preferredHeight + { + get + { + if (!CopyPreferredHeight || CopySource == null || !IsActive()) + { + return -1f; + } + return LayoutUtility.GetPreferredHeight(CopySource) + PaddingPreferredHeight; + } + } + + public float minWidth + { + get + { + if (!CopyMinWidth || CopySource == null || !IsActive()) + { + return -1f; + } + return LayoutUtility.GetMinWidth(CopySource) + PaddingMinWidth; + } + } + + public float minHeight + { + get + { + if (!CopyMinHeight || CopySource == null || !IsActive()) + { + return -1f; + } + return LayoutUtility.GetMinHeight(CopySource) + PaddingMinHeight; + } + } + + public int layoutPriority + { + get { return 2; } + } + + public float flexibleHeight + { + get { return -1; } + } + + public float flexibleWidth + { + get { return -1; } + } + + public void CalculateLayoutInputHorizontal() {} + public void CalculateLayoutInputVertical() {} + } +} diff --git a/Assets/StompyRobot/SRF/Scripts/UI/CopyLayoutElement.cs.meta b/Assets/StompyRobot/SRF/Scripts/UI/CopyLayoutElement.cs.meta new file mode 100644 index 0000000..6fb4570 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/UI/CopyLayoutElement.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 525a40520606ceb469b7494cb8ddef87 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRF/Scripts/UI/CopyPreferredSize.cs b/Assets/StompyRobot/SRF/Scripts/UI/CopyPreferredSize.cs new file mode 100644 index 0000000..068c7c3 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/UI/CopyPreferredSize.cs @@ -0,0 +1,50 @@ +namespace SRF.UI +{ + using Internal; + using UnityEngine; + using UnityEngine.UI; + + /// + /// Copies the preferred size of another layout element (useful for a parent object basing its sizing from a child + /// element). + /// This does have very quirky behaviour, though. + /// + [RequireComponent(typeof (RectTransform))] + [ExecuteInEditMode] + [AddComponentMenu(ComponentMenuPaths.CopyPreferredSize)] + public class CopyPreferredSize : LayoutElement + { + public RectTransform CopySource; + public float PaddingHeight; + public float PaddingWidth; + + public override float preferredWidth + { + get + { + if (CopySource == null || !IsActive()) + { + return -1f; + } + return LayoutUtility.GetPreferredWidth(CopySource) + PaddingWidth; + } + } + + public override float preferredHeight + { + get + { + if (CopySource == null || !IsActive()) + { + return -1f; + } + return LayoutUtility.GetPreferredHeight(CopySource) + PaddingHeight; + } + } + + public override int layoutPriority + { + get { return 2; } + } + } +} diff --git a/Assets/StompyRobot/SRF/Scripts/UI/CopyPreferredSize.cs.meta b/Assets/StompyRobot/SRF/Scripts/UI/CopyPreferredSize.cs.meta new file mode 100644 index 0000000..0a35ed6 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/UI/CopyPreferredSize.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 32609112f4257a740aa4b920a8556d24 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRF/Scripts/UI/CopyPreferredSizes.cs b/Assets/StompyRobot/SRF/Scripts/UI/CopyPreferredSizes.cs new file mode 100644 index 0000000..5bbe79e --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/UI/CopyPreferredSizes.cs @@ -0,0 +1,107 @@ +using System; + +namespace SRF.UI +{ + using Internal; + using UnityEngine; + using UnityEngine.UI; + + /// + /// Copies the preferred size of another layout element (useful for a parent object basing its sizing from a child + /// element). + /// This does have very quirky behaviour, though. + /// + [RequireComponent(typeof(RectTransform))] + [ExecuteInEditMode] + [AddComponentMenu(ComponentMenuPaths.CopyPreferredSizes)] + public class CopyPreferredSizes : LayoutElement + { + public enum Operations + { + Max, + Min + } + + [Serializable] + public class CopySource + { + public RectTransform Rect; + + public float PaddingHeight; + public float PaddingWidth; + } + + public CopySource[] CopySources; + public Operations Operation; + + + public override float preferredWidth + { + get + { + if (CopySources == null || CopySources.Length == 0 || !IsActive()) + { + return -1f; + } + + float current = Operation == Operations.Max ? float.MinValue : float.MaxValue; + + for (var i = 0; i < CopySources.Length; i++) + { + if (CopySources[i].Rect == null) + continue; + + float width = LayoutUtility.GetPreferredWidth(CopySources[i].Rect) + CopySources[i].PaddingWidth; + if (Operation == Operations.Max && width > current) + current = width; + else if (Operation == Operations.Min && width < current) + current = width; + } + + // ReSharper disable CompareOfFloatsByEqualityOperator + if (Operation == Operations.Max && current == float.MinValue) return -1; + if (Operation == Operations.Min && current == float.MaxValue) return -1; + // ReSharper restore CompareOfFloatsByEqualityOperator + + return current; + } + } + + public override float preferredHeight + { + get + { + if (CopySources == null || CopySources.Length == 0 || !IsActive()) + { + return -1f; + } + + float current = Operation == Operations.Max ? float.MinValue : float.MaxValue; + + for (var i = 0; i < CopySources.Length; i++) + { + if (CopySources[i].Rect == null) + continue; + + float height = LayoutUtility.GetPreferredHeight(CopySources[i].Rect) + CopySources[i].PaddingHeight; + if (Operation == Operations.Max && height > current) + current = height; + else if (Operation == Operations.Min && height < current) + current = height; + } + + // ReSharper disable CompareOfFloatsByEqualityOperator + if (Operation == Operations.Max && current == float.MinValue) return -1; + if (Operation == Operations.Min && current == float.MaxValue) return -1; + // ReSharper restore CompareOfFloatsByEqualityOperator + + return current; + } + } + + public override int layoutPriority + { + get { return 2; } + } + } +} \ No newline at end of file diff --git a/Assets/StompyRobot/SRF/Scripts/UI/CopyPreferredSizes.cs.meta b/Assets/StompyRobot/SRF/Scripts/UI/CopyPreferredSizes.cs.meta new file mode 100644 index 0000000..1fa409b --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/UI/CopyPreferredSizes.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d5c292f06a2fb3644aac9698b40bd348 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRF/Scripts/UI/CopySizeIntoLayoutElement.cs b/Assets/StompyRobot/SRF/Scripts/UI/CopySizeIntoLayoutElement.cs new file mode 100644 index 0000000..e939ae0 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/UI/CopySizeIntoLayoutElement.cs @@ -0,0 +1,76 @@ +namespace SRF.UI +{ + using Internal; + using UnityEngine; + using UnityEngine.UI; + + /// + /// Copies the preferred size of another layout element (useful for a parent object basing its sizing from a child + /// element). + /// This does have very quirky behaviour, though. + /// + [RequireComponent(typeof(RectTransform))] + [ExecuteInEditMode] + [AddComponentMenu(ComponentMenuPaths.CopySizeIntoLayoutElement)] + public class CopySizeIntoLayoutElement : LayoutElement + { + public RectTransform CopySource; + public float PaddingHeight; + public float PaddingWidth; + + public bool SetPreferredSize = false; + public bool SetMinimumSize = false; + + public override float preferredWidth + { + get + { + if (!SetPreferredSize || CopySource == null || !IsActive()) + { + return -1f; + } + return CopySource.rect.width + PaddingWidth; + } + } + + public override float preferredHeight + { + get + { + if (!SetPreferredSize || CopySource == null || !IsActive()) + { + return -1f; + } + return CopySource.rect.height + PaddingHeight; + } + } + public override float minWidth + { + get + { + if (!SetMinimumSize || CopySource == null || !IsActive()) + { + return -1f; + } + return CopySource.rect.width + PaddingWidth; + } + } + + public override float minHeight + { + get + { + if (!SetMinimumSize || CopySource == null || !IsActive()) + { + return -1f; + } + return CopySource.rect.height + PaddingHeight; + } + } + + public override int layoutPriority + { + get { return 2; } + } + } +} diff --git a/Assets/StompyRobot/SRF/Scripts/UI/CopySizeIntoLayoutElement.cs.meta b/Assets/StompyRobot/SRF/Scripts/UI/CopySizeIntoLayoutElement.cs.meta new file mode 100644 index 0000000..f08ba19 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/UI/CopySizeIntoLayoutElement.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 65f264d1c98f61c4f9143ddeb0e74ff5 +timeCreated: 1476961746 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRF/Scripts/UI/DragHandle.cs b/Assets/StompyRobot/SRF/Scripts/UI/DragHandle.cs new file mode 100644 index 0000000..37d3ceb --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/UI/DragHandle.cs @@ -0,0 +1,190 @@ +namespace SRF.UI +{ + using System; + using UnityEngine; + using UnityEngine.EventSystems; + using UnityEngine.UI; + + public class DragHandle : MonoBehaviour, IBeginDragHandler, IEndDragHandler, IDragHandler + { + private CanvasScaler _canvasScaler; + private float _delta; + private float _startValue; + public RectTransform.Axis Axis = RectTransform.Axis.Horizontal; + public bool Invert = false; + public float MaxSize = -1; + public LayoutElement TargetLayoutElement; + public RectTransform TargetRectTransform; + + private float Mult + { + get { return Invert ? -1 : 1; } + } + + public void OnBeginDrag(PointerEventData eventData) + { + if (!Verify()) + { + return; + } + + //Debug.Log("OnBeginDrag"); + + _startValue = GetCurrentValue(); + _delta = 0; + } + + public void OnDrag(PointerEventData eventData) + { + if (!Verify()) + { + return; + } + + //Debug.Log("OnDrag"); + + var delta = 0f; + + if (Axis == RectTransform.Axis.Horizontal) + { + delta += eventData.delta.x; + } + else + { + delta += eventData.delta.y; + } + + if (_canvasScaler != null) + { + delta /= _canvasScaler.scaleFactor; + } + + delta *= Mult; + _delta += delta; + + SetCurrentValue(Mathf.Clamp(_startValue + _delta, GetMinSize(), GetMaxSize())); + } + + public void OnEndDrag(PointerEventData eventData) + { + if (!Verify()) + { + return; + } + + //Debug.Log("OnEndDrag"); + + SetCurrentValue(Mathf.Max(_startValue + _delta, GetMinSize())); + _delta = 0; + CommitCurrentValue(); + } + + private void Start() + { + Verify(); + _canvasScaler = GetComponentInParent(); + } + + private bool Verify() + { + if (TargetLayoutElement == null && TargetRectTransform == null) + { + Debug.LogWarning( + "DragHandle: TargetLayoutElement and TargetRectTransform are both null. Disabling behaviour."); + enabled = false; + return false; + } + + return true; + } + + private float GetCurrentValue() + { + if (TargetLayoutElement != null) + { + return Axis == RectTransform.Axis.Horizontal + ? TargetLayoutElement.preferredWidth + : TargetLayoutElement.preferredHeight; + } + + if (TargetRectTransform != null) + { + return Axis == RectTransform.Axis.Horizontal + ? TargetRectTransform.sizeDelta.x + : TargetRectTransform.sizeDelta.y; + } + + throw new InvalidOperationException(); + } + + private void SetCurrentValue(float value) + { + if (TargetLayoutElement != null) + { + if (Axis == RectTransform.Axis.Horizontal) + { + TargetLayoutElement.preferredWidth = value; + } + else + { + TargetLayoutElement.preferredHeight = value; + } + + return; + } + + if (TargetRectTransform != null) + { + var d = TargetRectTransform.sizeDelta; + + if (Axis == RectTransform.Axis.Horizontal) + { + d.x = value; + } + else + { + d.y = value; + } + + TargetRectTransform.sizeDelta = d; + + return; + } + + throw new InvalidOperationException(); + } + + private void CommitCurrentValue() + { + if (TargetLayoutElement != null) + { + if (Axis == RectTransform.Axis.Horizontal) + { + TargetLayoutElement.preferredWidth = ((RectTransform) TargetLayoutElement.transform).sizeDelta.x; + } + else + { + TargetLayoutElement.preferredHeight = ((RectTransform) TargetLayoutElement.transform).sizeDelta.y; + } + } + } + + private float GetMinSize() + { + if (TargetLayoutElement == null) + { + return 0; + } + return Axis == RectTransform.Axis.Horizontal ? TargetLayoutElement.minWidth : TargetLayoutElement.minHeight; + } + + private float GetMaxSize() + { + if (MaxSize > 0) + { + return MaxSize; + } + return float.MaxValue; + } + } +} diff --git a/Assets/StompyRobot/SRF/Scripts/UI/DragHandle.cs.meta b/Assets/StompyRobot/SRF/Scripts/UI/DragHandle.cs.meta new file mode 100644 index 0000000..681f12e --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/UI/DragHandle.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8faed27c04557e24e8aecd35f2b4d9d3 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRF/Scripts/UI/Editor.meta b/Assets/StompyRobot/SRF/Scripts/UI/Editor.meta new file mode 100644 index 0000000..42f572b --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/UI/Editor.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: fee397aaceb8d684a94ce2bae9b71aa1 +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/StompyRobot/SRF/Scripts/UI/Editor/CopyLayoutElementEditor.cs b/Assets/StompyRobot/SRF/Scripts/UI/Editor/CopyLayoutElementEditor.cs new file mode 100644 index 0000000..58f16bc --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/UI/Editor/CopyLayoutElementEditor.cs @@ -0,0 +1,39 @@ +namespace SRF.UI.Editor +{ + /*[CustomEditor(typeof(CopyLayoutElement))] + [CanEditMultipleObjects] + public class CopyLayoutElementEditor : UnityEditor.Editor + { + + private SerializedProperty _copySourceProperty; + + private SerializedProperty _paddingWidthProperty; + private SerializedProperty _paddingHeightProperty; + + protected void OnEnable() + { + + _paddingWidthProperty = serializedObject.FindProperty("PaddingWidth"); + _paddingHeightProperty = serializedObject.FindProperty("PaddingHeight"); + _copySourceProperty = serializedObject.FindProperty("CopySource"); + + } + + public override void OnInspectorGUI() + { + + //base.OnInspectorGUI(); + + EditorGUILayout.Space(); + + EditorGUILayout.PropertyField(_copySourceProperty); + EditorGUILayout.PropertyField(_paddingWidthProperty); + EditorGUILayout.PropertyField(_paddingHeightProperty); + serializedObject.ApplyModifiedProperties(); + + serializedObject.Update(); + + } + + }*/ +} diff --git a/Assets/StompyRobot/SRF/Scripts/UI/Editor/CopyLayoutElementEditor.cs.meta b/Assets/StompyRobot/SRF/Scripts/UI/Editor/CopyLayoutElementEditor.cs.meta new file mode 100644 index 0000000..6667117 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/UI/Editor/CopyLayoutElementEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 44df26ca5be5b5c468b5090cbe3df8ab +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRF/Scripts/UI/Editor/CopyPreferredSizeEditor.cs b/Assets/StompyRobot/SRF/Scripts/UI/Editor/CopyPreferredSizeEditor.cs new file mode 100644 index 0000000..cb30bd7 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/UI/Editor/CopyPreferredSizeEditor.cs @@ -0,0 +1,34 @@ +using UnityEditor; + +namespace SRF.UI.Editor +{ + [CustomEditor(typeof (CopyPreferredSize))] + [CanEditMultipleObjects] + public class CopyPreferredSizeEditor : UnityEditor.Editor + { + private SerializedProperty _copySourceProperty; + private SerializedProperty _paddingHeightProperty; + private SerializedProperty _paddingWidthProperty; + + protected void OnEnable() + { + _paddingWidthProperty = serializedObject.FindProperty("PaddingWidth"); + _paddingHeightProperty = serializedObject.FindProperty("PaddingHeight"); + _copySourceProperty = serializedObject.FindProperty("CopySource"); + } + + public override void OnInspectorGUI() + { + //base.OnInspectorGUI(); + + EditorGUILayout.Space(); + + EditorGUILayout.PropertyField(_copySourceProperty); + EditorGUILayout.PropertyField(_paddingWidthProperty); + EditorGUILayout.PropertyField(_paddingHeightProperty); + serializedObject.ApplyModifiedProperties(); + + serializedObject.Update(); + } + } +} diff --git a/Assets/StompyRobot/SRF/Scripts/UI/Editor/CopyPreferredSizeEditor.cs.meta b/Assets/StompyRobot/SRF/Scripts/UI/Editor/CopyPreferredSizeEditor.cs.meta new file mode 100644 index 0000000..02475ea --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/UI/Editor/CopyPreferredSizeEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 776c60ba14d0d0242968c3258a3ba16c +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRF/Scripts/UI/Editor/CopyPreferredSizesEditor.cs b/Assets/StompyRobot/SRF/Scripts/UI/Editor/CopyPreferredSizesEditor.cs new file mode 100644 index 0000000..d07ec96 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/UI/Editor/CopyPreferredSizesEditor.cs @@ -0,0 +1,31 @@ +using UnityEditor; + +namespace SRF.UI.Editor +{ + [CustomEditor(typeof(CopyPreferredSizes))] + [CanEditMultipleObjects] + public class CopyPreferredSizesEditor : UnityEditor.Editor + { + private SerializedProperty _copySourcesProperty; + private SerializedProperty _operationProperty; + + protected void OnEnable() + { + _copySourcesProperty = serializedObject.FindProperty("CopySources"); + _operationProperty = serializedObject.FindProperty("Operation"); + } + + public override void OnInspectorGUI() + { + //base.OnInspectorGUI(); + + EditorGUILayout.Space(); + + EditorGUILayout.PropertyField(_operationProperty); + EditorGUILayout.PropertyField(_copySourcesProperty); + serializedObject.ApplyModifiedProperties(); + + serializedObject.Update(); + } + } +} \ No newline at end of file diff --git a/Assets/StompyRobot/SRF/Scripts/UI/Editor/CopyPreferredSizesEditor.cs.meta b/Assets/StompyRobot/SRF/Scripts/UI/Editor/CopyPreferredSizesEditor.cs.meta new file mode 100644 index 0000000..2cef255 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/UI/Editor/CopyPreferredSizesEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 393fb435a5c8c8043a1cbc34b977e315 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRF/Scripts/UI/Editor/LongPressButtonEditor.cs b/Assets/StompyRobot/SRF/Scripts/UI/Editor/LongPressButtonEditor.cs new file mode 100644 index 0000000..a0fbc66 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/UI/Editor/LongPressButtonEditor.cs @@ -0,0 +1,28 @@ +using UnityEditor; +using UnityEditor.UI; + +namespace SRF.UI.Editor +{ + [CustomEditor(typeof (LongPressButton), true)] + [CanEditMultipleObjects] + public class LongPressButtonEditor : ButtonEditor + { + private SerializedProperty _onLongPressProperty; + + protected override void OnEnable() + { + base.OnEnable(); + _onLongPressProperty = serializedObject.FindProperty("_onLongPress"); + } + + public override void OnInspectorGUI() + { + base.OnInspectorGUI(); + + EditorGUILayout.Space(); + serializedObject.Update(); + EditorGUILayout.PropertyField(_onLongPressProperty); + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/StompyRobot/SRF/Scripts/UI/Editor/LongPressButtonEditor.cs.meta b/Assets/StompyRobot/SRF/Scripts/UI/Editor/LongPressButtonEditor.cs.meta new file mode 100644 index 0000000..671c19a --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/UI/Editor/LongPressButtonEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1d57f229ac662764aa4508a0d42ddede +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRF/Scripts/UI/Editor/SRNumberButtonEditor.cs b/Assets/StompyRobot/SRF/Scripts/UI/Editor/SRNumberButtonEditor.cs new file mode 100644 index 0000000..0085de3 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/UI/Editor/SRNumberButtonEditor.cs @@ -0,0 +1,32 @@ +using UnityEditor; +using UnityEditor.UI; + +namespace SRF.UI.Editor +{ + [CustomEditor(typeof (SRNumberButton))] + [CanEditMultipleObjects] + public class SRNumberButtonEditor : ButtonEditor + { + private SerializedProperty _amountProperty; + private SerializedProperty _targetFieldProperty; + + protected override void OnEnable() + { + base.OnEnable(); + _targetFieldProperty = serializedObject.FindProperty("TargetField"); + _amountProperty = serializedObject.FindProperty("Amount"); + } + + public override void OnInspectorGUI() + { + base.OnInspectorGUI(); + + EditorGUILayout.Space(); + + serializedObject.Update(); + EditorGUILayout.PropertyField(_targetFieldProperty); + EditorGUILayout.PropertyField(_amountProperty); + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/StompyRobot/SRF/Scripts/UI/Editor/SRNumberButtonEditor.cs.meta b/Assets/StompyRobot/SRF/Scripts/UI/Editor/SRNumberButtonEditor.cs.meta new file mode 100644 index 0000000..2cf43c9 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/UI/Editor/SRNumberButtonEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0d1845f798a1b5a47af337e37e463641 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRF/Scripts/UI/Editor/StompyRobot.SRF.Editor.asmdef b/Assets/StompyRobot/SRF/Scripts/UI/Editor/StompyRobot.SRF.Editor.asmdef new file mode 100644 index 0000000..97e6e4a --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/UI/Editor/StompyRobot.SRF.Editor.asmdef @@ -0,0 +1,10 @@ +{ + "name": "StompyRobot.SRF.Editor", + "references": [ + "StompyRobot.SRF" + ], + "includePlatforms": [ + "Editor" + ], + "excludePlatforms": [] +} \ No newline at end of file diff --git a/Assets/StompyRobot/SRF/Scripts/UI/Editor/StompyRobot.SRF.Editor.asmdef.meta b/Assets/StompyRobot/SRF/Scripts/UI/Editor/StompyRobot.SRF.Editor.asmdef.meta new file mode 100644 index 0000000..07e5fff --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/UI/Editor/StompyRobot.SRF.Editor.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 714123ebf07616740963b992cf10f84c +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRF/Scripts/UI/Editor/StyleComponentEditor.cs b/Assets/StompyRobot/SRF/Scripts/UI/Editor/StyleComponentEditor.cs new file mode 100644 index 0000000..d645b40 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/UI/Editor/StyleComponentEditor.cs @@ -0,0 +1,105 @@ +using System.Linq; +using UnityEditor; +using UnityEngine; + +namespace SRF.UI.Editor +{ + [CustomEditor(typeof (StyleComponent))] + [CanEditMultipleObjects] + public class StyleComponentEditor : UnityEditor.Editor + { + private SerializedProperty _styleKeyProperty; + + protected void OnEnable() + { + _styleKeyProperty = serializedObject.FindProperty("_styleKey"); + } + + public override void OnInspectorGUI() + { + base.OnInspectorGUI(); + + var styleComponent = serializedObject.targetObject as StyleComponent; + + if (styleComponent == null) + { + Debug.LogWarning("Target is null, expected StyleComponent"); + return; + } + + var styleRoot = styleComponent.GetComponentInParent(); + + if (styleRoot == null) + { + EditorGUILayout.HelpBox("There must be a StyleRoot component above this object in the hierarchy.", + MessageType.Error, + true); + + return; + } + + var styleSheet = styleRoot.StyleSheet; + + if (styleSheet == null) + { + EditorGUILayout.HelpBox("Style Root has no stylesheet set.", MessageType.Warning); + + EditorGUILayout.Popup("Key", 0, + new[] {string.IsNullOrEmpty(styleComponent.StyleKey) ? "--" : styleComponent.StyleKey}); + + return; + } + + var options = styleRoot.StyleSheet.GetStyleKeys(true).ToList(); + + var index = _styleKeyProperty.hasMultipleDifferentValues + ? 0 + : options.IndexOf(_styleKeyProperty.stringValue) + 1; + + options.Insert(0, "--"); + + EditorGUILayout.Separator(); + + GUI.enabled = _styleKeyProperty.editable; + var newIndex = EditorGUILayout.Popup("Key", index, options.ToArray()); + GUI.enabled = true; + + if (newIndex != index) + { + _styleKeyProperty.stringValue = ""; + _styleKeyProperty.stringValue = newIndex == 0 ? "" : options[newIndex]; + } + + if (serializedObject.ApplyModifiedProperties()) + { + foreach (var o in serializedObject.targetObjects) + { + var c = o as StyleComponent; + c.Refresh(true); + } + + _styleKeyProperty.serializedObject.Update(); + } + + EditorGUILayout.Separator(); + + GUILayout.BeginHorizontal(); + + if (GUILayout.Button("Open StyleSheet")) + { + Selection.activeObject = styleRoot.StyleSheet; + } + + EditorGUILayout.Separator(); + + if (GUILayout.Button("Select StyleRoot")) + { + Selection.activeGameObject = styleRoot.gameObject; + } + + GUILayout.EndHorizontal(); + + EditorGUILayout.Separator(); + } + } +} diff --git a/Assets/StompyRobot/SRF/Scripts/UI/Editor/StyleComponentEditor.cs.meta b/Assets/StompyRobot/SRF/Scripts/UI/Editor/StyleComponentEditor.cs.meta new file mode 100644 index 0000000..94e207d --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/UI/Editor/StyleComponentEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ffea2a0fd78a7484f88b5b877c0d6659 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRF/Scripts/UI/Editor/StyleSheetEditor.cs b/Assets/StompyRobot/SRF/Scripts/UI/Editor/StyleSheetEditor.cs new file mode 100644 index 0000000..7605c8f --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/UI/Editor/StyleSheetEditor.cs @@ -0,0 +1,178 @@ +using System.Linq; +using UnityEditor; +using UnityEngine; + +namespace SRF.UI.Editor +{ + [CustomEditor(typeof (StyleSheet))] + public class StyleSheetEditor : UnityEditor.Editor + { + public const float ColourColumnWidth = 40f; + public const float OverrideColumnWidth = 20f; + private string _newKeyField = ""; + + public override void OnInspectorGUI() + { + var styleSheet = target as StyleSheet; + + if (styleSheet == null) + { + Debug.LogWarning("Expected target to be StyleSheer", target); + return; + } + + var parentStyleSheet = styleSheet.Parent; + + styleSheet.Parent = + EditorGUILayout.ObjectField("Parent", styleSheet.Parent, typeof (StyleSheet), false) as StyleSheet; + + EditorGUILayout.Separator(); + EditorGUILayout.Separator(); + + EditorGUILayout.BeginVertical(); + + // Draw table header + EditorGUILayout.BeginHorizontal(); + + GUILayout.Space(OverrideColumnWidth); + GUILayout.Label("Name"); + GUILayout.Label("Img", GUILayout.Width(ColourColumnWidth)); + GUILayout.Label("Norm.", GUILayout.Width(ColourColumnWidth)); + GUILayout.Label("Hov.", GUILayout.Width(ColourColumnWidth)); + GUILayout.Label("Actv.", GUILayout.Width(ColourColumnWidth)); + GUILayout.Label("Dsbld.", GUILayout.Width(ColourColumnWidth)); + + EditorGUILayout.EndHorizontal(); + + EditorGUILayout.Separator(); + + var keys = styleSheet.GetStyleKeys(false); + + if (parentStyleSheet != null) + { + keys = keys.Union(parentStyleSheet.GetStyleKeys()); + } + + // Draw rows + foreach (var key in keys) + { + // Style from the current stylesheet + var style = styleSheet.GetStyle(key, false); + + // Style from the parent stylesheet + Style parentStyle = null; + + if (parentStyleSheet != null) + { + parentStyle = parentStyleSheet.GetStyle(key, true); + } + + EditorGUILayout.BeginHorizontal(); + + var canEdit = style != null; + + // If there is a parent stylesheet, and the parent contains this key + if (parentStyleSheet != null && parentStyle != null) + { + var overrideParent = GUILayout.Toggle(style != null, "", GUILayout.Width(OverrideColumnWidth)); + + if (overrideParent && style == null) + { + // Copy the style to the current stylesheet + Undo.RecordObject(styleSheet, "Override Style"); + styleSheet.AddStyle(key); + style = styleSheet.GetStyle(key, false); + style.CopyFrom(parentStyle); + EditorUtility.SetDirty(styleSheet); + canEdit = true; + } + else if (!overrideParent && style != null) + { + Undo.RecordObject(styleSheet, "Delete Style"); + styleSheet.DeleteStyle(key); + style = null; + EditorUtility.SetDirty(styleSheet); + canEdit = false; + } + } + else + { + // Otherwise display a delete button + + if (GUILayout.Button("X", GUILayout.Width(OverrideColumnWidth))) + { + Undo.RecordObject(styleSheet, "Delete Style"); + styleSheet.DeleteStyle(key); + EditorUtility.SetDirty(styleSheet); + + continue; + } + } + + GUI.enabled = canEdit; + + GUILayout.Label(key); + + EditorGUI.BeginChangeCheck(); + + var img = + EditorGUILayout.ObjectField(style != null ? style.Image : parentStyle.Image, typeof (Sprite), false, + GUILayout.Width(ColourColumnWidth)) as Sprite; + + var normalColor = EditorGUILayout.ColorField( + style != null ? style.NormalColor : parentStyle.NormalColor, + GUILayout.Width(ColourColumnWidth)); + var hoverColor = EditorGUILayout.ColorField(style != null ? style.HoverColor : parentStyle.HoverColor, + GUILayout.Width(ColourColumnWidth)); + var activeColor = EditorGUILayout.ColorField( + style != null ? style.ActiveColor : parentStyle.ActiveColor, + GUILayout.Width(ColourColumnWidth)); + var disabledColor = + EditorGUILayout.ColorField(style != null ? style.DisabledColor : parentStyle.DisabledColor, + GUILayout.Width(ColourColumnWidth)); + + if (EditorGUI.EndChangeCheck() && canEdit) + { + Undo.RecordObject(styleSheet, "Update Style"); + + style.Image = img; + style.NormalColor = normalColor; + style.HoverColor = hoverColor; + style.ActiveColor = activeColor; + style.DisabledColor = disabledColor; + + EditorUtility.SetDirty(styleSheet); + } + + GUI.enabled = true; + + EditorGUILayout.EndHorizontal(); + } + + EditorGUILayout.EndVertical(); + + EditorGUILayout.Separator(); + + EditorGUILayout.BeginHorizontal(); + + GUILayout.Label("New Style"); + + _newKeyField = EditorGUILayout.TextField(_newKeyField); + + GUI.enabled = !string.IsNullOrEmpty(_newKeyField) && styleSheet.GetStyle(_newKeyField) == null; + + if (GUILayout.Button("Add")) + { + Undo.RecordObject(styleSheet, "Add Style"); + styleSheet.AddStyle(_newKeyField); + EditorUtility.SetDirty(styleSheet); + + _newKeyField = ""; + } + + GUI.enabled = true; + + EditorGUILayout.EndHorizontal(); + } + } +} diff --git a/Assets/StompyRobot/SRF/Scripts/UI/Editor/StyleSheetEditor.cs.meta b/Assets/StompyRobot/SRF/Scripts/UI/Editor/StyleSheetEditor.cs.meta new file mode 100644 index 0000000..ffeb85f --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/UI/Editor/StyleSheetEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7cc490d54f84d704f90e31d72e293018 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRF/Scripts/UI/FlashGraphic.cs b/Assets/StompyRobot/SRF/Scripts/UI/FlashGraphic.cs new file mode 100644 index 0000000..489b759 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/UI/FlashGraphic.cs @@ -0,0 +1,71 @@ +namespace SRF.UI +{ + using Internal; + using UnityEngine; + using UnityEngine.EventSystems; + using UnityEngine.UI; + + /// + /// Instantly sets colour to FlashColor on pointer down, then fades back to DefaultColour once pointer is released. + /// + [AddComponentMenu(ComponentMenuPaths.FlashGraphic)] + [ExecuteInEditMode] + public class FlashGraphic : UIBehaviour, IPointerDownHandler, IPointerUpHandler + { + public float DecayTime = 0.15f; + public Color DefaultColor = new Color(1, 1, 1, 0); + public Color FlashColor = Color.white; + public Graphic Target; + + private bool _isHoldingUntilNextPress; + + public void OnPointerDown(PointerEventData eventData) + { + Target.CrossFadeColor(FlashColor, 0f, true, true); + _isHoldingUntilNextPress = false; + } + + public void OnPointerUp(PointerEventData eventData) + { + if (!_isHoldingUntilNextPress) + { + Target.CrossFadeColor(DefaultColor, DecayTime, true, true); + } + } + + protected override void OnEnable() + { + base.OnEnable(); + + if (!_isHoldingUntilNextPress) + { + Target.CrossFadeColor(DefaultColor, 0f, true, true); + } + } + +#if UNITY_EDITOR + protected void Update() + { + + if (!Application.isPlaying && Target != null) + { + Target.CrossFadeColor(DefaultColor, 0, true, true); + } + + } +#endif + + public void Flash() + { + Target.CrossFadeColor(FlashColor, 0f, true, true); + Target.CrossFadeColor(DefaultColor, DecayTime, true, true); + _isHoldingUntilNextPress = false; + } + + public void FlashAndHoldUntilNextPress() + { + Target.CrossFadeColor(FlashColor, 0f, true, true); + _isHoldingUntilNextPress = true; + } + } +} diff --git a/Assets/StompyRobot/SRF/Scripts/UI/FlashGraphic.cs.meta b/Assets/StompyRobot/SRF/Scripts/UI/FlashGraphic.cs.meta new file mode 100644 index 0000000..074ebde --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/UI/FlashGraphic.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 95878e800ddd366418edfb56a22f9d56 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRF/Scripts/UI/InheritColour.cs b/Assets/StompyRobot/SRF/Scripts/UI/InheritColour.cs new file mode 100644 index 0000000..5e99c78 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/UI/InheritColour.cs @@ -0,0 +1,48 @@ +namespace SRF.UI +{ + using Internal; + using UnityEngine; + using UnityEngine.UI; + + [RequireComponent(typeof (Graphic))] + [ExecuteInEditMode] + [AddComponentMenu(ComponentMenuPaths.InheritColour)] + public class InheritColour : SRMonoBehaviour + { + private Graphic _graphic; + public Graphic From; + + private Graphic Graphic + { + get + { + if (_graphic == null) + { + _graphic = GetComponent(); + } + + return _graphic; + } + } + + private void Refresh() + { + if (From == null) + { + return; + } + + Graphic.color = From.canvasRenderer.GetColor(); + } + + private void Update() + { + Refresh(); + } + + private void Start() + { + Refresh(); + } + } +} diff --git a/Assets/StompyRobot/SRF/Scripts/UI/InheritColour.cs.meta b/Assets/StompyRobot/SRF/Scripts/UI/InheritColour.cs.meta new file mode 100644 index 0000000..92c894a --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/UI/InheritColour.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5ed84aa42fb48c9458d3942c1d059055 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRF/Scripts/UI/Layout.meta b/Assets/StompyRobot/SRF/Scripts/UI/Layout.meta new file mode 100644 index 0000000..e2d0379 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/UI/Layout.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: e77c380334ccc0d438d07473a296a1cc +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/StompyRobot/SRF/Scripts/UI/Layout/FlowLayoutGroup.cs b/Assets/StompyRobot/SRF/Scripts/UI/Layout/FlowLayoutGroup.cs new file mode 100644 index 0000000..49bff49 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/UI/Layout/FlowLayoutGroup.cs @@ -0,0 +1,304 @@ +namespace SRF.UI.Layout +{ + using System.Collections.Generic; + using Internal; + using UnityEngine; + using UnityEngine.UI; + + /// + /// Layout Group controller that arranges children in rows, fitting as many on a line until total width exceeds parent + /// bounds + /// + [AddComponentMenu(ComponentMenuPaths.FlowLayoutGroup)] + public class FlowLayoutGroup : LayoutGroup + { + /// + /// Holds the rects that will make up the current row being processed + /// + private readonly IList _rowList = new List(); + + private float _layoutHeight; + public bool ChildForceExpandHeight = false; + public bool ChildForceExpandWidth = false; + public float Spacing = 0f; + + protected bool IsCenterAlign + { + get + { + return childAlignment == TextAnchor.LowerCenter || childAlignment == TextAnchor.MiddleCenter || + childAlignment == TextAnchor.UpperCenter; + } + } + + protected bool IsRightAlign + { + get + { + return childAlignment == TextAnchor.LowerRight || childAlignment == TextAnchor.MiddleRight || + childAlignment == TextAnchor.UpperRight; + } + } + + protected bool IsMiddleAlign + { + get + { + return childAlignment == TextAnchor.MiddleLeft || childAlignment == TextAnchor.MiddleRight || + childAlignment == TextAnchor.MiddleCenter; + } + } + + protected bool IsLowerAlign + { + get + { + return childAlignment == TextAnchor.LowerLeft || childAlignment == TextAnchor.LowerRight || + childAlignment == TextAnchor.LowerCenter; + } + } + + public override void CalculateLayoutInputHorizontal() + { + base.CalculateLayoutInputHorizontal(); + + var minWidth = GetGreatestMinimumChildWidth() + padding.left + padding.right; + + SetLayoutInputForAxis(minWidth, -1, -1, 0); + } + + public override void SetLayoutHorizontal() + { + SetLayout(rectTransform.rect.width, 0, false); + } + + public override void SetLayoutVertical() + { + SetLayout(rectTransform.rect.width, 1, false); + } + + public override void CalculateLayoutInputVertical() + { + _layoutHeight = SetLayout(rectTransform.rect.width, 1, true); + } + + /// + /// Main layout method + /// + /// Width to calculate the layout with + /// 0 for horizontal axis, 1 for vertical + /// If true, sets the layout input for the axis. If false, sets child position for axis + public float SetLayout(float width, int axis, bool layoutInput) + { + var groupHeight = rectTransform.rect.height; + + // Width that is available after padding is subtracted + var workingWidth = rectTransform.rect.width - padding.left - padding.right; + + // Accumulates the total height of the rows, including spacing and padding. + var yOffset = IsLowerAlign ? padding.bottom : (float)padding.top; + + var currentRowWidth = 0f; + var currentRowHeight = 0f; + + for (var i = 0; i < rectChildren.Count; i++) + { + // LowerAlign works from back to front + var index = IsLowerAlign ? rectChildren.Count - 1 - i : i; + + var child = rectChildren[index]; + + var childWidth = LayoutUtility.GetPreferredSize(child, 0); + var childHeight = LayoutUtility.GetPreferredSize(child, 1); + + // Max child width is layout group with - padding + childWidth = Mathf.Min(childWidth, workingWidth); + + // Apply spacing if not the first element in a row + if (_rowList.Count > 0) + { + currentRowWidth += Spacing; + } + + // If adding this element would exceed the bounds of the row, + // go to a new line after processing the current row + if (currentRowWidth + childWidth > workingWidth) + { + // Undo spacing addition if we're moving to a new line (Spacing is not applied on edges) + currentRowWidth -= Spacing; + + // Process current row elements positioning + if (!layoutInput) + { + var h = CalculateRowVerticalOffset(groupHeight, yOffset, currentRowHeight); + LayoutRow(_rowList, currentRowWidth, currentRowHeight, workingWidth, padding.left, h, axis); + } + + // Clear existing row + _rowList.Clear(); + + // Add the current row height to total height accumulator, and reset to 0 for the next row + yOffset += currentRowHeight; + yOffset += Spacing; + + currentRowHeight = 0; + currentRowWidth = 0; + } + + currentRowWidth += childWidth; + _rowList.Add(child); + + // We need the largest element height to determine the starting position of the next line + if (childHeight > currentRowHeight) + { + currentRowHeight = childHeight; + } + } + + if (!layoutInput) + { + var h = CalculateRowVerticalOffset(groupHeight, yOffset, currentRowHeight); + + // Layout the final row + LayoutRow(_rowList, currentRowWidth, currentRowHeight, workingWidth, padding.left, h, axis); + } + + _rowList.Clear(); + + // Add the last rows height to the height accumulator + yOffset += currentRowHeight; + yOffset += IsLowerAlign ? padding.top : padding.bottom; + + if (layoutInput) + { + if (axis == 1) + { + SetLayoutInputForAxis(yOffset, yOffset, -1, axis); + } + } + + return yOffset; + } + + private float CalculateRowVerticalOffset(float groupHeight, float yOffset, float currentRowHeight) + { + float h; + + if (IsLowerAlign) + { + h = groupHeight - yOffset - currentRowHeight; + } + else if (IsMiddleAlign) + { + h = groupHeight * 0.5f - _layoutHeight * 0.5f + yOffset; + } + else + { + h = yOffset; + } + return h; + } + + protected void LayoutRow(IList contents, float rowWidth, float rowHeight, float maxWidth, + float xOffset, float yOffset, int axis) + { + var xPos = xOffset; + + if (!ChildForceExpandWidth && IsCenterAlign) + { + xPos += (maxWidth - rowWidth) * 0.5f; + } + else if (!ChildForceExpandWidth && IsRightAlign) + { + xPos += (maxWidth - rowWidth); + } + + var extraWidth = 0f; + + if (ChildForceExpandWidth) + { + var flexibleChildCount = 0; + + for (var i = 0; i < _rowList.Count; i++) + { + if (LayoutUtility.GetFlexibleWidth(_rowList[i]) > 0f) + { + flexibleChildCount++; + } + } + + if (flexibleChildCount > 0) + { + extraWidth = (maxWidth - rowWidth) / flexibleChildCount; + } + } + + for (var j = 0; j < _rowList.Count; j++) + { + var index = IsLowerAlign ? _rowList.Count - 1 - j : j; + + var rowChild = _rowList[index]; + + var rowChildWidth = LayoutUtility.GetPreferredSize(rowChild, 0); + + if (LayoutUtility.GetFlexibleWidth(rowChild) > 0f) + { + rowChildWidth += extraWidth; + } + + var rowChildHeight = LayoutUtility.GetPreferredSize(rowChild, 1); + + if (ChildForceExpandHeight) + { + rowChildHeight = rowHeight; + } + + rowChildWidth = Mathf.Min(rowChildWidth, maxWidth); + + var yPos = yOffset; + + if (IsMiddleAlign) + { + yPos += (rowHeight - rowChildHeight) * 0.5f; + } + else if (IsLowerAlign) + { + yPos += (rowHeight - rowChildHeight); + } + + if (axis == 0) + { +#if UNITY_2019_1 + SetChildAlongAxis(rowChild, 0, 1f, xPos, rowChildWidth); +#else + SetChildAlongAxis(rowChild, 0, xPos, rowChildWidth); +#endif + } + else + { +#if UNITY_2019_1 + SetChildAlongAxis(rowChild, 1, 1f, yPos, rowChildHeight); +#else + SetChildAlongAxis(rowChild, 1, yPos, rowChildHeight); +#endif + } + + xPos += rowChildWidth + Spacing; + } + } + + public float GetGreatestMinimumChildWidth() + { + var max = 0f; + + for (var i = 0; i < rectChildren.Count; i++) + { + var w = LayoutUtility.GetMinWidth(rectChildren[i]); + + max = Mathf.Max(w, max); + } + + return max; + } + } +} diff --git a/Assets/StompyRobot/SRF/Scripts/UI/Layout/FlowLayoutGroup.cs.meta b/Assets/StompyRobot/SRF/Scripts/UI/Layout/FlowLayoutGroup.cs.meta new file mode 100644 index 0000000..0a6a3a1 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/UI/Layout/FlowLayoutGroup.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f3a5149e46522d84cb8079537220a929 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRF/Scripts/UI/Layout/VirtualVerticalLayoutGroup.cs b/Assets/StompyRobot/SRF/Scripts/UI/Layout/VirtualVerticalLayoutGroup.cs new file mode 100644 index 0000000..f37b604 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/UI/Layout/VirtualVerticalLayoutGroup.cs @@ -0,0 +1,607 @@ +//#define PROFILE + +namespace SRF.UI.Layout +{ + using System; + using Internal; + using UnityEngine; + using UnityEngine.Events; + using UnityEngine.EventSystems; + using UnityEngine.UI; + + public interface IVirtualView + { + void SetDataContext(object data); + } + + /// + /// + [AddComponentMenu(ComponentMenuPaths.VirtualVerticalLayoutGroup)] + public class VirtualVerticalLayoutGroup : LayoutGroup, IPointerClickHandler + { + private readonly SRList _itemList = new SRList(); + private readonly SRList _visibleItemList = new SRList(); + + private bool _isDirty = false; + private SRList _rowCache = new SRList(); + private ScrollRect _scrollRect; + private int _selectedIndex; + private object _selectedItem; + + [SerializeField] private SelectedItemChangedEvent _selectedItemChanged; + + private int _visibleItemCount; + private SRList _visibleRows = new SRList(); + public StyleSheet AltRowStyleSheet; + public bool EnableSelection = true; + public RectTransform ItemPrefab; + + /// + /// Rows to show above and below the visible rect to reduce pop-in + /// + public int RowPadding = 2; + + public StyleSheet RowStyleSheet; + public StyleSheet SelectedRowStyleSheet; + + /// + /// Spacing to add between rows + /// + public float Spacing; + + /// + /// If true, the scroll view will stick to the last element when fully scrolled to the bottom and an item is added + /// + public bool StickToBottom = true; + + public SelectedItemChangedEvent SelectedItemChanged + { + get { return _selectedItemChanged; } + set { _selectedItemChanged = value; } + } + + public object SelectedItem + { + get { return _selectedItem; } + set + { + if (_selectedItem == value || !EnableSelection) + { + return; + } + + var newSelectedIndex = value == null ? -1 : _itemList.IndexOf(value); + + // Ensure that the new selected item is present in the item list + if (value != null && newSelectedIndex < 0) + { + throw new InvalidOperationException("Cannot select item not present in layout"); + } + + // Invalidate old selected item row + if (_selectedItem != null) + { + InvalidateItem(_selectedIndex); + } + + _selectedItem = value; + _selectedIndex = newSelectedIndex; + + // Invalidate the newly selected item + if (_selectedItem != null) + { + InvalidateItem(_selectedIndex); + } + + SetDirty(); + + if (_selectedItemChanged != null) + { + _selectedItemChanged.Invoke(_selectedItem); + } + } + } + + public override float minHeight + { + get { return _itemList.Count*ItemHeight + padding.top + padding.bottom + Spacing*_itemList.Count; } + } + + public void OnPointerClick(PointerEventData eventData) + { + if (!EnableSelection) + { + return; + } + + var hitObject = eventData.pointerPressRaycast.gameObject; + + if (hitObject == null) + { + return; + } + + var hitPos = hitObject.transform.position; + var localPos = rectTransform.InverseTransformPoint(hitPos); + var row = Mathf.FloorToInt(Mathf.Abs(localPos.y)/ItemHeight); + + if (row >= 0 && row < _itemList.Count) + { + SelectedItem = _itemList[row]; + } + else + { + SelectedItem = null; + } + } + + protected override void Awake() + { + base.Awake(); + + ScrollRect.onValueChanged.AddListener(OnScrollRectValueChanged); + + var view = ItemPrefab.GetComponent(typeof (IVirtualView)); + + if (view == null) + { + Debug.LogWarning( + "[VirtualVerticalLayoutGroup] ItemPrefab does not have a component inheriting from IVirtualView, so no data binding can occur"); + } + } + + private void OnScrollRectValueChanged(Vector2 d) + { + if (d.y < 0 || d.y > 1) + { + _scrollRect.verticalNormalizedPosition = Mathf.Clamp01(d.y); + } + + //CanvasUpdateRegistry.RegisterCanvasElementForLayoutRebuild(this); + SetDirty(); + } + + protected override void Start() + { + base.Start(); + ScrollUpdate(); + } + + protected override void OnEnable() + { + base.OnEnable(); + SetDirty(); + } + + protected void Update() + { + if (!AlignBottom && !AlignTop) + { + Debug.LogWarning("[VirtualVerticalLayoutGroup] Only Lower or Upper alignment is supported.", this); + childAlignment = TextAnchor.UpperLeft; + } + + if (SelectedItem != null && !_itemList.Contains(SelectedItem)) + { + SelectedItem = null; + } + + if (_isDirty) + { + _isDirty = false; + ScrollUpdate(); + } + } + + /// + /// Invalidate a single row (before removing, or changing selection status) + /// + /// + protected void InvalidateItem(int itemIndex) + { + if (!_visibleItemList.Contains(itemIndex)) + { + return; + } + + _visibleItemList.Remove(itemIndex); + + for (var i = 0; i < _visibleRows.Count; i++) + { + if (_visibleRows[i].Index == itemIndex) + { + RecycleRow(_visibleRows[i]); + _visibleRows.RemoveAt(i); + break; + } + } + } + + /// + /// After removing or inserting a row, ensure that the cached indexes (used for layout) match up + /// with the item index in the list + /// + protected void RefreshIndexCache() + { + for (var i = 0; i < _visibleRows.Count; i++) + { + _visibleRows[i].Index = _itemList.IndexOf(_visibleRows[i].Data); + } + } + + protected void ScrollUpdate() + { + if (!Application.isPlaying) + { + return; + } + + //Debug.Log("[SRConsole] ScrollUpdate {0}".Fmt(Time.frameCount)); + + var pos = rectTransform.anchoredPosition; + var startY = pos.y; + + var viewHeight = ((RectTransform) ScrollRect.transform).rect.height; + + // Determine the range of rows that should be visible + var rowRangeLower = Mathf.FloorToInt(startY/(ItemHeight + Spacing)); + var rowRangeHigher = Mathf.CeilToInt((startY + viewHeight)/(ItemHeight + Spacing)); + + // Apply padding to reduce pop-in + rowRangeLower -= RowPadding; + rowRangeHigher += RowPadding; + + rowRangeLower = Mathf.Max(0, rowRangeLower); + rowRangeHigher = Mathf.Min(_itemList.Count, rowRangeHigher); + + var isDirty = false; + +#if PROFILE + Profiler.BeginSample("Visible Rows Cull"); +#endif + + for (var i = 0; i < _visibleRows.Count; i++) + { + var row = _visibleRows[i]; + + // Move on if row is still visible + if (row.Index >= rowRangeLower && row.Index <= rowRangeHigher) + { + continue; + } + + _visibleItemList.Remove(row.Index); + _visibleRows.Remove(row); + RecycleRow(row); + isDirty = true; + } + +#if PROFILE + Profiler.EndSample(); + Profiler.BeginSample("Item Visible Check"); +#endif + + for (var i = rowRangeLower; i < rowRangeHigher; ++i) + { + if (i >= _itemList.Count) + { + break; + } + + // Move on if row is already visible + if (_visibleItemList.Contains(i)) + { + continue; + } + + var row = GetRow(i); + _visibleRows.Add(row); + _visibleItemList.Add(i); + isDirty = true; + } + +#if PROFILE + Profiler.EndSample(); +#endif + + // If something visible has explicitly been changed, or the visible row count has changed + if (isDirty || _visibleItemCount != _visibleRows.Count) + { + //Debug.Log("[SRConsole] IsDirty {0}".Fmt(Time.frameCount)); + LayoutRebuilder.MarkLayoutForRebuild(rectTransform); + } + + _visibleItemCount = _visibleRows.Count; + } + + public override void CalculateLayoutInputVertical() + { + SetLayoutInputForAxis(minHeight, minHeight, -1, 1); + } + + public override void SetLayoutHorizontal() + { + var width = rectTransform.rect.width - padding.left - padding.right; + + // Position visible rows at 0 x + for (var i = 0; i < _visibleRows.Count; i++) + { + var item = _visibleRows[i]; + + SetChildAlongAxis(item.Rect, 0, padding.left, width); + } + + // Hide non-active rows to one side. More efficient than enabling/disabling them + for (var i = 0; i < _rowCache.Count; i++) + { + var item = _rowCache[i]; + + SetChildAlongAxis(item.Rect, 0, -width - padding.left, width); + } + } + + public override void SetLayoutVertical() + { + if (!Application.isPlaying) + { + return; + } + + //Debug.Log("[SRConsole] SetLayoutVertical {0}".Fmt(Time.frameCount)); + + // Position visible rows by the index of the item they represent + for (var i = 0; i < _visibleRows.Count; i++) + { + var item = _visibleRows[i]; + + SetChildAlongAxis(item.Rect, 1, item.Index*ItemHeight + padding.top + Spacing*item.Index, ItemHeight); + } + } + + private new void SetDirty() + { + base.SetDirty(); + + if (!IsActive()) + { + return; + } + + _isDirty = true; + //CanvasUpdateRegistry.RegisterCanvasElementForLayoutRebuild(this); + } + + [Serializable] + public class SelectedItemChangedEvent : UnityEvent {} + + [Serializable] + private class Row + { + public object Data; + public int Index; + public RectTransform Rect; + public StyleRoot Root; + public IVirtualView View; + } + + #region Public Data Methods + + public void AddItem(object item) + { + _itemList.Add(item); + SetDirty(); + + if (StickToBottom && Mathf.Approximately(ScrollRect.verticalNormalizedPosition, 0f)) + { + ScrollRect.normalizedPosition = new Vector2(0, 0); + } + } + + public void RemoveItem(object item) + { + if (SelectedItem == item) + { + SelectedItem = null; + } + + var index = _itemList.IndexOf(item); + + InvalidateItem(index); + _itemList.Remove(item); + + RefreshIndexCache(); + + SetDirty(); + } + + public void ClearItems() + { + for (var i = _visibleRows.Count - 1; i >= 0; i--) + { + InvalidateItem(_visibleRows[i].Index); + } + + _itemList.Clear(); + SetDirty(); + } + + #endregion + + #region Internal Properties + + private ScrollRect ScrollRect + { + get + { + if (_scrollRect == null) + { + _scrollRect = GetComponentInParent(); + } + + return _scrollRect; + } + } + + private bool AlignBottom + { + get + { + return childAlignment == TextAnchor.LowerRight || childAlignment == TextAnchor.LowerCenter || + childAlignment == TextAnchor.LowerLeft; + } + } + + private bool AlignTop + { + get + { + return childAlignment == TextAnchor.UpperLeft || childAlignment == TextAnchor.UpperCenter || + childAlignment == TextAnchor.UpperRight; + } + } + + private float _itemHeight = -1; + + private float ItemHeight + { + get + { + if (_itemHeight <= 0) + { + var layoutElement = ItemPrefab.GetComponent(typeof (ILayoutElement)) as ILayoutElement; + + if (layoutElement != null) + { + _itemHeight = layoutElement.preferredHeight; + } + else + { + _itemHeight = ItemPrefab.rect.height; + } + + if (_itemHeight.ApproxZero()) + { + Debug.LogWarning( + "[VirtualVerticalLayoutGroup] ItemPrefab must have a preferred size greater than 0"); + _itemHeight = 10; + } + } + + return _itemHeight; + } + } + + #endregion + + #region Row Pooling and Provisioning + + private Row GetRow(int forIndex) + { + // If there are no rows available in the cache, create one from scratch + if (_rowCache.Count == 0) + { + var newRow = CreateRow(); + PopulateRow(forIndex, newRow); + return newRow; + } + + var data = _itemList[forIndex]; + + Row row = null; + Row altRow = null; + + // Determine if the row we're looking for is an alt row + var target = forIndex%2; + + // Try and find a row which previously had this data, so we can reuse it + for (var i = 0; i < _rowCache.Count; i++) + { + row = _rowCache[i]; + + // If this row previously represented this data, just use that one. + if (row.Data == data) + { + _rowCache.RemoveAt(i); + PopulateRow(forIndex, row); + break; + } + + // Cache a row which is was the same alt state as the row we're looking for, in case + // we don't find an exact match. + if (row.Index%2 == target) + { + altRow = row; + } + + // Didn't match, reset to null + row = null; + } + + // If an exact match wasn't found, but a row with the same alt-status was found, use that one. + if (row == null && altRow != null) + { + _rowCache.Remove(altRow); + row = altRow; + PopulateRow(forIndex, row); + } + else if (row == null) + { + // No match found, use the last added item in the cache + row = _rowCache.PopLast(); + PopulateRow(forIndex, row); + } + + return row; + } + + private void RecycleRow(Row row) + { + _rowCache.Add(row); + } + + private void PopulateRow(int index, Row row) + { + row.Index = index; + + // Set data context on row + row.Data = _itemList[index]; + row.View.SetDataContext(_itemList[index]); + + // If we're using stylesheets + if (RowStyleSheet != null || AltRowStyleSheet != null || SelectedRowStyleSheet != null) + { + // If there is a selected row stylesheet, and this is the selected row, use that one + if (SelectedRowStyleSheet != null && SelectedItem == row.Data) + { + row.Root.StyleSheet = SelectedRowStyleSheet; + } + else + { + // Otherwise just use the stylesheet suitable for the row alt-status + row.Root.StyleSheet = index%2 == 0 ? RowStyleSheet : AltRowStyleSheet; + } + } + } + + private Row CreateRow() + { + var item = new Row(); + + var row = SRInstantiate.Instantiate(ItemPrefab); + item.Rect = row; + item.View = row.GetComponent(typeof (IVirtualView)) as IVirtualView; + + if (RowStyleSheet != null || AltRowStyleSheet != null || SelectedRowStyleSheet != null) + { + item.Root = row.gameObject.GetComponentOrAdd(); + item.Root.StyleSheet = RowStyleSheet; + } + + row.SetParent(rectTransform, false); + + return item; + } + + #endregion + } +} diff --git a/Assets/StompyRobot/SRF/Scripts/UI/Layout/VirtualVerticalLayoutGroup.cs.meta b/Assets/StompyRobot/SRF/Scripts/UI/Layout/VirtualVerticalLayoutGroup.cs.meta new file mode 100644 index 0000000..e1d0aae --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/UI/Layout/VirtualVerticalLayoutGroup.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 19c408e3f064e184fa5e0d9862ac4d8b +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRF/Scripts/UI/LongPressButton.cs b/Assets/StompyRobot/SRF/Scripts/UI/LongPressButton.cs new file mode 100644 index 0000000..b627d61 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/UI/LongPressButton.cs @@ -0,0 +1,74 @@ +namespace SRF.UI +{ + using Internal; + using UnityEngine; + + [AddComponentMenu(ComponentMenuPaths.LongPressButton)] + public class LongPressButton : UnityEngine.UI.Button + { + private bool _handled; + [SerializeField] private ButtonClickedEvent _onLongPress = new ButtonClickedEvent(); + private bool _pressed; + private float _pressedTime; + public float LongPressDuration = 0.9f; + + public ButtonClickedEvent onLongPress + { + get { return _onLongPress; } + set { _onLongPress = value; } + } + + public override void OnPointerExit(UnityEngine.EventSystems.PointerEventData eventData) + { + base.OnPointerExit(eventData); + _pressed = false; + } + + public override void OnPointerDown(UnityEngine.EventSystems.PointerEventData eventData) + { + base.OnPointerDown(eventData); + + if (eventData.button != UnityEngine.EventSystems.PointerEventData.InputButton.Left) + { + return; + } + + _pressed = true; + _handled = false; + _pressedTime = Time.realtimeSinceStartup; + } + + public override void OnPointerUp(UnityEngine.EventSystems.PointerEventData eventData) + { + if (!_handled) + { + base.OnPointerUp(eventData); + } + + _pressed = false; + } + + public override void OnPointerClick(UnityEngine.EventSystems.PointerEventData eventData) + { + if (!_handled) + { + base.OnPointerClick(eventData); + } + } + + private void Update() + { + if (!_pressed) + { + return; + } + + if (Time.realtimeSinceStartup - _pressedTime >= LongPressDuration) + { + _pressed = false; + _handled = true; + onLongPress.Invoke(); + } + } + } +} diff --git a/Assets/StompyRobot/SRF/Scripts/UI/LongPressButton.cs.meta b/Assets/StompyRobot/SRF/Scripts/UI/LongPressButton.cs.meta new file mode 100644 index 0000000..fa5e42e --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/UI/LongPressButton.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3fc6d8b69639fdc45a849df5b853c783 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRF/Scripts/UI/ResponsiveBase.cs b/Assets/StompyRobot/SRF/Scripts/UI/ResponsiveBase.cs new file mode 100644 index 0000000..d27adf1 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/UI/ResponsiveBase.cs @@ -0,0 +1,55 @@ +namespace SRF.UI +{ + using UnityEngine; + + [ExecuteInEditMode] + [RequireComponent(typeof (RectTransform))] + public abstract class ResponsiveBase : SRMonoBehaviour + { + private bool _queueRefresh; + + protected RectTransform RectTransform + { + get { return (RectTransform) CachedTransform; } + } + + protected void OnEnable() + { + _queueRefresh = true; + } + + protected void OnRectTransformDimensionsChange() + { + _queueRefresh = true; + } + + protected void Update() + { +#if UNITY_EDITOR + + // Refresh whenever we can in the editor, since layout has quirky update behaviour + // when not in play mode + if (!Application.isPlaying) + { + Refresh(); + return; + } + +#endif + + if (_queueRefresh) + { + Refresh(); + _queueRefresh = false; + } + } + + protected abstract void Refresh(); + + [ContextMenu("Refresh")] + private void DoRefresh() + { + Refresh(); + } + } +} diff --git a/Assets/StompyRobot/SRF/Scripts/UI/ResponsiveBase.cs.meta b/Assets/StompyRobot/SRF/Scripts/UI/ResponsiveBase.cs.meta new file mode 100644 index 0000000..646f1b8 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/UI/ResponsiveBase.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8a53d43b4191c4c4d9ed43860feca27e +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRF/Scripts/UI/ResponsiveEnable.cs b/Assets/StompyRobot/SRF/Scripts/UI/ResponsiveEnable.cs new file mode 100644 index 0000000..9eceac1 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/UI/ResponsiveEnable.cs @@ -0,0 +1,102 @@ +namespace SRF.UI +{ + using System; + using Internal; + using UnityEngine; + + [ExecuteInEditMode] + [RequireComponent(typeof (RectTransform))] + [AddComponentMenu(ComponentMenuPaths.ResponsiveEnable)] + public class ResponsiveEnable : ResponsiveBase + { + public enum Modes + { + EnableAbove, + EnableBelow + } + + public Entry[] Entries = new Entry[0]; + + protected override void Refresh() + { + var rect = RectTransform.rect; + + for (var i = 0; i < Entries.Length; i++) + { + var e = Entries[i]; + + var enable = true; + + switch (e.Mode) + { + case Modes.EnableAbove: + { + if (e.ThresholdHeight > 0) + { + enable = rect.height >= e.ThresholdHeight && enable; + } + + if (e.ThresholdWidth > 0) + { + enable = rect.width >= e.ThresholdWidth && enable; + } + + break; + } + case Modes.EnableBelow: + { + if (e.ThresholdHeight > 0) + { + enable = rect.height <= e.ThresholdHeight && enable; + } + + if (e.ThresholdWidth > 0) + { + enable = rect.width <= e.ThresholdWidth && enable; + } + + break; + } + default: + throw new IndexOutOfRangeException(); + } + + if (e.GameObjects != null) + { + for (var j = 0; j < e.GameObjects.Length; j++) + { + var go = e.GameObjects[j]; + + if (go != null) + { + go.SetActive(enable); + } + } + } + + if (e.Components != null) + { + for (var j = 0; j < e.Components.Length; j++) + { + var go = e.Components[j]; + + if (go != null) + { + go.enabled = enable; + } + } + } + } + } + + [Serializable] + public struct Entry + { + public Behaviour[] Components; + public GameObject[] GameObjects; + public Modes Mode; + public float ThresholdHeight; + public float ThresholdWidth; + } + } +} diff --git a/Assets/StompyRobot/SRF/Scripts/UI/ResponsiveEnable.cs.meta b/Assets/StompyRobot/SRF/Scripts/UI/ResponsiveEnable.cs.meta new file mode 100644 index 0000000..6e4a6d1 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/UI/ResponsiveEnable.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2415a15c0c9eea041863fc6c1a434ede +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRF/Scripts/UI/ResponsiveResize.cs b/Assets/StompyRobot/SRF/Scripts/UI/ResponsiveResize.cs new file mode 100644 index 0000000..087ed58 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/UI/ResponsiveResize.cs @@ -0,0 +1,77 @@ +namespace SRF.UI +{ + using System; + using Internal; + using UnityEngine; + using UnityEngine.UI; + + [ExecuteInEditMode] + [RequireComponent(typeof (RectTransform))] + [AddComponentMenu(ComponentMenuPaths.ResponsiveResize)] + public class ResponsiveResize : ResponsiveBase + { + public Element[] Elements = new Element[0]; + + protected override void Refresh() + { + var rect = RectTransform.rect; + + for (var i = 0; i < Elements.Length; i++) + { + var e = Elements[i]; + + if (e.Target == null) + { + continue; + } + + var maxWidth = float.MinValue; + var selectedWidth = -1f; + + for (var j = 0; j < e.SizeDefinitions.Length; j++) + { + var d = e.SizeDefinitions[j]; + + // If the threshold applies + if (d.ThresholdWidth <= rect.width) + { + // And it is the largest width so far + if (d.ThresholdWidth > maxWidth) + { + // Set it as active + maxWidth = d.ThresholdWidth; + selectedWidth = d.ElementWidth; + } + } + } + + if (selectedWidth > 0) + { + e.Target.SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, selectedWidth); + + var le = e.Target.GetComponent(); + + if (le != null) + { + le.preferredWidth = selectedWidth; + } + } + } + } + + [Serializable] + public struct Element + { + public SizeDefinition[] SizeDefinitions; + public RectTransform Target; + + [Serializable] + public struct SizeDefinition + { + [Tooltip("Width to apply when over the threshold width")] public float ElementWidth; + + [Tooltip("Threshold over which this width will take effect")] public float ThresholdWidth; + } + } + } +} diff --git a/Assets/StompyRobot/SRF/Scripts/UI/ResponsiveResize.cs.meta b/Assets/StompyRobot/SRF/Scripts/UI/ResponsiveResize.cs.meta new file mode 100644 index 0000000..37c24d4 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/UI/ResponsiveResize.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 395e9c70b6db8df408e038114524cc0b +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRF/Scripts/UI/SRNumberButton.cs b/Assets/StompyRobot/SRF/Scripts/UI/SRNumberButton.cs new file mode 100644 index 0000000..971e5bd --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/UI/SRNumberButton.cs @@ -0,0 +1,83 @@ +using UnityEngine.UI; + +namespace SRF.UI +{ + using Internal; + using UnityEngine; + using UnityEngine.EventSystems; + + [AddComponentMenu(ComponentMenuPaths.NumberButton)] + public class SRNumberButton : UnityEngine.UI.Button, IPointerClickHandler, IPointerDownHandler, IPointerUpHandler + { + private const float ExtraThreshold = 3f; + public const float Delay = 0.4f; + private float _delayTime; + private float _downTime; + private bool _isDown; + public double Amount = 1; + public SRNumberSpinner TargetField; + + public override void OnPointerDown(PointerEventData eventData) + { + base.OnPointerDown(eventData); + + if (!interactable) + { + return; + } + + Apply(); + + _isDown = true; + _downTime = Time.realtimeSinceStartup; + _delayTime = _downTime + Delay; + } + + public override void OnPointerUp(PointerEventData eventData) + { + base.OnPointerUp(eventData); + + _isDown = false; + } + + protected virtual void Update() + { + if (_isDown) + { + if (_delayTime <= Time.realtimeSinceStartup) + { + Apply(); + + var newDelay = Delay*0.5f; + + var extra = Mathf.RoundToInt((Time.realtimeSinceStartup - _downTime)/ExtraThreshold); + + for (var i = 0; i < extra; i++) + { + newDelay *= 0.5f; + } + + _delayTime = Time.realtimeSinceStartup + newDelay; + } + } + } + + private void Apply() + { + var currentValue = double.Parse(TargetField.text); + currentValue += Amount; + + if (currentValue > TargetField.MaxValue) + { + currentValue = TargetField.MaxValue; + } + if (currentValue < TargetField.MinValue) + { + currentValue = TargetField.MinValue; + } + + TargetField.text = currentValue.ToString(); + TargetField.onEndEdit.Invoke(TargetField.text); + } + } +} diff --git a/Assets/StompyRobot/SRF/Scripts/UI/SRNumberButton.cs.meta b/Assets/StompyRobot/SRF/Scripts/UI/SRNumberButton.cs.meta new file mode 100644 index 0000000..894e2bb --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/UI/SRNumberButton.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e271d820ea3d50a40bd29c81c23cb2a1 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRF/Scripts/UI/SRNumberSpinner.cs b/Assets/StompyRobot/SRF/Scripts/UI/SRNumberSpinner.cs new file mode 100644 index 0000000..807d6fd --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/UI/SRNumberSpinner.cs @@ -0,0 +1,176 @@ +namespace SRF.UI +{ + using System; + using Internal; + using UnityEngine; + using UnityEngine.EventSystems; + using UnityEngine.UI; + + [AddComponentMenu(ComponentMenuPaths.NumberSpinner)] + public class SRNumberSpinner : InputField + { + private double _currentValue; + private double _dragStartAmount; + private double _dragStep; + public float DragSensitivity = 0.01f; + public double MaxValue = double.MaxValue; + public double MinValue = double.MinValue; + + protected override void Awake() + { + base.Awake(); + + if (contentType != ContentType.IntegerNumber && contentType != ContentType.DecimalNumber) + { + Debug.LogError("[SRNumberSpinner] contentType must be integer or decimal. Defaulting to integer"); + contentType = ContentType.DecimalNumber; + } + } + + public override void OnPointerClick(PointerEventData eventData) + { + //Debug.Log("OnPointerClick (isFocused: {0}, isUsed: {1}, isDragging: {2})".Fmt(isFocused, eventData.used, eventData.dragging)); + + if (!interactable) + { + return; + } + + if (eventData.dragging) + { + return; + } + + EventSystem.current.SetSelectedGameObject(gameObject, eventData); + + base.OnPointerClick(eventData); + + if ((m_Keyboard == null || !m_Keyboard.active)) + { + OnSelect(eventData); + } + else + { + UpdateLabel(); + eventData.Use(); + } + } + + public override void OnPointerDown(PointerEventData eventData) + { + //Debug.Log("OnPointerDown (isFocused: {0}, isUsed: {1})".Fmt(isFocused, eventData.used)); + + //base.OnPointerDown(eventData); + } + + public override void OnPointerUp(PointerEventData eventData) + { + //Debug.Log("OnPointerUp (isFocused: {0}, isUsed: {1})".Fmt(isFocused, eventData.used)); + + //base.OnPointerUp(eventData); + } + + public override void OnBeginDrag(PointerEventData eventData) + { + if (!interactable) + { + return; + } + + //Debug.Log("OnBeginDrag (isFocused: {0}, isUsed: {1}, delta: {2})".Fmt(isFocused, eventData.used, eventData.delta)); + + // Pass event to parent if it is a vertical drag + if (Mathf.Abs(eventData.delta.y) > Mathf.Abs(eventData.delta.x)) + { + //Debug.Log("Passing To Parent"); + + var parent = transform.parent; + + if (parent != null) + { + eventData.pointerDrag = ExecuteEvents.GetEventHandler(parent.gameObject); + + if (eventData.pointerDrag != null) + { + ExecuteEvents.Execute(eventData.pointerDrag, eventData, ExecuteEvents.beginDragHandler); + } + } + + return; + } + eventData.Use(); + + _dragStartAmount = double.Parse(text); + _currentValue = _dragStartAmount; + + var minStep = 1f; + + // Use a larger minimum step for integer numbers, since there are no fractional values + if (contentType == ContentType.IntegerNumber) + { + minStep *= 10; + } + + _dragStep = Math.Max(minStep, _dragStartAmount*0.05f); + + if (isFocused) + { + DeactivateInputField(); + } + } + + public override void OnDrag(PointerEventData eventData) + { + if (!interactable) + { + return; + } + + //Debug.Log("OnDrag (isFocused: {0}, isUsed: {1})".Fmt(isFocused, eventData.used)); + + var diff = eventData.delta.x; + + _currentValue += Math.Abs(_dragStep)*diff*DragSensitivity; + _currentValue = Math.Round(_currentValue, 2); + + if (_currentValue > MaxValue) + { + _currentValue = MaxValue; + } + + if (_currentValue < MinValue) + { + _currentValue = MinValue; + } + + if (contentType == ContentType.IntegerNumber) + { + text = ((int) Math.Round(_currentValue)).ToString(); + } + else + { + text = _currentValue.ToString(); + } + } + + public override void OnEndDrag(PointerEventData eventData) + { + if (!interactable) + { + return; + } + + //Debug.Log("OnEndDrag (isFocused: {0}, isUsed: {1})".Fmt(isFocused, eventData.used)); + + //base.OnEndDrag(eventData); + + eventData.Use(); + + if (_dragStartAmount != _currentValue) + { + DeactivateInputField(); + SendOnSubmit(); + } + } + } +} diff --git a/Assets/StompyRobot/SRF/Scripts/UI/SRNumberSpinner.cs.meta b/Assets/StompyRobot/SRF/Scripts/UI/SRNumberSpinner.cs.meta new file mode 100644 index 0000000..5621f30 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/UI/SRNumberSpinner.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f7e6a39da209c144797f44248b82bfb3 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRF/Scripts/UI/SRRetinaScaler.cs b/Assets/StompyRobot/SRF/Scripts/UI/SRRetinaScaler.cs new file mode 100644 index 0000000..c470339 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/UI/SRRetinaScaler.cs @@ -0,0 +1,68 @@ +namespace SRF.UI +{ + using Internal; + using UnityEngine; + using UnityEngine.UI; + + /// + /// Detects when a screen dpi exceeds what the developer considers + /// a "retina" level display, and scales the canvas accordingly. + /// + [RequireComponent(typeof (CanvasScaler))] + [AddComponentMenu(ComponentMenuPaths.RetinaScaler)] + public class SRRetinaScaler : SRMonoBehaviour + { + [SerializeField] private bool _disablePixelPerfect = false; + + [SerializeField] private int _designDpi = 120; + + private void Start() + { + ApplyScaling(); + } + + private void ApplyScaling() + { + var dpi = Screen.dpi; + + _lastDpi = dpi; + + if (dpi <= 0) + { + return; + } + +#if !UNITY_EDITOR && UNITY_IOS + // No iOS device has had low dpi for many years - Unity must be reporting it wrong. + if(dpi < 120) + { + dpi = 321; + } +#endif + var scaler = GetComponent(); + scaler.uiScaleMode = CanvasScaler.ScaleMode.ConstantPixelSize; + + // Round scale to nearest 0.5 + float scale = dpi / _designDpi; + scale = Mathf.Max(1, Mathf.Round(scale * 2) / 2.0f); + + scaler.scaleFactor = scale; + + if (_disablePixelPerfect) + { + GetComponent().pixelPerfect = false; + } + } + + private float _lastDpi; + + void Update() + { + if (Screen.dpi != _lastDpi) + { + ApplyScaling(); + } + } + + } +} diff --git a/Assets/StompyRobot/SRF/Scripts/UI/SRRetinaScaler.cs.meta b/Assets/StompyRobot/SRF/Scripts/UI/SRRetinaScaler.cs.meta new file mode 100644 index 0000000..ec767b5 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/UI/SRRetinaScaler.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 58bc4004a23c662408dd40e6d01ac936 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRF/Scripts/UI/SRSpinner.cs b/Assets/StompyRobot/SRF/Scripts/UI/SRSpinner.cs new file mode 100644 index 0000000..1af0d5b --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/UI/SRSpinner.cs @@ -0,0 +1,87 @@ +namespace SRF.UI +{ + using System; + using Internal; + using UnityEngine; + using UnityEngine.Events; + using UnityEngine.EventSystems; + using UnityEngine.UI; + + [AddComponentMenu(ComponentMenuPaths.SRSpinner)] + public class SRSpinner : Selectable, IDragHandler, IBeginDragHandler + { + private float _dragDelta; + + [SerializeField] private SpinEvent _onSpinDecrement = new SpinEvent(); + + [SerializeField] private SpinEvent _onSpinIncrement = new SpinEvent(); + + /// + /// Number of units a drag must accumulate to trigger a change + /// + public float DragThreshold = 20f; + + public SpinEvent OnSpinIncrement + { + get { return _onSpinIncrement; } + set { _onSpinIncrement = value; } + } + + public SpinEvent OnSpinDecrement + { + get { return _onSpinDecrement; } + set { _onSpinDecrement = value; } + } + + public void OnBeginDrag(PointerEventData eventData) + { + _dragDelta = 0; + } + + public void OnDrag(PointerEventData eventData) + { + if (!interactable) + { + return; + } + + _dragDelta += eventData.delta.x; + + if (Mathf.Abs(_dragDelta) > DragThreshold) + { + var direction = Mathf.Sign(_dragDelta); + var quantity = Mathf.FloorToInt(Mathf.Abs(_dragDelta)/DragThreshold); + + if (direction > 0) + { + OnIncrement(quantity); + } + else + { + OnDecrement(quantity); + } + + _dragDelta -= quantity*DragThreshold*direction; + } + } + + private void OnIncrement(int amount) + { + for (var i = 0; i < amount; i++) + { + OnSpinIncrement.Invoke(); + } + } + + private void OnDecrement(int amount) + { + for (var i = 0; i < amount; i++) + { + OnSpinDecrement.Invoke(); + } + } + + [Serializable] + public class SpinEvent : UnityEvent {} + } +} diff --git a/Assets/StompyRobot/SRF/Scripts/UI/SRSpinner.cs.meta b/Assets/StompyRobot/SRF/Scripts/UI/SRSpinner.cs.meta new file mode 100644 index 0000000..ffc6634 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/UI/SRSpinner.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0b9fa4d99839aa940b36addec78cb92f +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRF/Scripts/UI/SRText.cs b/Assets/StompyRobot/SRF/Scripts/UI/SRText.cs new file mode 100644 index 0000000..d6986ce --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/UI/SRText.cs @@ -0,0 +1,26 @@ +namespace SRF.UI +{ + using System; + using Internal; + using UnityEngine; + using UnityEngine.UI; + + /// + /// Adds a LayoutDirty callback to the default Text component. + /// + [AddComponentMenu(ComponentMenuPaths.SRText)] + public class SRText : Text + { + public event Action LayoutDirty; + + public override void SetLayoutDirty() + { + base.SetLayoutDirty(); + + if (LayoutDirty != null) + { + LayoutDirty(this); + } + } + } +} diff --git a/Assets/StompyRobot/SRF/Scripts/UI/SRText.cs.meta b/Assets/StompyRobot/SRF/Scripts/UI/SRText.cs.meta new file mode 100644 index 0000000..6b4f888 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/UI/SRText.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 983b04ffc0cd0a04fb74c9b74eb789bd +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRF/Scripts/UI/ScrollToBottomBehaviour.cs b/Assets/StompyRobot/SRF/Scripts/UI/ScrollToBottomBehaviour.cs new file mode 100644 index 0000000..6755228 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/UI/ScrollToBottomBehaviour.cs @@ -0,0 +1,98 @@ +namespace SRF.UI +{ + using System; + using Internal; + using UnityEngine; + using UnityEngine.UI; + + [ExecuteInEditMode] + [RequireComponent(typeof(RectTransform))] + [AddComponentMenu(ComponentMenuPaths.ScrollToBottom)] + public class ScrollToBottomBehaviour : MonoBehaviour + { +#pragma warning disable 649 + [SerializeField] + private ScrollRect _scrollRect; + + [SerializeField] + private CanvasGroup _canvasGroup; + + [SerializeField] + private bool _scrollToTop; +#pragma warning restore 649 + + + public void Start() + { + if (_scrollRect == null) + { + Debug.LogError("[ScrollToBottomBehaviour] ScrollRect not set"); + return; + } + + if (_canvasGroup == null) + { + Debug.LogError("[ScrollToBottomBehaviour] CanvasGroup not set"); + return; + } + + _scrollRect.onValueChanged.AddListener(OnScrollRectValueChanged); + Refresh(); + } + + void OnEnable() + { + Refresh(); + } + + public void Trigger() + { + if (_scrollToTop) + { + _scrollRect.normalizedPosition = new Vector2(0, 1); + } + else + { + _scrollRect.normalizedPosition = new Vector2(0, 0); + } + } + + private void OnScrollRectValueChanged(Vector2 position) + { + Refresh(); + } + + private void Refresh() + { + if (_scrollRect == null) + return; + + var position = _scrollRect.normalizedPosition; + + if (position.y < 0.001f || (_scrollToTop && position.y >= 0.999f)) + { + SetVisible(false); + } + else + { + SetVisible(true); + } + } + + void SetVisible(bool truth) + { + if (truth) + { + _canvasGroup.alpha = 1f; + _canvasGroup.interactable = true; + _canvasGroup.blocksRaycasts = true; + } + else + { + _canvasGroup.alpha = 0f; + _canvasGroup.interactable = false; + _canvasGroup.blocksRaycasts = false; + } + } + } +} diff --git a/Assets/StompyRobot/SRF/Scripts/UI/ScrollToBottomBehaviour.cs.meta b/Assets/StompyRobot/SRF/Scripts/UI/ScrollToBottomBehaviour.cs.meta new file mode 100644 index 0000000..b03f9a9 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/UI/ScrollToBottomBehaviour.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 35107bb7a2a89b54bbb85ea8ff193788 +timeCreated: 1476980356 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StompyRobot/SRF/Scripts/UI/StyleComponent.cs b/Assets/StompyRobot/SRF/Scripts/UI/StyleComponent.cs new file mode 100644 index 0000000..1ec9c18 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/UI/StyleComponent.cs @@ -0,0 +1,195 @@ +namespace SRF.UI +{ + using Internal; + using UnityEngine; + using UnityEngine.Serialization; + using UnityEngine.UI; + + [ExecuteInEditMode] + [AddComponentMenu(ComponentMenuPaths.StyleComponent)] + public class StyleComponent : SRMonoBehaviour + { + private Style _activeStyle; + private StyleRoot _cachedRoot; + private Graphic _graphic; + private bool _hasStarted; + private Image _image; + private Selectable _selectable; + + [SerializeField] [FormerlySerializedAs("StyleKey")] [HideInInspector] private string _styleKey; + + public bool IgnoreImage = false; + + public string StyleKey + { + get { return _styleKey; } + set + { + _styleKey = value; + Refresh(false); + } + } + + private void Start() + { + Refresh(true); + _hasStarted = true; + } + + private void OnEnable() + { + if (_hasStarted) + { + Refresh(false); + } + } + +#if UNITY_EDITOR + + /// + /// This method is not included in exported builds - don't worry about it showing up in the profiler. + /// + private void Update() + { + if (!Application.isPlaying) + { + ApplyStyle(); + } + } + +#endif + + public void Refresh(bool invalidateCache) + { + if (string.IsNullOrEmpty(StyleKey)) + { + _activeStyle = null; + return; + } + + if (!isActiveAndEnabled) + { + _cachedRoot = null; + return; + } + + if (_cachedRoot == null || invalidateCache) + { + _cachedRoot = GetStyleRoot(); + } + + if (_cachedRoot == null) + { + Debug.LogWarning("[StyleComponent] No active StyleRoot object found in parents.", this); + _activeStyle = null; + return; + } + + var s = _cachedRoot.GetStyle(StyleKey); + + if (s == null) + { + Debug.LogWarning("[StyleComponent] Style not found ({0})".Fmt(StyleKey), this); + _activeStyle = null; + return; + } + + _activeStyle = s; + ApplyStyle(); + } + + /// + /// Find the nearest enable style root component in parents + /// + /// + private StyleRoot GetStyleRoot() + { + var t = CachedTransform; + StyleRoot root; + + var i = 0; + + do + { + root = t.GetComponentInParent(); + + if (root != null) + { + t = root.transform.parent; + } + + ++i; + + if (i > 100) + { + Debug.LogWarning("Breaking Loop"); + break; + } + } while ((root != null && !root.enabled) && t != null); + + return root; + } + + private void ApplyStyle() + { + if (_activeStyle == null) + { + return; + } + + if (_graphic == null) + { + _graphic = GetComponent(); + } + + if (_selectable == null) + { + _selectable = GetComponent(); + } + + if (_image == null) + { + _image = GetComponent(); + } + + if (!IgnoreImage && _image != null) + { + _image.sprite = _activeStyle.Image; + } + + if (_selectable != null) + { + var colours = _selectable.colors; + colours.normalColor = _activeStyle.NormalColor; + colours.highlightedColor = _activeStyle.HoverColor; + colours.pressedColor = _activeStyle.ActiveColor; + colours.disabledColor = _activeStyle.DisabledColor; + colours.colorMultiplier = 1f; + + _selectable.colors = colours; + + if (_graphic != null) + { + _graphic.color = Color.white; + } + } + else if (_graphic != null) + { + _graphic.color = _activeStyle.NormalColor; + } + } + + private void SRStyleDirty() + { + // If inactive, invalidate the cached root and return. Next time it is enabled + // a new root will be found + if (!CachedGameObject.activeInHierarchy) + { + _cachedRoot = null; + return; + } + + Refresh(true); + } + } +} diff --git a/Assets/StompyRobot/SRF/Scripts/UI/StyleComponent.cs.meta b/Assets/StompyRobot/SRF/Scripts/UI/StyleComponent.cs.meta new file mode 100644 index 0000000..9e4f5ca --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/UI/StyleComponent.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 73ae1b6eac706814a9cd427288a3c5c9 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRF/Scripts/UI/StyleRoot.cs b/Assets/StompyRobot/SRF/Scripts/UI/StyleRoot.cs new file mode 100644 index 0000000..ce7d638 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/UI/StyleRoot.cs @@ -0,0 +1,59 @@ +namespace SRF.UI +{ + using Internal; + using UnityEngine; + + [ExecuteInEditMode] + [AddComponentMenu(ComponentMenuPaths.StyleRoot)] + public sealed class StyleRoot : SRMonoBehaviour + { + private StyleSheet _activeStyleSheet; + public StyleSheet StyleSheet; + + public Style GetStyle(string key) + { + if (StyleSheet == null) + { + Debug.LogWarning("[StyleRoot] StyleSheet is not set.", this); + return null; + } + + return StyleSheet.GetStyle(key); + } + + private void OnEnable() + { + _activeStyleSheet = null; + + if (StyleSheet != null) + { + OnStyleSheetChanged(); + } + } + + private void OnDisable() + { + OnStyleSheetChanged(); + } + + private void Update() + { + if (_activeStyleSheet != StyleSheet) + { + OnStyleSheetChanged(); + } + } + + private void OnStyleSheetChanged() + { + _activeStyleSheet = StyleSheet; + + BroadcastMessage("SRStyleDirty", SendMessageOptions.DontRequireReceiver); + } + + public void SetDirty() + { + _activeStyleSheet = null; + } + } +} diff --git a/Assets/StompyRobot/SRF/Scripts/UI/StyleRoot.cs.meta b/Assets/StompyRobot/SRF/Scripts/UI/StyleRoot.cs.meta new file mode 100644 index 0000000..36ebf74 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/UI/StyleRoot.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d1bf029da478aff42a6d6e0ed8e21203 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/StompyRobot/SRF/Scripts/UI/StyleSheet.cs b/Assets/StompyRobot/SRF/Scripts/UI/StyleSheet.cs new file mode 100644 index 0000000..0363988 --- /dev/null +++ b/Assets/StompyRobot/SRF/Scripts/UI/StyleSheet.cs @@ -0,0 +1,110 @@ +namespace SRF.UI +{ + using System; + using System.Collections.Generic; + using System.Linq; + using Helpers; + using UnityEngine; + + [Serializable] + public class Style + { + public Color ActiveColor = Color.white; + public Color DisabledColor = Color.white; + public Color HoverColor = Color.white; + public Sprite Image; + public Color NormalColor = Color.white; + + public Style Copy() + { + var s = new Style(); + s.CopyFrom(this); + return s; + } + + public void CopyFrom(Style style) + { + Image = style.Image; + NormalColor = style.NormalColor; + HoverColor = style.HoverColor; + ActiveColor = style.ActiveColor; + DisabledColor = style.DisabledColor; + } + } + + [Serializable] + public class StyleSheet : ScriptableObject + { + [SerializeField] private List _keys = new List(); + + [SerializeField] private List