From b37579153bc8bb1dc7d44df66a5a23f11ac7ee43 Mon Sep 17 00:00:00 2001 From: Konstantin Dyachenko Date: Fri, 27 Feb 2026 03:16:18 +0700 Subject: [PATCH] [Add] Hot Reload --- Assets/Scripts/Dice/DiceRoller.cs | 2 +- .../Editor.meta | 8 + .../Editor/Attribution.meta | 3 + .../Editor/Attribution/Attribution.cs | 61 + .../Editor/Attribution/Attribution.cs.meta | 10 + .../Editor/Attribution/VSAttribution.cs | 149 + .../Editor/Attribution/VSAttribution.cs.meta | 10 + .../Editor/CLI.meta | 3 + .../Editor/CLI/CliUtils.cs | 103 + .../Editor/CLI/CliUtils.cs.meta | 10 + .../Editor/CLI/FallbackCliController.cs | 13 + .../Editor/CLI/FallbackCliController.cs.meta | 10 + .../Editor/CLI/HotReloadCli.cs | 295 + .../Editor/CLI/HotReloadCli.cs.meta | 10 + .../Editor/CLI/ICliController.cs | 13 + .../Editor/CLI/ICliController.cs.meta | 10 + .../Editor/CLI/LinuxCliController.cs | 74 + .../Editor/CLI/LinuxCliController.cs.meta | 10 + .../Editor/CLI/OsxCliController.cs | 196 + .../Editor/CLI/OsxCliController.cs.meta | 10 + .../Editor/CLI/StartArgs.cs | 12 + .../Editor/CLI/StartArgs.cs.meta | 18 + .../Editor/CLI/WindowsCliController.cs | 33 + .../Editor/CLI/WindowsCliController.cs.meta | 10 + .../Editor/CompileChecker.meta | 8 + .../CompileChecker/DefaultCompileChecker.cs | 74 + .../DefaultCompileChecker.cs.meta | 18 + .../Editor/CompileChecker/ICompileChecker.cs | 18 + .../CompileChecker/ICompileChecker.cs.meta | 18 + .../CompileChecker/LegacyCompileChecker.cs | 55 + .../LegacyCompileChecker.cs.meta | 18 + .../Editor/Constants.cs | 48 + .../Editor/Constants.cs.meta | 18 + .../Editor/Demo.meta | 8 + .../Editor/Demo/EditorDemo.cs | 26 + .../Editor/Demo/EditorDemo.cs.meta | 18 + .../Editor/EditorCodePatcher.cs | 1561 +++ .../Editor/EditorCodePatcher.cs.meta | 18 + .../Editor/EditorIndicationState.cs | 197 + .../Editor/EditorIndicationState.cs.meta | 10 + .../Editor/GitUtil.cs | 87 + .../Editor/GitUtil.cs.meta | 18 + .../Editor/Helpers.meta | 8 + .../Editor/Helpers/AssemblyOmission.cs | 189 + .../Editor/Helpers/AssemblyOmission.cs.meta | 10 + .../Editor/Helpers/BuildInfoHelper.cs | 150 + .../Editor/Helpers/BuildInfoHelper.cs.meta | 10 + .../Editor/Helpers/EditorWindowHelper.cs | 106 + .../Editor/Helpers/EditorWindowHelper.cs.meta | 18 + .../Editor/Helpers/GUIHelper.cs | 162 + .../Editor/Helpers/GUIHelper.cs.meta | 10 + .../Helpers/HotReloadSuggestionsHelper.cs | 584 + .../HotReloadSuggestionsHelper.cs.meta | 10 + .../Editor/Helpers/HotReloadTimelineHelper.cs | 608 ++ .../Helpers/HotReloadTimelineHelper.cs.meta | 10 + .../Editor/Helpers/Spinner.cs | 80 + .../Editor/Helpers/Spinner.cs.meta | 10 + .../Editor/Helpers/UnitySettingsHelper.cs | 95 + .../Helpers/UnitySettingsHelper.cs.meta | 10 + .../Editor/HotReloadAttributeProcessor.cs | 35 + .../HotReloadAttributeProcessor.cs.meta | 18 + .../Editor/HotReloadEventPopup.cs | 101 + .../Editor/HotReloadEventPopup.cs.meta | 10 + .../Editor/HotReloadOverlay.cs | 179 + .../Editor/HotReloadOverlay.cs.meta | 10 + .../Editor/HotReloadPrefs.cs | 524 + .../Editor/HotReloadPrefs.cs.meta | 18 + .../Editor/HotReloadSettingsEditor.cs | 73 + .../Editor/HotReloadSettingsEditor.cs.meta | 18 + .../Editor/HotReloadState.cs | 92 + .../Editor/HotReloadState.cs.meta | 10 + .../Editor/Icon_Player.png | Bin 0 -> 2407 bytes .../Editor/Icon_Player.png.meta | 154 + .../Editor/InspectorFreezeFix.cs | 117 + .../Editor/InspectorFreezeFix.cs.meta | 10 + .../Editor/Installation.meta | 3 + .../Editor/Installation/DownloadUtility.cs | 101 + .../Installation/DownloadUtility.cs.meta | 10 + .../Editor/Installation/ExponentialBackoff.cs | 18 + .../Installation/ExponentialBackoff.cs.meta | 10 + .../Editor/Installation/InstallUtility.cs | 62 + .../Installation/InstallUtility.cs.meta | 18 + .../Editor/Installation/ServerDownloader.cs | 228 + .../Installation/ServerDownloader.cs.meta | 10 + .../Editor/Installation/UpdateUtility.cs | 95 + .../Editor/Installation/UpdateUtility.cs.meta | 10 + .../Editor/Localization.meta | 3 + .../Editor/Localization/AboutTranslations.cs | 103 + .../Localization/AboutTranslations.cs.meta | 9 + .../Editor/Localization/CommonTranslations.cs | 118 + .../Localization/CommonTranslations.cs.meta | 9 + .../Editor/Localization/DialogTranslations.cs | 181 + .../Localization/DialogTranslations.cs.meta | 9 + .../Editor/Localization/ErrorTranslations.cs | 334 + .../Localization/ErrorTranslations.cs.meta | 9 + .../Localization/LicenseTranslations.cs | 112 + .../Localization/LicenseTranslations.cs.meta | 9 + .../Editor/Localization/Localization.cs | 61 + .../Editor/Localization/Localization.cs.meta | 10 + .../Localization/MenuItemsTranslations.cs | 13 + .../MenuItemsTranslations.cs.meta | 18 + .../Localization/MiscellaneousTranslations.cs | 166 + .../MiscellaneousTranslations.cs.meta | 9 + .../Localization/OnDeviceTranslations.cs | 61 + .../Localization/OnDeviceTranslations.cs.meta | 9 + .../Localization/RegistrationTranslations.cs | 34 + .../RegistrationTranslations.cs.meta | 9 + .../Localization/SettingsTranslations.cs | 283 + .../Localization/SettingsTranslations.cs.meta | 9 + .../Localization/SuggestionsTranslations.cs | 269 + .../SuggestionsTranslations.cs.meta | 9 + .../Localization/TimelineTranslations.cs | 154 + .../Localization/TimelineTranslations.cs.meta | 9 + .../Editor/Localization/UITranslations.cs | 84 + .../Localization/UITranslations.cs.meta | 18 + .../Localization/UtilityTranslations.cs | 113 + .../Localization/UtilityTranslations.cs.meta | 18 + .../Editor/PlayerBuild.meta | 3 + .../PlayerBuild/BuildGenerateBuildInfo.cs | 42 + .../BuildGenerateBuildInfo.cs.meta | 10 + .../PlayerBuild/HotReloadBuildHelper.cs | 111 + .../PlayerBuild/HotReloadBuildHelper.cs.meta | 10 + .../PostbuildModifyAndroidManifest.cs | 134 + .../PostbuildModifyAndroidManifest.cs.meta | 10 + .../PlayerBuild/PostbuildSendProjectState.cs | 26 + .../PostbuildSendProjectState.cs.meta | 18 + .../PlayerBuild/PrebuildIncludeResources.cs | 64 + .../PrebuildIncludeResources.cs.meta | 18 + .../Editor/ProjectGeneration.meta | 8 + .../ProjectGeneration/FileIOProvider.cs | 44 + .../ProjectGeneration/FileIOProvider.cs.meta | 18 + .../Editor/ProjectGeneration/GUIDProvider.cs | 9 + .../ProjectGeneration/GUIDProvider.cs.meta | 18 + .../Editor/ProjectGeneration/IFileIO.cs | 12 + .../Editor/ProjectGeneration/IFileIO.cs.meta | 10 + .../ProjectGeneration/IGUIDGenerator.cs | 7 + .../ProjectGeneration/IGUIDGenerator.cs.meta | 10 + ...HotReloadProjectGenerationPostProcessor.cs | 43 + ...loadProjectGenerationPostProcessor.cs.meta | 10 + .../ProjectGenenerationPostProcessor.cs | 17 + .../ProjectGenenerationPostProcessor.cs.meta | 10 + .../ProjectGeneration/ProjectGeneration.cs | 899 ++ .../ProjectGeneration.cs.meta | 18 + .../ProjectGenerationFlag.cs | 18 + .../ProjectGenerationFlag.cs.meta | 10 + .../Editor/ProjectGeneration/ProjectPart.cs | 86 + .../ProjectGeneration/ProjectPart.cs.meta | 10 + .../SolutionGuidGenerator.cs | 29 + .../SolutionGuidGenerator.cs.meta | 10 + .../Editor/ProjectGeneration/Util.meta | 8 + .../ProjectGeneration/Util/FileSystemUtil.cs | 37 + .../Util/FileSystemUtil.cs.meta | 18 + .../ProjectGeneration/Util/StringUtils.cs | 14 + .../Util/StringUtils.cs.meta | 10 + .../Editor/RequiredSettings.meta | 3 + .../RequiredSettingChecker.cs | 289 + .../RequiredSettingChecker.cs.meta | 10 + .../Editor/Resources.meta | 3 + .../Editor/Resources/Icn_Stop.png | Bin 0 -> 117 bytes .../Editor/Resources/Icn_Stop.png.meta | 123 + .../Editor/Resources/Icn_play.png | Bin 0 -> 270 bytes .../Editor/Resources/Icn_play.png.meta | 123 + .../Resources/Logo_HotReload_DarkMode.png | Bin 0 -> 3927 bytes .../Logo_HotReload_DarkMode.png.meta | 95 + .../Resources/Logo_HotReload_LightMode.png | Bin 0 -> 3879 bytes .../Logo_HotReload_LightMode.png.meta | 95 + .../Editor/Resources/alert_info.png | Bin 0 -> 862 bytes .../Editor/Resources/alert_info.png.meta | 134 + .../Editor/Resources/applied_patch.png | Bin 0 -> 5463 bytes .../Editor/Resources/applied_patch.png.meta | 134 + .../Editor/Resources/blue.png | Bin 0 -> 6101 bytes .../Editor/Resources/blue.png.meta | 99 + .../Editor/Resources/close.png | Bin 0 -> 252 bytes .../Editor/Resources/close.png.meta | 134 + .../Editor/Resources/error.png | Bin 0 -> 5489 bytes .../Editor/Resources/error.png.meta | 134 + .../Editor/Resources/events.png | Bin 0 -> 4309 bytes .../Editor/Resources/events.png.meta | 134 + .../Editor/Resources/foldout_closed.png | Bin 0 -> 4865 bytes .../Editor/Resources/foldout_closed.png.meta | 134 + .../Editor/Resources/foldout_open.png | Bin 0 -> 4861 bytes .../Editor/Resources/foldout_open.png.meta | 134 + .../Editor/Resources/green.png | Bin 0 -> 352 bytes .../Editor/Resources/green.png.meta | 131 + .../Editor/Resources/grey.png | Bin 0 -> 493 bytes .../Editor/Resources/grey.png.meta | 131 + .../Editor/Resources/icon_check_circle.png | Bin 0 -> 916 bytes .../Resources/icon_check_circle.png.meta | 95 + .../Editor/Resources/icon_circle_black.png | Bin 0 -> 648 bytes .../Resources/icon_circle_black.png.meta | 154 + .../Editor/Resources/icon_circle_gray.png | Bin 0 -> 743 bytes .../Resources/icon_circle_gray.png.meta | 154 + .../icon_loading_star_light_mode_96.png | Bin 0 -> 822 bytes .../icon_loading_star_light_mode_96.png.meta | 131 + .../Editor/Resources/icon_warning_circle.png | Bin 0 -> 941 bytes .../Resources/icon_warning_circle.png.meta | 95 + .../Editor/Resources/infos.png | Bin 0 -> 5947 bytes .../Editor/Resources/infos.png.meta | 134 + .../Editor/Resources/logo.png | Bin 0 -> 455 bytes .../Editor/Resources/logo.png.meta | 134 + .../Editor/Resources/red.png | Bin 0 -> 345 bytes .../Editor/Resources/red.png.meta | 131 + .../Editor/Resources/red_dot.png | Bin 0 -> 4838 bytes .../Editor/Resources/red_dot.png.meta | 134 + .../Editor/Resources/refresh.png | Bin 0 -> 287 bytes .../Editor/Resources/refresh.png.meta | 134 + .../Editor/Resources/report_bug.png | Bin 0 -> 763 bytes .../Editor/Resources/report_bug.png.meta | 134 + .../Editor/Resources/undetected.png | Bin 0 -> 720 bytes .../Editor/Resources/undetected.png.meta | 123 + .../Editor/Resources/warning.png | Bin 0 -> 5523 bytes .../Editor/Resources/warning.png.meta | 134 + .../Editor/Resources/yellow.png | Bin 0 -> 348 bytes .../Editor/Resources/yellow.png.meta | 131 + .../Editor/ServerHealthCheck.cs | 25 + .../Editor/ServerHealthCheck.cs.meta | 10 + .../SingularityGroup.HotReload.Editor.asmdef | 32 + ...gularityGroup.HotReload.Editor.asmdef.meta | 14 + ...rityGroup.HotReload.EditorDependencies.dll | Bin 0 -> 370176 bytes ...roup.HotReload.EditorDependencies.dll.meta | 40 + .../Editor/Versioning.meta | 8 + .../Editor/Versioning/PackageUpdateChecker.cs | 295 + .../Versioning/PackageUpdateChecker.cs.meta | 18 + .../Editor/Versioning/SemVer.cs | 537 + .../Editor/Versioning/SemVer.cs.meta | 18 + .../Editor/Window.meta | 8 + .../Editor/Window/GUI.meta | 8 + .../Editor/Window/GUI/Buttons.meta | 8 + .../Window/GUI/Buttons/OpenDialogueButton.cs | 42 + .../GUI/Buttons/OpenDialogueButton.cs.meta | 10 + .../Window/GUI/Buttons/OpenURLButton.cs | 29 + .../Window/GUI/Buttons/OpenURLButton.cs.meta | 18 + .../Editor/Window/GUI/EditorTextures.cs | 116 + .../Editor/Window/GUI/EditorTextures.cs.meta | 10 + .../Editor/Window/GUI/IGUIComponent.cs | 5 + .../Editor/Window/GUI/IGUIComponent.cs.meta | 18 + .../Editor/Window/GUI/Options.meta | 8 + ...AllowAndroidAppToMakeHttpRequestsOption.cs | 49 + ...AndroidAppToMakeHttpRequestsOption.cs.meta | 18 + .../Editor/Window/GUI/Options/Base.meta | 8 + .../GUI/Options/Base/HotReloadOptionBase.cs | 57 + .../Options/Base/HotReloadOptionBase.cs.meta | 18 + .../GUI/Options/Base/OptionInterfaces.cs | 34 + .../GUI/Options/Base/OptionInterfaces.cs.meta | 10 + .../Window/GUI/Options/ExposeServerOption.cs | 70 + .../GUI/Options/ExposeServerOption.cs.meta | 18 + .../GUI/Options/IncludeInBuildOption.cs | 25 + .../GUI/Options/IncludeInBuildOption.cs.meta | 18 + .../Editor/Window/GUI/Tabs.meta | 8 + .../Editor/Window/GUI/Tabs/Base.meta | 8 + .../Window/GUI/Tabs/Base/HotReloadTabBase.cs | 33 + .../GUI/Tabs/Base/HotReloadTabBase.cs.meta | 18 + .../Editor/Window/GUI/Tabs/Helpers.meta | 3 + .../GUI/Tabs/Helpers/RedeemLicenseHelper.cs | 308 + .../Tabs/Helpers/RedeemLicenseHelper.cs.meta | 10 + .../Window/GUI/Tabs/HotReloadAboutTab.cs | 312 + .../Window/GUI/Tabs/HotReloadAboutTab.cs.meta | 18 + .../GUI/Tabs/HotReloadOptionsSection.cs | 50 + .../GUI/Tabs/HotReloadOptionsSection.cs.meta | 18 + .../Editor/Window/GUI/Tabs/HotReloadRunTab.cs | 1463 +++ .../Window/GUI/Tabs/HotReloadRunTab.cs.meta | 18 + .../Window/GUI/Tabs/HotReloadSettingsTab.cs | 945 ++ .../GUI/Tabs/HotReloadSettingsTab.cs.meta | 10 + .../Editor/Window/HotReloadWindow.cs | 393 + .../Editor/Window/HotReloadWindow.cs.meta | 18 + .../Editor/Window/ShowOnStartupEnum.cs | 7 + .../Editor/Window/ShowOnStartupEnum.cs.meta | 18 + .../Editor/Window/Styles.meta | 8 + .../Window/Styles/HotReloadWindowStyles.cs | 777 ++ .../Styles/HotReloadWindowStyles.cs.meta | 18 + .../HotReload.code-workspace | 11 + .../HotReload.code-workspace.meta | 14 + .../com.singularitygroup.hotreload/LICENSE.md | 45 + .../LICENSE.md.meta | 14 + .../com.singularitygroup.hotreload/README.md | 9 + .../README.md.meta | 10 + .../Runtime.meta | 8 + .../Runtime/AppCallbackListener.cs | 53 + .../Runtime/AppCallbackListener.cs.meta | 10 + .../Runtime/BuildInfo.cs | 174 + .../Runtime/BuildInfo.cs.meta | 10 + .../Runtime/Burst.meta | 3 + .../Runtime/Burst/JobHotReloadUtility.cs | 25 + .../Runtime/Burst/JobHotReloadUtility.cs.meta | 10 + .../Runtime/BurstChecker.cs | 39 + .../Runtime/BurstChecker.cs.meta | 10 + .../Runtime/CodePatcher.cs | 770 ++ .../Runtime/CodePatcher.cs.meta | 18 + .../Runtime/Demo.meta | 3 + .../Runtime/Demo/Scenes.meta | 8 + .../Demo/Scenes/HotReloadBasicDemo.unity | 1079 ++ .../Demo/Scenes/HotReloadBasicDemo.unity.meta | 14 + .../Demo/Scenes/HotReloadBurstDemo.unity | 9607 +++++++++++++++++ .../Demo/Scenes/HotReloadBurstDemo.unity.meta | 14 + .../HotReloadBurstDemoSettings.lighting | 66 + .../HotReloadBurstDemoSettings.lighting.meta | 15 + .../Runtime/Demo/Scripts.meta | 8 + .../Demo/Scripts/HotReloadBasicDemo.cs | 217 + .../Demo/Scripts/HotReloadBasicDemo.cs.meta | 18 + .../Demo/Scripts/HotReloadBurstJobsDemo.cs | 63 + .../Scripts/HotReloadBurstJobsDemo.cs.meta | 18 + .../Runtime/Demo/Scripts/IDemo.cs | 29 + .../Runtime/Demo/Scripts/IDemo.cs.meta | 10 + .../Runtime/HotReloadPrompts.prefab | 2942 +++++ .../Runtime/HotReloadPrompts.prefab.meta | 14 + .../Runtime/HotReloadSettingsHelper.cs | 43 + .../Runtime/HotReloadSettingsHelper.cs.meta | 10 + .../Runtime/HotReloadSettingsObject.cs | 112 + .../Runtime/HotReloadSettingsObject.cs.meta | 20 + .../Runtime/HttpClientUtils.cs | 16 + .../Runtime/HttpClientUtils.cs.meta | 10 + .../Runtime/IServerHealthCheck.cs | 9 + .../Runtime/IServerHealthCheck.cs.meta | 10 + .../Runtime/InstallQRDialog.cs | 25 + .../Runtime/InstallQRDialog.cs.meta | 10 + .../Runtime/IpHelper.cs | 62 + .../Runtime/IpHelper.cs.meta | 10 + .../Runtime/Libs.meta | 8 + .../Runtime/Libs/EditorOnly.meta | 8 + ...ityGroup.HotReload.RuntimeDependencies.dll | Bin 0 -> 3047424 bytes ...oup.HotReload.RuntimeDependencies.dll.meta | 99 + ...roup.HotReload.RuntimeDependencies2019.dll | Bin 0 -> 40448 bytes ...HotReload.RuntimeDependencies2019.dll.meta | 95 + ...roup.HotReload.RuntimeDependencies2020.dll | Bin 0 -> 39424 bytes ...HotReload.RuntimeDependencies2020.dll.meta | 95 + ...roup.HotReload.RuntimeDependencies2022.dll | Bin 0 -> 480256 bytes ...HotReload.RuntimeDependencies2022.dll.meta | 95 + .../Runtime/Libs/OnDevice.meta | 8 + ...ityGroup.HotReload.RuntimeDependencies.dll | Bin 0 -> 3047424 bytes ...oup.HotReload.RuntimeDependencies.dll.meta | 95 + ...roup.HotReload.RuntimeDependencies2019.dll | Bin 0 -> 40448 bytes ...HotReload.RuntimeDependencies2019.dll.meta | 96 + ...roup.HotReload.RuntimeDependencies2020.dll | Bin 0 -> 39424 bytes ...HotReload.RuntimeDependencies2020.dll.meta | 96 + ...roup.HotReload.RuntimeDependencies2022.dll | Bin 0 -> 480256 bytes ...HotReload.RuntimeDependencies2022.dll.meta | 96 + .../Runtime/Localization.meta | 3 + .../Localization/CommonTranslations.cs | 46 + .../Localization/CommonTranslations.cs.meta | 10 + .../Localization/DialogTranslations.cs | 82 + .../Localization/DialogTranslations.cs.meta | 10 + .../Runtime/Localization/ErrorTranslations.cs | 73 + .../Localization/ErrorTranslations.cs.meta | 10 + .../Localization/LoggingTranslations.cs | 178 + .../Localization/LoggingTranslations.cs.meta | 18 + .../Localization/MenuItemTranslations.cs | 16 + .../Localization/MenuItemTranslations.cs.meta | 10 + .../Localization/SettingTranslations.cs | 34 + .../Localization/SettingTranslations.cs.meta | 10 + .../Runtime/Localization/Translations.cs | 51 + .../Runtime/Localization/Translations.cs.meta | 10 + .../Localization/UtilityTranslations.cs | 45 + .../Localization/UtilityTranslations.cs.meta | 10 + .../Runtime/MethodCompatiblity.cs | 114 + .../Runtime/MethodCompatiblity.cs.meta | 18 + .../Runtime/MethodPatchResponsesConverter.cs | 713 ++ .../MethodPatchResponsesConverter.cs.meta | 10 + .../Runtime/MethodUtils.cs | 33 + .../Runtime/MethodUtils.cs.meta | 18 + .../Runtime/MonoBehaviours.meta | 3 + .../MonoBehaviours/ConnectionDialog.cs | 82 + .../MonoBehaviours/ConnectionDialog.cs.meta | 10 + .../Runtime/MonoBehaviours/Prompts.cs | 144 + .../Runtime/MonoBehaviours/Prompts.cs.meta | 10 + .../Runtime/MonoBehaviours/QuestionDialog.cs | 67 + .../MonoBehaviours/QuestionDialog.cs.meta | 10 + .../Runtime/MonoBehaviours/RetryDialog.cs | 108 + .../MonoBehaviours/RetryDialog.cs.meta | 10 + .../Runtime/MonoMethod.cs | 194 + .../Runtime/MonoMethod.cs.meta | 18 + .../Runtime/MultiplayerPlaymodeHelper.cs | 31 + .../Runtime/MultiplayerPlaymodeHelper.cs.meta | 10 + .../Runtime/OSX.meta | 8 + .../Runtime/OSX/HotReloadNativeHelper.dylib | Bin 0 -> 152352 bytes .../OSX/HotReloadNativeHelper.dylib.meta | 87 + .../Runtime/OnHotReloadDispatch.cs | 193 + .../Runtime/OnHotReloadDispatch.cs.meta | 10 + .../Runtime/PackageConst.cs | 25 + .../Runtime/PackageConst.cs.meta | 18 + .../Runtime/PatchServerInfo.cs | 39 + .../Runtime/PatchServerInfo.cs.meta | 18 + .../Runtime/PersistencePaths.cs | 13 + .../Runtime/PersistencePaths.cs.meta | 18 + .../Runtime/PlayerCodePatcher.cs | 116 + .../Runtime/PlayerCodePatcher.cs.meta | 10 + .../Runtime/PlayerEntrypoint.cs | 161 + .../Runtime/PlayerEntrypoint.cs.meta | 10 + .../Runtime/Public.meta | 8 + .../Runtime/Public/HotReloadLogging.cs | 17 + .../Runtime/Public/HotReloadLogging.cs.meta | 18 + .../Runtime/Public/InvokeOnHotReload.cs | 32 + .../Runtime/Public/InvokeOnHotReload.cs.meta | 18 + .../Runtime/Public/InvokeOnHotReloadLocal.cs | 22 + .../Public/InvokeOnHotReloadLocal.cs.meta | 10 + .../Runtime/Public/Log.cs | 108 + .../Runtime/Public/Log.cs.meta | 10 + .../Runtime/Public/LogLevel.cs | 25 + .../Runtime/Public/LogLevel.cs.meta | 18 + ...arityGroup.HotReload.Runtime.Public.asmdef | 3 + ...Group.HotReload.Runtime.Public.asmdef.meta | 14 + .../Runtime/RequestHelper.cs | 482 + .../Runtime/RequestHelper.cs.meta | 18 + .../Runtime/ServerHandshake.cs | 244 + .../Runtime/ServerHandshake.cs.meta | 10 + .../Runtime/ServerHealthCheck.cs | 56 + .../Runtime/ServerHealthCheck.cs.meta | 10 + .../SingularityGroup.HotReload.Runtime.asmdef | 29 + ...ularityGroup.HotReload.Runtime.asmdef.meta | 14 + .../Runtime/SymbolResolver.cs | 97 + .../Runtime/SymbolResolver.cs.meta | 18 + .../Runtime/SymbolResolvingFailedException.cs | 16 + .../SymbolResolvingFailedException.cs.meta | 18 + .../Runtime/TaskExtensions.cs | 47 + .../Runtime/TaskExtensions.cs.meta | 18 + .../Runtime/ThreadUtility.cs | 224 + .../Runtime/ThreadUtility.cs.meta | 10 + .../Runtime/UnityHelper.cs | 40 + .../Runtime/UnityHelper.cs.meta | 10 + .../Server.meta | 8 + .../Server/hot-reload-config.graphql | 99 + .../Server/hot-reload-config.graphql.meta | 14 + .../Server/linux-x64.meta | 8 + .../linux-x64/hotreload-start-script.sh | 83 + .../linux-x64/hotreload-start-script.sh.meta | 14 + .../Server/linux-x64/terminal-run.sh | 39 + .../Server/linux-x64/terminal-run.sh.meta | 14 + .../Third Party Notices.md | 327 + .../Third Party Notices.md.meta | 14 + .../package.json | 20 + .../package.json.meta | 14 + Packages/packages-lock.json | 9 + 431 files changed, 43054 insertions(+), 1 deletion(-) create mode 100644 Packages/com.singularitygroup.hotreload/Editor.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Attribution.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Attribution/Attribution.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Attribution/Attribution.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Attribution/VSAttribution.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Attribution/VSAttribution.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/CLI.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/CLI/CliUtils.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/CLI/CliUtils.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/CLI/FallbackCliController.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/CLI/FallbackCliController.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/CLI/HotReloadCli.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/CLI/HotReloadCli.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/CLI/ICliController.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/CLI/ICliController.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/CLI/LinuxCliController.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/CLI/LinuxCliController.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/CLI/OsxCliController.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/CLI/OsxCliController.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/CLI/StartArgs.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/CLI/StartArgs.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/CLI/WindowsCliController.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/CLI/WindowsCliController.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/CompileChecker.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/CompileChecker/DefaultCompileChecker.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/CompileChecker/DefaultCompileChecker.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/CompileChecker/ICompileChecker.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/CompileChecker/ICompileChecker.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/CompileChecker/LegacyCompileChecker.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/CompileChecker/LegacyCompileChecker.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Constants.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Constants.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Demo.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Demo/EditorDemo.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Demo/EditorDemo.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/EditorCodePatcher.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/EditorCodePatcher.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/EditorIndicationState.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/EditorIndicationState.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/GitUtil.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/GitUtil.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Helpers.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Helpers/AssemblyOmission.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Helpers/AssemblyOmission.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Helpers/BuildInfoHelper.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Helpers/BuildInfoHelper.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Helpers/EditorWindowHelper.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Helpers/EditorWindowHelper.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Helpers/GUIHelper.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Helpers/GUIHelper.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Helpers/HotReloadSuggestionsHelper.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Helpers/HotReloadSuggestionsHelper.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Helpers/HotReloadTimelineHelper.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Helpers/HotReloadTimelineHelper.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Helpers/Spinner.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Helpers/Spinner.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Helpers/UnitySettingsHelper.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Helpers/UnitySettingsHelper.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/HotReloadAttributeProcessor.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/HotReloadAttributeProcessor.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/HotReloadEventPopup.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/HotReloadEventPopup.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/HotReloadOverlay.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/HotReloadOverlay.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/HotReloadPrefs.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/HotReloadPrefs.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/HotReloadSettingsEditor.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/HotReloadSettingsEditor.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/HotReloadState.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/HotReloadState.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Icon_Player.png create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Icon_Player.png.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/InspectorFreezeFix.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/InspectorFreezeFix.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Installation.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Installation/DownloadUtility.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Installation/DownloadUtility.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Installation/ExponentialBackoff.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Installation/ExponentialBackoff.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Installation/InstallUtility.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Installation/InstallUtility.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Installation/ServerDownloader.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Installation/ServerDownloader.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Installation/UpdateUtility.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Installation/UpdateUtility.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Localization.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Localization/AboutTranslations.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Localization/AboutTranslations.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Localization/CommonTranslations.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Localization/CommonTranslations.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Localization/DialogTranslations.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Localization/DialogTranslations.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Localization/ErrorTranslations.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Localization/ErrorTranslations.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Localization/LicenseTranslations.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Localization/LicenseTranslations.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Localization/Localization.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Localization/Localization.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Localization/MenuItemsTranslations.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Localization/MenuItemsTranslations.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Localization/MiscellaneousTranslations.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Localization/MiscellaneousTranslations.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Localization/OnDeviceTranslations.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Localization/OnDeviceTranslations.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Localization/RegistrationTranslations.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Localization/RegistrationTranslations.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Localization/SettingsTranslations.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Localization/SettingsTranslations.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Localization/SuggestionsTranslations.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Localization/SuggestionsTranslations.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Localization/TimelineTranslations.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Localization/TimelineTranslations.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Localization/UITranslations.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Localization/UITranslations.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Localization/UtilityTranslations.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Localization/UtilityTranslations.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/PlayerBuild.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/PlayerBuild/BuildGenerateBuildInfo.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/PlayerBuild/BuildGenerateBuildInfo.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/PlayerBuild/HotReloadBuildHelper.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/PlayerBuild/HotReloadBuildHelper.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/PlayerBuild/PostbuildModifyAndroidManifest.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/PlayerBuild/PostbuildModifyAndroidManifest.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/PlayerBuild/PostbuildSendProjectState.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/PlayerBuild/PostbuildSendProjectState.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/PlayerBuild/PrebuildIncludeResources.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/PlayerBuild/PrebuildIncludeResources.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/FileIOProvider.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/FileIOProvider.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/GUIDProvider.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/GUIDProvider.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/IFileIO.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/IFileIO.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/IGUIDGenerator.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/IGUIDGenerator.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/IHotReloadProjectGenerationPostProcessor.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/IHotReloadProjectGenerationPostProcessor.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/ProjectGenenerationPostProcessor.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/ProjectGenenerationPostProcessor.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/ProjectGeneration.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/ProjectGeneration.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/ProjectGenerationFlag.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/ProjectGenerationFlag.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/ProjectPart.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/ProjectPart.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/SolutionGuidGenerator.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/SolutionGuidGenerator.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/Util.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/Util/FileSystemUtil.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/Util/FileSystemUtil.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/Util/StringUtils.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/Util/StringUtils.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/RequiredSettings.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/RequiredSettings/RequiredSettingChecker.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/RequiredSettings/RequiredSettingChecker.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Resources.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Resources/Icn_Stop.png create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Resources/Icn_Stop.png.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Resources/Icn_play.png create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Resources/Icn_play.png.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Resources/Logo_HotReload_DarkMode.png create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Resources/Logo_HotReload_DarkMode.png.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Resources/Logo_HotReload_LightMode.png create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Resources/Logo_HotReload_LightMode.png.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Resources/alert_info.png create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Resources/alert_info.png.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Resources/applied_patch.png create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Resources/applied_patch.png.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Resources/blue.png create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Resources/blue.png.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Resources/close.png create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Resources/close.png.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Resources/error.png create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Resources/error.png.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Resources/events.png create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Resources/events.png.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Resources/foldout_closed.png create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Resources/foldout_closed.png.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Resources/foldout_open.png create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Resources/foldout_open.png.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Resources/green.png create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Resources/green.png.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Resources/grey.png create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Resources/grey.png.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Resources/icon_check_circle.png create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Resources/icon_check_circle.png.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Resources/icon_circle_black.png create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Resources/icon_circle_black.png.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Resources/icon_circle_gray.png create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Resources/icon_circle_gray.png.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Resources/icon_loading_star_light_mode_96.png create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Resources/icon_loading_star_light_mode_96.png.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Resources/icon_warning_circle.png create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Resources/icon_warning_circle.png.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Resources/infos.png create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Resources/infos.png.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Resources/logo.png create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Resources/logo.png.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Resources/red.png create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Resources/red.png.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Resources/red_dot.png create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Resources/red_dot.png.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Resources/refresh.png create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Resources/refresh.png.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Resources/report_bug.png create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Resources/report_bug.png.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Resources/undetected.png create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Resources/undetected.png.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Resources/warning.png create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Resources/warning.png.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Resources/yellow.png create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Resources/yellow.png.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/ServerHealthCheck.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/ServerHealthCheck.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/SingularityGroup.HotReload.Editor.asmdef create mode 100644 Packages/com.singularitygroup.hotreload/Editor/SingularityGroup.HotReload.Editor.asmdef.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/SingularityGroup.HotReload.EditorDependencies.dll create mode 100644 Packages/com.singularitygroup.hotreload/Editor/SingularityGroup.HotReload.EditorDependencies.dll.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Versioning.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Versioning/PackageUpdateChecker.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Versioning/PackageUpdateChecker.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Versioning/SemVer.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Versioning/SemVer.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Window.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Window/GUI.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Buttons.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Buttons/OpenDialogueButton.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Buttons/OpenDialogueButton.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Buttons/OpenURLButton.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Buttons/OpenURLButton.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Window/GUI/EditorTextures.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Window/GUI/EditorTextures.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Window/GUI/IGUIComponent.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Window/GUI/IGUIComponent.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Options.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Options/AllowAndroidAppToMakeHttpRequestsOption.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Options/AllowAndroidAppToMakeHttpRequestsOption.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Options/Base.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Options/Base/HotReloadOptionBase.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Options/Base/HotReloadOptionBase.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Options/Base/OptionInterfaces.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Options/Base/OptionInterfaces.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Options/ExposeServerOption.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Options/ExposeServerOption.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Options/IncludeInBuildOption.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Options/IncludeInBuildOption.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs/Base.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs/Base/HotReloadTabBase.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs/Base/HotReloadTabBase.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs/Helpers.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs/Helpers/RedeemLicenseHelper.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs/Helpers/RedeemLicenseHelper.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs/HotReloadAboutTab.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs/HotReloadAboutTab.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs/HotReloadOptionsSection.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs/HotReloadOptionsSection.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs/HotReloadRunTab.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs/HotReloadRunTab.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs/HotReloadSettingsTab.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs/HotReloadSettingsTab.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Window/HotReloadWindow.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Window/HotReloadWindow.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Window/ShowOnStartupEnum.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Window/ShowOnStartupEnum.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Window/Styles.meta create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Window/Styles/HotReloadWindowStyles.cs create mode 100644 Packages/com.singularitygroup.hotreload/Editor/Window/Styles/HotReloadWindowStyles.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/HotReload.code-workspace create mode 100644 Packages/com.singularitygroup.hotreload/HotReload.code-workspace.meta create mode 100644 Packages/com.singularitygroup.hotreload/LICENSE.md create mode 100644 Packages/com.singularitygroup.hotreload/LICENSE.md.meta create mode 100644 Packages/com.singularitygroup.hotreload/README.md create mode 100644 Packages/com.singularitygroup.hotreload/README.md.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/AppCallbackListener.cs create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/AppCallbackListener.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/BuildInfo.cs create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/BuildInfo.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Burst.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Burst/JobHotReloadUtility.cs create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Burst/JobHotReloadUtility.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/BurstChecker.cs create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/BurstChecker.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/CodePatcher.cs create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/CodePatcher.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Demo.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Demo/Scenes.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Demo/Scenes/HotReloadBasicDemo.unity create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Demo/Scenes/HotReloadBasicDemo.unity.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Demo/Scenes/HotReloadBurstDemo.unity create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Demo/Scenes/HotReloadBurstDemo.unity.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Demo/Scenes/HotReloadBurstDemoSettings.lighting create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Demo/Scenes/HotReloadBurstDemoSettings.lighting.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Demo/Scripts.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Demo/Scripts/HotReloadBasicDemo.cs create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Demo/Scripts/HotReloadBasicDemo.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Demo/Scripts/HotReloadBurstJobsDemo.cs create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Demo/Scripts/HotReloadBurstJobsDemo.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Demo/Scripts/IDemo.cs create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Demo/Scripts/IDemo.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/HotReloadPrompts.prefab create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/HotReloadPrompts.prefab.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/HotReloadSettingsHelper.cs create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/HotReloadSettingsHelper.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/HotReloadSettingsObject.cs create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/HotReloadSettingsObject.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/HttpClientUtils.cs create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/HttpClientUtils.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/IServerHealthCheck.cs create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/IServerHealthCheck.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/InstallQRDialog.cs create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/InstallQRDialog.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/IpHelper.cs create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/IpHelper.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Libs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Libs/EditorOnly.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Libs/EditorOnly/SingularityGroup.HotReload.RuntimeDependencies.dll create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Libs/EditorOnly/SingularityGroup.HotReload.RuntimeDependencies.dll.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Libs/EditorOnly/SingularityGroup.HotReload.RuntimeDependencies2019.dll create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Libs/EditorOnly/SingularityGroup.HotReload.RuntimeDependencies2019.dll.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Libs/EditorOnly/SingularityGroup.HotReload.RuntimeDependencies2020.dll create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Libs/EditorOnly/SingularityGroup.HotReload.RuntimeDependencies2020.dll.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Libs/EditorOnly/SingularityGroup.HotReload.RuntimeDependencies2022.dll create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Libs/EditorOnly/SingularityGroup.HotReload.RuntimeDependencies2022.dll.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Libs/OnDevice.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Libs/OnDevice/SingularityGroup.HotReload.RuntimeDependencies.dll create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Libs/OnDevice/SingularityGroup.HotReload.RuntimeDependencies.dll.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Libs/OnDevice/SingularityGroup.HotReload.RuntimeDependencies2019.dll create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Libs/OnDevice/SingularityGroup.HotReload.RuntimeDependencies2019.dll.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Libs/OnDevice/SingularityGroup.HotReload.RuntimeDependencies2020.dll create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Libs/OnDevice/SingularityGroup.HotReload.RuntimeDependencies2020.dll.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Libs/OnDevice/SingularityGroup.HotReload.RuntimeDependencies2022.dll create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Libs/OnDevice/SingularityGroup.HotReload.RuntimeDependencies2022.dll.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Localization.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Localization/CommonTranslations.cs create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Localization/CommonTranslations.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Localization/DialogTranslations.cs create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Localization/DialogTranslations.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Localization/ErrorTranslations.cs create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Localization/ErrorTranslations.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Localization/LoggingTranslations.cs create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Localization/LoggingTranslations.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Localization/MenuItemTranslations.cs create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Localization/MenuItemTranslations.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Localization/SettingTranslations.cs create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Localization/SettingTranslations.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Localization/Translations.cs create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Localization/Translations.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Localization/UtilityTranslations.cs create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Localization/UtilityTranslations.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/MethodCompatiblity.cs create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/MethodCompatiblity.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/MethodPatchResponsesConverter.cs create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/MethodPatchResponsesConverter.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/MethodUtils.cs create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/MethodUtils.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/MonoBehaviours.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/MonoBehaviours/ConnectionDialog.cs create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/MonoBehaviours/ConnectionDialog.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/MonoBehaviours/Prompts.cs create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/MonoBehaviours/Prompts.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/MonoBehaviours/QuestionDialog.cs create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/MonoBehaviours/QuestionDialog.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/MonoBehaviours/RetryDialog.cs create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/MonoBehaviours/RetryDialog.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/MonoMethod.cs create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/MonoMethod.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/MultiplayerPlaymodeHelper.cs create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/MultiplayerPlaymodeHelper.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/OSX.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/OSX/HotReloadNativeHelper.dylib create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/OSX/HotReloadNativeHelper.dylib.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/OnHotReloadDispatch.cs create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/OnHotReloadDispatch.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/PackageConst.cs create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/PackageConst.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/PatchServerInfo.cs create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/PatchServerInfo.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/PersistencePaths.cs create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/PersistencePaths.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/PlayerCodePatcher.cs create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/PlayerCodePatcher.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/PlayerEntrypoint.cs create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/PlayerEntrypoint.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Public.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Public/HotReloadLogging.cs create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Public/HotReloadLogging.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Public/InvokeOnHotReload.cs create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Public/InvokeOnHotReload.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Public/InvokeOnHotReloadLocal.cs create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Public/InvokeOnHotReloadLocal.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Public/Log.cs create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Public/Log.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Public/LogLevel.cs create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Public/LogLevel.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Public/SingularityGroup.HotReload.Runtime.Public.asmdef create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/Public/SingularityGroup.HotReload.Runtime.Public.asmdef.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/RequestHelper.cs create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/RequestHelper.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/ServerHandshake.cs create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/ServerHandshake.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/ServerHealthCheck.cs create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/ServerHealthCheck.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/SingularityGroup.HotReload.Runtime.asmdef create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/SingularityGroup.HotReload.Runtime.asmdef.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/SymbolResolver.cs create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/SymbolResolver.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/SymbolResolvingFailedException.cs create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/SymbolResolvingFailedException.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/TaskExtensions.cs create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/TaskExtensions.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/ThreadUtility.cs create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/ThreadUtility.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/UnityHelper.cs create mode 100644 Packages/com.singularitygroup.hotreload/Runtime/UnityHelper.cs.meta create mode 100644 Packages/com.singularitygroup.hotreload/Server.meta create mode 100644 Packages/com.singularitygroup.hotreload/Server/hot-reload-config.graphql create mode 100644 Packages/com.singularitygroup.hotreload/Server/hot-reload-config.graphql.meta create mode 100644 Packages/com.singularitygroup.hotreload/Server/linux-x64.meta create mode 100644 Packages/com.singularitygroup.hotreload/Server/linux-x64/hotreload-start-script.sh create mode 100644 Packages/com.singularitygroup.hotreload/Server/linux-x64/hotreload-start-script.sh.meta create mode 100644 Packages/com.singularitygroup.hotreload/Server/linux-x64/terminal-run.sh create mode 100644 Packages/com.singularitygroup.hotreload/Server/linux-x64/terminal-run.sh.meta create mode 100644 Packages/com.singularitygroup.hotreload/Third Party Notices.md create mode 100644 Packages/com.singularitygroup.hotreload/Third Party Notices.md.meta create mode 100644 Packages/com.singularitygroup.hotreload/package.json create mode 100644 Packages/com.singularitygroup.hotreload/package.json.meta diff --git a/Assets/Scripts/Dice/DiceRoller.cs b/Assets/Scripts/Dice/DiceRoller.cs index 887210c..e0fc295 100644 --- a/Assets/Scripts/Dice/DiceRoller.cs +++ b/Assets/Scripts/Dice/DiceRoller.cs @@ -147,6 +147,6 @@ public sealed class DiceRoller : MonoBehaviour IsRolling = false; OnRollFinished?.Invoke(topValue); - Debug.Log($"{gameObject.name} | Выпало: {topValue}"); + // Debug.Log($"{gameObject.name} | Выпало: {topValue}"); } } diff --git a/Packages/com.singularitygroup.hotreload/Editor.meta b/Packages/com.singularitygroup.hotreload/Editor.meta new file mode 100644 index 0000000..74ca4b0 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f5dfa6492e8e7ce4f937aa75ef4e86fd +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.singularitygroup.hotreload/Editor/Attribution.meta b/Packages/com.singularitygroup.hotreload/Editor/Attribution.meta new file mode 100644 index 0000000..944cb63 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Attribution.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 7ae8b0adf00c450d9e80e11ffa1d2cf7 +timeCreated: 1678721517 \ No newline at end of file diff --git a/Packages/com.singularitygroup.hotreload/Editor/Attribution/Attribution.cs b/Packages/com.singularitygroup.hotreload/Editor/Attribution/Attribution.cs new file mode 100644 index 0000000..1d0ab63 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Attribution/Attribution.cs @@ -0,0 +1,61 @@ +using System; +using System.Globalization; +using SingularityGroup.HotReload.DTO; +using UnityEditor; +using UnityEditor.VSAttribution.HotReload; +using UnityEngine; +using UnityEngine.Analytics; + +namespace SingularityGroup.HotReload.Editor { + internal static class Attribution { + internal const string LastLoginKey = "HotReload.Attribution.LastAttributionEventAt"; + + //Resend attribution event every 12 hours to be safe + static readonly TimeSpan resendPeriod = TimeSpan.FromHours(12); + + //The last time the attribution event was sent. + //Returns unix epoch in case it has never been sent before. + static DateTime LastAttributionEventAt { + get { + if(EditorPrefs.HasKey(LastLoginKey)) { + return DateTime.ParseExact(EditorPrefs.GetString(LastLoginKey), "o", CultureInfo.InvariantCulture, DateTimeStyles.AssumeUniversal); + } + return DateTimeOffset.FromUnixTimeSeconds(0).UtcDateTime; + } + set { + EditorPrefs.SetString(LastLoginKey, value.ToUniversalTime().ToString("o")); + } + } + + + const string actionName = "Login"; + const string partnerName = "The Naughty Cult Ltd."; + + public static void RegisterLogin(LoginStatusResponse response) { + //Licensing might not be initialized yet. + //The hwId should be set eventually. + if(response?.hardwareId == null) { + return; + } + //Only forward attribution if this is an asset store build. + //We will still distribute this package outside of the asset store (i.e via our website). + if (!PackageConst.IsAssetStoreBuild) { + return; + } + + var now = DateTime.UtcNow; + //If we sent an attribution event in the last 12 hours we should already be good. + if (now - LastAttributionEventAt < resendPeriod) { + return; + } + + var result = VSAttribution.SendAttributionEvent(actionName, partnerName, response.hardwareId); + + //Retry on transient errors + if (result == AnalyticsResult.NotInitialized) { + return; + } + LastAttributionEventAt = now; + } + } +} \ No newline at end of file diff --git a/Packages/com.singularitygroup.hotreload/Editor/Attribution/Attribution.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/Attribution/Attribution.cs.meta new file mode 100644 index 0000000..a0d7e00 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Attribution/Attribution.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 67658aafb8404f0eb9496812ba4bb8a4 +timeCreated: 1678721795 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/Attribution/Attribution.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Attribution/VSAttribution.cs b/Packages/com.singularitygroup.hotreload/Editor/Attribution/VSAttribution.cs new file mode 100644 index 0000000..1cd7459 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Attribution/VSAttribution.cs @@ -0,0 +1,149 @@ +using System; +using UnityEngine.Analytics; + +#if UNITY_6000_0_OR_NEWER +namespace UnityEditor.VSAttribution.HotReload +{ + internal static class VSAttribution + { + + const int k_VersionId = 4; + const int k_MaxEventsPerHour = 10; + const int k_MaxNumberOfElements = 1000; + + const string k_VendorKey = "unity.vsp-attribution"; + const string k_EventName = "vspAttribution"; + + [Serializable] + private class VSAttributionData : IAnalytic.IData { + public string actionName; + public string partnerName; + public string customerUid; + public string extra; + } + + [AnalyticInfo(k_EventName, k_VendorKey, k_VersionId, k_MaxEventsPerHour, k_MaxNumberOfElements)] + class VSAttributionAnalytics : IAnalytic { + private VSAttributionData m_Data; + + private VSAttributionAnalytics( + string actionName, + string partnerName, + string customerUid, + string extra + ) { + this.m_Data = new VSAttributionData { + actionName = actionName, + partnerName = partnerName, + customerUid = customerUid, + extra = extra + }; + } + + public bool TryGatherData(out IAnalytic.IData data, out Exception error) { + data = this.m_Data; + error = null; + return this.m_Data != null; + } + + public static AnalyticsResult SendEvent( + string actionName, + string partnerName, + string customerUid, + string extra + ) { + return EditorAnalytics.SendAnalytic(new VSAttributionAnalytics(actionName, + partnerName, + customerUid, + extra + )); + } + } + + /// + /// Registers and attempts to send a Verified Solutions Attribution event. + /// + /// Name of the action, identifying a place this event was called from. + /// Identifiable Verified Solutions Partner's name. + /// Unique identifier of the customer using Partner's Verified Solution. + public static AnalyticsResult SendAttributionEvent(string actionName, string partnerName, string customerUid) + { + try + { + return VSAttributionAnalytics.SendEvent(actionName, partnerName, customerUid, "{}"); + } + catch + { + // Fail silently + return AnalyticsResult.AnalyticsDisabled; + } + } + } +} +#else +namespace UnityEditor.VSAttribution.HotReload +{ + internal static class VSAttribution + { + const int k_VersionId = 4; + const int k_MaxEventsPerHour = 10; + const int k_MaxNumberOfElements = 1000; + + const string k_VendorKey = "unity.vsp-attribution"; + const string k_EventName = "vspAttribution"; + + static bool RegisterEvent() + { + AnalyticsResult result = EditorAnalytics.RegisterEventWithLimit(k_EventName, k_MaxEventsPerHour, + k_MaxNumberOfElements, k_VendorKey, k_VersionId); + + var isResultOk = result == AnalyticsResult.Ok; + return isResultOk; + } + + [Serializable] + struct VSAttributionData + { + public string actionName; + public string partnerName; + public string customerUid; + public string extra; + } + + /// + /// Registers and attempts to send a Verified Solutions Attribution event. + /// + /// Name of the action, identifying a place this event was called from. + /// Identifiable Verified Solutions Partner's name. + /// Unique identifier of the customer using Partner's Verified Solution. + public static AnalyticsResult SendAttributionEvent(string actionName, string partnerName, string customerUid) + { + try + { + // Are Editor Analytics enabled ? (Preferences) + if (!EditorAnalytics.enabled) + return AnalyticsResult.AnalyticsDisabled; + + if (!RegisterEvent()) + return AnalyticsResult.InvalidData; + + // Create an expected data object + var eventData = new VSAttributionData + { + actionName = actionName, + partnerName = partnerName, + customerUid = customerUid, + extra = "{}" + }; + + return EditorAnalytics.SendEventWithLimit(k_EventName, eventData, k_VersionId); + } + catch + { + // Fail silently + return AnalyticsResult.AnalyticsDisabled; + } + } + } +} +#endif diff --git a/Packages/com.singularitygroup.hotreload/Editor/Attribution/VSAttribution.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/Attribution/VSAttribution.cs.meta new file mode 100644 index 0000000..d5b0f71 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Attribution/VSAttribution.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: d7493a30e78d4ec783ead20baea2c4d2 +timeCreated: 1678721534 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/Attribution/VSAttribution.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/CLI.meta b/Packages/com.singularitygroup.hotreload/Editor/CLI.meta new file mode 100644 index 0000000..7ce99ac --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/CLI.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: a100625513d043c7bb875461043f4f86 +timeCreated: 1673820086 \ No newline at end of file diff --git a/Packages/com.singularitygroup.hotreload/Editor/CLI/CliUtils.cs b/Packages/com.singularitygroup.hotreload/Editor/CLI/CliUtils.cs new file mode 100644 index 0000000..5febc3e --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/CLI/CliUtils.cs @@ -0,0 +1,103 @@ +using System.Diagnostics; +using System.IO; +using System.Security.Cryptography; +using System.Text; +using SingularityGroup.HotReload.Newtonsoft.Json; +using UnityEngine; +using System; +using SingularityGroup.HotReload.Localization; + +namespace SingularityGroup.HotReload.Editor.Cli { + internal static class CliUtils { + public static string GetTempDownloadFilePath(string osxFileName) { + if (UnityHelper.Platform == RuntimePlatform.OSXEditor) { + // project specific temp directory that is writeable on MacOS (Path.GetTempPath() wasn't when run through HotReload.app) + return Path.GetFullPath(PackageConst.LibraryCachePath + $"/HotReloadServerTemp/{osxFileName}"); + } else { + return Path.GetTempFileName(); + } + } + + public static string GetHotReloadTempDir() { + return Path.GetFullPath(Path.Combine(PackageConst.LibraryCachePath, "HotReloadServerTemp")); + } + + public static string GetAppDataPath() { +# if (UNITY_EDITOR_OSX) + var baseDir = "/Users/Shared"; +# elif (UNITY_EDITOR_LINUX) + var baseDir = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData); +# else + var baseDir = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData); +#endif + return Path.Combine(baseDir, "singularitygroup-hotreload"); + } + + public static string GetExecutableTargetDir() { + if (PackageConst.IsAssetStoreBuild) { + if (PackageConst.DefaultLocaleField == Locale.SimplifiedChinese) { + return Path.Combine(GetAppDataPath(), "asset-store", "zh", $"executables_{PackageConst.ServerVersion.Replace('.', '-')}"); + } + return Path.Combine(GetAppDataPath(), "asset-store", $"executables_{PackageConst.ServerVersion.Replace('.', '-')}"); + } + if (PackageConst.DefaultLocaleField == Locale.SimplifiedChinese) { + return Path.Combine(GetAppDataPath(), "zh", $"executables_{PackageConst.ServerVersion.Replace('.', '-')}"); + } + return Path.Combine(GetAppDataPath(), $"executables_{PackageConst.ServerVersion.Replace('.', '-')}"); + } + + public static string GetCliTempDir() { + return Path.Combine(GetHotReloadTempDir(), "MethodPatches"); + } + + public static void Chmod(string targetFile, string flags = "+x") { + // ReSharper disable once PossibleNullReferenceException + Process.Start(new ProcessStartInfo("chmod", $"{flags} \"{targetFile}\"") { + UseShellExecute = false, + }).WaitForExit(2000); + } + + public static bool TryFindServerDir(out string path) { + const string serverBasePath = "Packages/com.singularitygroup.hotreload/Server"; + if(Directory.Exists(serverBasePath)) { + path = Path.GetFullPath(serverBasePath); + return true; + } + + //Not found in packages. Try to find in assets folder. + //fast path - this is the expected folder + const string alternativeExecutablePath = "Assets/HotReload/Server"; + if(Directory.Exists(alternativeExecutablePath)) { + path = Path.GetFullPath(alternativeExecutablePath); + return true; + } + //slow path - try to find the server directory somewhere in the assets folder + var candidates = Directory.GetDirectories("Assets", "HotReload", SearchOption.AllDirectories); + foreach(var candidate in candidates) { + var serverDir = Path.Combine(candidate, "Server"); + if(Directory.Exists(serverDir)) { + path = Path.GetFullPath(serverDir); + return true; + } + } + path = null; + return false; + } + + public static string GetPidFilePath(string hotreloadTempDir) { + return Path.GetFullPath(Path.Combine(hotreloadTempDir, "server.pid")); + } + + public static void KillLastKnownHotReloadProcess() { + var pidPath = GetPidFilePath(GetHotReloadTempDir()); + try { + var pid = int.Parse(File.ReadAllText(pidPath)); + Process.GetProcessById(pid).Kill(); + } + catch { + //ignore + } + File.Delete(pidPath); + } + } +} \ No newline at end of file diff --git a/Packages/com.singularitygroup.hotreload/Editor/CLI/CliUtils.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/CLI/CliUtils.cs.meta new file mode 100644 index 0000000..85107ca --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/CLI/CliUtils.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: b0243b348dec4a308dc7b98e09842d2c +timeCreated: 1673820875 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/CLI/CliUtils.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/CLI/FallbackCliController.cs b/Packages/com.singularitygroup.hotreload/Editor/CLI/FallbackCliController.cs new file mode 100644 index 0000000..6601490 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/CLI/FallbackCliController.cs @@ -0,0 +1,13 @@ + +using System.Threading.Tasks; + +namespace SingularityGroup.HotReload.Editor.Cli { + class FallbackCliController : ICliController { + public string BinaryFileName => ""; + public string PlatformName => ""; + public bool CanOpenInBackground => false; + public Task Start(StartArgs args) => Task.CompletedTask; + + public Task Stop() => Task.CompletedTask; + } +} \ No newline at end of file diff --git a/Packages/com.singularitygroup.hotreload/Editor/CLI/FallbackCliController.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/CLI/FallbackCliController.cs.meta new file mode 100644 index 0000000..9327bc9 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/CLI/FallbackCliController.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 090ed5d45f294f0d8799879206139bd6 +timeCreated: 1673824275 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/CLI/FallbackCliController.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/CLI/HotReloadCli.cs b/Packages/com.singularitygroup.hotreload/Editor/CLI/HotReloadCli.cs new file mode 100644 index 0000000..82795f5 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/CLI/HotReloadCli.cs @@ -0,0 +1,295 @@ +using System; +using System.Diagnostics; +using System.IO; +using System.Net; +#if UNITY_EDITOR_WIN +using System.Net.NetworkInformation; +#else +using System.Net.Sockets; +#endif +using System.Threading.Tasks; +using SingularityGroup.HotReload.Editor.Localization; +using SingularityGroup.HotReload.Localization; +using SingularityGroup.HotReload.Newtonsoft.Json; +using UnityEditor; +using Translations = SingularityGroup.HotReload.Editor.Localization.Translations; + +namespace SingularityGroup.HotReload.Editor.Cli { + [InitializeOnLoad] + public static class HotReloadCli { + internal static readonly ICliController controller; + + //InitializeOnLoad ensures controller gets initialized on unity thread + static HotReloadCli() { + if (MultiplayerPlaymodeHelper.IsClone) { + controller = new FallbackCliController(); + return; + } + controller = + #if UNITY_EDITOR_OSX + new OsxCliController(); + #elif UNITY_EDITOR_LINUX + new LinuxCliController(); + #elif UNITY_EDITOR_WIN + new WindowsCliController(); + #else + new FallbackCliController(); + #endif + } + + public static bool CanOpenInBackground => controller.CanOpenInBackground; + + /// + /// Public API: Starts the Hot Reload server. Must be on the main thread + /// + public static Task StartAsync() { + return StartAsync( + isReleaseMode: RequestHelper.IsReleaseMode(), + exposeServerToNetwork: HotReloadPrefs.ExposeServerToLocalNetwork, + allAssetChanges: HotReloadPrefs.AllAssetChanges, + createNoWindow: HotReloadPrefs.DisableConsoleWindow, +#if UNITY_EDITOR_WIN + useWatchman: HotReloadPrefs.UseWatchman, +#endif + detailedErrorReporting: !HotReloadPrefs.DisableDetailedErrorReporting + ); + } + + internal static async Task StartAsync( + bool exposeServerToNetwork, + bool allAssetChanges, + bool createNoWindow, + bool isReleaseMode, + bool detailedErrorReporting, +#if UNITY_EDITOR_WIN + bool useWatchman = true, +#endif + LoginData loginData = null +) { + if (controller.PlatformName == "") { + return; + } + var port = await Prepare().ConfigureAwait(false); + await ThreadUtility.SwitchToThreadPool(); + StartArgs args; + if (TryGetStartArgs( + UnityHelper.DataPath, + exposeServerToNetwork, + allAssetChanges, + createNoWindow, + isReleaseMode, + detailedErrorReporting, + loginData, + port, +#if UNITY_EDITOR_WIN + useWatchman, +#endif + out args)) { + await controller.Start(args); + } + } + + /// + /// Public API: Stops the Hot Reload server + /// + /// + /// This is a no-op in case the server is not running + /// + public static Task StopAsync() { + return controller.Stop(); + } + + class Config { +#pragma warning disable CS0649 + public bool useBuiltInProjectGeneration; +#pragma warning restore CS0649 + } + + static bool TryGetStartArgs( + string dataPath, + bool exposeServerToNetwork, + bool allAssetChanges, + bool createNoWindow, + bool isReleaseMode, + bool detailedErrorReporting, + LoginData loginData, + int port, +#if UNITY_EDITOR_WIN + bool useWatchman, +#endif + out StartArgs args + ) { + string serverDir; + if(!CliUtils.TryFindServerDir(out serverDir)) { + Log.Warning(string.Format(Translations.Errors.WarningFailedToStartServer, + Translations.Utility.UnableToLocateServer + + Translations.Utility.UnableToLocateServerDetail)); + args = null; + return false; + } + + Config config; + if (File.Exists(PackageConst.ConfigFileName)) { + config = JsonConvert.DeserializeObject(File.ReadAllText(PackageConst.ConfigFileName)); + } else { + config = new Config(); + } + var hotReloadTmpDir = CliUtils.GetHotReloadTempDir(); + var cliTempDir = CliUtils.GetCliTempDir(); + // Versioned path so that we only need to extract the binary once. User can have multiple projects + // on their machine using different HotReload versions. + var executableTargetDir = CliUtils.GetExecutableTargetDir(); + Directory.CreateDirectory(executableTargetDir); // ensure exists + var executableSourceDir = Path.Combine(serverDir, controller.PlatformName); + var unityProjDir = Path.GetDirectoryName(dataPath); + string slnPath; + if (config.useBuiltInProjectGeneration) { + var info = new DirectoryInfo(Path.GetFullPath(".")); + slnPath = Path.Combine(Path.GetFullPath("."), info.Name + ".sln"); + if (!File.Exists(slnPath)) { + Log.Warning(string.Format(Translations.Errors.WarningFailedToStartServer, Translations.Utility.CannotFindSolutionFile)); + args = null; + return false; + } + Log.Info(Translations.Errors.InfoDefaultProjectGeneration); + try { + Directory.Delete(ProjectGeneration.ProjectGeneration.tempDir, true); + } catch(Exception ex) { + Log.Exception(ex); + } + } else { + slnPath = ProjectGeneration.ProjectGeneration.GetSolutionFilePath(dataPath); + } + + if (!File.Exists(slnPath)) { + Log.Warning(Translations.Errors.WarningNoSlnFileFound); + } + + var searchAssemblies = string.Join(";", CodePatcher.I.GetAssemblySearchPaths()); + var cliArguments = $@"-u ""{unityProjDir}"" -s ""{slnPath}"" -t ""{cliTempDir}"" -a ""{searchAssemblies}"" -ver ""{PackageConst.Version}"" -proc ""{Process.GetCurrentProcess().Id}"" -assets ""{allAssetChanges}"" -p ""{port}"" -r {isReleaseMode} -detailed-error-reporting {detailedErrorReporting}"; + if (loginData != null) { + cliArguments += $@" -email ""{loginData.email}"" -pass ""{loginData.password}"""; + } + #if UNITY_EDITOR_WIN + cliArguments += $@" -w ""{useWatchman}"""; + #endif + if (exposeServerToNetwork) { + // server will listen on local network interface (default is localhost only) + cliArguments += " -e true"; + } + args = new StartArgs { + hotreloadTempDir = hotReloadTmpDir, + cliTempDir = cliTempDir, + executableTargetDir = executableTargetDir, + executableSourceDir = executableSourceDir, + cliArguments = cliArguments, + unityProjDir = unityProjDir, + createNoWindow = createNoWindow, + }; + return true; + } + + private static int DiscoverFreePort() { + var maxAttempts = 10; + for (int attempt = 0; attempt < maxAttempts; attempt++) { + var port = RequestHelper.defaultPort + attempt; + if (IsPortInUse(port)) { + continue; + } + return port; + } + // we give up at this point + return RequestHelper.defaultPort + maxAttempts; + } + + public static bool IsPortInUse(int port) { + // Note that there is a racecondition that a port gets occupied after checking. + // However, it will very rare someone will run into this. +#if UNITY_EDITOR_WIN + IPGlobalProperties ipGlobalProperties = IPGlobalProperties.GetIPGlobalProperties(); + IPEndPoint[] activeTcpListeners = ipGlobalProperties.GetActiveTcpListeners(); + + foreach (IPEndPoint endPoint in activeTcpListeners) { + if (endPoint.Port == port) { + return true; + } + } + + return false; +#else + try { + using (TcpClient tcpClient = new TcpClient()) { + tcpClient.Connect(IPAddress.Loopback, port); // Try to connect to the specified port + return true; + } + } catch (SocketException) { + return false; + } catch (Exception e) { + Log.Exception(e); + // act as if the port is allocated + return true; + } +#endif + } + + + static async Task Prepare() { + await ThreadUtility.SwitchToMainThread(); + + var dataPath = UnityHelper.DataPath; + await ProjectGeneration.ProjectGeneration.EnsureSlnAndCsprojFiles(dataPath); + await PrepareBuildInfoAsync(); + PrepareSystemPathsFile(); + + var port = DiscoverFreePort(); + HotReloadState.ServerPort = port; + var serverInfo = RequestHelper.SetServerPort(port); + await Task.Run(() => File.WriteAllText(Path.Combine(PackageConst.LibraryCachePath, PackageConst.ServerInfoFileName), JsonConvert.SerializeObject(serverInfo))); + return port; + } + + static bool didLogWarning; + internal static async Task PrepareBuildInfoAsync() { + await ThreadUtility.SwitchToMainThread(); + var buildInfoInput = await BuildInfoHelper.GetGenerateBuildInfoInput(); + await Task.Run(() => { + try { + var buildInfo = BuildInfoHelper.GenerateBuildInfoThreaded(buildInfoInput); + PrepareBuildInfo(buildInfo); + } catch (Exception e) { + if (!didLogWarning) { + Log.Warning(string.Format(Translations.Errors.WarningPreparingBuildInfoFailed, e)); + didLogWarning = true; + } else { + Log.Debug(string.Format(Translations.Utility.PreparingBuildInfoFailed, e)); + } + } + }); + } + + internal static void PrepareBuildInfo(BuildInfo buildInfo) { + // When starting server make sure it starts with correct player data state. + // (this fixes issue where Unity is in background and not sending files state). + // Always write player data because you can be on any build target and want to connect with a downloaded android build. + var json = buildInfo.ToJson(); + var cliTempDir = CliUtils.GetCliTempDir(); + Directory.CreateDirectory(cliTempDir); + File.WriteAllText(Path.Combine(cliTempDir, "playerdata.json"), json); + } + + static void PrepareSystemPathsFile() { +#pragma warning disable CS0618 // obsolete since 2023 + var lvl = PlayerSettings.GetApiCompatibilityLevel(EditorUserBuildSettings.selectedBuildTargetGroup); +#pragma warning restore CS0618 +#if UNITY_2020_3_OR_NEWER + var dirs = UnityEditor.Compilation.CompilationPipeline.GetSystemAssemblyDirectories(lvl); +#else + var t = typeof(UnityEditor.Editor).Assembly.GetType("UnityEditor.Scripting.ScriptCompilation.MonoLibraryHelpers"); + var m = t.GetMethod("GetSystemReferenceDirectories"); + var dirs = m.Invoke(null, new object[] { lvl }); +#endif + Directory.CreateDirectory(PackageConst.LibraryCachePath); + File.WriteAllText(PackageConst.LibraryCachePath + "/systemAssemblies.json", JsonConvert.SerializeObject(dirs)); + } + } +} diff --git a/Packages/com.singularitygroup.hotreload/Editor/CLI/HotReloadCli.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/CLI/HotReloadCli.cs.meta new file mode 100644 index 0000000..1393d62 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/CLI/HotReloadCli.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 9f756ed6b78d428b8b9f83a6544317fe +timeCreated: 1673820326 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/CLI/HotReloadCli.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/CLI/ICliController.cs b/Packages/com.singularitygroup.hotreload/Editor/CLI/ICliController.cs new file mode 100644 index 0000000..93d8826 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/CLI/ICliController.cs @@ -0,0 +1,13 @@ +using System.Threading.Tasks; + +namespace SingularityGroup.HotReload.Editor.Cli { + interface ICliController { + string BinaryFileName {get;} + string PlatformName {get;} + bool CanOpenInBackground {get;} + + Task Start(StartArgs args); + + Task Stop(); + } +} \ No newline at end of file diff --git a/Packages/com.singularitygroup.hotreload/Editor/CLI/ICliController.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/CLI/ICliController.cs.meta new file mode 100644 index 0000000..126d695 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/CLI/ICliController.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 8cba48e21f76483da3ba615915e731fd +timeCreated: 1673820542 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/CLI/ICliController.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/CLI/LinuxCliController.cs b/Packages/com.singularitygroup.hotreload/Editor/CLI/LinuxCliController.cs new file mode 100644 index 0000000..cbdb5c9 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/CLI/LinuxCliController.cs @@ -0,0 +1,74 @@ +using System; +using System.Diagnostics; +using System.IO; +using System.Threading.Tasks; +using SingularityGroup.HotReload.Editor.Localization; +using Debug = UnityEngine.Debug; + +namespace SingularityGroup.HotReload.Editor.Cli { + + class LinuxCliController : ICliController { + Process process; + + public string BinaryFileName => "CodePatcherCLI"; + public string PlatformName => "linux-x64"; + public bool CanOpenInBackground => true; + + public Task Start(StartArgs args) { + var startScript = Path.Combine(args.executableSourceDir, "hotreload-start-script.sh"); + if (!File.Exists(startScript)) { + throw new FileNotFoundException(startScript); + } + File.WriteAllText(startScript, File.ReadAllText(startScript).Replace("\r\n", "\n")); + CliUtils.Chmod(startScript); + + var title = CodePatcher.TAG + "Server " + new DirectoryInfo(args.unityProjDir).Name; + title = title.Replace(" ", "-"); + title = title.Replace("'", ""); + + var cliargsfile = Path.GetTempFileName(); + File.WriteAllText(cliargsfile,args.cliArguments); + var codePatcherProc = Process.Start(new ProcessStartInfo { + FileName = startScript, + Arguments = + $"--title \"{title}\"" + + $" --executables-source-dir \"{args.executableSourceDir}\" " + + $" --executable-taget-dir \"{args.executableTargetDir}\"" + + $" --pidfile \"{CliUtils.GetPidFilePath(args.hotreloadTempDir)}\"" + + $" --cli-arguments-file \"{cliargsfile}\"" + + $" --method-patch-dir \"{args.cliTempDir}\"" + + $" --create-no-window \"{args.createNoWindow}\"", + UseShellExecute = false, + RedirectStandardOutput = true, + RedirectStandardError = true + }); + if (codePatcherProc == null) { + if (File.Exists(cliargsfile)) { + File.Delete(cliargsfile); + } + throw new Exception(Translations.Errors.ExceptionCouldNotStartCodePatcher); + } + codePatcherProc.BeginErrorReadLine(); + codePatcherProc.BeginOutputReadLine(); + codePatcherProc.OutputDataReceived += (_, a) => { + }; + // error data can also mean we kill the proc beningly + codePatcherProc.ErrorDataReceived += (_, a) => { + }; + process = codePatcherProc; + return Task.CompletedTask; + } + + public async Task Stop() { + await RequestHelper.KillServer(); + try { + // process.CloseMainWindow throws if proc already exited. + // also we just rely on the pid file it is fine + CliUtils.KillLastKnownHotReloadProcess(); + } catch { + //ignored + } + process = null; + } + } +} diff --git a/Packages/com.singularitygroup.hotreload/Editor/CLI/LinuxCliController.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/CLI/LinuxCliController.cs.meta new file mode 100644 index 0000000..c3f87f1 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/CLI/LinuxCliController.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: c894a69d595d4ada8cfa4afe23c68ab9 +timeCreated: 1673820131 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/CLI/LinuxCliController.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/CLI/OsxCliController.cs b/Packages/com.singularitygroup.hotreload/Editor/CLI/OsxCliController.cs new file mode 100644 index 0000000..1c922bd --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/CLI/OsxCliController.cs @@ -0,0 +1,196 @@ +using System; +using System.Diagnostics; +using System.IO; +using System.Threading.Tasks; +using SingularityGroup.HotReload.Editor.Localization; +using SingularityGroup.HotReload.Editor.Semver; +using Debug = UnityEngine.Debug; + +namespace SingularityGroup.HotReload.Editor.Cli { + class OsxCliController : ICliController { + Process process; + + public string BinaryFileName => "HotReload.app.zip"; + public string PlatformName => "osx-x64"; + public bool CanOpenInBackground => true; + + /// In MacOS 13 Ventura, our app cannot launch a terminal window. + /// We use a custom app that launches HotReload server and shows it's output (just like a terminal would). + // Including MacOS 12 Monterey as well so I can dogfood it -Troy + private static bool UseCustomConsoleApp() => MacOSVersion.Value.Major >= 12; + + // dont use static because null comparison on SemVersion is broken + private static readonly Lazy MacOSVersion = new Lazy(() => { + //UnityHelper.OperatingSystem; // in Unity 2018 it returns 10.16 on monterey (no idea why) + //Environment.OSVersion returns unix version like 21.x + var startinfo = new ProcessStartInfo { + FileName = "/usr/bin/sw_vers", + Arguments = "-productVersion", + UseShellExecute = false, + RedirectStandardOutput = true, + CreateNoWindow = true, + }; + var process = Process.Start(startinfo); + + string osVersion = process.StandardOutput.ReadToEnd().Trim(); + + SemVersion macosVersion; + if (SemVersion.TryParse(osVersion, out macosVersion)) { + return macosVersion; + } + // should never happen + Log.Warning(Translations.Errors.WarningMacOSVersionDetectionFailed); + return SemVersion.None; + }); + + public async Task Start(StartArgs args) { + // Unzip the .app.zip to temp folder .app + var appExecutablePath = $"{args.executableTargetDir}/HotReload.app/Contents/MacOS/HotReload"; + var cliExecutablePath = $"{args.executableTargetDir}/HotReload.app/Contents/Resources/CodePatcherCLI"; + + // ensure running on threadpool + await ThreadUtility.SwitchToThreadPool(); + + // executableTargetDir is versioned, so only need to extract once. + if (!File.Exists(appExecutablePath)) { + try { + // delete only the extracted app folder (must not delete downloaded zip which is in same folder) + Directory.Delete(args.executableTargetDir + "/HotReload.app", true); + } catch (IOException) { + // ignore directory not found + } + Directory.CreateDirectory(args.executableTargetDir); + UnzipMacOsPackage($"{args.executableTargetDir}/{BinaryFileName}", args.executableTargetDir + "/"); + } + + try { + // Always stop first because rarely it has happened that the server process was still running after custom console closed. + // Note: this will also stop Hot Reload started by other Unity projects. + await Stop(); + } catch { + // ignored + } + + if (args.createNoWindow) { + await StartExecutableOrApp(args, cliExecutablePath); + } else if (UseCustomConsoleApp()) { + await StartExecutableOrApp(args, appExecutablePath); + } else { + await StartTerminal(args, cliExecutablePath); + } + } + + public Task StartExecutableOrApp(StartArgs args, string executablePath) { + process = Process.Start(new ProcessStartInfo { + // Path to the HotReload.app + FileName = executablePath, + Arguments = args.cliArguments, + UseShellExecute = false, + }); + + var pidFilePath = CliUtils.GetPidFilePath(args.hotreloadTempDir); + // ReSharper disable once PossibleNullReferenceException + File.WriteAllText(pidFilePath, process.Id.ToString()); + return Task.CompletedTask; + } + + public Task StartTerminal(StartArgs args, string executablePath) { + var pidFilePath = CliUtils.GetPidFilePath(args.hotreloadTempDir); + // To run in a Terminal window (so you can see compiler logs), we must put the arguments into a script file + // and run the script in Terminal. Terminal.app does not forward the arguments passed to it via `open --args`. + // *.command files are opened with the user's default terminal app. + var executableScriptPath = Path.Combine(Path.GetTempPath(), "Start_HotReloadServer.command"); + // You don't need to copy the cli executable on mac + // omit hashbang line, let shell use the default interpreter (easier than detecting your default shell beforehand) + File.WriteAllText(executableScriptPath, $"echo $$ > \"{pidFilePath}\"" + + $"\ncd \"{Environment.CurrentDirectory}\"" + // set cwd because 'open' launches script with $HOME as cwd. + $"\n\"{executablePath}\" {args.cliArguments} || read"); + + CliUtils.Chmod(executableScriptPath); // make it executable + CliUtils.Chmod(executablePath); // make it executable + + Directory.CreateDirectory(args.hotreloadTempDir); + Directory.CreateDirectory(args.executableTargetDir); + Directory.CreateDirectory(args.cliTempDir); + + process = Process.Start(new ProcessStartInfo { + FileName = "open", + Arguments = $"{(args.createNoWindow ? "-gj" : "")} '{executableScriptPath}'", + UseShellExecute = true, + }); + + if (process.WaitForExit(1000)) { + if (process.ExitCode != 0) { + Log.Warning(Translations.Errors.WarningFailedToRunServerCommand, process.ExitCode, executableScriptPath); + } + } + else { + process.EnableRaisingEvents = true; + process.Exited += (_, __) => { + if (process.ExitCode != 0) { + Log.Warning(Translations.Errors.WarningFailedToRunServerCommand, process.ExitCode, executableScriptPath); + } + }; + } + return Task.CompletedTask; + } + + public async Task Stop() { + // kill HotReload server process (on mac it has different pid to the window which started it) + await RequestHelper.KillServer(); + + // process.CloseMainWindow throws if proc already exited. + // We rely on the pid file for killing the trampoline script (in-case script is just starting and HotReload server not running yet) + process = null; + CliUtils.KillLastKnownHotReloadProcess(); + } + + static void UnzipMacOsPackage(string zipPath, string unzippedFolderPath) { + //Log.Info("UnzipMacOsPackage called with {0}\n workingDirectory = {1}", zipPath, unzippedFolderPath); + if (!zipPath.EndsWith(".zip")) { + throw new ArgumentException(string.Format(Translations.Errors.ExceptionExpectedZipFile, zipPath), nameof(zipPath)); + } + + if (!File.Exists(zipPath)) { + throw new ArgumentException(string.Format(Translations.Errors.ExceptionZipFileNotFound, zipPath), nameof(zipPath)); + } + var processStartInfo = new ProcessStartInfo { + FileName = "unzip", + Arguments = $"-o \"{zipPath}\"", + WorkingDirectory = unzippedFolderPath, // unzip extracts to working directory by default + UseShellExecute = true, + CreateNoWindow = true + }; + + Process process = Process.Start(processStartInfo); + process.WaitForExit(); + if (process.ExitCode != 0) { + throw new Exception(string.Format(Translations.Errors.ExceptionUnzipFailed, process.ExitCode)); + } + //Log.Info($"did unzip to {unzippedFolderPath}"); + // Move the .app folder to unzippedFolderPath + + // find the .app directory which is now inside unzippedFolderPath directory + var foundDirs = Directory.GetDirectories(unzippedFolderPath, "*.app", SearchOption.AllDirectories); + var done = false; + var destDir = unzippedFolderPath + "HotReload.app"; + foreach (var dir in foundDirs) { + if (dir.EndsWith(".app")) { + done = true; + if (dir == destDir) { + // already in the right place + break; + } + Directory.Move(dir, destDir); + //Log.Info("Moved to " + destDir); + break; + } + } + + if (!done) { + throw new Exception(string.Format(Translations.Errors.ExceptionFailedToFindAppDirectory, destDir)); + } + //Log.Info($"did unzip to {unzippedFolderPath}"); + } + } +} \ No newline at end of file diff --git a/Packages/com.singularitygroup.hotreload/Editor/CLI/OsxCliController.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/CLI/OsxCliController.cs.meta new file mode 100644 index 0000000..f82272e --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/CLI/OsxCliController.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 5ebeed1c29454bc78e5a9ee64f2c9def +timeCreated: 1673821666 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/CLI/OsxCliController.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/CLI/StartArgs.cs b/Packages/com.singularitygroup.hotreload/Editor/CLI/StartArgs.cs new file mode 100644 index 0000000..7d6b2a5 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/CLI/StartArgs.cs @@ -0,0 +1,12 @@ +namespace SingularityGroup.HotReload.Editor.Cli { + class StartArgs { + public string hotreloadTempDir; + // aka method patch temp dir + public string cliTempDir; + public string executableTargetDir; + public string executableSourceDir; + public string cliArguments; + public string unityProjDir; + public bool createNoWindow; + } +} \ No newline at end of file diff --git a/Packages/com.singularitygroup.hotreload/Editor/CLI/StartArgs.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/CLI/StartArgs.cs.meta new file mode 100644 index 0000000..5983554 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/CLI/StartArgs.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 43d69eb7ae8aef4428da83562105bfaa +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/CLI/StartArgs.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/CLI/WindowsCliController.cs b/Packages/com.singularitygroup.hotreload/Editor/CLI/WindowsCliController.cs new file mode 100644 index 0000000..d623fda --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/CLI/WindowsCliController.cs @@ -0,0 +1,33 @@ +using System.Diagnostics; +using System.IO; +using System.Threading.Tasks; + +namespace SingularityGroup.HotReload.Editor.Cli { + class WindowsCliController : ICliController { + Process process; + + public string BinaryFileName => "CodePatcherCLI.exe"; + public string PlatformName => "win-x64"; + public bool CanOpenInBackground => true; + + public Task Start(StartArgs args) { + process = Process.Start(new ProcessStartInfo { + FileName = Path.GetFullPath(Path.Combine(args.executableTargetDir, "CodePatcherCLI.exe")), + Arguments = args.cliArguments, + UseShellExecute = !args.createNoWindow, + CreateNoWindow = args.createNoWindow, + }); + return Task.CompletedTask; + } + + public async Task Stop() { + await RequestHelper.KillServer(); + try { + process?.CloseMainWindow(); + } catch { + //ignored + } + process = null; + } + } +} \ No newline at end of file diff --git a/Packages/com.singularitygroup.hotreload/Editor/CLI/WindowsCliController.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/CLI/WindowsCliController.cs.meta new file mode 100644 index 0000000..497fc52 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/CLI/WindowsCliController.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: e5644af69ec7404a8039ff2833610d48 +timeCreated: 1673822169 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/CLI/WindowsCliController.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/CompileChecker.meta b/Packages/com.singularitygroup.hotreload/Editor/CompileChecker.meta new file mode 100644 index 0000000..855fa44 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/CompileChecker.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 80c2056f805745542a2c295385b25479 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.singularitygroup.hotreload/Editor/CompileChecker/DefaultCompileChecker.cs b/Packages/com.singularitygroup.hotreload/Editor/CompileChecker/DefaultCompileChecker.cs new file mode 100644 index 0000000..f623b59 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/CompileChecker/DefaultCompileChecker.cs @@ -0,0 +1,74 @@ +#if UNITY_2019_1_OR_NEWER +using System; +using System.IO; +using System.Threading.Tasks; +using SingularityGroup.HotReload.Editor.Localization; +using UnityEditor; +using UnityEditor.Compilation; +using UnityEngine; + +namespace SingularityGroup.HotReload.Editor { + class DefaultCompileChecker : ICompileChecker { + static string recompileFilePath = PackageConst.LibraryCachePath + "/recompile.txt"; + public bool hasCompileErrors { get; private set; } + bool recompile; + public DefaultCompileChecker() { + if (MultiplayerPlaymodeHelper.IsClone) { + return; + } + CompilationPipeline.assemblyCompilationFinished += DetectCompileErrors; + CompilationPipeline.compilationFinished += OnCompilationFinished; + var currentSessionId = EditorAnalyticsSessionInfo.id; + Task.Run(() => { + try { + var compileSessionId = File.ReadAllText(recompileFilePath); + if(compileSessionId == currentSessionId.ToString()) { + ThreadUtility.RunOnMainThread(() => { + recompile = true; + _onCompilationFinished?.Invoke(); + }); + } + File.Delete(recompileFilePath); + } catch(DirectoryNotFoundException) { + //dir doesn't exist -> no recompile required + } catch(FileNotFoundException) { + //file doesn't exist -> no recompile required + } catch(Exception ex) { + Log.Warning(Translations.Errors.WarningCompileCheckerIssue, ex.GetType().Name, ex.Message); + } + }); + } + + void DetectCompileErrors(string _, CompilerMessage[] messages) { + for (int i = 0; i < messages.Length; i++) { + if (messages[i].type == CompilerMessageType.Error) { + hasCompileErrors = true; + return; + } + } + hasCompileErrors = false; + } + + void OnCompilationFinished(object _) { + //Don't recompile on compile errors + if(!hasCompileErrors) { + Directory.CreateDirectory(Path.GetDirectoryName(recompileFilePath)); + File.WriteAllText(recompileFilePath, EditorAnalyticsSessionInfo.id.ToString()); + } + } + + Action _onCompilationFinished; + public event Action onCompilationFinished { + add { + if(recompile && value != null) { + value(); + } + _onCompilationFinished += value; + } + remove { + _onCompilationFinished -= value; + } + } + } +} +#endif \ No newline at end of file diff --git a/Packages/com.singularitygroup.hotreload/Editor/CompileChecker/DefaultCompileChecker.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/CompileChecker/DefaultCompileChecker.cs.meta new file mode 100644 index 0000000..9daea4e --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/CompileChecker/DefaultCompileChecker.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: ab09f7c657e6ecb44b65dd9f8cfc3d9f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/CompileChecker/DefaultCompileChecker.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/CompileChecker/ICompileChecker.cs b/Packages/com.singularitygroup.hotreload/Editor/CompileChecker/ICompileChecker.cs new file mode 100644 index 0000000..8569d65 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/CompileChecker/ICompileChecker.cs @@ -0,0 +1,18 @@ +using System; + +namespace SingularityGroup.HotReload.Editor { + interface ICompileChecker { + event Action onCompilationFinished; + bool hasCompileErrors { get; } + } + + static class CompileChecker { + internal static ICompileChecker Create() { + #if UNITY_2019_1_OR_NEWER + return new DefaultCompileChecker(); + #else + return new LegacyCompileChecker(); + #endif + } + } +} \ No newline at end of file diff --git a/Packages/com.singularitygroup.hotreload/Editor/CompileChecker/ICompileChecker.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/CompileChecker/ICompileChecker.cs.meta new file mode 100644 index 0000000..5e2259c --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/CompileChecker/ICompileChecker.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 82bf36f2126bbd1498d4964272426e0f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/CompileChecker/ICompileChecker.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/CompileChecker/LegacyCompileChecker.cs b/Packages/com.singularitygroup.hotreload/Editor/CompileChecker/LegacyCompileChecker.cs new file mode 100644 index 0000000..e1ffeef --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/CompileChecker/LegacyCompileChecker.cs @@ -0,0 +1,55 @@ +#if !UNITY_2019_1_OR_NEWER +using System; +using System.Globalization; +using System.IO; +using System.Threading.Tasks; + +namespace SingularityGroup.HotReload.Editor { + class LegacyCompileChecker : ICompileChecker { + static readonly string timestampFilePath = PackageConst.LibraryCachePath + "/lastCompileTimestamp.txt"; + public bool hasCompileErrors { get; } + const string assemblyPath = "Library/ScriptAssemblies"; + bool recompile; + public LegacyCompileChecker() { + Task.Run(() => { + var info = new DirectoryInfo(assemblyPath); + if(!info.Exists) { + return; + } + var currentCompileTimestamp = default(DateTime); + foreach (var file in info.GetFiles("*.dll")) { + var fileWriteDate = file.LastWriteTimeUtc; + if(fileWriteDate > currentCompileTimestamp) { + currentCompileTimestamp = fileWriteDate; + } + } + if(File.Exists(timestampFilePath)) { + var lastTimestampStr = File.ReadAllText(timestampFilePath); + var lastTimestamp = DateTime.ParseExact(lastTimestampStr, "o", CultureInfo.CurrentCulture).ToUniversalTime(); + if(currentCompileTimestamp > lastTimestamp) { + ThreadUtility.RunOnMainThread(() => { + recompile = true; + _onCompilationFinished?.Invoke(); + }); + } + } + Directory.CreateDirectory(Path.GetDirectoryName(timestampFilePath)); + File.WriteAllText(timestampFilePath, currentCompileTimestamp.ToString("o")); + }); + } + + Action _onCompilationFinished; + public event Action onCompilationFinished { + add { + if(recompile && value != null) { + value(); + } + _onCompilationFinished += value; + } + remove { + _onCompilationFinished -= value; + } + } + } +} +#endif \ No newline at end of file diff --git a/Packages/com.singularitygroup.hotreload/Editor/CompileChecker/LegacyCompileChecker.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/CompileChecker/LegacyCompileChecker.cs.meta new file mode 100644 index 0000000..dfecd05 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/CompileChecker/LegacyCompileChecker.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: f56ec68ce4b1fcc4b9c8ba5962d890f1 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/CompileChecker/LegacyCompileChecker.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Constants.cs b/Packages/com.singularitygroup.hotreload/Editor/Constants.cs new file mode 100644 index 0000000..30e1815 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Constants.cs @@ -0,0 +1,48 @@ +using SingularityGroup.HotReload.Editor.Localization; +using SingularityGroup.HotReload.Localization; +using Translations = SingularityGroup.HotReload.Editor.Localization.Translations; + +namespace SingularityGroup.HotReload.Editor { + internal static class Constants { + public const string WebsiteURL = PackageConst.DefaultLocale == Locale.SimplifiedChinese ? + "https://hotreload.net/zh" : + "https://hotreload.net"; + public const string ProductPurchaseURL = WebsiteURL + "/pricing"; + public const string ProductPurchaseBusinessURL = ProductPurchaseURL + "?tab=business"; + public const string DocumentationURL = WebsiteURL + "/documentation"; + public const string AdditionalContentURL = DocumentationURL + "/getting-started#downloading-additional-content"; + public const string DownloadUrl = WebsiteURL + "/download"; + public const string ContactURL = WebsiteURL + "/contact"; + public const string ForumURL = "https://forum.unity.com/threads/hot-reload-edit-code-without-compiling.1389969/"; + public const string ManageLicenseURL = "https://billing.stripe.com/p/login/28odTObUQ0CU0Za3cc"; + public const string ManageAccountURL = "https://users.licensespring.com/login"; + public const string ForgotPasswordURL = "https://users.licensespring.com/reset-password"; + public const string ReportIssueURL = "https://gitlab.com/singularitygroup/hot-reload-for-unity/-/issues/new"; + public const string TroubleshootingURL = DocumentationURL + "/troubleshooting"; + public const string RecompileTroubleshootingURL = TroubleshootingURL + "#unity-recompiles-every-time-i-enterexit-playmode"; + public const string FeaturesDocumentationURL = DocumentationURL + "/features"; + public const string MultipleEditorsURL = DocumentationURL + "/multiple-editors"; + public const string DebuggerURL = DocumentationURL + "/debugger"; + public const string UndetectedChangesURL = DocumentationURL + "/getting-started#undetected-changes"; + public const string VoteForAwardURL = "https://awards.unity.com/#best-development-tool"; + public const string UnityStoreRateAppURL = "https://assetstore.unity.com/packages/slug/254358#reviews"; + public const string ChangelogURL = WebsiteURL + "/changelog"; + public const string DiscordInviteUrl = "https://discord.com/invite/kgxAS4Bqxr"; + + public const int DaysToRateApp = 5; + public const int RecompileButtonTextHideWidth = 460; + public const int IndicationTextHideWidth = 360; + public const int StartButtonTextHideWidth = 400; + public const int EventsListHideHeight = 360; + public const int EventsListHideWidth = 425; + public const int UpgradeLicenseNoteHideWidth = 325; + public const int UpgradeLicenseNoteHideHeight = 150; + public const int RateAppHideHeight = 325; + public const int RateAppHideWidth = 300; + public const int EventFiltersShownHideWidth = 275; + public const int ConsumptionsHideWidth = 300; + public const int ConsumptionsHideHeight = 360; + + public static string Only40EntriesShown => Translations.Timeline.MessageOnly40EntriesShown; + } +} \ No newline at end of file diff --git a/Packages/com.singularitygroup.hotreload/Editor/Constants.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/Constants.cs.meta new file mode 100644 index 0000000..6ad33f2 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Constants.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: ce502822e7fa34844bcb385f44091eb9 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/Constants.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Demo.meta b/Packages/com.singularitygroup.hotreload/Editor/Demo.meta new file mode 100644 index 0000000..1c88280 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Demo.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7c5c2596a7a469c42a1a6b35017d8a49 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.singularitygroup.hotreload/Editor/Demo/EditorDemo.cs b/Packages/com.singularitygroup.hotreload/Editor/Demo/EditorDemo.cs new file mode 100644 index 0000000..895c685 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Demo/EditorDemo.cs @@ -0,0 +1,26 @@ +using System.Collections; +using System.IO; +using SingularityGroup.HotReload.Demo; +using UnityEditor; +using UnityEngine; + +namespace SingularityGroup.HotReload.Editor.Demo { + class EditorDemo : IDemo { + public bool IsServerRunning() { + return ServerHealthCheck.I.IsServerHealthy; + } + + public void OpenHotReloadWindow() { + HotReloadWindow.Open(); + } + + public void OpenScriptFile(TextAsset textAsset, int line, int column) { + var path = Path.GetFullPath(AssetDatabase.GetAssetPath(textAsset)); +#if UNITY_2019_4_OR_NEWER + Unity.CodeEditor.CodeEditor.CurrentEditor.OpenProject(path, line, column); +#else + EditorUtility.OpenWithDefaultApp(path); +#endif + } + } +} diff --git a/Packages/com.singularitygroup.hotreload/Editor/Demo/EditorDemo.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/Demo/EditorDemo.cs.meta new file mode 100644 index 0000000..bd57d6b --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Demo/EditorDemo.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: fde6b5b57a3aeba4888a7bdaa16b3074 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/Demo/EditorDemo.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/EditorCodePatcher.cs b/Packages/com.singularitygroup.hotreload/Editor/EditorCodePatcher.cs new file mode 100644 index 0000000..6c0f0aa --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/EditorCodePatcher.cs @@ -0,0 +1,1561 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.IO; +using System.Linq; +using System.Threading; +using System.Threading.Tasks; +using JetBrains.Annotations; +using SingularityGroup.HotReload.DTO; +using SingularityGroup.HotReload.Editor.Cli; +using SingularityGroup.HotReload.Editor.Demo; +using SingularityGroup.HotReload.EditorDependencies; +using UnityEditor; +using UnityEngine; +using Debug = UnityEngine.Debug; +using Task = System.Threading.Tasks.Task; +using System.Reflection; +using System.Runtime.CompilerServices; +using SingularityGroup.HotReload.Editor.Localization; +using SingularityGroup.HotReload.Newtonsoft.Json; +using UnityEditor.Build; +using UnityEditor.Compilation; +using UnityEditor.UIElements; +using UnityEditorInternal; +using UnityEngine.UIElements; + +[assembly: InternalsVisibleTo("SingularityGroup.HotReload.IntegrationTests")] + +namespace SingularityGroup.HotReload.Editor { + internal class Config { + public bool patchEditModeOnlyOnEditorFocus; + public string[] assetBlacklist; + public bool changePlaymodeTint; + public bool disableCompilingFromEditorScripts; + public bool enableInspectorFreezeFix; + } + + [InitializeOnLoad] + internal static class EditorCodePatcher { + static string sessionFilePath = PackageConst.LibraryCachePath + "/sessionId.txt"; + + internal static readonly ServerDownloader serverDownloader; + internal static bool _compileError; + internal static bool _applyingFailed; + internal static bool _appliedPartially; + internal static bool _appliedUndetected; + + static Timer timer; + static bool init; + + internal static UnityLicenseType licenseType { get; private set; } + internal static bool LoginNotRequired => PackageConst.IsAssetStoreBuild && licenseType != UnityLicenseType.UnityPro; + internal static bool compileError => _compileError; + + internal static PatchStatus patchStatus = PatchStatus.None; + + internal static event Action<(MethodPatchResponse, RegisterPatchesResult)> OnPatchHandled; + + internal static Config config; + + + #if ODIN_INSPECTOR + internal static bool DrawPrefix(Sirenix.OdinInspector.Editor.InspectorProperty __instance) { + return !UnityFieldHelper.IsFieldHidden(__instance.ParentType, __instance.Name); + } + internal static MethodInfo OdinPropertyDrawPrefixInfo = typeof(EditorCodePatcher).GetMethod("DrawPrefix", BindingFlags.Static | BindingFlags.NonPublic | BindingFlags.Public); + #if UNITY_2021_1_OR_NEWER + internal static MethodInfo OdinPropertyDrawInfo = typeof(Sirenix.OdinInspector.Editor.InspectorProperty)?.GetMethod("Draw", 0, BindingFlags.Instance | BindingFlags.Public, null, new Type[]{}, null); + #else + internal static MethodInfo OdinPropertyDrawInfo = typeof(Sirenix.OdinInspector.Editor.InspectorProperty)?.GetMethod("Draw", BindingFlags.Instance | BindingFlags.Public, null, new Type[]{}, null); + #endif + internal static MethodInfo DrawOdinInspectorInfo = typeof(Sirenix.OdinInspector.Editor.OdinEditor)?.GetMethod("DrawOdinInspector", BindingFlags.NonPublic | BindingFlags.Instance); + #else + internal static MethodInfo OdinPropertyDrawPrefixInfo = null; + internal static MethodInfo OdinPropertyDrawInfo = null; + internal static MethodInfo DrawOdinInspectorInfo = null; + #endif + + internal static MethodInfo GetDrawVInspectorInfo() { + // performance optimization + if (!Directory.Exists("Assets/vInspector")) { + return null; + } + try { + var t = Type.GetType("VInspector.AbstractEditor, VInspector"); + return t?.GetMethod("OnInspectorGUI", BindingFlags.Public | BindingFlags.Instance); + } catch { + // ignore + } + return null; + } + + internal static ICompileChecker compileChecker; + static bool quitting; + static EditorCodePatcher() { + if(init) { + //Avoid infinite recursion in case the static constructor gets accessed via `InitPatchesBlocked` below + return; + } + Translations.LoadDefaultLocalization(); + SingularityGroup.HotReload.Localization.Translations.LoadDefaultLocalization(); + if (File.Exists(PackageConst.ConfigFilePath)) { + config = JsonConvert.DeserializeObject(File.ReadAllText(PackageConst.ConfigFilePath)); + } else { + config = new Config(); + } + init = true; + UnityHelper.Init(); + //Use synchonization context if possible because it's more reliable. + ThreadUtility.InitEditor(); + if (!EditorWindowHelper.IsHumanControllingUs()) { + return; + } + + serverDownloader = new ServerDownloader(); + serverDownloader.CheckIfDownloaded(HotReloadCli.controller); + SingularityGroup.HotReload.Demo.Demo.I = new EditorDemo(); + if (HotReloadPrefs.DeactivateHotReload) { + ResetSettings(); + return; + } + + // ReSharper disable ExpressionIsAlwaysNull + UnityFieldHelper.Init(Log.Warning, HotReloadRunTab.Recompile, DrawOdinInspectorInfo, OdinPropertyDrawInfo, OdinPropertyDrawPrefixInfo, GetDrawVInspectorInfo(), typeof(UnityFieldDrawerPatchHelper), typeof(VisualElement)); + + timer = new Timer(OnIntervalThreaded, (Action) OnIntervalMainThread, 500, 500); + + if (MultiplayerPlaymodeHelper.IsClone) { + InitServerInfo(); + } else { + UpdateHost(); + } + licenseType = UnityLicenseHelper.GetLicenseType(); + compileChecker = CompileChecker.Create(); + compileChecker.onCompilationFinished += OnCompilationFinished; + EditorApplication.delayCall += InstallUtility.CheckForNewInstall; + AddEditorFocusChangedHandler(OnEditorFocusChanged); + // When domain reloads, this is a good time to ensure server has up-to-date project information + if (ServerHealthCheck.I.IsServerHealthy) { + EditorApplication.delayCall += TryPrepareBuildInfo; + } + HotReloadSuggestionsHelper.Init(); + // reset in case last session didn't shut down properly + CheckEditorSettings(); + EditorApplication.quitting += ResetSettingsOnQuit; + + AssemblyReloadEvents.beforeAssemblyReload += () => { + HotReloadTimelineHelper.PersistTimeline().Forget(); + }; + + ServerHealthCheck.instance.CheckHealth(); + if (ServerHealthCheck.I.IsServerHealthy && !HotReloadPrefs.AutoClearTimeline) { + HotReloadTimelineHelper.InitPersistedEvents().Forget(); + } else { + HotReloadTimelineHelper.ClearPersistance(); + } + + CompilationPipeline.assemblyCompilationFinished += (string _, CompilerMessage[] messages) => { + if (MultiplayerPlaymodeHelper.IsClone) { + return; + } + foreach (var message in messages) { + if (message.type != CompilerMessageType.Error) { + continue; + } + if (!message.message.Contains("Sirenix")) { + continue; + } + if (message.message.Contains("CS0012") + || message.message.Contains("CS0234") + || message.message.Contains("CS0246") + || message.message.Contains("CS9286") + ) { + #if UNITY_2021_1_OR_NEWER + var target = NamedBuildTarget.FromBuildTargetGroup(EditorUserBuildSettings.selectedBuildTargetGroup); + var symbols = PlayerSettings.GetScriptingDefineSymbols(target).Split(";").ToList(); + symbols.Remove("ODIN_INSPECTOR"); + PlayerSettings.SetScriptingDefineSymbols(target, string.Join(";", symbols)); + #else + var symbols = PlayerSettings.GetScriptingDefineSymbolsForGroup(EditorUserBuildSettings.selectedBuildTargetGroup).Split(';').ToList(); + symbols.Remove("ODIN_INSPECTOR"); + PlayerSettings.SetScriptingDefineSymbolsForGroup(EditorUserBuildSettings.selectedBuildTargetGroup, string.Join(";", symbols)); + #endif + } + } + }; + + CompilationPipeline.compilationFinished += obj => { + if (MultiplayerPlaymodeHelper.IsClone) { + CompileMethodDetourer.Reset(); + return; + } + // reset in case package got removed + // if it got removed, it will not be enabled again + // if it wasn't removed, settings will get handled by OnIntervalMainThread + AutoRefreshSettingChecker.Reset(); + ScriptCompilationSettingChecker.Reset(); + PlaymodeTintSettingChecker.Reset(); + HotReloadRunTab.recompiling = false; + CompileMethodDetourer.Reset(); + + if (!HotReloadPrefs.AutoClearTimeline) { + HotReloadTimelineHelper.CreateReloadFinishedEventEntry(patchedMethodsDisplayNames: new string[]{"Full assembly recompilation"}); + } + }; + DetectEditorStart(); + DetectVersionUpdate(); + CodePatcher.I.fieldHandler = new FieldHandler(FieldDrawerUtil.StoreField, UnityFieldHelper.HideField, UnityFieldHelper.RegisterInspectorFieldAttributes); + if (EditorApplication.isPlayingOrWillChangePlaymode) { + CodePatcher.I.InitPatchesBlocked(); + } + +#pragma warning disable CS0612 // Type or member is obsolete + if (HotReloadPrefs.RateAppShownLegacy) { + HotReloadPrefs.RateAppShown = true; + } + if (!File.Exists(HotReloadPrefs.showOnStartupPath)) { + var showOnStartupLegacy = HotReloadPrefs.GetShowOnStartupEnum(); + HotReloadPrefs.ShowOnStartup = showOnStartupLegacy; + } +#pragma warning restore CS0612 // Type or member is obsolete + + HotReloadState.ShowingRedDot = false; + + if (DateTime.Now < new DateTime(2023, 11, 1)) { + HotReloadSuggestionsHelper.SetSuggestionsShown(HotReloadSuggestionKind.UnityBestDevelopmentToolAward2023); + } else { + HotReloadSuggestionsHelper.SetSuggestionInactive(HotReloadSuggestionKind.UnityBestDevelopmentToolAward2023); + } + + EditorApplication.playModeStateChanged += state => { + if (state == PlayModeStateChange.EnteredEditMode && HotReloadPrefs.AutoRecompileUnsupportedChangesOnExitPlayMode) { + if (TryRecompileUnsupportedChanges()) { + HotReloadState.RecompiledUnsupportedChangesOnExitPlaymode = true; + } + } + }; + if (HotReloadState.RecompiledUnsupportedChangesInPlaymode) { + HotReloadState.RecompiledUnsupportedChangesInPlaymode = false; + EditorApplication.isPlaying = true; + } +#if UNITY_2020_1_OR_NEWER + if (CompilationPipeline.codeOptimization != CodeOptimization.Release) { + HotReloadSuggestionsHelper.SetSuggestionInactive(HotReloadSuggestionKind.SwitchToDebugModeForInlinedMethods); + } +#endif + if (!HotReloadState.EditorCodePatcherInit) { + ClearPersistence(); + HotReloadState.EditorCodePatcherInit = true; + } + + CodePatcher.I.debuggerCompatibilityEnabled = !HotReloadPrefs.AutoDisableHotReloadWithDebugger; + } + + static void ResetSettingsOnQuit() { + quitting = true; + ResetSettings(); + } + + static void ResetSettings() { + AutoRefreshSettingChecker.Reset(); + ScriptCompilationSettingChecker.Reset(); + PlaymodeTintSettingChecker.Reset(); + HotReloadCli.StopAsync().Forget(); + CompileMethodDetourer.Reset(); + } + + public static bool autoRecompileUnsupportedChangesSupported; + static void AddEditorFocusChangedHandler(Action handler) { + var eventInfo = typeof(EditorApplication).GetEvent("focusChanged", BindingFlags.Static | BindingFlags.NonPublic | BindingFlags.Public); + var addMethod = eventInfo?.GetAddMethod(true) ?? eventInfo?.GetAddMethod(false); + if (addMethod != null) { + addMethod.Invoke(null, new object[]{ handler }); + } + autoRecompileUnsupportedChangesSupported = addMethod != null; + } + + private static void OnEditorFocusChanged(bool hasFocus) { + if (hasFocus && !HotReloadPrefs.AutoRecompileUnsupportedChangesImmediately) { + TryRecompileUnsupportedChanges(); + } + } + + public static bool TryRecompileUnsupportedChanges() { + if (MultiplayerPlaymodeHelper.IsClone) { + return false; + } + var isPlaying = EditorApplication.isPlaying; + + var hasPartiallyUnsupportedPatches = false; + foreach (var patchResponse in CodePatcher.I.PatchHistory) { + if (patchResponse.partiallySupportedChanges == null) { + continue; + } + hasPartiallyUnsupportedPatches |= HasPartiallySupportedChangesFiltered(patchResponse.partiallySupportedChanges); + } + + if (!HotReloadPrefs.AutoRecompileUnsupportedChanges + || !CodePatcher.I.anyFailures + && (!HotReloadPrefs.AutoRecompilePartiallyUnsupportedChanges || !hasPartiallyUnsupportedPatches) + || _compileError + || isPlaying && !HotReloadPrefs.AutoRecompileUnsupportedChangesInPlayMode + || !isPlaying && !HotReloadPrefs.AutoRecompileUnsupportedChangesInEditMode + ) { + return false; + } + RecompileUnsupportedChanges(); + return true; + } + + public static void RecompileUnsupportedChanges() { + if (MultiplayerPlaymodeHelper.IsClone) { + return; + } + if (HotReloadPrefs.ShowCompilingUnsupportedNotifications) { + EditorWindowHelper.ShowNotification(EditorWindowHelper.NotificationStatus.NeedsRecompile); + } + if (EditorApplication.isPlaying) { + HotReloadState.RecompiledUnsupportedChangesInPlaymode = true; + } + HotReloadRunTab.Recompile(); + } + + private static DateTime lastPrepareBuildInfo = DateTime.UtcNow; + + /// Post state for player builds. + /// Only check build target because user can change build settings whenever. + internal static void TryPrepareBuildInfo() { + if (MultiplayerPlaymodeHelper.IsClone) { + return; + } + // Note: we post files state even when build target is wrong + // because you might connect with a build downloaded onto the device. + if ((DateTime.UtcNow - lastPrepareBuildInfo).TotalSeconds > 5) { + lastPrepareBuildInfo = DateTime.UtcNow; + HotReloadCli.PrepareBuildInfoAsync().Forget(); + } + } + + internal static void RecordActiveDaysForRateApp() { + var unixDay = (int)(DateTimeOffset.UtcNow.ToUnixTimeSeconds() / 86400); + var activeDays = GetActiveDaysForRateApp(); + if (activeDays.Count < Constants.DaysToRateApp && activeDays.Add(unixDay.ToString())) { + HotReloadPrefs.ActiveDays = string.Join(",", activeDays); + } + } + + internal static HashSet GetActiveDaysForRateApp() { + if (string.IsNullOrEmpty(HotReloadPrefs.ActiveDays)) { + return new HashSet(); + } + return new HashSet(HotReloadPrefs.ActiveDays.Split(',')); + } + + // CheckEditorStart distinguishes between domain reload and first editor open + // We have some separate logic on editor start (InstallUtility.HandleEditorStart) + private static void DetectEditorStart() { + if (MultiplayerPlaymodeHelper.IsClone) { + return; + } + var editorId = EditorAnalyticsSessionInfo.id; + var currVersion = PackageConst.Version; + Task.Run(() => { + try { + var lines = File.Exists(sessionFilePath) ? File.ReadAllLines(sessionFilePath) : Array.Empty(); + + long prevSessionId = -1; + string prevVersion = null; + if (lines.Length >= 2) { + long.TryParse(lines[1], out prevSessionId); + } + if (lines.Length >= 3) { + prevVersion = lines[2].Trim(); + } + var updatedFromVersion = (prevSessionId != -1 && currVersion != prevVersion) ? prevVersion : null; + + if (prevSessionId != editorId && prevSessionId != 0) { + // back to mainthread + ThreadUtility.RunOnMainThread(() => { + InstallUtility.HandleEditorStart(updatedFromVersion); + + var newEditorId = EditorAnalyticsSessionInfo.id; + if (newEditorId != 0) { + Task.Run(() => { + try { + // editorId isn't available on first domain reload, must do it here + File.WriteAllLines(sessionFilePath, new[] { + "1", // serialization version + newEditorId.ToString(), + currVersion, + }); + + } catch (IOException) { + // ignore + } + }); + } + }); + } + + } catch (IOException) { + // ignore + } catch (Exception e) { + ThreadUtility.LogException(e); + } + }); + } + + private static void DetectVersionUpdate() { + if (serverDownloader.CheckIfDownloaded(HotReloadCli.controller) || MultiplayerPlaymodeHelper.IsClone) { + return; + } + ServerHealthCheck.instance.CheckHealth(); + if (!ServerHealthCheck.I.IsServerHealthy) { + return; + } + var restartServer = EditorUtility.DisplayDialog(Translations.Dialogs.DialogTitleRestartServer, + Translations.Dialogs.DialogMessageRestartUpdate, + Translations.Dialogs.DialogButtonRestartServer, Translations.Dialogs.DialogButtonDontRestart); + if (restartServer) { + RestartCodePatcher().Forget(); + } + } + + private static void UpdateHost() { + RequestHelper.SetServerInfo(new PatchServerInfo(RequestHelper.defaultServerHost, HotReloadState.ServerPort, null, Path.GetFullPath("."))); + } + + static void OnIntervalThreaded(object o) { + var wasHealhy = ServerHealthCheck.I.IsServerHealthy; + ServerHealthCheck.instance.CheckHealth(); + if (wasHealhy != ServerHealthCheck.I.IsServerHealthy) { + InitServerInfo(); + } + if (MultiplayerPlaymodeHelper.IsClone && ServerHealthCheck.I.IsServerHealthy) { + // technically need to call this once but for consistency sake we call it every time (overhead should be minimal) + RequestHelper.RegisterClone().Forget(); + } + ThreadUtility.RunOnMainThread((Action)o); + if (serverDownloader.Progress >= 1f) { + serverDownloader.CheckIfDownloaded(HotReloadCli.controller); + } + } + + private static bool _requestingFlushErrors; + private static long _lastErrorFlush; + private static async Task RequestFlushErrors() { + _requestingFlushErrors = true; + try { + await RequestFlushErrorsCore(); + } finally { + _requestingFlushErrors = false; + } + } + + private static async Task RequestFlushErrorsCore() { + var pollFrequency = 500; + // Delay until we've hit the poll request frequency + var waitMs = (int)Mathf.Clamp(pollFrequency - ((DateTime.Now.Ticks / (float)TimeSpan.TicksPerMillisecond) - _lastErrorFlush), 0, pollFrequency); + await Task.Delay(waitMs); + await FlushErrors(); + _lastErrorFlush = DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond; + } + + public static bool disableServerLogs; + public static string lastCompileErrorLog; + static async Task FlushErrors() { + var response = await RequestHelper.RequestFlushErrors(); + if (response == null || disableServerLogs || MultiplayerPlaymodeHelper.IsClone) { + return; + } + if (!Application.isPlaying && HotReloadPrefs.PauseHotReloadInEditMode) { + return; + } + if (Debugger.IsAttached && !CodePatcher.I.debuggerCompatibilityEnabled) { + return; + } + foreach (var responseWarning in response.warnings) { + if (responseWarning.Contains("Scripts have compile errors")) { + if (compileError) { + Log.Error(responseWarning); + } else { + lastCompileErrorLog = responseWarning; + } + } else { + Log.Warning(responseWarning); + } + + if (responseWarning.Contains("Multidimensional arrays are not supported")) { + await ThreadUtility.SwitchToMainThread(); + HotReloadSuggestionsHelper.SetSuggestionsShown(HotReloadSuggestionKind.MultidimensionalArrays); + } + } + foreach (var responseError in response.errors) { + Log.Error(responseError); + } + } + + internal static bool firstPatchAttempted; + internal static bool loggedDebuggerRecompile; + static void OnIntervalMainThread() { + HotReloadSuggestionsHelper.Check(); + + // Moved from RequestServerInfo to avoid GC allocations when HR is not active + + // Repaint if the running Status has changed since the layout changes quite a bit + if (running != ServerHealthCheck.I.IsServerHealthy) { + if (HotReloadWindow.Current) { + HotReloadRunTab.RepaintInstant(); + } + running = ServerHealthCheck.I.IsServerHealthy; + } + if (!running) { + startupCompletedAt = null; + } + if (!running && !StartedServerRecently()) { + // Reset startup progress + startupProgress = null; + } + + if (!ServerHealthCheck.I.IsServerHealthy) { + stopping = false; + } + if (startupProgress?.Item1 == 1) { + starting = false; + } + if (!_requestingFlushErrors && Running) { + RequestFlushErrors().Forget(); + } + + if (!Application.isPlaying && HotReloadPrefs.PauseHotReloadInEditMode) { + return; + } + if (Debugger.IsAttached && !CodePatcher.I.debuggerCompatibilityEnabled) { + var userAutoRefreshDisabled = AutoRefreshSettingChecker.IsUserAutoRefreshDisabled(); + if (!HotReloadPrefs.DebuggerOnboardingShown) { + HotReloadPrefs.DebuggerOnboardingShown = true; + if (EditorUtility.DisplayDialogComplex( + title: Translations.Dialogs.DialogTitleHotReloadDebuggerDetected, + message: userAutoRefreshDisabled ? Translations.Dialogs.DialogMessageHotReloadDebuggerDetectedPause : Translations.Dialogs.DialogMessageHotReloadDebuggerDetectedRecompile, + ok: userAutoRefreshDisabled ? Translations.Dialogs.DialogButtonHotReloadDebuggerDetectedPause : Translations.Dialogs.DialogButtonHotReloadDebuggerDetectedRecompile, + cancel: Translations.Dialogs.DialogCloseHotReloadDebuggerDetected, + alt: Translations.Dialogs.DialogButtonHotReloadDebuggerDetectedAdvancedOptions) == 2 + ) { + if (EditorUtility.DisplayDialog( + title: Translations.Dialogs.DialogTitleHotReloadDebuggerOptions, + message: Translations.Dialogs.DialogMessageHotReloadDebuggerOptions, + ok: Translations.Dialogs.DialogButtonHotReloadDebuggerOptionsContinue, + cancel: userAutoRefreshDisabled ? Translations.Dialogs.DialogButtonHotReloadDebuggerOptionsCancelPause : Translations.Dialogs.DialogButtonHotReloadDebuggerOptionsCancelRecompile) + ) { + CodePatcher.I.debuggerCompatibilityEnabled = true; + HotReloadPrefs.AutoDisableHotReloadWithDebugger = false; + return; + } + } + } + if (!HotReloadState.WarnedDebuggerAttached) { + HotReloadState.WarnedDebuggerAttached = true; + // passed both prompts - hot reload is paused + if (CodePatcher.I.PatchesApplied > 0 || !userAutoRefreshDisabled) { + Log.Info(Translations.Errors.InfoDebuggerAttachedFullRecompile); + } else { + // warn about Hot Reload being paused + Log.Info(Translations.Errors.InfoDebuggerAttachedPauseHotReload); + } + } + if (CodePatcher.I.PatchesApplied > 0) { + // recompile if any patches were made to avoid debugger session being broken + HotReloadRunTab.Recompile(); + } + return; + } else { + HotReloadState.WarnedDebuggerAttached = false; + } + + if(ServerHealthCheck.I.IsServerHealthy) { + // NOTE: avoid calling this method when HR is not running to avoid allocations + RequestServerInfo(); + TryPrepareBuildInfo(); + if (!requestingCompile && (!config.patchEditModeOnlyOnEditorFocus || Application.isPlaying || UnityEditorInternal.InternalEditorUtility.isApplicationActive)) { + RequestHelper.PollMethodPatches(HotReloadState.LastPatchId, resp => HandleResponseReceived(resp)); + } + RequestHelper.PollPatchStatus(resp => { + patchStatus = resp.patchStatus; + if (patchStatus == PatchStatus.Compiling) { + startWaitingForCompile = null; + } + if (patchStatus == PatchStatus.Patching) { + firstPatchAttempted = true; + if (HotReloadPrefs.ShowPatchingNotifications) { + EditorWindowHelper.ShowNotification(EditorWindowHelper.NotificationStatus.Patching, maxDuration: 10); + } + } else if (HotReloadPrefs.ShowPatchingNotifications) { + EditorWindowHelper.RemoveNotification(); + } + }, patchStatus); + if (HotReloadPrefs.AllAssetChanges) { + RequestHelper.PollAssetChanges(HandleAssetChange); + } +#if UNITY_2020_1_OR_NEWER + if (!disableInlineChecks) { + CheckInlinedMethods(); + } +#endif + } + CheckEditorSettings(); + } + +#if UNITY_2020_1_OR_NEWER + //only disabled for integration tests + internal static bool disableInlineChecks = false; + internal static HashSet inlinedMethodsFound = new HashSet(); + internal static void CheckInlinedMethods() { + if (MultiplayerPlaymodeHelper.IsClone) { + return; + } + if (CompilationPipeline.codeOptimization != CodeOptimization.Release) { + return; + } + HashSet newInlinedMethods = null; + try { + foreach (var method in CodePatcher.I.OriginalPatchMethods) { + if (inlinedMethodsFound.Contains(method)) { + continue; + } + var isMethodSynthesized = method.Name.Contains("<") || method.DeclaringType?.Name.Contains("<") == true && method.Name == ".ctor"; + if (!(method is ConstructorInfo) && !isMethodSynthesized && MethodUtils.IsMethodInlined(method)) { + if (newInlinedMethods == null) { + newInlinedMethods = new HashSet(); + } + newInlinedMethods.Add(method); + } + } + if (newInlinedMethods?.Count > 0) { + if (!HotReloadPrefs.LoggedInlinedMethodsDialogue) { + Log.Warning(Translations.Errors.WarningInlinedMethods); + HotReloadPrefs.LoggedInlinedMethodsDialogue = true; + } + HotReloadTimelineHelper.CreateInlinedMethodsEntry(entryType: EntryType.Foldout, patchedMethodsDisplayNames: newInlinedMethods.Select(mb => $"{mb.DeclaringType?.Name}::{mb.Name}").ToArray()); + CodePatcher.I.anyFailures = true; + if (HotReloadPrefs.AutoRecompileUnsupportedChangesImmediately || UnityEditorInternal.InternalEditorUtility.isApplicationActive) { + TryRecompileUnsupportedChanges(); + } + HotReloadSuggestionsHelper.SetSuggestionActive(HotReloadSuggestionKind.SwitchToDebugModeForInlinedMethods); + foreach (var newInlinedMethod in newInlinedMethods) { + inlinedMethodsFound.Add(newInlinedMethod); + } + RequestHelper.RequestEditorEventWithRetry(new Stat(StatSource.Client, StatLevel.Debug, StatFeature.Patching, StatEventType.Inlined)).Forget(); + } + } catch (Exception e) { + Log.Warning(Translations.Errors.WarningInlineMethodChecker, e.Message); + } + } +#endif + + static void CheckEditorSettings() { + if (quitting) { + return; + } + CheckAutoRefresh(); + CheckScriptCompilation(); + CheckPlaymodeTint(); + CheckAssetDatabaseRefresh(); + } + + static void CheckAutoRefresh() { + if (MultiplayerPlaymodeHelper.IsClone) { + return; + } + var disabledDuringDebugger = Debugger.IsAttached && !CodePatcher.I.debuggerCompatibilityEnabled; + if (HotReloadPrefs.AllowDisableUnityAutoRefresh && ServerHealthCheck.I.IsServerHealthy && !disabledDuringDebugger) { + AutoRefreshSettingChecker.Apply(); + AutoRefreshSettingChecker.Check(); + } else { + AutoRefreshSettingChecker.Reset(); + } + } + + static void CheckScriptCompilation() { + if (MultiplayerPlaymodeHelper.IsClone) { + return; + } + var disabledDuringDebugger = Debugger.IsAttached && !CodePatcher.I.debuggerCompatibilityEnabled; + if (HotReloadPrefs.AllowDisableUnityAutoRefresh && ServerHealthCheck.I.IsServerHealthy && !disabledDuringDebugger) { + ScriptCompilationSettingChecker.Apply(); + ScriptCompilationSettingChecker.Check(); + } else { + ScriptCompilationSettingChecker.Reset(); + } + } + + static string[] assetExtensionBlacklist = new[] { + ".cs", + // we can add setting to allow scenes to get hot reloaded for users who collaborate (their scenes change externally) + ".unity", + // safer to ignore meta files completely until there's a use-case + ".meta", + // debug files + ".mdb", + ".pdb", + ".compute", + // ".shader", //use assetBlacklist instead + }; + + public static string[] compileFiles = new[] { + ".asmdef", + ".asmref", + ".rsp", + }; + + public static string[] plugins = new[] { + // native plugins + ".dll", + ".bundle", + ".dylib", + ".so", + // plugin scripts + ".cpp", + ".h", + ".aar", + ".jar", + ".a", + ".java" + }; + + static void HandleAssetChange(string assetPath) { + if (MultiplayerPlaymodeHelper.IsClone) { + return; + } + // ignore directories + if (Directory.Exists(assetPath)) { + return; + } + // ignore temp compile files + if (assetPath.Contains("UnityDirMonSyncFile") + || assetPath.EndsWith("~", StringComparison.Ordinal) + || assetPath.Contains("StreamingAssets") + ) { + return; + } + foreach (var compileFile in compileFiles) { + if (assetPath.EndsWith(compileFile, StringComparison.Ordinal)) { + HotReloadTimelineHelper.CreateErrorEventEntry(string.Format(Translations.Utility.AssemblyFileEditError, assetPath), entryType: EntryType.Foldout); + CodePatcher.I.anyFailures = true; + _applyingFailed = true; + if (HotReloadPrefs.AutoRecompileUnsupportedChangesImmediately || UnityEditorInternal.InternalEditorUtility.isApplicationActive) { + TryRecompileUnsupportedChanges(); + } + return; + } + } + // Add plugin changes to unsupported changes list + foreach (var plugin in plugins) { + if (assetPath.EndsWith(plugin, StringComparison.Ordinal)) { + HotReloadTimelineHelper.CreateErrorEventEntry(string.Format(Translations.Utility.NativePluginEditError, assetPath), entryType: EntryType.Foldout); + CodePatcher.I.anyFailures = true; + _applyingFailed = true; + if (HotReloadPrefs.AutoRecompileUnsupportedChangesImmediately || UnityEditorInternal.InternalEditorUtility.isApplicationActive) { + TryRecompileUnsupportedChanges(); + } + return; + } + } + + // ignore file extensions that trigger domain reload + if (!HotReloadPrefs.IncludeShaderChanges) { + if (assetPath.EndsWith(".shader", StringComparison.Ordinal)) { + return; + } + } + foreach (var blacklisted in assetExtensionBlacklist) { + if (assetPath.EndsWith(blacklisted, StringComparison.Ordinal)) { + return; + } + } + if (config?.assetBlacklist != null) { + foreach (var blacklisted in config.assetBlacklist) { + if (assetPath.EndsWith(blacklisted, StringComparison.Ordinal)) { + return; + } + } + } + var path = ToPath(assetPath); + if (path == null) { + return; + } + try { + if (!File.Exists(assetPath)) { + AssetDatabase.DeleteAsset(path); + } else { + AssetDatabase.ImportAsset(path, ImportAssetOptions.ForceUpdate); + } + } catch (Exception e){ + Log.Warning(Translations.Errors.WarningRefreshingAssetFailed, assetPath, e); + } + } + + static string ToPath(string assetPath) { + var relativePath = GetRelativePath(assetPath, Path.GetFullPath("Assets")); + var relativePathPackages = GetRelativePath(assetPath, Path.GetFullPath("Packages")); + // ignore files outside assets and packages folders + if (relativePath.StartsWith("..", StringComparison.Ordinal)) { + relativePath = null; + } + if (relativePathPackages.StartsWith("..", StringComparison.Ordinal)) { + relativePathPackages = null; + #if UNITY_2021_1_OR_NEWER + // Might be inside a package "file:" + try { + foreach (var package in UnityEditor.PackageManager.PackageInfo.GetAllRegisteredPackages()) { + if (assetPath.StartsWith(package.resolvedPath.Replace("\\", "/"), StringComparison.Ordinal)) { + relativePathPackages = $"Packages/{package.name}/{assetPath.Substring(package.resolvedPath.Length)}"; + break; + } + } + } catch { + // ignore + } + #endif + } + return relativePath ?? relativePathPackages; + } + + public static string GetRelativePath(string filespec, string folder) { + Uri pathUri = new Uri(filespec); + Uri folderUri = new Uri(folder); + return Uri.UnescapeDataString(folderUri.MakeRelativeUri(pathUri).ToString().Replace('/', Path.DirectorySeparatorChar)); + } + + static void CheckPlaymodeTint() { + if (MultiplayerPlaymodeHelper.IsClone) { + return; + } + if (config.changePlaymodeTint && ServerHealthCheck.I.IsServerHealthy && Application.isPlaying) { + PlaymodeTintSettingChecker.Apply(); + PlaymodeTintSettingChecker.Check(); + } else { + PlaymodeTintSettingChecker.Reset(); + } + } + + static void CheckAssetDatabaseRefresh() { + if (config.disableCompilingFromEditorScripts && ServerHealthCheck.I.IsServerHealthy) { + CompileMethodDetourer.Apply(); + } else { + CompileMethodDetourer.Reset(); + } + } + + static void HandleResponseReceived(MethodPatchResponse response) { + RegisterPatchesResult patchResult = null; + if (response.patches?.Length > 0 + || response.alteredFields.Length > 0 + || response.removedFieldInitializers.Length > 0 + || response.addedFieldInitializerInitializers.Length > 0 + || response.addedFieldInitializerFields.Length > 0 + ) { + LogBurstHint(response); + // don't save patches in virtual players since we will use main editor instance for that + var persist = !MultiplayerPlaymodeHelper.IsClone; + patchResult = CodePatcher.I.RegisterPatches(response, persist: persist); + } + + CodePatcher.I.RegisterFailures(response, patchResult); + + if (patchResult?.inspectorModified == true) { + // repaint all views calls all gui callbacks but doesn't rebuild the visual tree + // which is needed to hide removed fields + UnityFieldDrawerPatchHelper.repaintVisualTree = true; + InternalEditorUtility.RepaintAllViews(); + } + + // Keep in sync with HasPartiallySupportedChangesFiltered + var partiallySupportedChangesFiltered = new List(response.partiallySupportedChanges ?? Array.Empty()); + partiallySupportedChangesFiltered.RemoveAll(x => !HotReloadTimelineHelper.GetPartiallySupportedChangePref(x)); + if (!HotReloadPrefs.DisplayNewMonobehaviourMethodsAsPartiallySupported && partiallySupportedChangesFiltered.Remove(PartiallySupportedChange.AddMonobehaviourMethod)) { + if (HotReloadSuggestionsHelper.CanShowServerSuggestion(HotReloadSuggestionKind.AddMonobehaviourMethod)) { + HotReloadSuggestionsHelper.SetServerSuggestionShown(HotReloadSuggestionKind.AddMonobehaviourMethod); + } + } + var failuresDeduplicated = new HashSet(response.failures ?? Array.Empty()); + + foreach (var hotReloadSuggestionKind in response.suggestions) { + if (HotReloadSuggestionsHelper.CanShowServerSuggestion(hotReloadSuggestionKind)) { + HotReloadSuggestionsHelper.SetServerSuggestionShown(hotReloadSuggestionKind); + } + } + + var allMethods = patchResult?.patchedSMethods.Select(m => GetExtendedMethodName(m)); + if (allMethods == null) { + allMethods = response.removedMethod?.Select(m => GetExtendedMethodName(m)).Distinct(StringComparer.OrdinalIgnoreCase) ?? Array.Empty(); + } else { + allMethods = allMethods.Concat(response.removedMethod?.Select(m => GetExtendedMethodName(m)) ?? Array.Empty()).Distinct(StringComparer.OrdinalIgnoreCase); + } + + var allFields = (patchResult?.addedFields.Select(f => GetExtendedFieldName(f)) ?? Array.Empty()) + .Concat(response.alteredFields?.Select(f => GetExtendedFieldName(f)).Distinct(StringComparer.OrdinalIgnoreCase) ?? Array.Empty()) + .Concat(response.patches?.SelectMany(p => p?.propertyAttributesFieldUpdated ?? Array.Empty()).Select(f => GetExtendedFieldName(f)).Distinct(StringComparer.OrdinalIgnoreCase) ?? Array.Empty()) + .Distinct(StringComparer.OrdinalIgnoreCase); + + var patchedMembersDisplayNames = allMethods.Concat(allFields).ToArray(); + + _compileError = response.failures?.Any(failure => failure.Contains("error CS")) ?? false; + _applyingFailed = response.failures?.Length > 0 || patchResult?.patchFailures.Count > 0 || patchResult?.patchExceptions.Count > 0; + _appliedPartially = !_applyingFailed && partiallySupportedChangesFiltered.Count > 0; + _appliedUndetected = patchedMembersDisplayNames.Length == 0; + + if (!_compileError) { + lastCompileErrorLog = null; + } + + var autoRecompiled = false; + if (_compileError) { + HotReloadTimelineHelper.EventsTimeline.RemoveAll(e => e.alertType == AlertType.CompileError); + foreach (var failure in failuresDeduplicated) { + if (failure.Contains("error CS")) { + HotReloadTimelineHelper.CreateErrorEventEntry(failure); + } + } + if (lastCompileErrorLog != null) { + if (!disableServerLogs) { + Log.Error(lastCompileErrorLog); + } + lastCompileErrorLog = null; + } + RequestHelper.RequestEditorEventWithRetry(new Stat(StatSource.Client, StatLevel.Debug, StatFeature.Reload, StatEventType.CompileError), new EditorExtraData { + { StatKey.PatchId, response.id }, + }).Forget(); + } else if (_applyingFailed) { + if (partiallySupportedChangesFiltered.Count > 0) { + foreach (var responsePartiallySupportedChange in partiallySupportedChangesFiltered) { + HotReloadTimelineHelper.CreatePartiallyAppliedEventEntry(responsePartiallySupportedChange, entryType: EntryType.Child); + } + } + foreach (var failure in failuresDeduplicated) { + HotReloadTimelineHelper.CreateErrorEventEntry(failure, entryType: EntryType.Child); + } + if (patchResult?.patchFailures.Count > 0) { + foreach (var failure in patchResult.patchFailures) { + SMethod method = failure.Item1; + string error = failure.Item2; + HotReloadTimelineHelper.CreatePatchFailureEventEntry(error, methodName: GetMethodName(method), methodSimpleName: method.simpleName, entryType: EntryType.Child); + } + } + if (patchResult?.patchExceptions.Count > 0) { + foreach (var error in patchResult.patchExceptions) { + HotReloadTimelineHelper.CreateErrorEventEntry(error, entryType: EntryType.Child); + } + } + HotReloadTimelineHelper.CreateReloadFinishedWithWarningsEventEntry(patchedMembersDisplayNames: patchedMembersDisplayNames); + HotReloadSuggestionsHelper.SetSuggestionsShown(HotReloadSuggestionKind.UnsupportedChanges); + if (HotReloadPrefs.AutoRecompileUnsupportedChangesImmediately || UnityEditorInternal.InternalEditorUtility.isApplicationActive) { + autoRecompiled = TryRecompileUnsupportedChanges(); + } + RequestHelper.RequestEditorEventWithRetry(new Stat(StatSource.Client, StatLevel.Debug, StatFeature.Reload, StatEventType.Failure), new EditorExtraData { + { StatKey.PatchId, response.id }, + }).Forget(); + } else if (_appliedPartially) { + foreach (var responsePartiallySupportedChange in partiallySupportedChangesFiltered) { + HotReloadTimelineHelper.CreatePartiallyAppliedEventEntry(responsePartiallySupportedChange, entryType: EntryType.Child, detailed: false); + } + HotReloadTimelineHelper.CreateReloadPartiallyAppliedEventEntry(patchedMethodsDisplayNames: patchedMembersDisplayNames); + + if (HotReloadPrefs.AutoRecompileUnsupportedChangesImmediately || UnityEditorInternal.InternalEditorUtility.isApplicationActive) { + autoRecompiled = TryRecompileUnsupportedChanges(); + } + RequestHelper.RequestEditorEventWithRetry(new Stat(StatSource.Client, StatLevel.Debug, StatFeature.Reload, StatEventType.Partial), new EditorExtraData { + { StatKey.PatchId, response.id }, + }).Forget(); + } else if (_appliedUndetected) { + HotReloadTimelineHelper.CreateReloadUndetectedChangeEventEntry(); + RequestHelper.RequestEditorEventWithRetry(new Stat(StatSource.Client, StatLevel.Debug, StatFeature.Reload, StatEventType.Undetected), new EditorExtraData { + { StatKey.PatchId, response.id }, + }).Forget(); + } else { + HotReloadTimelineHelper.CreateReloadFinishedEventEntry(patchedMethodsDisplayNames: patchedMembersDisplayNames); + RequestHelper.RequestEditorEventWithRetry(new Stat(StatSource.Client, StatLevel.Debug, StatFeature.Reload, StatEventType.Finished), new EditorExtraData { + { StatKey.PatchId, response.id }, + }).Forget(); + } + + if (!autoRecompiled && patchResult?.inspectorFieldAdded == true && HotReloadPrefs.AutoRecompileInspectorFieldsEdit && !Application.isPlaying) { + HotReloadSuggestionsHelper.SetSuggestionsShown(HotReloadSuggestionKind.UnsupportedChanges); + RecompileUnsupportedChanges(); + autoRecompiled = true; + HotReloadTimelineHelper.CreateErrorEventEntry(Translations.Utility.InspectorFieldChangeError, entryType: EntryType.Child); + HotReloadTimelineHelper.CreateReloadFinishedWithWarningsEventEntry(); + Log.Info(Translations.Errors.InfoInspectorFieldRecompile); + } + + // When patching different assembly, compile error will get removed, even though it's still there + // It's a shortcut we take for simplicity + if (!_compileError) { + HotReloadTimelineHelper.EventsTimeline.RemoveAll(x => x.alertType == AlertType.CompileError); + } + + foreach (string responseFailure in response.failures) { + if (responseFailure.Contains("error CS") && !disableServerLogs) { + Log.Error(responseFailure); + } else if (autoRecompiled) { + Log.Info(responseFailure); + } else { + Log.Warning(responseFailure); + } + } + if (patchResult?.patchFailures.Count > 0) { + foreach (var patchResultPatchFailure in patchResult.patchFailures) { + if (autoRecompiled) { + Log.Info(patchResultPatchFailure.Item2); + } else { + Log.Warning(patchResultPatchFailure.Item2); + } + } + } + if (patchResult?.patchExceptions.Count > 0) { + foreach (var patchResultPatchException in patchResult.patchExceptions) { + if (autoRecompiled) { + Log.Info(patchResultPatchException); + } else { + Log.Warning(patchResultPatchException); + } + } + } + + // attempt to recompile if previous Unity compilation had compilation errors + // because new changes might've fixed those errors + if (compileChecker.hasCompileErrors) { + HotReloadRunTab.Recompile(); + } + + if (HotReloadWindow.Current) { + HotReloadWindow.Current.Repaint(); + } + HotReloadState.LastPatchId = response.id; + OnPatchHandled?.Invoke((response, patchResult)); + } + + // Keep in sync with HandleResponseReceived + static bool HasPartiallySupportedChangesFiltered(PartiallySupportedChange[] partiallySupportedChanges) { + foreach (var change in partiallySupportedChanges) { + if (HotReloadTimelineHelper.GetPartiallySupportedChangePref(change) && + (change != PartiallySupportedChange.AddMonobehaviourMethod || HotReloadPrefs.DisplayNewMonobehaviourMethodsAsPartiallySupported) + ) { + return true; + } + } + return false; + } + + static string GetExtendedMethodName(SMethod method) { + var colonIndex = method.displayName.IndexOf("::", StringComparison.Ordinal); + if (colonIndex > 0) { + var beforeColon = method.displayName.Substring(0, colonIndex); + var spaceIndex = beforeColon.LastIndexOf(".", StringComparison.Ordinal); + if (spaceIndex > 0) { + var className = beforeColon.Substring(spaceIndex + 1); + return className + "::" + method.simpleName; + } + } + return method.simpleName; + } + + static string GetExtendedFieldName(SField field) { + string typeName = field.declaringType.typeName; + var simpleTypeIndex = typeName.LastIndexOf(".", StringComparison.Ordinal); + if (simpleTypeIndex > 0) { + typeName = typeName.Substring(simpleTypeIndex + 1); + } + return $"{typeName}::{field.fieldName}"; + } + + static string GetMethodName(SMethod method) { + var spaceIndex = method.displayName.IndexOf(" ", StringComparison.Ordinal); + if (spaceIndex > 0) { + return method.displayName.Substring(spaceIndex); + } + return method.displayName; + } + + + [Conditional("UNITY_2022_2_OR_NEWER")] + static void LogBurstHint(MethodPatchResponse response) { + if(HotReloadPrefs.LoggedBurstHint) { + return; + } + foreach (var patch in response.patches) { + if(patch.unityJobs.Length > 0) { + Debug.LogWarning(string.Format(Translations.Errors.WarningUnityJobHotReloaded, Constants.TroubleshootingURL)); + HotReloadPrefs.LoggedBurstHint = true; + break; + } + } + } + + private static DateTime? startWaitingForCompile; + static void OnCompilationFinished() { + ServerHealthCheck.instance.CheckHealth(); + if(ServerHealthCheck.I.IsServerHealthy) { + startWaitingForCompile = DateTime.UtcNow; + firstPatchAttempted = false; + RequestCompile().Forget(); + } + ClearPersistence(); + } + + static void ClearPersistence() { + if (MultiplayerPlaymodeHelper.IsClone) { + return; + } + CodePatcher.I.ClearPatchesThreaded(); + } + + static bool requestingCompile; + static async Task RequestCompile() { + if (MultiplayerPlaymodeHelper.IsClone) { + return; + } + requestingCompile = true; + try { + await RequestHelper.RequestClearPatches(); + await ProjectGeneration.ProjectGeneration.GenerateSlnAndCsprojFiles(Application.dataPath); + await RequestHelper.RequestCompile(scenePath => { + var path = ToPath(scenePath); + if (File.Exists(scenePath) && path != null) { + AssetDatabase.ImportAsset(path, ImportAssetOptions.Default); + } + }); + } finally { + requestingCompile = false; + } + } + + private static bool stopping; + private static bool starting; + private static DateTime? startupCompletedAt; + private static Tuple startupProgress; + + internal static bool Started => ServerHealthCheck.I.IsServerHealthy && DownloadProgress == 1 && StartupProgress?.Item1 == 1; + internal static bool Starting => (StartedServerRecently() || ServerHealthCheck.I.IsServerHealthy) && !Started && starting && patchStatus != PatchStatus.CompileError; + internal static bool Stopping => stopping && Running; + internal static bool Compiling => DateTime.UtcNow - startWaitingForCompile < TimeSpan.FromSeconds(5) || patchStatus == PatchStatus.Compiling || HotReloadRunTab.recompiling; + internal static Tuple StartupProgress => startupProgress; + + + /// + /// We have a button to stop the Hot Reload server.
+ /// Store task to ensure only one stop attempt at a time. + ///
+ private static DateTime? serverStartedAt; + private static DateTime? serverStoppedAt; + private static DateTime? serverRestartedAt; + private static bool StartedServerRecently() { + return DateTime.UtcNow - serverStartedAt < ServerHealthCheck.HeartBeatTimeout; + } + + internal static bool StoppedServerRecently() { + return DateTime.UtcNow - serverStoppedAt < ServerHealthCheck.HeartBeatTimeout || (!StartedServerRecently() && (startupProgress?.Item1 ?? 0) == 0); + } + + internal static bool RestartedServerRecently() { + return DateTime.UtcNow - serverRestartedAt < ServerHealthCheck.HeartBeatTimeout; + } + + private static bool requestingStart; + private static async Task StartCodePatcher(LoginData loginData = null) { + if (requestingStart || StartedServerRecently()) { + return; + } + stopping = false; + starting = true; + var exposeToNetwork = HotReloadPrefs.ExposeServerToLocalNetwork; + var allAssetChanges = HotReloadPrefs.AllAssetChanges; + var disableConsoleWindow = HotReloadPrefs.DisableConsoleWindow; + var isReleaseMode = RequestHelper.IsReleaseMode(); + var detailedErrorReporting = !HotReloadPrefs.DisableDetailedErrorReporting; +#if UNITY_EDITOR_WIN + var useWatchman = HotReloadPrefs.UseWatchman; +#endif + CodePatcher.I.ClearPatchedMethods(); + RecordActiveDaysForRateApp(); + try { + requestingStart = true; + startupProgress = Tuple.Create(0f, Translations.UI.StartingHotReloadMessage); + serverStartedAt = DateTime.UtcNow; + await HotReloadCli.StartAsync( + exposeToNetwork, + allAssetChanges, + disableConsoleWindow, + isReleaseMode, + detailedErrorReporting, +#if UNITY_EDITOR_WIN + useWatchman, +#endif + loginData + ).ConfigureAwait(false); + } + catch (Exception ex) { + ThreadUtility.LogException(ex); + } + finally { + requestingStart = false; + } + } + + private static bool requestingStop; + internal static async Task StopCodePatcher(bool recompileOnDone = false) { + stopping = true; + starting = false; + if (requestingStop) { + if (recompileOnDone) { + await ThreadUtility.SwitchToMainThread(); + HotReloadRunTab.Recompile(); + } + return; + } + CodePatcher.I.ClearPatchedMethods(); + HotReloadSuggestionsHelper.SetSuggestionInactive(HotReloadSuggestionKind.EditorsWithoutHRRunning); + try { + requestingStop = true; + await HotReloadCli.StopAsync().ConfigureAwait(false); + serverStoppedAt = DateTime.UtcNow; + await ThreadUtility.SwitchToMainThread(); + if (recompileOnDone) { + HotReloadRunTab.Recompile(); + } + startupProgress = null; + } + catch (Exception ex) { + ThreadUtility.LogException(ex); + } + finally { + requestingStop = false; + } + } + + private static bool requestingRestart; + internal static async Task RestartCodePatcher() { + if (requestingRestart) { + return; + } + try { + requestingRestart = true; + await StopCodePatcher(); + await DownloadAndRun(); + serverRestartedAt = DateTime.UtcNow; + } + finally { + requestingRestart = false; + } + } + + + private static bool requestingDownloadAndRun; + internal static float DownloadProgress => serverDownloader.Progress; + internal static bool DownloadRequired => DownloadProgress < 1f; + internal static bool DownloadStarted => serverDownloader.Started; + internal static bool RequestingDownloadAndRun => requestingDownloadAndRun; + internal static CancellationTokenSource downloadCancelToken; + + internal static async Task DownloadAndRun(LoginData loginData = null, bool recompileOnDone = false) { + if (requestingDownloadAndRun) { + return false; + } + stopping = false; + requestingDownloadAndRun = true; + try { + if (DownloadRequired) { + downloadCancelToken = new CancellationTokenSource(); + var ok = await serverDownloader.PromptForDownload(downloadCancelToken.Token); + if (!ok) { + return false; + } + } + await StartCodePatcher(loginData); + await ThreadUtility.SwitchToMainThread(); + if (HotReloadPrefs.DeactivateHotReload) { + HotReloadPrefs.DeactivateHotReload = false; + HotReloadRunTab.Recompile(); + } + return true; + } finally { + requestingDownloadAndRun = false; + } + } + + private static void InitServerInfo() { + // only needed for clones + if (!MultiplayerPlaymodeHelper.IsClone) { + return; + } + var serverInfoRaw = File.ReadAllText(PackageConst.ServerInfoFilePath); + PatchServerInfo serverInfo = null; + if (!string.IsNullOrEmpty(serverInfoRaw)) { + serverInfo = JsonConvert.DeserializeObject(serverInfoRaw); + } + if (serverInfo != null) { + RequestHelper.SetServerInfo(serverInfo); + } + } + + private const int SERVER_POLL_FREQUENCY_ON_STARTUP_MS = 500; + private const int SERVER_POLL_FREQUENCY_AFTER_STARTUP_MS = 2000; + private static int GetPollFrequency() { + return (startupProgress != null && startupProgress.Item1 < 1) || StartedServerRecently() + ? SERVER_POLL_FREQUENCY_ON_STARTUP_MS + : SERVER_POLL_FREQUENCY_AFTER_STARTUP_MS; + } + + internal static bool RequestingLoginInfo { get; set; } + + [CanBeNull] internal static LoginStatusResponse Status { get; private set; } + internal static void HandleStatus(LoginStatusResponse resp) { + if (resp == null) { + return; + } + Attribution.RegisterLogin(resp); + + bool consumptionsChanged = Status?.freeSessionRunning != resp.freeSessionRunning || Status?.freeSessionEndTime != resp.freeSessionEndTime; + bool expiresAtChanged = Status?.licenseExpiresAt != resp.licenseExpiresAt; + if (!EditorCodePatcher.LoginNotRequired + && !resp.isLicensed + && resp.consumptionsUnavailableReason == ConsumptionsUnavailableReason.UnrecoverableError + && Status?.consumptionsUnavailableReason != ConsumptionsUnavailableReason.UnrecoverableError + ) { + Log.Error(Translations.Errors.ErrorFreeChargesUnavailable); + } + if (!RequestingLoginInfo && resp.requestError == null) { + Status = resp; + } + if (resp.lastLicenseError == null) { + // If we got success, we should always show an error next time it comes up + HotReloadPrefs.ErrorHidden = false; + } + + var oldStartupProgress = startupProgress; + var newStartupProgress = Tuple.Create( + resp.startupProgress, + string.IsNullOrEmpty(resp.startupStatus) ? Translations.UI.StartingHotReloadMessage : resp.startupStatus); + + startupProgress = newStartupProgress; + // ReSharper disable once CompareOfFloatsByEqualityOperator + if (startupCompletedAt == null && newStartupProgress.Item1 == 1f) { + startupCompletedAt = DateTime.UtcNow; + } + + if (oldStartupProgress == null + || Math.Abs(oldStartupProgress.Item1 - newStartupProgress.Item1) > 0 + || oldStartupProgress.Item2 != newStartupProgress.Item2 + || consumptionsChanged + || expiresAtChanged + ) { + // Send project files state now that server can receive requests (only needed for player builds) + TryPrepareBuildInfo(); + } + } + + internal static async Task RequestLogin(string email, string password) { + RequestingLoginInfo = true; + try { + int i = 0; + while (!Running && i < 100) { + await Task.Delay(100); + i++; + } + + Status = await RequestHelper.RequestLogin(email, password, 10); + + // set to false so new error is shown + HotReloadPrefs.ErrorHidden = false; + if (Status?.isLicensed == true) { + HotReloadPrefs.LicenseEmail = email; + HotReloadPrefs.LicensePassword = Status.initialPassword ?? password; + } + } finally { + RequestingLoginInfo = false; + } + } + private static bool requestingServerInfo; + private static long lastServerPoll; + private static bool running; + internal static bool Running => ServerHealthCheck.I.IsServerHealthy; + + internal static void RequestServerInfo() { + if (requestingServerInfo || MultiplayerPlaymodeHelper.IsClone) { + return; + } + RequestServerInfoAsync().Forget(); + } + + private static async Task RequestServerInfoAsync() { + requestingServerInfo = true; + try { + await RequestServerInfoCore(); + } finally { + requestingServerInfo = false; + } + } + + private static async Task RequestServerInfoCore() { + var pollFrequency = GetPollFrequency(); + // Delay until we've hit the poll request frequency + var waitMs = (int)Mathf.Clamp(pollFrequency - ((DateTime.Now.Ticks / (float)TimeSpan.TicksPerMillisecond) - lastServerPoll), 0, pollFrequency); + await Task.Delay(waitMs); + + if (!ServerHealthCheck.I.IsServerHealthy) { + return; + } + + + var resp = await RequestHelper.GetLoginStatus(30); + HandleStatus(resp); + + lastServerPoll = DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond; + } + } + + // IMPORTANT: don't change the names of the methods + internal static class UnityFieldDrawerPatchHelper { + internal static void PatchCustom(Rect contentRect, UnityEditor.Editor __instance) { + if (__instance.target) { + FieldDrawerUtil.DrawFromObject(__instance.target); + } + } + + internal static void PatchDefault(UnityEditor.Editor __instance) { + if (__instance.target) { + FieldDrawerUtil.DrawFromObject(__instance.target); + } + } + + internal static bool repaintVisualTree; + internal static void PatchFillDefaultInspector(VisualElement container, SerializedObject serializedObject, UnityEditor.Editor editor) { + HideChildren(container, serializedObject); + if (editor.target) { + var child = new IMGUIContainer((() => + { + FieldDrawerUtil.DrawFromObject(editor.target); + if (repaintVisualTree) { + HideChildren(container, serializedObject); + ResetInvalidatedInspectorFields(container, serializedObject); + // Mark dirty to repaint the visual tree + container.MarkDirtyRepaint(); + repaintVisualTree = false; + } + })); + child.name = "SingularityGroup.HotReload.FieldDrawer"; + container.Add(child); + } + } + + static List childrenToRemove = new List(); + static void HideChildren(VisualElement container, SerializedObject serializedObject) { + if (container == null) { + return; + } + childrenToRemove.Clear(); + foreach (var child in container.Children()) { + if (!(child is PropertyField propertyField)) { + continue; + } + try { + if (serializedObject != null && serializedObject.targetObject && UnityFieldHelper.IsFieldHidden(serializedObject.targetObject.GetType(), serializedObject.FindProperty(propertyField.bindingPath)?.name ?? "")) { + childrenToRemove.Add(child); + } + } catch (NullReferenceException) { + // serializedObject.targetObject throws nullref in cases where e.g. exising playmode + } + } + foreach (var child in childrenToRemove) { + container.Remove(child); + } + childrenToRemove.Clear(); + } + + static void ResetInvalidatedInspectorFields(VisualElement container, SerializedObject serializedObject) { + if (container == null || serializedObject == null) { + return; + } + foreach (var child in container.Children()) { + if (!(child is PropertyField propertyField)) { + continue; + } + try { + var prop = serializedObject.FindProperty(propertyField.bindingPath); + if (prop != null && serializedObject.targetObject && UnityFieldHelper.HasFieldInspectorCacheInvalidation(serializedObject.targetObject.GetType(), prop.name ?? "")) { + child.GetType().GetMethod("Reset", BindingFlags.NonPublic | BindingFlags.Instance, null, new[] { typeof(SerializedProperty) }, null)?.Invoke(child, new object[] { prop }); + } + } catch (NullReferenceException) { + // serializedObject.targetObject throws nullref in cases where e.g. exising playmode + } + } + } + + internal static bool GetHandlerPrefix( + SerializedProperty property, + ref object __result + ) { + if (property == null || property.serializedObject == null || !property.serializedObject.targetObject) { + // do nothing + return true; + } + if (UnityFieldHelper.TryInvalidateFieldInspectorCache(property.serializedObject.targetObject.GetType(), property.name)) { + __result = null; + return false; + } + return true; + } + + internal static bool GetFieldAttributesPrefix( + FieldInfo field, + ref List __result + ) { + if (field == null) { + // do nothing + return true; + } + List result; + if (UnityFieldHelper.TryGetInspectorFieldAttributes(field, out result)) { + __result = result; + return false; + } + return true; + } + + internal static bool PropertyFieldPrefix( + Rect position, + UnityEditor.SerializedProperty property, + GUIContent label, + bool includeChildren, + Rect visibleArea, + ref bool __result + ) { + if (property == null || property.serializedObject == null || !property.serializedObject.targetObject) { + // do nothing + return true; + } + if (UnityFieldHelper.IsFieldHidden(property.serializedObject.targetObject.GetType(), property.name)) { + // make sure field doesn't take any space + __result = false; + return false; // Skip original method + } + return true; // Continue with original method + } + + internal static bool GetHightPrefix( + UnityEditor.SerializedProperty property, GUIContent label, bool includeChildren, + ref float __result + ) { + if (property == null || property.serializedObject == null || !property.serializedObject.targetObject) { + // do nothing + return true; + } + if (UnityFieldHelper.IsFieldHidden(property.serializedObject.targetObject.GetType(), property.name)) { + // make sure field doesn't take any space + __result = 0.0f; + return false; // Skip original method + } + return true; // Continue with original method + } + } +} diff --git a/Packages/com.singularitygroup.hotreload/Editor/EditorCodePatcher.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/EditorCodePatcher.cs.meta new file mode 100644 index 0000000..1494126 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/EditorCodePatcher.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: ac7b192276a4a9d4f9098377d317cb2e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/EditorCodePatcher.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/EditorIndicationState.cs b/Packages/com.singularitygroup.hotreload/Editor/EditorIndicationState.cs new file mode 100644 index 0000000..ef70b00 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/EditorIndicationState.cs @@ -0,0 +1,197 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; +using SingularityGroup.HotReload.DTO; +using SingularityGroup.HotReload.Editor.Localization; +using UnityEngine; + +namespace SingularityGroup.HotReload.Editor { + internal static class EditorIndicationState { + internal enum IndicationStatus { + Stopped, + Started, + Stopping, + Installing, + Starting, + Reloaded, + PartiallySupported, + Unsupported, + Patching, + Loading, + Compiling, + CompileErrors, + ActivationFailed, + FinishRegistration, + DisabledDuringDebugging, + Undetected, + Paused, + } + + internal static readonly string greyIconPath = "grey"; + internal static readonly string greenIconPath = "green"; + internal static readonly string redIconPath = "red"; + private static readonly Dictionary IndicationIcon = new Dictionary { + // grey icon: + { IndicationStatus.FinishRegistration, greyIconPath }, + { IndicationStatus.Stopped, greyIconPath }, + { IndicationStatus.Paused, greyIconPath }, + // green icon: + { IndicationStatus.Started, greenIconPath }, + // log icons: + { IndicationStatus.Reloaded, HotReloadTimelineHelper.alertIconString[AlertType.AppliedChange] }, + { IndicationStatus.Unsupported, HotReloadTimelineHelper.alertIconString[AlertType.UnsupportedChange] }, + { IndicationStatus.Undetected, HotReloadTimelineHelper.alertIconString[AlertType.UndetectedChange] }, + { IndicationStatus.DisabledDuringDebugging, HotReloadTimelineHelper.alertIconString[AlertType.UnsupportedChange] }, + { IndicationStatus.PartiallySupported, HotReloadTimelineHelper.alertIconString[AlertType.PartiallySupportedChange] }, + { IndicationStatus.CompileErrors, HotReloadTimelineHelper.alertIconString[AlertType.CompileError] }, + // spinner: + { IndicationStatus.Stopping, Spinner.SpinnerIconPath }, + { IndicationStatus.Starting, Spinner.SpinnerIconPath }, + { IndicationStatus.Patching, Spinner.SpinnerIconPath }, + { IndicationStatus.Loading, Spinner.SpinnerIconPath }, + { IndicationStatus.Compiling, Spinner.SpinnerIconPath }, + { IndicationStatus.Installing, Spinner.SpinnerIconPath }, + // red icon: + { IndicationStatus.ActivationFailed, redIconPath }, + }; + + private static readonly IndicationStatus[] SpinnerIndications = IndicationIcon + .Where(kvp => kvp.Value == Spinner.SpinnerIconPath) + .Select(kvp => kvp.Key) + .ToArray(); + + // NOTE: if you add longer text, make sure UI is wide enough for it + public static Dictionary IndicationText => new Dictionary { + { IndicationStatus.FinishRegistration, Translations.Miscellaneous.IndicationFinishRegistration }, + { IndicationStatus.Started, Translations.Miscellaneous.IndicationStarted }, + { IndicationStatus.Stopping, Translations.Miscellaneous.IndicationStopping }, + { IndicationStatus.Stopped, Translations.Miscellaneous.IndicationStopped }, + { IndicationStatus.Paused, Translations.Miscellaneous.IndicationPaused }, + { IndicationStatus.Installing, Translations.Miscellaneous.IndicationInstalling }, + { IndicationStatus.Starting, Translations.Miscellaneous.IndicationStarting }, + { IndicationStatus.Reloaded, Translations.Miscellaneous.IndicationReloaded }, + { IndicationStatus.PartiallySupported, Translations.Miscellaneous.IndicationPartiallySupported }, + { IndicationStatus.Unsupported, Translations.Miscellaneous.IndicationUnsupported }, + { IndicationStatus.Patching, Translations.Miscellaneous.IndicationPatching }, + { IndicationStatus.DisabledDuringDebugging, Translations.Miscellaneous.IndicationDisabledDuringDebugging }, + { IndicationStatus.Compiling, Translations.Miscellaneous.IndicationCompiling }, + { IndicationStatus.CompileErrors, Translations.Miscellaneous.IndicationCompileErrors }, + { IndicationStatus.ActivationFailed, Translations.Miscellaneous.IndicationActivationFailed }, + { IndicationStatus.Loading, Translations.Miscellaneous.IndicationLoading }, + { IndicationStatus.Undetected, Translations.Miscellaneous.IndicationUndetected}, + }; + + private const int MinSpinnerDuration = 200; + private static DateTime spinnerStartedAt; + private static IndicationStatus latestStatus; + private static bool SpinnerCompletedMinDuration => DateTime.UtcNow - spinnerStartedAt > TimeSpan.FromMilliseconds(MinSpinnerDuration); + private static IndicationStatus GetIndicationStatus() { + var status = GetIndicationStatusCore(); + + // Note: performance sensitive code, don't use Link + bool newStatusIsSpinner = false; + for (var i = 0; i < SpinnerIndications.Length; i++) { + if (SpinnerIndications[i] == status) { + newStatusIsSpinner = true; + } + } + bool latestStatusIsSpinner = false; + for (var i = 0; i < SpinnerIndications.Length; i++) { + if (SpinnerIndications[i] == latestStatus) { + newStatusIsSpinner = true; + } + } + + if (status == latestStatus) { + return status; + } else if (latestStatusIsSpinner) { + if (newStatusIsSpinner) { + return status; + } else if (SpinnerCompletedMinDuration) { + latestStatus = status; + return status; + } else { + return latestStatus; + } + } else if (newStatusIsSpinner) { + spinnerStartedAt = DateTime.UtcNow; + latestStatus = status; + return status; + } else { + spinnerStartedAt = DateTime.UtcNow; + latestStatus = IndicationStatus.Loading; + return status; + } + } + + private static IndicationStatus GetIndicationStatusCore() { + if (RedeemLicenseHelper.I.RegistrationRequired) + return IndicationStatus.FinishRegistration; + if (EditorCodePatcher.DownloadRequired && EditorCodePatcher.DownloadStarted || EditorCodePatcher.RequestingDownloadAndRun && !EditorCodePatcher.Starting && !EditorCodePatcher.Stopping) + return IndicationStatus.Installing; + if (EditorCodePatcher.Stopping) + return IndicationStatus.Stopping; + if (EditorCodePatcher.Compiling && !EditorCodePatcher.Stopping && !EditorCodePatcher.Starting && EditorCodePatcher.Running) + return IndicationStatus.Compiling; + if (EditorCodePatcher.Starting && !EditorCodePatcher.Stopping) + return IndicationStatus.Starting; + if (!Application.isPlaying && HotReloadPrefs.PauseHotReloadInEditMode) + return IndicationStatus.Paused; + if (!EditorCodePatcher.Running) + return IndicationStatus.Stopped; + if (EditorCodePatcher.Status?.isLicensed != true && EditorCodePatcher.Status?.isFree != true && EditorCodePatcher.Status?.freeSessionFinished == true) + return IndicationStatus.ActivationFailed; + if (EditorCodePatcher.compileError) + return IndicationStatus.CompileErrors; + + // fallback on patch status + if (!EditorCodePatcher.Started && !EditorCodePatcher.Running) { + return IndicationStatus.Stopped; + } + if (Debugger.IsAttached && !CodePatcher.I.debuggerCompatibilityEnabled) { + return IndicationStatus.DisabledDuringDebugging; + } + switch (EditorCodePatcher.patchStatus) { + case PatchStatus.Idle: + if (!EditorCodePatcher.Compiling && !EditorCodePatcher.firstPatchAttempted && !EditorCodePatcher.compileError) { + return IndicationStatus.Started; + } + if (EditorCodePatcher._applyingFailed) { + return IndicationStatus.Unsupported; + } + if (EditorCodePatcher._appliedPartially) { + return IndicationStatus.PartiallySupported; + } + if (EditorCodePatcher._appliedUndetected) { + return IndicationStatus.Undetected; + } + return IndicationStatus.Reloaded; + case PatchStatus.Patching: return IndicationStatus.Patching; + case PatchStatus.Unsupported: return IndicationStatus.Unsupported; + case PatchStatus.Compiling: return IndicationStatus.Compiling; + case PatchStatus.CompileError: return IndicationStatus.CompileErrors; + case PatchStatus.None: + default: return IndicationStatus.Reloaded; + } + } + + internal static IndicationStatus CurrentIndicationStatus => GetIndicationStatus(); + internal static bool SpinnerActive => SpinnerIndications.Contains(CurrentIndicationStatus); + internal static string IndicationIconPath => IndicationIcon[CurrentIndicationStatus]; + internal static string IndicationStatusText { + get { + var indicationStatus = CurrentIndicationStatus; + string txt; + if (indicationStatus == IndicationStatus.Starting && EditorCodePatcher.StartupProgress != null) { + txt = EditorCodePatcher.StartupProgress.Item2; + } else if (!IndicationText.TryGetValue(indicationStatus, out txt)) { + Log.Warning(Translations.Errors.WarningIndicationTextNotFound, indicationStatus); + } else { + txt = IndicationText[indicationStatus]; + } + return txt; + } + } + } +} diff --git a/Packages/com.singularitygroup.hotreload/Editor/EditorIndicationState.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/EditorIndicationState.cs.meta new file mode 100644 index 0000000..1b72862 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/EditorIndicationState.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: ee342ddb17e444c7a8927be3bd792ae2 +timeCreated: 1686087206 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/EditorIndicationState.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/GitUtil.cs b/Packages/com.singularitygroup.hotreload/Editor/GitUtil.cs new file mode 100644 index 0000000..875381d --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/GitUtil.cs @@ -0,0 +1,87 @@ + +using System; +using System.ComponentModel; +using System.Diagnostics; +using Debug = UnityEngine.Debug; + +namespace SingularityGroup.HotReload.Editor { + internal static class GitUtil { + /// + /// Fallback is PatchServerInfo.UnknownCommitHash + /// + public static string GetShortCommitHashOrFallback(int timeoutAfterMillis = 5000) { + var shortCommitHash = PatchServerInfo.UnknownCommitHash; + + var commitHash = GetShortCommitHashSafe(timeoutAfterMillis); + // On MacOS GetShortCommitHash() returns 7 characters, on Windows it returns 8 characters. + // When git command produced an unexpected result, use a fallback string + if (commitHash != null && commitHash.Length >= 6) { + shortCommitHash = commitHash.Length < 8 ? commitHash : commitHash.Substring(0, 8); + } + + return shortCommitHash; + } + + // only log exception once per domain reload, to prevent spamming the console + private static bool loggedExceptionInGetShortCommitHashSafe = false; + + /// + /// Get the git commit hash, returning null if it takes too long. + /// + /// + /// + /// + /// This method is 'better safe than sorry' because we must not break the user's build.
+ /// It is better to not know the commit hash than to fail the build. + ///
+ private static string GetShortCommitHashSafe(int timeoutAfterMillis) { + Process process = null; + // Note: don't use ReadToEndAsync because waiting on that task blocks forever. + try { + process = StartGitCommand("log", " -n 1 --pretty=format:%h"); + var stdout = process.StandardOutput; + if (process.WaitForExit(timeoutAfterMillis)) { + return stdout.ReadToEnd(); + } else { + // In a git repo with git lfs, git log can be blocked by waiting for switch branches / download lfs objects + // For that reason I disabled this warning log until a better solution is implemented (e.g. cache the commit and use cached if timeout). + // Log.Warning( + // $"[{CodePatcher.TAG}] Timed out trying to get the git commit hash, HotReload will not warn you about" + + // " a build connecting to a server running on a different commit (which is not supported)"); + return null; + } + } catch (Win32Exception ex) { + if (ex.NativeErrorCode == 2) { + // git not found, ignore because user doesn't use git for version control + return null; + } else if (!loggedExceptionInGetShortCommitHashSafe) { + loggedExceptionInGetShortCommitHashSafe = true; + Debug.LogException(ex); + } + } catch (Exception ex) { + if (!loggedExceptionInGetShortCommitHashSafe) { + loggedExceptionInGetShortCommitHashSafe = true; + Log.Exception(ex); + } + } finally { + if (process != null) { + process.Dispose(); + } + } + return null; + } + + static Process StartGitCommand(string command, string arguments, Action modifySettings = null) { + var startInfo = new ProcessStartInfo("git", command + " " + arguments) { + RedirectStandardOutput = true, + RedirectStandardError = true, + UseShellExecute = false, + CreateNoWindow = true, + }; + if (modifySettings != null) { + modifySettings(startInfo); + } + return Process.Start(startInfo); + } + } +} \ No newline at end of file diff --git a/Packages/com.singularitygroup.hotreload/Editor/GitUtil.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/GitUtil.cs.meta new file mode 100644 index 0000000..409a181 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/GitUtil.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: f994bd5bb9f33f740ae37f8c79048a10 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/GitUtil.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Helpers.meta b/Packages/com.singularitygroup.hotreload/Editor/Helpers.meta new file mode 100644 index 0000000..9a003a6 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Helpers.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 387b31d7da35b27428629a83bb4ac589 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.singularitygroup.hotreload/Editor/Helpers/AssemblyOmission.cs b/Packages/com.singularitygroup.hotreload/Editor/Helpers/AssemblyOmission.cs new file mode 100644 index 0000000..8a964e5 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Helpers/AssemblyOmission.cs @@ -0,0 +1,189 @@ +using System; +using System.Collections.Generic; +using System.Data; +using System.IO; +using UnityEditor; +using System.Linq; +using System.Runtime.CompilerServices; +using SingularityGroup.HotReload.Editor.Localization; +using SingularityGroup.HotReload.Newtonsoft.Json; +using UnityEditor.Compilation; + +[assembly: InternalsVisibleTo("SingularityGroup.HotReload.EditorTests")] + +namespace SingularityGroup.HotReload.Editor { + internal static class AssemblyOmission { + // [MenuItem("Window/Hot Reload Dev/List omitted projects")] + private static void Check() { + Log.Info(Translations.Errors.InfoOmitProjectsForPlayerBuild); + var omitted = GetOmittedProjects(EditorUserBuildSettings.activeScriptCompilationDefines); + Log.Info(Translations.Errors.InfoSeparator); + + foreach (var name in omitted) { + Log.Info(Translations.Errors.InfoOmittedEditorProject, name); + } + } + + [JsonObject(MemberSerialization.Fields)] + private class AssemblyDefinitionJson { + public string name; + public string[] defineConstraints; + } + + // scripts in Assets/ (with no asmdef) are always compiled into Assembly-CSharp + private static readonly string alwaysIncluded = "Assembly-CSharp"; + + private class Cache : AssetPostprocessor { + public static string[] ommitedProjects; + + private static void OnPostprocessAllAssets(string[] importedAssets, + string[] deletedAssets, + string[] movedAssets, + string[] movedFromAssetPaths) { + ommitedProjects = null; + } + } + + // main thread only + public static string[] GetOmittedProjects(string allDefineSymbols, bool verboseLogs = false) { + if (Cache.ommitedProjects != null) { + return Cache.ommitedProjects; + } + var arr = allDefineSymbols.Split(';'); + var omitted = GetOmittedProjects(arr, verboseLogs); + Cache.ommitedProjects = omitted; + return omitted; + } + + // must be deterministic (return projects in same order each time) + private static string[] GetOmittedProjects(string[] allDefineSymbols, bool verboseLogs = false) { + // HotReload uses names of assemblies. + var editorAssemblies = GetEditorAssemblies(); + + editorAssemblies.Remove(alwaysIncluded); + var omittedByConstraint = DefineConstraints.GetOmittedAssemblies(allDefineSymbols); + editorAssemblies.AddRange(omittedByConstraint); + + // Note: other platform player assemblies are also returned here, but I haven't seen it cause issues + // when using Hot Reload with IdleGame Android build. + var playerAssemblies = GetPlayerAssemblies().ToArray(); + + if (verboseLogs) { + foreach (var name in editorAssemblies) { + Log.Info(Translations.Errors.InfoFoundProjectNamed, name); + } + foreach (var playerAssemblyName in playerAssemblies) { + Log.Debug(string.Format(Translations.Utility.PlayerAssemblyDebug, playerAssemblyName)); + } + } + // leaves the editor assemblies that are not built into player assemblies (e.g. editor and test assemblies) + var toOmit = editorAssemblies.Except(playerAssemblies.Select(asm => asm.name)); + var unique = new HashSet(toOmit); + return unique.OrderBy(s => s).ToArray(); + } + + // main thread only + public static List GetEditorAssemblies() { + return CompilationPipeline + .GetAssemblies(AssembliesType.Editor) + .Select(asm => asm.name) + .ToList(); + } + + public static Assembly[] GetPlayerAssemblies() { + var playerAssemblyNames = CompilationPipeline + #if UNITY_2019_3_OR_NEWER + .GetAssemblies(AssembliesType.PlayerWithoutTestAssemblies) // since Unity 2019.3 + #else + .GetAssemblies(AssembliesType.Player) + #endif + .ToArray(); + + + return playerAssemblyNames; + } + + internal static class DefineConstraints { + /// + /// When define constraints evaluate to false, we need + /// + /// + /// + /// + /// Not aware of a Unity api to read defineConstraints, so we do it ourselves.
+ /// Find any asmdef files where the define constraints evaluate to false. + ///
+ public static string[] GetOmittedAssemblies(string[] defineSymbols) { + var guids = AssetDatabase.FindAssets("t:asmdef"); + var asmdefFiles = guids.Select(AssetDatabase.GUIDToAssetPath); + var shouldOmit = new List(); + foreach (var asmdefFile in asmdefFiles) { + var asmdef = ReadDefineConstraints(asmdefFile); + if (asmdef == null) continue; + if (asmdef.defineConstraints == null || asmdef.defineConstraints.Length == 0) { + // Hot Reload already handles assemblies correctly if they have no define symbols. + continue; + } + + var allPass = asmdef.defineConstraints.All(constraint => EvaluateDefineConstraint(constraint, defineSymbols)); + if (!allPass) { + shouldOmit.Add(asmdef.name); + } + } + + return shouldOmit.ToArray(); + } + + static AssemblyDefinitionJson ReadDefineConstraints(string path) { + try { + var json = File.ReadAllText(path); + var asmdef = JsonConvert.DeserializeObject(json); + return asmdef; + } catch (Exception) { + // ignore malformed asmdef + return null; + } + } + + // Unity Define Constraints syntax is described in the docs https://docs.unity3d.com/Manual/class-AssemblyDefinitionImporter.html + static readonly Dictionary syntaxMap = new Dictionary { + { "OR", "||" }, + { "AND", "&&" }, + { "NOT", "!" } + }; + + + /// + /// Evaluate a define constraint like 'UNITY_ANDROID || UNITY_IOS' + /// + /// + /// + /// + public static bool EvaluateDefineConstraint(string input, string[] defineSymbols) { + // map Unity defineConstraints syntax to DataTable syntax (unity supports both) + foreach (var item in syntaxMap) { + // surround with space because || may not have spaces around it + input = input.Replace(item.Value, $" {item.Key} "); + } + + // remove any extra spaces we just created + input = input.Replace(" ", " "); + + var tokens = input.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); + + foreach (var token in tokens) { + if (!syntaxMap.ContainsKey(token) && token != "false" && token != "true") { + var index = input.IndexOf(token, StringComparison.Ordinal); + + // replace symbols with true or false depending if they are in the array or not. + input = input.Substring(0, index) + defineSymbols.Contains(token) + input.Substring(index + token.Length); + } + } + + var dt = new DataTable(); + return (bool)dt.Compute(input, ""); + } + } + } + +} \ No newline at end of file diff --git a/Packages/com.singularitygroup.hotreload/Editor/Helpers/AssemblyOmission.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/Helpers/AssemblyOmission.cs.meta new file mode 100644 index 0000000..d415b2a --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Helpers/AssemblyOmission.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 0b94f2314a044b109de488be1ccd5640 +timeCreated: 1674233674 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/Helpers/AssemblyOmission.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Helpers/BuildInfoHelper.cs b/Packages/com.singularitygroup.hotreload/Editor/Helpers/BuildInfoHelper.cs new file mode 100644 index 0000000..3214681 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Helpers/BuildInfoHelper.cs @@ -0,0 +1,150 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text.RegularExpressions; +using System.Threading.Tasks; +using UnityEditor; +using UnityEngine; + +namespace SingularityGroup.HotReload.Editor { + struct BuildInfoInput { + public readonly string allDefineSymbols; + public readonly BuildTarget activeBuildTarget; + public readonly string[] omittedProjects; + public readonly bool batchMode; + public readonly string locale; + + public BuildInfoInput(string allDefineSymbols, BuildTarget activeBuildTarget, string[] omittedProjects, bool batchMode, string locale) { + this.allDefineSymbols = allDefineSymbols; + this.activeBuildTarget = activeBuildTarget; + this.omittedProjects = omittedProjects; + this.batchMode = batchMode; + this.locale = locale; + } + } + + static class BuildInfoHelper { + public static async Task GetGenerateBuildInfoInput() { + var buildTarget = EditorUserBuildSettings.activeBuildTarget; + var activeDefineSymbols = EditorUserBuildSettings.activeScriptCompilationDefines; + var batchMode = Application.isBatchMode; + var allDefineSymbols = await Task.Run(() => { + return GetAllAndroidMonoBuildDefineSymbolsThreaded(activeDefineSymbols); + }); + // cached so unexpensive most of the time + var omittedProjects = AssemblyOmission.GetOmittedProjects(allDefineSymbols); + var locale = PackageConst.DefaultLocale; + + return new BuildInfoInput( + allDefineSymbols: allDefineSymbols, + activeBuildTarget: buildTarget, + omittedProjects: omittedProjects, + batchMode: batchMode, + locale: locale + ); + } + + public static BuildInfo GenerateBuildInfoMainThread() { + return GenerateBuildInfoMainThread(EditorUserBuildSettings.activeBuildTarget); + } + + public static BuildInfo GenerateBuildInfoMainThread(BuildTarget buildTarget) { + var allDefineSymbols = GetAllAndroidMonoBuildDefineSymbolsThreaded(EditorUserBuildSettings.activeScriptCompilationDefines); + return GenerateBuildInfoThreaded(new BuildInfoInput( + allDefineSymbols: allDefineSymbols, + activeBuildTarget: buildTarget, + omittedProjects: AssemblyOmission.GetOmittedProjects(allDefineSymbols), + batchMode: Application.isBatchMode, + locale: PackageConst.DefaultLocale + )); + } + + public static BuildInfo GenerateBuildInfoThreaded(BuildInfoInput input) { + var omittedProjectRegex = String.Join("|", input.omittedProjects.Select(name => Regex.Escape(name))); + var shortCommitHash = GitUtil.GetShortCommitHashOrFallback(); + var hostname = IsHumanControllingUs(input.batchMode) ? IpHelper.GetIpAddress() : null; + + // Note: add a string to uniquely identify the Unity project. Could use filepath to /MyProject/Assets/ (editor Application.dataPath) + // or application identifier (com.company.appname). + // Do this when supporting multiple projects: SG-28807 + // The matching code is in Runtime assembly which compares server response with built BuildInfo. + return new BuildInfo { + projectIdentifier = "SG-29580", + commitHash = shortCommitHash, + defineSymbols = input.allDefineSymbols, + projectOmissionRegex = omittedProjectRegex, + buildMachineHostName = hostname, + buildMachinePort = RequestHelper.port, + activeBuildTarget = input.activeBuildTarget.ToString(), + buildMachineRequestOrigin = RequestHelper.origin, + locale = input.locale + }; + } + + public static bool IsHumanControllingUs(bool batchMode) { + if (batchMode) { + return false; + } + + var isCI = !string.IsNullOrEmpty(Environment.GetEnvironmentVariable("CI")); + return !isCI; + } + + private static readonly string[] editorSymbolsToRemove = { + "PLATFORM_ARCH_64", + "UNITY_64", + "UNITY_INCLUDE_TESTS", + "UNITY_EDITOR", + "UNITY_EDITOR_64", + "UNITY_EDITOR_WIN", + "ENABLE_UNITY_COLLECTIONS_CHECKS", + "ENABLE_BURST_AOT", + "RENDER_SOFTWARE_CURSOR", + "PLATFORM_STANDALONE_WIN", + "PLATFORM_STANDALONE", + "UNITY_STANDALONE_WIN", + "UNITY_STANDALONE", + "ENABLE_MOVIES", + "ENABLE_OUT_OF_PROCESS_CRASH_HANDLER", + "ENABLE_WEBSOCKET_HOST", + "ENABLE_CLUSTER_SYNC", + "ENABLE_CLUSTERINPUT", + }; + + private static readonly string[] androidSymbolsToAdd = { + "CSHARP_7_OR_LATER", + "CSHARP_7_3_OR_NEWER", + "PLATFORM_ANDROID", + "UNITY_ANDROID", + "UNITY_ANDROID_API", + "ENABLE_EGL", + "DEVELOPMENT_BUILD", + "ENABLE_CLOUD_SERVICES_NATIVE_CRASH_REPORTING", + "PLATFORM_SUPPORTS_ADS_ID", + "UNITY_CAN_SHOW_SPLASH_SCREEN", + "UNITY_HAS_GOOGLEVR", + "UNITY_HAS_TANGO", + "ENABLE_SPATIALTRACKING", + "ENABLE_RUNTIME_PERMISSIONS", + "ENABLE_ENGINE_CODE_STRIPPING", + "UNITY_ASTC_ONLY_DECOMPRESS", + "ANDROID_USE_SWAPPY", + "ENABLE_ONSCREEN_KEYBOARD", + "ENABLE_UNITYADS_RUNTIME", + "UNITY_UNITYADS_API", + }; + + // Currently there is no better way. Alternatively we could hook into unity's call to csc.exe and parse the /define: arguments. + // Hardcoding the differences was less effort and is less error prone. + // I also looked into it and tried all the Build interfaces like this one https://docs.unity3d.com/ScriptReference/Build.IPostBuildPlayerScriptDLLs.html + // and logging EditorUserBuildSettings.activeScriptCompilationDefines in the callbacks - result: all same like editor, so I agree that hardcode is best. + private static string GetAllAndroidMonoBuildDefineSymbolsThreaded(string[] defineSymbols) { + var defines = new HashSet(defineSymbols); + defines.ExceptWith(editorSymbolsToRemove); + defines.UnionWith(androidSymbolsToAdd); + // sort for consistency, must be deterministic + var definesArray = defines.OrderBy(def => def).ToArray(); + return String.Join(";", definesArray); + } + } +} \ No newline at end of file diff --git a/Packages/com.singularitygroup.hotreload/Editor/Helpers/BuildInfoHelper.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/Helpers/BuildInfoHelper.cs.meta new file mode 100644 index 0000000..760efac --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Helpers/BuildInfoHelper.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: f41ad09ae4f04088bf6c9ad9a4fc0885 +timeCreated: 1674220023 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/Helpers/BuildInfoHelper.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Helpers/EditorWindowHelper.cs b/Packages/com.singularitygroup.hotreload/Editor/Helpers/EditorWindowHelper.cs new file mode 100644 index 0000000..5b0d6b8 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Helpers/EditorWindowHelper.cs @@ -0,0 +1,106 @@ +using System; +using System.Text.RegularExpressions; +using UnityEngine; +using System.Threading.Tasks; +using UnityEditor; +using System.Collections.Generic; +using System.Linq; +using SingularityGroup.HotReload.Editor.Localization; + +namespace SingularityGroup.HotReload.Editor { + internal static class EditorWindowHelper { + #if UNITY_2020_1_OR_NEWER + public static bool supportsNotifications = true; + #else + public static bool supportsNotifications = false; + #endif + + private static readonly Regex ValidEmailRegex = new Regex(@"^(?!\.)(""([^""\r\\]|\\[""\r\\])*""|" + + @"([-a-z0-9!#$%&'*+/=?^_`{|}~]|(? notificationContent => new Dictionary { + { NotificationStatus.Patching, new GUIContent(Translations.Miscellaneous.NotificationPatching)}, + { NotificationStatus.NeedsRecompile, new GUIContent(Translations.Miscellaneous.NotificationNeedsRecompile)}, + }; + + static Type gameViewT; + private static EditorWindow[] gameViewWindows { + get { + gameViewT = gameViewT ?? typeof(EditorWindow).Assembly.GetType("UnityEditor.GameView"); + return Resources.FindObjectsOfTypeAll(gameViewT).Cast().ToArray(); + } + } + + private static EditorWindow[] sceneWindows { + get { + return Resources.FindObjectsOfTypeAll(typeof(SceneView)).Cast().ToArray(); + } + } + + private static EditorWindow[] notificationWindows { + get { + return gameViewWindows.Concat(sceneWindows).ToArray(); + } + } + + static NotificationStatus lastNotificationStatus; + private static DateTime? latestNotificationStartedAt; + private static bool notificationShownRecently => latestNotificationStartedAt != null && DateTime.UtcNow - latestNotificationStartedAt < TimeSpan.FromSeconds(1); + internal static void ShowNotification(NotificationStatus notificationType, float maxDuration = 3) { + // Patch status goes from Unsupported changes to patching rapidly when making unsupported change + // patching also shows right before unsupported changes sometimes + // so we don't override NeedsRecompile notification ever + bool willOverrideNeedsCompileNotification = notificationType != NotificationStatus.NeedsRecompile && notificationShownRecently || lastNotificationStatus == NotificationStatus.NeedsRecompile && notificationShownRecently; + if (!supportsNotifications || willOverrideNeedsCompileNotification) { + return; + } + + foreach (EditorWindow notificationWindow in notificationWindows) { + notificationWindow.ShowNotification(notificationContent[notificationType], maxDuration); + notificationWindow.Repaint(); + } + latestNotificationStartedAt = DateTime.UtcNow; + lastNotificationStatus = notificationType; + } + + internal static void RemoveNotification() { + if (!supportsNotifications) { + return; + } + // only patching notifications should be removed after showing less than 1 second + if (notificationShownRecently && lastNotificationStatus != NotificationStatus.Patching) { + return; + } + foreach (EditorWindow notificationWindow in notificationWindows) { + notificationWindow.RemoveNotification(); + notificationWindow.Repaint(); + } + latestNotificationStartedAt = null; + lastNotificationStatus = NotificationStatus.None; + } + } +} diff --git a/Packages/com.singularitygroup.hotreload/Editor/Helpers/EditorWindowHelper.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/Helpers/EditorWindowHelper.cs.meta new file mode 100644 index 0000000..1975a03 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Helpers/EditorWindowHelper.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: fd463b1f0bfddf34caa662ebe375e5fe +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/Helpers/EditorWindowHelper.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Helpers/GUIHelper.cs b/Packages/com.singularitygroup.hotreload/Editor/Helpers/GUIHelper.cs new file mode 100644 index 0000000..fab85d7 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Helpers/GUIHelper.cs @@ -0,0 +1,162 @@ +using UnityEngine; +using System.Collections.Generic; + +namespace SingularityGroup.HotReload.Editor { + internal enum InvertibleIcon { + BugReport, + Events, + EventsNew, + Recompile, + Logo, + Close, + FoldoutOpen, + FoldoutClosed, + Spinner, + Stop, + Start, + } + + internal static class GUIHelper { + private static readonly Dictionary supportedInvertibleIcons = new Dictionary { + { InvertibleIcon.BugReport, "report_bug" }, + { InvertibleIcon.Events, "events" }, + { InvertibleIcon.Recompile, "refresh" }, + { InvertibleIcon.Logo, "logo" }, + { InvertibleIcon.Close, "close" }, + { InvertibleIcon.FoldoutOpen, "foldout_open" }, + { InvertibleIcon.FoldoutClosed, "foldout_closed" }, + { InvertibleIcon.Spinner, "icon_loading_star_light_mode_96" }, + { InvertibleIcon.Stop, "Icn_Stop" }, + { InvertibleIcon.Start, "Icn_play" }, + }; + + private static readonly Dictionary invertibleIconCache = new Dictionary(); + private static readonly Dictionary invertibleIconInvertedCache = new Dictionary(); + private static readonly Dictionary iconCache = new Dictionary(); + + internal static Texture2D InvertTextureColor(Texture2D originalTexture) { + if (!originalTexture) { + return originalTexture; + } + // Get the original pixels from the texture + Color[] originalPixels = originalTexture.GetPixels(); + + // Create a new array for the inverted colors + Color[] invertedPixels = new Color[originalPixels.Length]; + + // Iterate through the pixels and invert the colors while preserving the alpha channel + for (int i = 0; i < originalPixels.Length; i++) { + Color originalColor = originalPixels[i]; + Color invertedColor = new Color(1 - originalColor.r, 1 - originalColor.g, 1 - originalColor.b, originalColor.a); + invertedPixels[i] = invertedColor; + } + + // Create a new texture and set its pixels + Texture2D invertedTexture = new Texture2D(originalTexture.width, originalTexture.height); + invertedTexture.SetPixels(invertedPixels); + + // Apply the changes to the texture + invertedTexture.Apply(); + + return invertedTexture; + } + + internal static Texture2D GetInvertibleIcon(InvertibleIcon invertibleIcon) { + Texture2D iconTexture; + var cache = HotReloadWindowStyles.IsDarkMode ? invertibleIconInvertedCache : invertibleIconCache; + + if (!cache.TryGetValue(invertibleIcon, out iconTexture) || !iconTexture) { + var type = invertibleIcon == InvertibleIcon.EventsNew ? InvertibleIcon.Events : invertibleIcon; + iconTexture = Resources.Load(supportedInvertibleIcons[type]); + + // we assume icons are for light mode by default + // therefore if its dark mode we should invert them + if (HotReloadWindowStyles.IsDarkMode) { + iconTexture = InvertTextureColor(iconTexture); + } + + cache[type] = iconTexture; + + // we combine dot image with Events icon to create a new alert version + if (invertibleIcon == InvertibleIcon.EventsNew) { + var redDot = Resources.Load("red_dot"); + iconTexture = CombineImages(iconTexture, redDot); + cache[InvertibleIcon.EventsNew] = iconTexture; + } + } + return cache[invertibleIcon]; + } + + internal static Texture2D GetLocalIcon(string iconName) { + Texture2D iconTexture; + if (!iconCache.TryGetValue(iconName, out iconTexture) || !iconTexture) { + iconTexture = Resources.Load(iconName); + iconCache[iconName] = iconTexture; + } + return iconTexture; + } + + static Texture2D CombineImages(Texture2D image1, Texture2D image2) { + if (!image1 || !image2) { + return image1; + } + var combinedImage = new Texture2D(Mathf.Max(image1.width, image2.width), Mathf.Max(image1.height, image2.height)); + + for (int y = 0; y < combinedImage.height; y++) { + for (int x = 0; x < combinedImage.width; x++) { + Color color1 = x < image1.width && y < image1.height ? image1.GetPixel(x, y) : Color.clear; + Color color2 = x < image2.width && y < image2.height ? image2.GetPixel(x, y) : Color.clear; + combinedImage.SetPixel(x, y, Color.Lerp(color1, color2, color2.a)); + } + } + combinedImage.Apply(); + return combinedImage; + } + + private static readonly Dictionary textureColorCache = new Dictionary(); + internal static Texture2D ConvertTextureToColor(Color color) { + Texture2D texture; + if (!textureColorCache.TryGetValue(color, out texture) || !texture) { + texture = new Texture2D(1, 1); + texture.SetPixel(0, 0, color); + texture.Apply(); + textureColorCache[color] = texture; + } + return texture; + } + + private static readonly Dictionary grayTextureCache = new Dictionary(); + private static readonly Dictionary colorFactor = new Dictionary { + { "error", new Color(0.6f, 0.587f, 0.114f) }, + }; + + internal static Texture2D ConvertToGrayscale(string localIcon) { + Texture2D _texture; + if (!grayTextureCache.TryGetValue(localIcon, out _texture) || !_texture) { + var icon = GUIHelper.GetLocalIcon(localIcon); + // Create a copy of the texture + Texture2D copiedTexture = new Texture2D(icon.width, icon.height, TextureFormat.RGBA32, false); + + // Convert the copied texture to grayscale + Color[] pixels = icon.GetPixels(); + for (int i = 0; i < pixels.Length; i++) { + Color pixel = pixels[i]; + Color factor; + if (!colorFactor.TryGetValue(localIcon, out factor)) { + factor = new Color(0.299f, 0.587f, 0.114f); + } + float grayscale = factor.r * pixel.r + factor.g * pixel.g + factor.b * pixel.b; + pixels[i] = new Color(grayscale, grayscale, grayscale, pixel.a); // Preserve alpha channel + } + copiedTexture.SetPixels(pixels); + copiedTexture.Apply(); + + // Store the grayscale texture in the cache + grayTextureCache[localIcon] = copiedTexture; + + return copiedTexture; + } + return _texture; + } + } +} diff --git a/Packages/com.singularitygroup.hotreload/Editor/Helpers/GUIHelper.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/Helpers/GUIHelper.cs.meta new file mode 100644 index 0000000..9d9c8c5 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Helpers/GUIHelper.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: b4be912211814333ab61898b6440dc8e +timeCreated: 1694518358 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/Helpers/GUIHelper.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Helpers/HotReloadSuggestionsHelper.cs b/Packages/com.singularitygroup.hotreload/Editor/Helpers/HotReloadSuggestionsHelper.cs new file mode 100644 index 0000000..1f606ee --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Helpers/HotReloadSuggestionsHelper.cs @@ -0,0 +1,584 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using SingularityGroup.HotReload.DTO; +using SingularityGroup.HotReload.Localization; +using UnityEditor; +using UnityEditor.Compilation; +using UnityEditor.PackageManager; +using UnityEditor.PackageManager.Requests; +using UnityEngine; +using Translations = SingularityGroup.HotReload.Editor.Localization.Translations; + +namespace SingularityGroup.HotReload.Editor { + + internal static class HotReloadSuggestionsHelper { + internal static void SetSuggestionsShown(HotReloadSuggestionKind hotReloadSuggestionKind) { + if (MultiplayerPlaymodeHelper.IsClone) { + return; + } + if (EditorPrefs.GetBool($"HotReloadWindow.SuggestionsShown.{hotReloadSuggestionKind}")) { + return; + } + EditorPrefs.SetBool($"HotReloadWindow.SuggestionsActive.{hotReloadSuggestionKind}", true); + EditorPrefs.SetBool($"HotReloadWindow.SuggestionsShown.{hotReloadSuggestionKind}", true); + AlertEntry entry; + if (suggestionMap.TryGetValue(hotReloadSuggestionKind, out entry) && !HotReloadTimelineHelper.Suggestions.Contains(entry)) { + HotReloadTimelineHelper.Suggestions.Insert(0, entry); + HotReloadState.ShowingRedDot = true; + } + } + + internal static bool CheckSuggestionActive(HotReloadSuggestionKind hotReloadSuggestionKind) { + return EditorPrefs.GetBool($"HotReloadWindow.SuggestionsActive.{hotReloadSuggestionKind}"); + } + + internal static bool CheckSuggestionShown(HotReloadSuggestionKind hotReloadSuggestionKind) { + return EditorPrefs.GetBool($"HotReloadWindow.SuggestionsShown.{hotReloadSuggestionKind}"); + } + + internal static bool CanShowServerSuggestion(HotReloadSuggestionKind hotReloadSuggestionKind) { + if (hotReloadSuggestionKind == HotReloadSuggestionKind.FieldInitializerWithSideEffects) { + return !HotReloadState.ShowedFieldInitializerWithSideEffects; + } else if (hotReloadSuggestionKind == HotReloadSuggestionKind.FieldInitializerExistingInstancesEdited) { + return !HotReloadState.ShowedFieldInitializerExistingInstancesEdited; + } else if (hotReloadSuggestionKind == HotReloadSuggestionKind.FieldInitializerExistingInstancesUnedited) { + return !HotReloadState.ShowedFieldInitializerExistingInstancesUnedited; + } else if (hotReloadSuggestionKind == HotReloadSuggestionKind.AddMonobehaviourMethod) { + return !HotReloadState.ShowedAddMonobehaviourMethods; + } else if (hotReloadSuggestionKind == HotReloadSuggestionKind.DetailedErrorReportingIsEnabled) { + return !CheckSuggestionShown(HotReloadSuggestionKind.DetailedErrorReportingIsEnabled); + } else if (hotReloadSuggestionKind == HotReloadSuggestionKind.UTF8EncodingRequired) { + return true; + } + return false; + } + + internal static void SetServerSuggestionShown(HotReloadSuggestionKind hotReloadSuggestionKind) { + if (MultiplayerPlaymodeHelper.IsClone) { + return; + } + if (hotReloadSuggestionKind == HotReloadSuggestionKind.DetailedErrorReportingIsEnabled) { + HotReloadSuggestionsHelper.SetSuggestionsShown(hotReloadSuggestionKind); + return; + } + if (hotReloadSuggestionKind == HotReloadSuggestionKind.FieldInitializerWithSideEffects) { + HotReloadState.ShowedFieldInitializerWithSideEffects = true; + } else if (hotReloadSuggestionKind == HotReloadSuggestionKind.FieldInitializerExistingInstancesEdited) { + HotReloadState.ShowedFieldInitializerExistingInstancesEdited = true; + } else if (hotReloadSuggestionKind == HotReloadSuggestionKind.FieldInitializerExistingInstancesUnedited) { + HotReloadState.ShowedFieldInitializerExistingInstancesUnedited = true; + } else if (hotReloadSuggestionKind == HotReloadSuggestionKind.AddMonobehaviourMethod) { + HotReloadState.ShowedAddMonobehaviourMethods = true; + } else if (hotReloadSuggestionKind == HotReloadSuggestionKind.UTF8EncodingRequired) { + // Allow showing it multiple times + } else { + return; + } + HotReloadSuggestionsHelper.SetSuggestionActive(hotReloadSuggestionKind); + } + + // used for cases where suggestion might need to be shown more than once + internal static void SetSuggestionActive(HotReloadSuggestionKind hotReloadSuggestionKind) { + if (MultiplayerPlaymodeHelper.IsClone) { + return; + } + if (EditorPrefs.GetBool($"HotReloadWindow.SuggestionsShown.{hotReloadSuggestionKind}")) { + return; + } + EditorPrefs.SetBool($"HotReloadWindow.SuggestionsActive.{hotReloadSuggestionKind}", true); + + AlertEntry entry; + if (suggestionMap.TryGetValue(hotReloadSuggestionKind, out entry) && !HotReloadTimelineHelper.Suggestions.Contains(entry)) { + HotReloadTimelineHelper.Suggestions.Insert(0, entry); + HotReloadState.ShowingRedDot = true; + } + } + + internal static void SetSuggestionInactive(HotReloadSuggestionKind hotReloadSuggestionKind) { + if (MultiplayerPlaymodeHelper.IsClone) { + return; + } + EditorPrefs.SetBool($"HotReloadWindow.SuggestionsActive.{hotReloadSuggestionKind}", false); + AlertEntry entry; + if (suggestionMap.TryGetValue(hotReloadSuggestionKind, out entry)) { + HotReloadTimelineHelper.Suggestions.Remove(entry); + } + } + + private static void InitSuggestions() { + foreach (HotReloadSuggestionKind value in Enum.GetValues(typeof(HotReloadSuggestionKind))) { + if (!CheckSuggestionActive(value)) { + continue; + } + AlertEntry entry; + if (suggestionMap.TryGetValue(value, out entry) && !HotReloadTimelineHelper.Suggestions.Contains(entry)) { + HotReloadTimelineHelper.Suggestions.Insert(0, entry); + } + } + } + + internal static HotReloadSuggestionKind? FindSuggestionKind(AlertEntry targetEntry) { + foreach (KeyValuePair pair in suggestionMap) { + if (pair.Value.Equals(targetEntry)) { + return pair.Key; + } + } + return null; + } + + internal static readonly OpenURLButton recompileTroubleshootingButton = new OpenURLButton(Translations.Suggestions.ButtonDocs, Constants.RecompileTroubleshootingURL); + internal static readonly OpenURLButton featuresDocumentationButton = new OpenURLButton(Translations.Suggestions.ButtonDocs, Constants.FeaturesDocumentationURL); + internal static readonly OpenURLButton multipleEditorsDocumentationButton = new OpenURLButton(Translations.Suggestions.ButtonDocs, Constants.MultipleEditorsURL); + internal static readonly OpenURLButton debuggerDocumentationButton = new OpenURLButton(Translations.Suggestions.ButtonMoreInfo, Constants.DebuggerURL); + public static Dictionary suggestionMap = new Dictionary { + { HotReloadSuggestionKind.UnityBestDevelopmentToolAward2023, new AlertEntry( + AlertType.Suggestion, + Translations.Suggestions.Award2023Title, + Translations.Suggestions.Award2023Message, + actionData: () => { + GUILayout.Space(6f); + using (new EditorGUILayout.HorizontalScope()) { + if (GUILayout.Button(Translations.Suggestions.ButtonVote)) { + Application.OpenURL(Constants.VoteForAwardURL); + SetSuggestionInactive(HotReloadSuggestionKind.UnityBestDevelopmentToolAward2023); + } + GUILayout.FlexibleSpace(); + } + }, + timestamp: DateTime.Now, + entryType: EntryType.Foldout + )}, + { HotReloadSuggestionKind.UnsupportedChanges, new AlertEntry( + AlertType.Suggestion, + Translations.Suggestions.UnsupportedChangesTitle, + Translations.Suggestions.UnsupportedChangesMessage, + actionData: () => { + GUILayout.Space(10f); + using (new EditorGUILayout.HorizontalScope()) { + featuresDocumentationButton.OnGUI(); + GUILayout.FlexibleSpace(); + } + }, + timestamp: DateTime.Now, + entryType: EntryType.Foldout + )}, + { HotReloadSuggestionKind.UnsupportedPackages, new AlertEntry( + AlertType.Suggestion, + Translations.Suggestions.UnsupportedPackagesTitle, + Translations.Suggestions.UnsupportedPackagesMessage, + iconType: AlertType.UnsupportedChange, + actionData: () => { + GUILayout.Space(10f); + using (new EditorGUILayout.HorizontalScope()) { + HotReloadAboutTab.contactButton.OnGUI(); + GUILayout.FlexibleSpace(); + } + }, + timestamp: DateTime.Now, + entryType: EntryType.Foldout + )}, + { HotReloadSuggestionKind.AutoRecompiledWhenPlaymodeStateChanges, new AlertEntry( + AlertType.Suggestion, + Translations.Suggestions.AutoRecompiledPlaymodeTitle, + Translations.Suggestions.AutoRecompiledPlaymodeMessage, + actionData: () => { + GUILayout.Space(10f); + using (new EditorGUILayout.HorizontalScope()) { + recompileTroubleshootingButton.OnGUI(); + GUILayout.Space(5f); + HotReloadAboutTab.discordButton.OnGUI(); + GUILayout.Space(5f); + HotReloadAboutTab.contactButton.OnGUI(); + GUILayout.FlexibleSpace(); + } + }, + timestamp: DateTime.Now, + entryType: EntryType.Foldout + )}, +#if UNITY_2022_1_OR_NEWER + { HotReloadSuggestionKind.AutoRecompiledWhenPlaymodeStateChanges2022, new AlertEntry( + AlertType.Suggestion, + Translations.Suggestions.AutoRecompiled2022Title, + Translations.Suggestions.AutoRecompiled2022Message, + iconType: AlertType.UnsupportedChange, + actionData: () => { + GUILayout.Space(10f); + using (new EditorGUILayout.HorizontalScope()) { + if (GUILayout.Button(Translations.Suggestions.ButtonUseBuildTimeOnlyAtlas)) { + if (EditorSettings.spritePackerMode == SpritePackerMode.SpriteAtlasV2) { + EditorSettings.spritePackerMode = SpritePackerMode.SpriteAtlasV2Build; + } else { + EditorSettings.spritePackerMode = SpritePackerMode.BuildTimeOnlyAtlas; + } + } + if (GUILayout.Button(Translations.Suggestions.ButtonOpenSettings)) { + SettingsService.OpenProjectSettings("Project/Editor"); + } + if (GUILayout.Button(Translations.Suggestions.ButtonIgnoreSuggestion)) { + SetSuggestionInactive(HotReloadSuggestionKind.AutoRecompiledWhenPlaymodeStateChanges2022); + } + + GUILayout.FlexibleSpace(); + } + }, + timestamp: DateTime.Now, + entryType: EntryType.Foldout, + hasExitButton: false + )}, +#endif + { HotReloadSuggestionKind.MultidimensionalArrays, new AlertEntry( + AlertType.Suggestion, + Translations.Suggestions.MultidimensionalArraysTitle, + Translations.Suggestions.MultidimensionalArraysMessage, + iconType: AlertType.UnsupportedChange, + actionData: () => { + GUILayout.Space(10f); + using (new EditorGUILayout.HorizontalScope()) { + if (GUILayout.Button(Translations.Suggestions.ButtonLearnMore)) { + string url; + if (PackageConst.DefaultLocaleField == Locale.SimplifiedChinese) { + url = "https://learn.microsoft.com/zh-cn/dotnet/fundamentals/code-analysis/quality-rules/ca1814"; + } else { + url = "https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/quality-rules/ca1814"; + } + Application.OpenURL(url); + } + GUILayout.FlexibleSpace(); + } + }, + timestamp: DateTime.Now, + entryType: EntryType.Foldout + )}, + { HotReloadSuggestionKind.EditorsWithoutHRRunning, new AlertEntry( + AlertType.Suggestion, + Translations.Suggestions.EditorsWithoutHRTitle, + Translations.Suggestions.EditorsWithoutHRMessage, + actionData: () => { + GUILayout.Space(10f); + using (new EditorGUILayout.HorizontalScope()) { + if (GUILayout.Button(Translations.Suggestions.ButtonStopHotReload)) { + EditorCodePatcher.StopCodePatcher().Forget(); + } + GUILayout.Space(5f); + + multipleEditorsDocumentationButton.OnGUI(); + GUILayout.Space(5f); + + if (GUILayout.Button(Translations.Suggestions.ButtonDontShowAgain)) { + HotReloadSuggestionsHelper.SetSuggestionsShown(HotReloadSuggestionKind.EditorsWithoutHRRunning); + HotReloadSuggestionsHelper.SetSuggestionInactive(HotReloadSuggestionKind.EditorsWithoutHRRunning); + } + GUILayout.FlexibleSpace(); + GUILayout.FlexibleSpace(); + } + }, + timestamp: DateTime.Now, + entryType: EntryType.Foldout, + iconType: AlertType.UnsupportedChange + )}, + // Not in use (never reported from the server) + { HotReloadSuggestionKind.FieldInitializerWithSideEffects, new AlertEntry( + AlertType.Suggestion, + Translations.Suggestions.FieldInitializerSideEffectsTitle, + Translations.Suggestions.FieldInitializerSideEffectsMessage, + actionData: () => { + GUILayout.Space(10f); + using (new EditorGUILayout.HorizontalScope()) { + if (GUILayout.Button(Translations.Suggestions.ButtonOK)) { + SetSuggestionInactive(HotReloadSuggestionKind.FieldInitializerWithSideEffects); + } + GUILayout.FlexibleSpace(); + if (GUILayout.Button(Translations.Suggestions.ButtonDontShowAgain)) { + SetSuggestionsShown(HotReloadSuggestionKind.FieldInitializerWithSideEffects); + SetSuggestionInactive(HotReloadSuggestionKind.FieldInitializerWithSideEffects); + } + } + }, + timestamp: DateTime.Now, + entryType: EntryType.Foldout, + iconType: AlertType.Suggestion + )}, + { HotReloadSuggestionKind.DetailedErrorReportingIsEnabled, new AlertEntry( + AlertType.Suggestion, + Translations.Suggestions.DetailedErrorReportingTitle, + Translations.Suggestions.DetailedErrorReportingMessage, + actionData: () => { + GUILayout.Space(10f); + using (new EditorGUILayout.HorizontalScope()) { + GUILayout.Space(4f); + if (GUILayout.Button(Translations.Suggestions.ButtonOKPadded)) { + SetSuggestionInactive(HotReloadSuggestionKind.DetailedErrorReportingIsEnabled); + } + GUILayout.FlexibleSpace(); + if (GUILayout.Button(Translations.Suggestions.ButtonDisable)) { + HotReloadSettingsTab.DisableDetailedErrorReportingInner(true); + SetSuggestionInactive(HotReloadSuggestionKind.DetailedErrorReportingIsEnabled); + } + GUILayout.Space(10f); + } + }, + timestamp: DateTime.Now, + entryType: EntryType.Foldout, + iconType: AlertType.Suggestion + )}, + // Not in use (never reported from the server) + { HotReloadSuggestionKind.FieldInitializerExistingInstancesEdited, new AlertEntry( + AlertType.Suggestion, + Translations.Suggestions.FieldInitializerEditedTitle, + Translations.Suggestions.FieldInitializerEditedMessage, + actionData: () => { + GUILayout.Space(10f); + using (new EditorGUILayout.HorizontalScope()) { + if (GUILayout.Button(Translations.Suggestions.ButtonTurnOff)) { + #pragma warning disable CS0618 + HotReloadSettingsTab.ApplyApplyFieldInitializerEditsToExistingClassInstances(false); + #pragma warning restore CS0618 + SetSuggestionInactive(HotReloadSuggestionKind.FieldInitializerExistingInstancesEdited); + } + if (GUILayout.Button(Translations.Suggestions.ButtonOpenSettings)) { + HotReloadWindow.Current.SelectTab(typeof(HotReloadSettingsTab)); + } + GUILayout.FlexibleSpace(); + if (GUILayout.Button(Translations.Suggestions.ButtonDontShowAgain)) { + SetSuggestionsShown(HotReloadSuggestionKind.FieldInitializerExistingInstancesEdited); + SetSuggestionInactive(HotReloadSuggestionKind.FieldInitializerExistingInstancesEdited); + } + } + }, + timestamp: DateTime.Now, + entryType: EntryType.Foldout, + iconType: AlertType.Suggestion + )}, + { HotReloadSuggestionKind.FieldInitializerExistingInstancesUnedited, new AlertEntry( + AlertType.Suggestion, + Translations.Suggestions.FieldInitializerUneditedTitle, + Translations.Suggestions.FieldInitializerUneditedMessage, + actionData: () => { + GUILayout.Space(8f); + using (new EditorGUILayout.HorizontalScope()) { + if (GUILayout.Button(Translations.Suggestions.ButtonOK)) { + SetSuggestionsShown(HotReloadSuggestionKind.FieldInitializerExistingInstancesUnedited); + SetSuggestionInactive(HotReloadSuggestionKind.FieldInitializerExistingInstancesUnedited); + } + GUILayout.FlexibleSpace(); + } + }, + timestamp: DateTime.Now, + entryType: EntryType.Foldout, + iconType: AlertType.Suggestion + )}, + { HotReloadSuggestionKind.AddMonobehaviourMethod, new AlertEntry( + AlertType.Suggestion, + Translations.Suggestions.AddMonobehaviourMethodTitle, + Translations.Suggestions.AddMonobehaviourMethodMessage, + actionData: () => { + GUILayout.Space(8f); + using (new EditorGUILayout.HorizontalScope()) { + if (GUILayout.Button(Translations.Suggestions.ButtonOK)) { + SetSuggestionInactive(HotReloadSuggestionKind.AddMonobehaviourMethod); + } + if (GUILayout.Button(Translations.Suggestions.ButtonAutoRecompile)) { + SetSuggestionInactive(HotReloadSuggestionKind.AddMonobehaviourMethod); + HotReloadPrefs.AutoRecompilePartiallyUnsupportedChanges = true; + HotReloadPrefs.DisplayNewMonobehaviourMethodsAsPartiallySupported = true; + HotReloadRunTab.RecompileWithChecks(); + } + GUILayout.FlexibleSpace(); + if (GUILayout.Button(Translations.Suggestions.ButtonDontShowAgain)) { + SetSuggestionsShown(HotReloadSuggestionKind.AddMonobehaviourMethod); + SetSuggestionInactive(HotReloadSuggestionKind.AddMonobehaviourMethod); + } + } + }, + timestamp: DateTime.Now, + entryType: EntryType.Foldout, + iconType: AlertType.Suggestion + )}, +#if UNITY_2020_1_OR_NEWER + { HotReloadSuggestionKind.SwitchToDebugModeForInlinedMethods, new AlertEntry( + AlertType.Suggestion, + Translations.Suggestions.SwitchToDebugModeTitle, + Translations.Suggestions.SwitchToDebugModeMessage, + actionData: () => { + GUILayout.Space(10f); + using (new EditorGUILayout.HorizontalScope()) { + if (GUILayout.Button(Translations.Suggestions.ButtonSwitchToDebugMode) && HotReloadRunTab.ConfirmExitPlaymode(Translations.Suggestions.SwitchToDebugModeConfirmation)) { + HotReloadRunTab.SwitchToDebugMode(); + } + GUILayout.FlexibleSpace(); + } + }, + timestamp: DateTime.Now, + entryType: EntryType.Foldout, + iconType: AlertType.UnsupportedChange + )}, +#endif + { HotReloadSuggestionKind.HotReloadWhileDebuggerIsAttached, new AlertEntry( + AlertType.Suggestion, + Translations.Suggestions.DebuggerAttachedTitle, + Translations.Suggestions.DebuggerAttachedMessagePaused, + actionData: () => { + GUILayout.Space(8f); + using (new EditorGUILayout.HorizontalScope()) { + if (GUILayout.Button(Translations.Suggestions.ButtonKeepEnabledDuringDebugging)) { + SetSuggestionInactive(HotReloadSuggestionKind.HotReloadWhileDebuggerIsAttached); + HotReloadPrefs.AutoDisableHotReloadWithDebugger = false; + } + GUILayout.FlexibleSpace(); + debuggerDocumentationButton.OnGUI(); + if (GUILayout.Button(Translations.Suggestions.ButtonDontShowAgain)) { + SetSuggestionsShown(HotReloadSuggestionKind.HotReloadWhileDebuggerIsAttached); + SetSuggestionInactive(HotReloadSuggestionKind.HotReloadWhileDebuggerIsAttached); + } + } + }, + timestamp: DateTime.Now, + entryType: EntryType.Foldout, + iconType: AlertType.Suggestion + )}, + { HotReloadSuggestionKind.HotReloadedMethodsWhenDebuggerIsAttached, new AlertEntry( + AlertType.Suggestion, + Translations.Suggestions.DebuggerMethodsTitle, + Translations.Suggestions.DebuggerMethodsMessage, + actionData: () => { + GUILayout.Space(8f); + using (new EditorGUILayout.HorizontalScope()) { + if (GUILayout.Button(Translations.Suggestions.ButtonRecompile)) { + SetSuggestionInactive(HotReloadSuggestionKind.HotReloadedMethodsWhenDebuggerIsAttached); + if (HotReloadRunTab.ConfirmExitPlaymode(Translations.Suggestions.DebuggerMethodsConfirmation)) { + HotReloadRunTab.Recompile(); + } + } + GUILayout.FlexibleSpace(); + debuggerDocumentationButton.OnGUI(); + GUILayout.Space(8f); + } + }, + timestamp: DateTime.Now, + entryType: EntryType.Foldout, + iconType: AlertType.UnsupportedChange, + hasExitButton: false + )}, + { HotReloadSuggestionKind.UTF8EncodingRequired, new AlertEntry( + AlertType.Suggestion, + Translations.Suggestions.UTF8EncodingRequiredTitle, + Translations.Suggestions.UTF8EncodingRequiredMessage, + actionData: () => { + GUILayout.Space(8f); + using (new EditorGUILayout.HorizontalScope()) { + if (GUILayout.Button(Translations.Suggestions.ButtonOK)) { + SetSuggestionInactive(HotReloadSuggestionKind.UTF8EncodingRequired); + } + GUILayout.FlexibleSpace(); + } + }, + timestamp: DateTime.Now, + entryType: EntryType.Foldout, + iconType: AlertType.UnsupportedChange, + hasExitButton: false + )}, + }; + + static ListRequest listRequest; + static string[] unsupportedPackages = new[] { + "com.unity.entities", + "com.firstgeargames.fishnet", + }; + static List unsupportedPackagesList; + static DateTime lastPlaymodeChange; + + public static void Init() { + if (MultiplayerPlaymodeHelper.IsClone) { + return; + } + listRequest = Client.List(offlineMode: false, includeIndirectDependencies: true); + + EditorApplication.playModeStateChanged += state => { + lastPlaymodeChange = DateTime.UtcNow; + }; + CompilationPipeline.compilationStarted += obj => { + if (DateTime.UtcNow - lastPlaymodeChange < TimeSpan.FromSeconds(1) && !HotReloadState.RecompiledUnsupportedChangesOnExitPlaymode) { + +#if UNITY_2022_1_OR_NEWER + SetSuggestionsShown(HotReloadSuggestionKind.AutoRecompiledWhenPlaymodeStateChanges2022); +#else + SetSuggestionsShown(HotReloadSuggestionKind.AutoRecompiledWhenPlaymodeStateChanges); +#endif + } + HotReloadState.RecompiledUnsupportedChangesOnExitPlaymode = false; + }; + InitSuggestions(); + } + + private static DateTime lastCheckedUnityInstances = DateTime.UtcNow; + public static void Check() { + if (MultiplayerPlaymodeHelper.IsClone) { + return; + } + if (listRequest.IsCompleted && + unsupportedPackagesList == null) + { + unsupportedPackagesList = new List(); + if (listRequest.Result != null) { + foreach (var packageInfo in listRequest.Result) { + if (unsupportedPackages.Contains(packageInfo.name)) { + unsupportedPackagesList.Add(packageInfo.name); + } + } + } + if (unsupportedPackagesList.Count > 0) { + SetSuggestionsShown(HotReloadSuggestionKind.UnsupportedPackages); + } + } + + CheckEditorsWithoutHR(); + +#if UNITY_2022_1_OR_NEWER + if (EditorSettings.spritePackerMode == SpritePackerMode.AlwaysOnAtlas || EditorSettings.spritePackerMode == SpritePackerMode.SpriteAtlasV2) { + SetSuggestionsShown(HotReloadSuggestionKind.AutoRecompiledWhenPlaymodeStateChanges2022); + } else if (CheckSuggestionActive(HotReloadSuggestionKind.AutoRecompiledWhenPlaymodeStateChanges2022)) { + SetSuggestionInactive(HotReloadSuggestionKind.AutoRecompiledWhenPlaymodeStateChanges2022); + EditorPrefs.SetBool($"HotReloadWindow.SuggestionsShown.{HotReloadSuggestionKind.AutoRecompiledWhenPlaymodeStateChanges2022}", false); + } +#endif + } + + private static void CheckEditorsWithoutHR() { + if (!ServerHealthCheck.I.IsServerHealthy) { + HotReloadSuggestionsHelper.SetSuggestionInactive(HotReloadSuggestionKind.EditorsWithoutHRRunning); + return; + } + if (checkingEditorsWihtoutHR || + (DateTime.UtcNow - lastCheckedUnityInstances).TotalSeconds < 5) + { + return; + } + CheckEditorsWithoutHRAsync().Forget(); + } + + + static bool checkingEditorsWihtoutHR; + private static async Task CheckEditorsWithoutHRAsync() { + try { + checkingEditorsWihtoutHR = true; + var editorsWithoutHr = await RequestHelper.RequestEditorsWithoutHRRunning(); + if (editorsWithoutHr == null) { + return; + } + var showSuggestion = editorsWithoutHr.editorsWithoutHRRunning; + if (!showSuggestion) { + HotReloadSuggestionsHelper.SetSuggestionInactive(HotReloadSuggestionKind.EditorsWithoutHRRunning); + return; + } + if (!HotReloadState.ShowedEditorsWithoutHR && ServerHealthCheck.I.IsServerHealthy) { + HotReloadSuggestionsHelper.SetSuggestionActive(HotReloadSuggestionKind.EditorsWithoutHRRunning); + } + } finally { + checkingEditorsWihtoutHR = false; + lastCheckedUnityInstances = DateTime.UtcNow; + } + } + } +} diff --git a/Packages/com.singularitygroup.hotreload/Editor/Helpers/HotReloadSuggestionsHelper.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/Helpers/HotReloadSuggestionsHelper.cs.meta new file mode 100644 index 0000000..c6bf412 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Helpers/HotReloadSuggestionsHelper.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 9cc471e812b143599ef5dde1d7ec022a +timeCreated: 1694632601 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/Helpers/HotReloadSuggestionsHelper.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Helpers/HotReloadTimelineHelper.cs b/Packages/com.singularitygroup.hotreload/Editor/Helpers/HotReloadTimelineHelper.cs new file mode 100644 index 0000000..312e2cb --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Helpers/HotReloadTimelineHelper.cs @@ -0,0 +1,608 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text.RegularExpressions; +using System.Threading.Tasks; +using JetBrains.Annotations; +using SingularityGroup.HotReload.DTO; +using SingularityGroup.HotReload.Localization; +using SingularityGroup.HotReload.Newtonsoft.Json; +using UnityEditor; +using UnityEngine; +using Translations = SingularityGroup.HotReload.Editor.Localization.Translations; + +namespace SingularityGroup.HotReload.Editor { + internal enum TimelineType { + Suggestions, + Timeline, + } + + internal enum AlertType { + Suggestion, + UnsupportedChange, + CompileError, + PartiallySupportedChange, + AppliedChange, + UndetectedChange, + } + + internal enum AlertEntryType { + Error, + Failure, + InlinedMethod, + PatchApplied, + PartiallySupportedChange, + UndetectedChange, + } + + internal enum EntryType { + Parent, + Child, + Standalone, + Foldout, + } + + internal class PersistedAlertData { + public readonly AlertData[] alertDatas; + + public PersistedAlertData(AlertData[] alertDatas) { + this.alertDatas = alertDatas; + } + } + + internal class AlertData { + public readonly AlertEntryType alertEntryType; + public readonly string errorString; + public readonly string methodName; + public readonly string methodSimpleName; + public readonly PartiallySupportedChange partiallySupportedChange; + public readonly EntryType entryType; + public readonly bool detiled; + public readonly DateTime createdAt; + public readonly string[] patchedMembersDisplayNames; + + public AlertData(AlertEntryType alertEntryType, DateTime createdAt, bool detiled = false, EntryType entryType = EntryType.Standalone, string errorString = null, string methodName = null, string methodSimpleName = null, PartiallySupportedChange partiallySupportedChange = default(PartiallySupportedChange), string[] patchedMembersDisplayNames = null) { + this.alertEntryType = alertEntryType; + this.createdAt = createdAt; + this.detiled = detiled; + this.entryType = entryType; + this.errorString = errorString; + this.methodName = methodName; + this.methodSimpleName = methodSimpleName; + this.partiallySupportedChange = partiallySupportedChange; + this.patchedMembersDisplayNames = patchedMembersDisplayNames; + } + } + + internal class AlertEntry { + internal readonly AlertType alertType; + internal readonly string title; + internal readonly DateTime timestamp; + internal readonly string description; + [CanBeNull] internal readonly Action actionData; + internal readonly AlertType iconType; + internal readonly string shortDescription; + internal readonly EntryType entryType; + internal readonly AlertData alertData; + internal readonly bool hasExitButton; + + internal AlertEntry(AlertType alertType, string title, string description, DateTime timestamp, string shortDescription = null, Action actionData = null, AlertType? iconType = null, EntryType entryType = EntryType.Standalone, AlertData alertData = default(AlertData), bool hasExitButton = true) { + this.alertType = alertType; + this.title = title; + this.description = description; + this.shortDescription = shortDescription; + this.actionData = actionData; + this.iconType = iconType ?? alertType; + this.timestamp = timestamp; + this.entryType = entryType; + this.alertData = alertData; + this.hasExitButton = hasExitButton; + } + } + + internal static class HotReloadTimelineHelper { + internal const int maxVisibleEntries = 40; + + private static List eventsTimeline = new List(); + internal static List EventsTimeline => eventsTimeline; + + static readonly string filePath = Path.Combine(PackageConst.LibraryCachePath, "eventEntries.json"); + + public static async Task InitPersistedEvents() { + if (MultiplayerPlaymodeHelper.IsClone) { + return; + } + if (!File.Exists(filePath)) { + return; + } + var redDotShown = HotReloadState.ShowingRedDot; + try { + var persistedAlertData = await Task.Run(() => JsonConvert.DeserializeObject(File.ReadAllText(filePath))); + eventsTimeline = new List(persistedAlertData.alertDatas.Length); + for (int i = persistedAlertData.alertDatas.Length - 1; i >= 0; i--) { + AlertData alertData = persistedAlertData.alertDatas[i]; + switch (alertData.alertEntryType) { + case AlertEntryType.Error: + CreateErrorEventEntry(errorString: alertData.errorString, entryType: alertData.entryType, createdAt: alertData.createdAt); + break; +#if UNITY_2020_1_OR_NEWER + case AlertEntryType.InlinedMethod: + CreateInlinedMethodsEntry(alertData.patchedMembersDisplayNames, alertData.entryType, alertData.createdAt); + break; +#endif + case AlertEntryType.Failure: + if (alertData.entryType == EntryType.Parent) { + CreateReloadFinishedWithWarningsEventEntry(createdAt: alertData.createdAt, patchedMembersDisplayNames: alertData.patchedMembersDisplayNames); + } else { + CreatePatchFailureEventEntry(errorString: alertData.errorString, methodName: alertData.methodName, methodSimpleName: alertData.methodSimpleName, entryType: alertData.entryType, createdAt: alertData.createdAt); + } + break; + case AlertEntryType.PatchApplied: + CreateReloadFinishedEventEntry( + createdAt: alertData.createdAt, + patchedMethodsDisplayNames: alertData.patchedMembersDisplayNames + ); + break; + case AlertEntryType.PartiallySupportedChange: + if (alertData.entryType == EntryType.Parent) { + CreateReloadPartiallyAppliedEventEntry(createdAt: alertData.createdAt, patchedMethodsDisplayNames: alertData.patchedMembersDisplayNames); + } else { + CreatePartiallyAppliedEventEntry(alertData.partiallySupportedChange, entryType: alertData.entryType, detailed: alertData.detiled, createdAt: alertData.createdAt); + } + break; + case AlertEntryType.UndetectedChange: + CreateReloadUndetectedChangeEventEntry(createdAt: alertData.createdAt); + break; + } + } + } catch (Exception e) { + Log.Warning(Translations.Errors.WarningInitializingEventEntries, e); + } finally { + // Ensure red dot is not triggered for existing entries + HotReloadState.ShowingRedDot = redDotShown; + } + } + + internal static async Task PersistTimeline() { + if (MultiplayerPlaymodeHelper.IsClone) { + return; + } + var persistedData = new PersistedAlertData(eventsTimeline.Where(x => x.alertType != AlertType.CompileError).Select(x => x.alertData).ToArray()); + try { + await Task.Run(() => File.WriteAllText(path: filePath, contents: JsonConvert.SerializeObject(persistedData))); + } catch (Exception e) { + Log.Warning(Translations.Errors.WarningPersistingEventEntries, e); + } + } + + internal static void ClearPersistance() { + if (MultiplayerPlaymodeHelper.IsClone) { + return; + } + Task.Run(() => File.Delete(filePath)); + eventsTimeline = new List(); + } + + internal static readonly Dictionary alertIconString = new Dictionary { + { AlertType.Suggestion, "alert_info" }, + { AlertType.UnsupportedChange, "warning" }, + { AlertType.CompileError, "error" }, + { AlertType.PartiallySupportedChange, "infos" }, + { AlertType.AppliedChange, "applied_patch" }, + { AlertType.UndetectedChange, "undetected" }, + }; + +#pragma warning disable CS0612 // obsolete + public static Dictionary partiallySupportedChangeDescriptions => new Dictionary { + {PartiallySupportedChange.LambdaClosure, Translations.Timeline.PartiallySupportedLambdaClosure}, + {PartiallySupportedChange.EditAsyncMethod, Translations.Timeline.PartiallySupportedEditAsyncMethod}, + {PartiallySupportedChange.AddMonobehaviourMethod, Translations.Timeline.PartiallySupportedAddMonobehaviourMethod}, + {PartiallySupportedChange.EditMonobehaviourField, Translations.Timeline.PartiallySupportedEditMonobehaviourField}, + {PartiallySupportedChange.EditCoroutine, Translations.Timeline.PartiallySupportedEditCoroutine}, + {PartiallySupportedChange.EditGenericFieldInitializer, Translations.Timeline.PartiallySupportedEditGenericFieldInitializer}, + {PartiallySupportedChange.AddEnumMember, Translations.Timeline.PartiallySupportedAddEnumMember}, + {PartiallySupportedChange.EditFieldInitializer, Translations.Timeline.PartiallySupportedEditFieldInitializer}, + {PartiallySupportedChange.AddMethodWithAttributes, Translations.Timeline.PartiallySupportedAddMethodWithAttributes}, + {PartiallySupportedChange.AddFieldWithAttributes, Translations.Timeline.PartiallySupportedAddFieldWithAttributes}, + {PartiallySupportedChange.GenericMethodInGenericClass, Translations.Timeline.PartiallySupportedGenericMethodInGenericClass}, + {PartiallySupportedChange.NewCustomSerializableField, Translations.Timeline.PartiallySupportedNewCustomSerializableField}, + {PartiallySupportedChange.MultipleFieldsEditedInTheSameType, Translations.Timeline.PartiallySupportedMultipleFieldsEditedInTheSameType}, + }; +#pragma warning restore CS0612 + + internal static List Suggestions = new List(); + internal static int UnsupportedChangesCount => EventsTimeline.Count(alert => alert.alertType == AlertType.UnsupportedChange && alert.entryType != EntryType.Child); + internal static int PartiallySupportedChangesCount => EventsTimeline.Count(alert => alert.alertType == AlertType.PartiallySupportedChange && alert.entryType != EntryType.Child); + internal static int UndetectedChangesCount => EventsTimeline.Count(alert => alert.alertType == AlertType.UndetectedChange && alert.entryType != EntryType.Child); + internal static int CompileErrorsCount => EventsTimeline.Count(alert => alert.alertType == AlertType.CompileError); + internal static int AppliedChangesCount => EventsTimeline.Count(alert => alert.alertType == AlertType.AppliedChange); + + static Regex shortDescriptionRegex = new Regex(PackageConst.DefaultLocale == Locale.SimplifiedChinese ? @"^([\p{L}\p{N}_]+)\s([\p{L}\p{N}_]+)(?=:)" : @"^(\w+)\s(\w+)(?=:)", RegexOptions.Compiled); + + internal static int GetRunTabTimelineEventCount() { + int total = 0; + if (HotReloadPrefs.RunTabUnsupportedChangesFilter) { + total += UnsupportedChangesCount; + } + if (HotReloadPrefs.RunTabPartiallyAppliedPatchesFilter) { + total += PartiallySupportedChangesCount; + } + if (HotReloadPrefs.RunTabUndetectedPatchesFilter) { + total += UndetectedChangesCount; + } + if (HotReloadPrefs.RunTabCompileErrorFilter) { + total += CompileErrorsCount; + } + if (HotReloadPrefs.RunTabAppliedPatchesFilter) { + total += AppliedChangesCount; + } + return total; + } + + internal static List expandedEntries = new List(); + + internal static void RenderCompileButton() { + if (GUILayout.Button(Translations.Common.ButtonRecompile.Trim(), GUILayout.Width(80))) { + HotReloadRunTab.RecompileWithChecks(); + } + } + + private static float maxScrollPos; + internal static void RenderErrorEventActions(string description, ErrorData errorData) { + int maxLen = 2400; + string text = errorData.stacktrace; + if (text.Length > maxLen) { + text = text.Substring(0, maxLen) + "..."; + } + + GUILayout.TextArea(text, HotReloadWindowStyles.StacktraceTextAreaStyle); + + if (errorData.file || !errorData.stacktrace.Contains("error CS")) { + GUILayout.Space(10f); + } + + using (new EditorGUILayout.HorizontalScope()) { + if (!errorData.stacktrace.Contains("error CS")) { + RenderCompileButton(); + } + + // Link + if (errorData.file) { + GUILayout.FlexibleSpace(); + if (GUILayout.Button(errorData.linkString, HotReloadWindowStyles.LinkStyle)) { + AssetDatabase.OpenAsset(errorData.file, Math.Max(errorData.lineNumber, 1)); + } + } + } + } + + private static Texture2D GetFilterIcon(int count, AlertType alertType) { + if (count == 0) { + return GUIHelper.ConvertToGrayscale(alertIconString[alertType]); + } + return GUIHelper.GetLocalIcon(alertIconString[alertType]); + } + + internal static void RenderAlertFilters() { + using (new EditorGUILayout.HorizontalScope()) { + var text = AppliedChangesCount > 999 ? "999+" : " " + AppliedChangesCount; + + HotReloadPrefs.RunTabAppliedPatchesFilter = GUILayout.Toggle( + HotReloadPrefs.RunTabAppliedPatchesFilter, + new GUIContent(text, GetFilterIcon(AppliedChangesCount, AlertType.AppliedChange)), + HotReloadWindowStyles.EventFiltersStyle); + + GUILayout.Space(-1f); + + text = UndetectedChangesCount > 999 ? "999+" : " " + UndetectedChangesCount; + HotReloadPrefs.RunTabUndetectedPatchesFilter = GUILayout.Toggle( + HotReloadPrefs.RunTabUndetectedPatchesFilter, + new GUIContent(text, GetFilterIcon(UnsupportedChangesCount, AlertType.UndetectedChange)), + HotReloadWindowStyles.EventFiltersStyle); + + GUILayout.Space(-1f); + + text = PartiallySupportedChangesCount > 999 ? "999+" : " " + PartiallySupportedChangesCount; + HotReloadPrefs.RunTabPartiallyAppliedPatchesFilter = GUILayout.Toggle( + HotReloadPrefs.RunTabPartiallyAppliedPatchesFilter, + new GUIContent(text, GetFilterIcon(PartiallySupportedChangesCount, AlertType.PartiallySupportedChange)), + HotReloadWindowStyles.EventFiltersStyle); + + GUILayout.Space(-1f); + + text = UnsupportedChangesCount > 999 ? "999+" : " " + UnsupportedChangesCount; + HotReloadPrefs.RunTabUnsupportedChangesFilter = GUILayout.Toggle( + HotReloadPrefs.RunTabUnsupportedChangesFilter, + new GUIContent(text, GetFilterIcon(UnsupportedChangesCount, AlertType.UnsupportedChange)), + HotReloadWindowStyles.EventFiltersStyle); + + GUILayout.Space(-1f); + + text = CompileErrorsCount > 999 ? "999+" : " " + CompileErrorsCount; + HotReloadPrefs.RunTabCompileErrorFilter = GUILayout.Toggle( + HotReloadPrefs.RunTabCompileErrorFilter, + new GUIContent(text, GetFilterIcon(CompileErrorsCount, AlertType.CompileError)), + HotReloadWindowStyles.EventFiltersStyle); + } + } + + internal static void CreateErrorEventEntry(string errorString, EntryType entryType = EntryType.Standalone, DateTime? createdAt = null) { + var timestamp = createdAt ?? DateTime.Now; + var alertType = errorString.Contains("error CS") + ? AlertType.CompileError + : AlertType.UnsupportedChange; + var title = errorString.Contains("error CS") + ? Translations.Utility.CompileError + : Translations.Utility.UnsupportedChange; + ErrorData errorData = ErrorData.GetErrorData(errorString); + var description = errorData.error; + string shortDescription = null; + if (alertType != AlertType.CompileError) { + shortDescription = shortDescriptionRegex.Match(description).Value; + } + Action actionData = () => RenderErrorEventActions(description, errorData); + InsertEntry(new AlertEntry( + timestamp: timestamp, + alertType: alertType, + title: title, + description: description, + shortDescription: shortDescription, + actionData: actionData, + entryType: entryType, + alertData: new AlertData(AlertEntryType.Error, createdAt: timestamp, errorString: errorString, entryType: entryType) + )); + } + +#if UNITY_2020_1_OR_NEWER + internal static void CreateInlinedMethodsEntry(string[] patchedMethodsDisplayNames, EntryType entryType = EntryType.Standalone, DateTime? createdAt = null) { + var truncated = false; + if (patchedMethodsDisplayNames?.Length > 25) { + patchedMethodsDisplayNames = TruncateList(patchedMethodsDisplayNames, 25); + truncated = true; + } + var patchesList = patchedMethodsDisplayNames?.Length > 0 ? string.Join("\n• ", patchedMethodsDisplayNames) : ""; + var timestamp = createdAt ?? DateTime.Now; + var entry = new AlertEntry( + timestamp: timestamp, + alertType : AlertType.UnsupportedChange, + title: Translations.Timeline.EventTitleFailedApplyingPatch, + description: $"{Translations.Timeline.EventDescriptionInlinedMethods}\n\n• {(truncated ? patchesList + "\n..." : patchesList)}", + entryType: EntryType.Parent, + actionData: () => { + GUILayout.Space(10f); + using (new EditorGUILayout.HorizontalScope()) { + RenderCompileButton(); + var suggestion = HotReloadSuggestionsHelper.suggestionMap[HotReloadSuggestionKind.SwitchToDebugModeForInlinedMethods]; + if (suggestion?.actionData != null) { + suggestion.actionData(); + } + } + }, + alertData: new AlertData(AlertEntryType.InlinedMethod, createdAt: timestamp, patchedMembersDisplayNames: patchedMethodsDisplayNames, entryType: EntryType.Parent) + ); + InsertEntry(entry); + if (patchedMethodsDisplayNames?.Length > 0) { + expandedEntries.Add(entry); + } + } +#endif + + internal static void CreatePatchFailureEventEntry(string errorString, string methodName, string methodSimpleName = null, EntryType entryType = EntryType.Standalone, DateTime? createdAt = null) { + var timestamp = createdAt ?? DateTime.Now; + ErrorData errorData = ErrorData.GetErrorData(errorString); + var title = Translations.Timeline.EventTitleFailedApplyingPatch; + Action actionData = () => RenderErrorEventActions(errorData.error, errorData); + InsertEntry(new AlertEntry( + timestamp: timestamp, + alertType : AlertType.UnsupportedChange, + title: title, + description: string.Format(Translations.Timeline.EventDescriptionFailedApplyingPatchTapForMore, title, methodName), + shortDescription: methodSimpleName, + actionData: actionData, + entryType: entryType, + alertData: new AlertData(AlertEntryType.Failure, createdAt: timestamp, errorString: errorString, methodName: methodName, methodSimpleName: methodSimpleName, entryType: entryType) + )); + } + + public static T[] TruncateList(T[] originalList, int len) { + if (originalList.Length <= len) { + return originalList; + } + // Create a new list with a maximum of 25 items + T[] truncatedList = new T[len]; + + for (int i = 0; i < originalList.Length && i < len; i++) { + truncatedList[i] = originalList[i]; + } + + return truncatedList; + } + + internal static void CreateReloadFinishedEventEntry(DateTime? createdAt = null, string[] patchedMethodsDisplayNames = null) { + var truncated = false; + if (patchedMethodsDisplayNames?.Length > 25) { + patchedMethodsDisplayNames = TruncateList(patchedMethodsDisplayNames, 25); + truncated = true; + } + var patchesList = patchedMethodsDisplayNames?.Length > 0 ? string.Join("\n• ", patchedMethodsDisplayNames) : ""; + var timestamp = createdAt ?? DateTime.Now; + var entry = new AlertEntry( + timestamp: timestamp, + alertType: AlertType.AppliedChange, + title: EditorIndicationState.IndicationText[EditorIndicationState.IndicationStatus.Reloaded], + description: patchedMethodsDisplayNames?.Length > 0 + ? $"• {(truncated ? patchesList + "\n..." : patchesList)}" + : Translations.Timeline.EventDescriptionNoIssuesFound, + entryType: patchedMethodsDisplayNames?.Length > 0 ? EntryType.Parent : EntryType.Standalone, + alertData: new AlertData( + AlertEntryType.PatchApplied, + createdAt: timestamp, + entryType: EntryType.Standalone, + patchedMembersDisplayNames: patchedMethodsDisplayNames) + ); + + InsertEntry(entry); + if (patchedMethodsDisplayNames?.Length > 0) { + expandedEntries.Add(entry); + } + } + + internal static void CreateReloadFinishedWithWarningsEventEntry(DateTime? createdAt = null, string[] patchedMembersDisplayNames = null) { + var truncated = false; + if (patchedMembersDisplayNames?.Length > 25) { + patchedMembersDisplayNames = TruncateList(patchedMembersDisplayNames, 25); + truncated = true; + } + var patchesList = patchedMembersDisplayNames?.Length > 0 ? string.Join("\n• ", patchedMembersDisplayNames) : ""; + var timestamp = createdAt ?? DateTime.Now; + var entry = new AlertEntry( + timestamp: timestamp, + alertType: AlertType.UnsupportedChange, + title: EditorIndicationState.IndicationText[EditorIndicationState.IndicationStatus.Unsupported], + description: patchedMembersDisplayNames?.Length > 0 ? $"• {(truncated ? patchesList + "\n...\n\n" + Translations.Timeline.EventDescriptionSeeUnsupportedChangesBelow : patchesList + "\n\n" + Translations.Timeline.EventDescriptionSeeUnsupportedChangesBelow)}" : Translations.Timeline.EventDescriptionSeeDetailedEntriesBelow, + entryType: EntryType.Parent, + alertData: new AlertData(AlertEntryType.Failure, createdAt: timestamp, entryType: EntryType.Parent, patchedMembersDisplayNames: patchedMembersDisplayNames) + ); + InsertEntry(entry); + if (patchedMembersDisplayNames?.Length > 0) { + expandedEntries.Add(entry); + } + } + + internal static void CreateReloadPartiallyAppliedEventEntry(DateTime? createdAt = null, string[] patchedMethodsDisplayNames = null) { + var truncated = false; + if (patchedMethodsDisplayNames?.Length > 25) { + patchedMethodsDisplayNames = TruncateList(patchedMethodsDisplayNames, 25); + truncated = true; + } + var patchesList = patchedMethodsDisplayNames?.Length > 0 ? string.Join("\n• ", patchedMethodsDisplayNames) : ""; + var timestamp = createdAt ?? DateTime.Now; + var entry = new AlertEntry( + timestamp: timestamp, + alertType: AlertType.PartiallySupportedChange, + title: EditorIndicationState.IndicationText[EditorIndicationState.IndicationStatus.PartiallySupported], + description: patchedMethodsDisplayNames?.Length > 0 ? $"• {(truncated ? patchesList + "\n...\n\n" + Translations.Timeline.EventDescriptionSeePartiallyAppliedChangesBelow : patchesList + "\n\n" + Translations.Timeline.EventDescriptionSeePartiallyAppliedChangesBelow)}" : Translations.Timeline.EventDescriptionSeeDetailedEntriesBelow, + entryType: EntryType.Parent, + alertData: new AlertData(AlertEntryType.PartiallySupportedChange, createdAt: timestamp, entryType: EntryType.Parent, patchedMembersDisplayNames: patchedMethodsDisplayNames) + ); + InsertEntry(entry); + if (patchedMethodsDisplayNames?.Length > 0) { + expandedEntries.Add(entry); + } + } + + internal static void CreateReloadUndetectedChangeEventEntry(DateTime? createdAt = null) { + var timestamp = createdAt ?? DateTime.Now; + InsertEntry(new AlertEntry( + timestamp: timestamp, + alertType : AlertType.UndetectedChange, + title: EditorIndicationState.IndicationText[EditorIndicationState.IndicationStatus.Undetected], + description: Translations.Timeline.EventDescriptionUndetectedChange, + actionData: () => { + GUILayout.Space(10f); + using (new EditorGUILayout.HorizontalScope()) { + RenderCompileButton(); + GUILayout.FlexibleSpace(); + OpenURLButton.Render(Translations.Suggestions.ButtonDocs, Constants.UndetectedChangesURL); + GUILayout.Space(10f); + } + }, + entryType: EntryType.Foldout, + alertData: new AlertData(AlertEntryType.UndetectedChange, createdAt: timestamp, entryType: EntryType.Parent) + )); + } + + internal static void CreatePartiallyAppliedEventEntry(PartiallySupportedChange partiallySupportedChange, EntryType entryType = EntryType.Standalone, bool detailed = true, DateTime? createdAt = null) { + var timestamp = createdAt ?? DateTime.Now; + string description; + if (!partiallySupportedChangeDescriptions.TryGetValue(partiallySupportedChange, out description)) { + return; + } + InsertEntry(new AlertEntry( + timestamp: timestamp, + alertType : AlertType.PartiallySupportedChange, + title : detailed ? Translations.Timeline.EventTitleChangePartiallyApplied : ToString(partiallySupportedChange), + description : description, + shortDescription: detailed ? ToString(partiallySupportedChange) : null, + actionData: () => { + GUILayout.Space(10f); + using (new EditorGUILayout.HorizontalScope()) { + RenderCompileButton(); + GUILayout.FlexibleSpace(); + if (GetPartiallySupportedChangePref(partiallySupportedChange)) { + if (GUILayout.Button(Translations.Timeline.ButtonIgnoreEventType, HotReloadWindowStyles.LinkStyle)) { + HidePartiallySupportedChange(partiallySupportedChange); + HotReloadRunTab.RepaintInstant(); + } + } + } + }, + entryType: entryType, + alertData: new AlertData(AlertEntryType.PartiallySupportedChange, createdAt: timestamp, partiallySupportedChange: partiallySupportedChange, entryType: entryType, detiled: detailed) + )); + } + + internal static void InsertEntry(AlertEntry entry) { + eventsTimeline.Insert(0, entry); + if (entry.alertType != AlertType.AppliedChange) { + HotReloadState.ShowingRedDot = true; + } + } + + internal static void ClearEntries() { + eventsTimeline.Clear(); + } + + internal static bool GetPartiallySupportedChangePref(PartiallySupportedChange key) { + return EditorPrefs.GetBool($"HotReloadWindow.ShowPartiallySupportedChangeType.{key}", true); + } + + internal static void HidePartiallySupportedChange(PartiallySupportedChange key) { + EditorPrefs.SetBool($"HotReloadWindow.ShowPartiallySupportedChangeType.{key}", false); + // loop over scroll entries to remove hidden entries + for (var i = EventsTimeline.Count - 1; i >= 0; i--) { + var eventEntry = EventsTimeline[i]; + if (eventEntry.alertData.partiallySupportedChange == key) { + EventsTimeline.Remove(eventEntry); + } + } + } + + // performance optimization (Enum.ToString uses reflection) + internal static string ToString(this PartiallySupportedChange change) { +#pragma warning disable CS0612 // obsolete + switch (change) { + case PartiallySupportedChange.LambdaClosure: + return nameof(PartiallySupportedChange.LambdaClosure); + case PartiallySupportedChange.EditAsyncMethod: + return nameof(PartiallySupportedChange.EditAsyncMethod); + case PartiallySupportedChange.AddMonobehaviourMethod: + return nameof(PartiallySupportedChange.AddMonobehaviourMethod); + case PartiallySupportedChange.EditMonobehaviourField: + return nameof(PartiallySupportedChange.EditMonobehaviourField); + case PartiallySupportedChange.EditCoroutine: + return nameof(PartiallySupportedChange.EditCoroutine); + case PartiallySupportedChange.EditGenericFieldInitializer: + return nameof(PartiallySupportedChange.EditGenericFieldInitializer); + case PartiallySupportedChange.AddEnumMember: + return nameof(PartiallySupportedChange.AddEnumMember); + case PartiallySupportedChange.EditFieldInitializer: + return nameof(PartiallySupportedChange.EditFieldInitializer); + case PartiallySupportedChange.AddMethodWithAttributes: + return nameof(PartiallySupportedChange.AddMethodWithAttributes); + case PartiallySupportedChange.GenericMethodInGenericClass: + return nameof(PartiallySupportedChange.GenericMethodInGenericClass); + case PartiallySupportedChange.AddFieldWithAttributes: + return nameof(PartiallySupportedChange.AddFieldWithAttributes); + case PartiallySupportedChange.NewCustomSerializableField: + return nameof(PartiallySupportedChange.NewCustomSerializableField); + case PartiallySupportedChange.MultipleFieldsEditedInTheSameType: + return nameof(PartiallySupportedChange.MultipleFieldsEditedInTheSameType); +#pragma warning restore CS0612 + default: + throw new ArgumentOutOfRangeException(nameof(change), change, null); + } + } + } +} diff --git a/Packages/com.singularitygroup.hotreload/Editor/Helpers/HotReloadTimelineHelper.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/Helpers/HotReloadTimelineHelper.cs.meta new file mode 100644 index 0000000..690f8c9 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Helpers/HotReloadTimelineHelper.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: ffb65be71b8b4d14800f8b28bf68d0ab +timeCreated: 1695210350 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/Helpers/HotReloadTimelineHelper.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Helpers/Spinner.cs b/Packages/com.singularitygroup.hotreload/Editor/Helpers/Spinner.cs new file mode 100644 index 0000000..5755fdb --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Helpers/Spinner.cs @@ -0,0 +1,80 @@ +using System; +using UnityEngine; + +namespace SingularityGroup.HotReload.Editor { + internal class Spinner { + internal static string SpinnerIconPath => "icon_loading_star_light_mode_96"; + internal static Texture2D spinnerTexture => GUIHelper.GetInvertibleIcon(InvertibleIcon.Spinner); + private Texture2D _rotatedTextureLight; + private Texture2D _rotatedTextureDark; + private Texture2D rotatedTextureLight => _rotatedTextureLight ? _rotatedTextureLight : _rotatedTextureLight = GetCopy(spinnerTexture); + private Texture2D rotatedTextureDark => _rotatedTextureDark ? _rotatedTextureDark : _rotatedTextureDark = GetCopy(spinnerTexture); + internal Texture2D rotatedTexture => HotReloadWindowStyles.IsDarkMode ? rotatedTextureDark : rotatedTextureLight; + + private float _rotationAngle; + private DateTime _lastRotation; + private int _rotationPeriod; + + internal Spinner(int rotationPeriodInMilliseconds) { + _rotationPeriod = rotationPeriodInMilliseconds; + } + + internal Texture2D GetIcon() { + if (DateTime.UtcNow - _lastRotation > TimeSpan.FromMilliseconds(_rotationPeriod)) { + _lastRotation = DateTime.UtcNow; + _rotationAngle += 45; + if (_rotationAngle >= 360f) + _rotationAngle -= 360f; + return RotateImage(spinnerTexture, _rotationAngle); + } + return rotatedTexture; + } + + private Texture2D RotateImage(Texture2D originalTexture, float angle) { + int w = originalTexture.width; + int h = originalTexture.height; + + int x, y; + float centerX = w / 2f; + float centerY = h / 2f; + + for (x = 0; x < w; x++) { + for (y = 0; y < h; y++) { + float dx = x - centerX; + float dy = y - centerY; + float distance = Mathf.Sqrt(dx * dx + dy * dy); + float oldAngle = Mathf.Atan2(dy, dx) * Mathf.Rad2Deg; + float newAngle = oldAngle + angle; + + float newX = centerX + distance * Mathf.Cos(newAngle * Mathf.Deg2Rad); + float newY = centerY + distance * Mathf.Sin(newAngle * Mathf.Deg2Rad); + + if (newX >= 0 && newX < w && newY >= 0 && newY < h) { + rotatedTexture.SetPixel(x, y, originalTexture.GetPixel((int)newX, (int)newY)); + } else { + rotatedTexture.SetPixel(x, y, Color.clear); + } + } + } + + rotatedTexture.Apply(); + return rotatedTexture; + } + + public static Texture2D GetCopy(Texture2D tex, TextureFormat format = TextureFormat.RGBA32, bool mipChain = false) { + var tmp = RenderTexture.GetTemporary(tex.width, tex.height, 0, RenderTextureFormat.Default, RenderTextureReadWrite.Linear); + Graphics.Blit(tex, tmp); + + RenderTexture.active = tmp; + try { + var copy = new Texture2D(tex.width, tex.height, format, mipChain: mipChain); + copy.ReadPixels(new Rect(0, 0, tmp.width, tmp.height), 0, 0); + copy.Apply(); + return copy; + } finally { + RenderTexture.active = null; + RenderTexture.ReleaseTemporary(tmp); + } + } + } +} \ No newline at end of file diff --git a/Packages/com.singularitygroup.hotreload/Editor/Helpers/Spinner.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/Helpers/Spinner.cs.meta new file mode 100644 index 0000000..86da73e --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Helpers/Spinner.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 8bd77f0465824c5da3e1454f75c6e93c +timeCreated: 1685871830 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/Helpers/Spinner.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Helpers/UnitySettingsHelper.cs b/Packages/com.singularitygroup.hotreload/Editor/Helpers/UnitySettingsHelper.cs new file mode 100644 index 0000000..b158a67 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Helpers/UnitySettingsHelper.cs @@ -0,0 +1,95 @@ +using UnityEngine; +using System.Reflection; +using System; +using System.Collections; +using System.Runtime.CompilerServices; + +[assembly: InternalsVisibleTo("SingularityGroup.HotReload.Demo")] + +namespace SingularityGroup.HotReload.Editor { + internal class UnitySettingsHelper { + public static UnitySettingsHelper I = new UnitySettingsHelper(); + + private bool initialized; + private object pref; + private PropertyInfo prefColorProp; + private MethodInfo setMethod; + private Type settingsType; + private Type prefColorType; + const string currentPlaymodeTintPrefKey = "Playmode tint"; + + internal bool playmodeTintSupported => EditorCodePatcher.config.changePlaymodeTint && EnsureInitialized(); + + private UnitySettingsHelper() { + EnsureInitialized(); + } + + + private bool EnsureInitialized() { + if (initialized) { + return true; + } + try { + // cache members for performance + settingsType = settingsType ?? (settingsType = typeof(UnityEditor.Editor).Assembly.GetType($"UnityEditor.PrefSettings")); + prefColorType = prefColorType ?? (prefColorType = typeof(UnityEditor.Editor).Assembly.GetType($"UnityEditor.PrefColor")); + prefColorProp = prefColorProp ?? (prefColorProp = prefColorType?.GetProperty("Color", BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public)); + pref = pref ?? (pref = GetPref(settingsType: settingsType, prefColorType: prefColorType)); + setMethod = setMethod ?? (setMethod = GetSetMethod(settingsType: settingsType, prefColorType: prefColorType)); + + if (prefColorProp == null + || pref == null + || setMethod == null + ) { + return false; + } + + // clear cache for performance + settingsType = null; + prefColorType = null; + + initialized = true; + return true; + } catch { + return false; + } + } + + private static MethodInfo GetSetMethod(Type settingsType, Type prefColorType) { + var setMethodBase = settingsType?.GetMethod("Set", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static); + return setMethodBase?.MakeGenericMethod(prefColorType); + } + + private static object GetPref(Type settingsType, Type prefColorType) { + var prefsMethodBase = settingsType?.GetMethod("Prefs", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static); + var prefsMethod = prefsMethodBase?.MakeGenericMethod(prefColorType); + var prefs = (IEnumerable)prefsMethod?.Invoke(null, Array.Empty()); + if (prefs != null) { + foreach (object kvp in prefs) { + var key = kvp.GetType().GetProperty("Key", BindingFlags.Instance | BindingFlags.Public)?.GetMethod.Invoke(kvp, Array.Empty()); + if (key?.ToString() == currentPlaymodeTintPrefKey) { + return kvp.GetType().GetProperty("Value", BindingFlags.Instance | BindingFlags.Public)?.GetMethod.Invoke(kvp, Array.Empty()); + } + + } + } + return null; + } + + public Color? GetCurrentPlaymodeColor() { + if (!playmodeTintSupported) { + return null; + } + return (Color)prefColorProp.GetValue(pref); + } + + public void SetPlaymodeTint(Color color) { + if (!playmodeTintSupported) { + return; + } + prefColorProp.SetValue(pref, color); + setMethod.Invoke(null, new object[] { currentPlaymodeTintPrefKey, pref }); + } + } +} + diff --git a/Packages/com.singularitygroup.hotreload/Editor/Helpers/UnitySettingsHelper.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/Helpers/UnitySettingsHelper.cs.meta new file mode 100644 index 0000000..94f9db1 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Helpers/UnitySettingsHelper.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 34fb1222dc00466ab4e3db7383bd00ee +timeCreated: 1694279476 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/Helpers/UnitySettingsHelper.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/HotReloadAttributeProcessor.cs b/Packages/com.singularitygroup.hotreload/Editor/HotReloadAttributeProcessor.cs new file mode 100644 index 0000000..b99e2a6 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/HotReloadAttributeProcessor.cs @@ -0,0 +1,35 @@ +#if ODIN_INSPECTOR +using System; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; +using SingularityGroup.HotReload.EditorDependencies; +using Sirenix.OdinInspector; +using Sirenix.OdinInspector.Editor; + +namespace SingularityGroup.HotReload.Editor { + public class HotReloadAttributeProcessor : OdinAttributeProcessor { + public override bool CanProcessChildMemberAttributes(InspectorProperty parentProperty, MemberInfo member) { + return member is FieldInfo; + } + + static object nullObject = new object(); + public override void ProcessChildMemberAttributes(InspectorProperty property, MemberInfo member, List attributes) { + var field = member as FieldInfo; + if (field?.DeclaringType == null) { + return; + } + if (UnityFieldHelper.TryGetFieldAttributes(field, out var fieldAttributes)) { + attributes.Clear(); + attributes.AddRange(fieldAttributes); + } + if (UnityFieldHelper.IsFieldHidden(field.DeclaringType, field.Name)) { + attributes.Add(new HideIfAttribute("@true")); + } + // we assume this is always not null. Most of the times it will not be. If it is the side effect is some memory footprint which hopefully gets cleared when enough objects + var key = property.ParentValues.FirstOrDefault() ?? nullObject; + UnityFieldHelper.CacheFieldInvalidation(key, field, property.RefreshSetup); + } + } +} +#endif diff --git a/Packages/com.singularitygroup.hotreload/Editor/HotReloadAttributeProcessor.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/HotReloadAttributeProcessor.cs.meta new file mode 100644 index 0000000..947fa06 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/HotReloadAttributeProcessor.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: c63452dd912fe4c46909c1c5ce844e69 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/HotReloadAttributeProcessor.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/HotReloadEventPopup.cs b/Packages/com.singularitygroup.hotreload/Editor/HotReloadEventPopup.cs new file mode 100644 index 0000000..8798663 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/HotReloadEventPopup.cs @@ -0,0 +1,101 @@ +using System.Diagnostics; +using UnityEngine; +using UnityEditor; + + +namespace SingularityGroup.HotReload.Editor { + public enum PopupSource { + Window, + Overlay, + } + public class HotReloadEventPopup : PopupWindowContent { + public static HotReloadEventPopup I = new HotReloadEventPopup(); + private Vector2 _PopupScrollPos; + public bool open { get; private set; } + private PopupSource source; + private HotReloadRunTabState currentState; + + public static void Open(PopupSource source, Vector2 pos) { + I.source = source; + PopupWindow.Show(new Rect(pos.x, pos.y, 0, 0), I); + } + + public override Vector2 GetWindowSize() { + if (HotReloadRunTab.ShouldRenderConsumption(currentState) + && (HotReloadWindowStyles.windowScreenWidth <= Constants.ConsumptionsHideWidth + || HotReloadWindowStyles.windowScreenHeight <= Constants.ConsumptionsHideHeight + || source == PopupSource.Overlay) + ) { + return new Vector2(600, 450); + } else { + return new Vector2(500, 375); + } + } + + public void Repaint() { + if (open) { + PopupWindow.GetWindow().Repaint(); + } + } + + public override void OnGUI(Rect rect) { + if (Event.current.type == EventType.Layout) { + currentState = HotReloadRunTabState.Current; + } + if (HotReloadWindowStyles.windowScreenWidth <= Constants.UpgradeLicenseNoteHideWidth + || HotReloadWindowStyles.windowScreenHeight <= Constants.UpgradeLicenseNoteHideHeight + || source == PopupSource.Overlay + ) { + HotReloadRunTab.RenderUpgradeLicenseNote(currentState, HotReloadWindowStyles.UpgradeLicenseButtonOverlayStyle); + } + using (new EditorGUILayout.HorizontalScope(EditorStyles.helpBox)) { + using (var scope = new EditorGUILayout.ScrollViewScope(_PopupScrollPos, GUIStyle.none, GUI.skin.verticalScrollbar, GUILayout.MaxHeight(495))) { + _PopupScrollPos.x = scope.scrollPosition.x; + _PopupScrollPos.y = scope.scrollPosition.y; + + + var renderDebuggerInfo = Debugger.IsAttached && !CodePatcher.I.debuggerCompatibilityEnabled; + if ((HotReloadWindowStyles.windowScreenWidth <= Constants.ConsumptionsHideWidth + || HotReloadWindowStyles.windowScreenHeight <= Constants.ConsumptionsHideHeight + || source == PopupSource.Overlay) && !renderDebuggerInfo + ) { + HotReloadRunTab.RenderLicenseInfo(currentState); + } + if (renderDebuggerInfo) { + HotReloadRunTab.RenderDebuggerAttachedInfo(true); + } + + HotReloadRunTab.RenderBars(currentState); + } + } + + bool rateAppShown = HotReloadWindow.ShouldShowRateApp(); + if ((HotReloadWindowStyles.windowScreenWidth <= Constants.RateAppHideWidth + || HotReloadWindowStyles.windowScreenHeight <= Constants.RateAppHideHeight + || source == PopupSource.Overlay) + && rateAppShown + ) { + HotReloadWindow.RenderRateApp(); + } + + if (HotReloadWindowStyles.windowScreenWidth <= Constants.EventFiltersShownHideWidth + || source == PopupSource.Overlay + ) { + using (new EditorGUILayout.HorizontalScope()) { + GUILayout.Space(21); + HotReloadTimelineHelper.RenderAlertFilters(); + } + } + HotReloadState.ShowingRedDot = false; + } + + public override void OnOpen() { + open = true; + } + + public override void OnClose() { + _PopupScrollPos = Vector2.zero; + open = false; + } + } +} \ No newline at end of file diff --git a/Packages/com.singularitygroup.hotreload/Editor/HotReloadEventPopup.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/HotReloadEventPopup.cs.meta new file mode 100644 index 0000000..d31856e --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/HotReloadEventPopup.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 00ec214cde074cf298acef73bb09a4fc +timeCreated: 1696574416 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/HotReloadEventPopup.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/HotReloadOverlay.cs b/Packages/com.singularitygroup.hotreload/Editor/HotReloadOverlay.cs new file mode 100644 index 0000000..dcc6141 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/HotReloadOverlay.cs @@ -0,0 +1,179 @@ +#if UNITY_2021_2_OR_NEWER +using System; +using System.Collections.Generic; +using SingularityGroup.HotReload.Editor.Localization; +using UnityEditor.Overlays; +using UnityEngine.UIElements; +using UnityEditor; +using UnityEngine; +using UnityEditor.Toolbars; + +namespace SingularityGroup.HotReload.Editor { + [Overlay(typeof(SceneView), Translations.MenuItems.OverlayDescription, true)] + [Icon("Assets/HotReload/Editor/Resources/Icon_DarkMode.png")] + internal class HotReloadOverlay : ToolbarOverlay { + HotReloadOverlay() : base(HotReloadToolbarIndicationButton.id, HotReloadToolbarEventsButton.id, HotReloadToolbarRecompileButton.id) { + EditorApplication.update += Update; + } + + EditorIndicationState.IndicationStatus lastIndicationStatus; + + [EditorToolbarElement(id, typeof(SceneView))] + class HotReloadToolbarIndicationButton : EditorToolbarButton, IAccessContainerWindow { + internal const string id = "HotReloadOverlay/LogoButton"; + public EditorWindow containerWindow { get; set; } + + EditorIndicationState.IndicationStatus lastIndicationStatus; + + internal HotReloadToolbarIndicationButton() { + icon = GetIndicationIcon(); + tooltip = EditorIndicationState.IndicationStatusText; + clicked += OnClick; + EditorApplication.update += Update; + } + + void OnClick() { + EditorWindow.GetWindow().Show(); + EditorWindow.GetWindow().SelectTab(typeof(HotReloadRunTab)); + } + + void Update() { + if (lastIndicationStatus != EditorIndicationState.CurrentIndicationStatus) { + icon = GetIndicationIcon(); + tooltip = EditorIndicationState.IndicationStatusText; + lastIndicationStatus = EditorIndicationState.CurrentIndicationStatus; + } + } + + ~HotReloadToolbarIndicationButton() { + clicked -= OnClick; + EditorApplication.update -= Update; + } + } + + [EditorToolbarElement(id, typeof(SceneView))] + class HotReloadToolbarEventsButton : EditorToolbarButton, IAccessContainerWindow { + internal const string id = "HotReloadOverlay/EventsButton"; + public EditorWindow containerWindow { get; set; } + + bool lastShowingRedDot; + + internal HotReloadToolbarEventsButton() { + icon = HotReloadState.ShowingRedDot ? GUIHelper.GetInvertibleIcon(InvertibleIcon.EventsNew) : GUIHelper.GetInvertibleIcon(InvertibleIcon.Events); + tooltip = Translations.Timeline.EventsTooltip; + clicked += OnClick; + EditorApplication.update += Update; + } + + void OnClick() { + HotReloadEventPopup.Open(PopupSource.Overlay, Event.current.mousePosition); + } + + void Update() { + if (lastShowingRedDot != HotReloadState.ShowingRedDot) { + icon = HotReloadState.ShowingRedDot ? GUIHelper.GetInvertibleIcon(InvertibleIcon.EventsNew) : GUIHelper.GetInvertibleIcon(InvertibleIcon.Events); + lastShowingRedDot = HotReloadState.ShowingRedDot; + } + } + + ~HotReloadToolbarEventsButton() { + clicked -= OnClick; + EditorApplication.update -= Update; + } + } + + + [EditorToolbarElement(id, typeof(SceneView))] + class HotReloadToolbarRecompileButton : EditorToolbarButton, IAccessContainerWindow { + internal const string id = "HotReloadOverlay/RecompileButton"; + + public EditorWindow containerWindow { get; set; } + + private Texture2D refreshIcon => GUIHelper.GetInvertibleIcon(InvertibleIcon.Recompile); + internal HotReloadToolbarRecompileButton() { + icon = refreshIcon; + tooltip = Translations.Miscellaneous.OverlayTooltipRecompile; + clicked += HotReloadRunTab.RecompileWithChecks; + } + } + + private static Texture2D latestIcon; + private static Dictionary iconTextures = new Dictionary(); + private static Spinner spinner = new Spinner(100); + private static Texture2D GetIndicationIcon() { + if (EditorIndicationState.IndicationIconPath == null || EditorIndicationState.SpinnerActive) { + latestIcon = spinner.GetIcon(); + } else { + latestIcon = GUIHelper.GetLocalIcon(EditorIndicationState.IndicationIconPath); + } + return latestIcon; + } + + private static Image indicationIcon; + private static Label indicationText; + + bool initialized; + /// + /// Create Hot Reload overlay panel. + /// + public override VisualElement CreatePanelContent() { + var root = new VisualElement() { name = Translations.UI.OverlayPanelName }; + root.style.flexDirection = FlexDirection.Row; + + indicationIcon = new Image() { image = GUIHelper.GetLocalIcon(EditorIndicationState.greyIconPath) }; + indicationIcon.style.height = 30; + indicationIcon.style.width = 30; + indicationIcon.style.marginLeft = 2; + indicationIcon.style.marginTop = 1; + indicationIcon.style.marginRight = 5; + + indicationText = new Label(){text = EditorIndicationState.IndicationStatusText}; + indicationText.style.paddingTop = 9; + indicationText.style.marginLeft = new StyleLength(StyleKeyword.Auto); + indicationText.style.marginRight = new StyleLength(StyleKeyword.Auto); + + root.Add(indicationIcon); + root.Add(indicationText); + root.style.width = 190; + root.style.height = 32; + initialized = true; + return root; + } + + static bool _repaint; + static bool _instantRepaint; + static DateTime _lastRepaint; + private void Update() { + if (!initialized) { + return; + } + if (lastIndicationStatus != EditorIndicationState.CurrentIndicationStatus) { + indicationIcon.image = GetIndicationIcon(); + indicationText.text = EditorIndicationState.IndicationStatusText; + lastIndicationStatus = EditorIndicationState.CurrentIndicationStatus; + } + try { + if (HotReloadEventPopup.I.open + && EditorWindow.mouseOverWindow + && EditorWindow.mouseOverWindow?.GetType() == typeof(UnityEditor.PopupWindow) + ) { + _repaint = true; + } + } catch (NullReferenceException) { + // Unity randomly throws nullrefs when EditorWindow.mouseOverWindow gets accessed + } + if (_repaint && DateTime.UtcNow - _lastRepaint > TimeSpan.FromMilliseconds(33)) { + _repaint = false; + _instantRepaint = true; + } + if (_instantRepaint) { + HotReloadEventPopup.I.Repaint(); + } + } + + ~HotReloadOverlay() { + EditorApplication.update -= Update; + } + } +} +#endif diff --git a/Packages/com.singularitygroup.hotreload/Editor/HotReloadOverlay.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/HotReloadOverlay.cs.meta new file mode 100644 index 0000000..c5f8a50 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/HotReloadOverlay.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 91650b4b0d054bdf9c1e922305e6a61a +timeCreated: 1685130321 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/HotReloadOverlay.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/HotReloadPrefs.cs b/Packages/com.singularitygroup.hotreload/Editor/HotReloadPrefs.cs new file mode 100644 index 0000000..ad3ac99 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/HotReloadPrefs.cs @@ -0,0 +1,524 @@ +using System; +using System.Globalization; +using System.IO; +using JetBrains.Annotations; +using SingularityGroup.HotReload.Editor.Cli; +using UnityEditor; +using UnityEngine; +using RuntimeLocalization = SingularityGroup.HotReload.Localization; + +namespace SingularityGroup.HotReload.Editor { + internal static class HotReloadPrefs { + private const string RemoteServerKey = "HotReloadWindow.RemoteServer"; + private const string RemoteServerHostKey = "HotReloadWindow.RemoteServerHost"; + private const string LicenseEmailKey = "HotReloadWindow.LicenseEmail"; + private const string RenderAuthLoginKey = "HotReloadWindow.RenderAuthLogin"; + private const string FirstLoginCachedKey = "HotReloadWindow.FirstLoginCachedKey"; + [Obsolete] + private const string ShowOnStartupKey = "HotReloadWindow.ShowOnStartup"; + private const string PasswordCachedKey = "HotReloadWindow.PasswordCached"; + private const string ExposeServerToLocalNetworkKey = "HotReloadWindow.ExposeServerToLocalNetwork"; + private const string ErrorHiddenCachedKey = "HotReloadWindow.ErrorHiddenCachedKey"; + private const string RefreshManuallyTipCachedKey = "HotReloadWindow.RefreshManuallyTipCachedKey"; + private const string ShowLoginCachedKey = "HotReloadWindow.ShowLoginCachedKey"; + private const string ConfigurationKey = "HotReloadWindow.Configuration"; + private const string AvdancedKey = "HotReloadWindow.Avdanced"; + private const string ShowPromoCodesCachedKey = "HotReloadWindow.ShowPromoCodesCached"; + private const string ShowOnDeviceKey = "HotReloadWindow.ShowOnDevice"; + private const string ShowChangelogKey = "HotReloadWindow.ShowChangelog"; + private const string UnsupportedChangesKey = "HotReloadWindow.ShowUnsupportedChanges"; + private const string LoggedBurstHintKey = "HotReloadWindow.LoggedBurstHint"; + private const string ShouldDoAutoRefreshFixupKey = "HotReloadWindow.ShouldDoAutoRefreshFixup"; + private const string ActiveDaysKey = "HotReloadWindow.ActiveDays"; + [Obsolete] + private const string RateAppShownKey = "HotReloadWindow.RateAppShown"; + private const string PatchesCollapseKey = "HotReloadWindow.PatchesCollapse"; + private const string PatchesGroupAllKey = "HotReloadWindow.PatchesGroupAll"; + private const string LaunchOnEditorStartKey = "HotReloadWindow.LaunchOnEditorStart"; + private const string AutoClearTimelineKey = "HotReloadWindow.AutoClearTimeline"; + private const string AutoRecompileUnsupportedChangesKey = "HotReloadWindow.AutoRecompileUnsupportedChanges"; + private const string AutoRecompilePartiallyUnsupportedChangesKey = "HotReloadWindow.AutoRecompilePartiallyUnsupportedChanges"; + private const string DisplayNewMonobehaviourMethodsAsPartiallySupportedKey = "HotReloadWindow.DisplayNewMonobehaviourMethodsAsPartiallySupported"; + private const string ShowNotificationsKey = "HotReloadWindow.ShowNotifications"; + private const string ShowPatchingNotificationsKey = "HotReloadWindow.ShowPatchingNotifications"; + private const string ShowCompilingUnsupportedNotificationsKey = "HotReloadWindow.ShowCompilingUnsupportedNotifications"; + private const string AutoRecompileUnsupportedChangesImmediatelyKey = "HotReloadWindow.AutoRecompileUnsupportedChangesImmediately"; + private const string AutoRecompileUnsupportedChangesOnExitPlayModeKey = "HotReloadWindow.AutoRecompileUnsupportedChangesOnExitPlayMode"; + private const string AutoRecompileUnsupportedChangesInPlayModeKey = "HotReloadWindow.AutoRecompileUnsupportedChangesInPlayMode"; + private const string AutoRecompileUnsupportedChangesInEditModeKey = "HotReloadWindow.AutoRecompileUnsupportedChangesInEditMode"; + private const string AutoRecompileInspectorFieldsEditKey = "HotReloadWindow.AutoRecompileInspectorFieldsEdit"; + private const string AllowDisableUnityAutoRefreshKey = "HotReloadWindow.AllowDisableUnityAutoRefresh"; + private const string DefaultAutoRefreshKey = "HotReloadWindow.DefaultAutoRefresh"; + private const string DefaultAutoRefreshModeKey = "HotReloadWindow.DefaultAutoRefreshMode"; + private const string DefaultScriptCompilationKeyKey = "HotReloadWindow.DefaultScriptCompilationKey"; + private const string DefaultEditorTintKey = "HotReloadWindow.DefaultEditorTint"; + private const string AppliedAutoRefreshKey = "HotReloadWindow.AppliedAutoRefresh"; + private const string AppliedScriptCompilationKey = "HotReloadWindow.AppliedScriptCompilation"; + private const string AppliedEditorTintKey = "HotReloadWindow.AppliedEditorTint"; + private const string AllAssetChangesKey = "HotReloadWindow.AllAssetChanges"; + private const string IncludeShaderChangesKey = "HotReloadWindow.IncludeShaderChanges"; + private const string DisableConsoleWindowKey = "HotReloadWindow.DisableConsoleWindow"; + private const string DisableDetailedErrorReportingKey = "HotReloadWindow.DisableDetailedErrorReporting"; + private const string DebuggerCompatibilityEnabledKey = "HotReloadWindow.DebuggerCompatibilityEnabled"; + private const string PauseHotReloadInEditModeKey = "HotReloadWindow.PauseHotReloadInEditMode"; + private const string RedeemLicenseEmailKey = "HotReloadWindow.RedeemLicenseEmail"; + private const string RedeemLicenseInvoiceKey = "HotReloadWindow.RedeemLicenseInvoice"; + private const string RunTabEventsSuggestionsFoldoutKey = "HotReloadWindow.RunTabEventsSuggestionsFoldout"; + private const string RunTabEventsTimelineFoldoutKey = "HotReloadWindow.RunTabEventsTimelineFoldout"; + private const string RunTabUnsupportedChangesFilterKey = "HotReloadWindow.RunTabUnsupportedChangesFilter"; + private const string RunTabCompileErrorFilterKey = "HotReloadWindow.RunTabCompileErrorFilter"; + private const string RunTabPartiallyAppliedPatchesFilterKey = "HotReloadWindow.RunTabPartiallyAppliedPatchesFilter"; + private const string RunTabUndetectedPatchesFilterKey = "HotReloadWindow.RunTabUndetectedPatchesFilter"; + private const string RunTabAppliedPatchesFilterKey = "HotReloadWindow.RunTabAppliedPatchesFilter"; + private const string RecompileDialogueShownKey = "HotReloadWindow.RecompileDialogueShown"; + private const string ApplyFieldInitiailzerEditsToExistingClassInstancesKey = "HotReloadWindow.ApplyFieldInitiailzerEditsToExistingClassInstances"; + private const string LoggedInlinedMethodsDialogueKey = "HotReloadWindow.LoggedInlinedMethodsDialogue"; + private const string OpenedWindowAtLeastOnceKey = "HotReloadWindow.OpenedWindowAtLeastOnce"; + private const string DeactivateHotReloadKey = "HotReloadWindow.DeactivateHotReload"; + private const string ActiveLocaleKey = "HotReloadWindow.ActiveLocale"; + public const string DontShowPromptForDownloadKey = "ServerDownloader.DontShowPromptForDownload"; + public const string DebuggerOnboardingShownKey = "HotReloadWindow.DebuggerOnboardingShownKey"; + #if UNITY_EDITOR_WIN + public const string UseWatchmanKey = "ServerDownloader.UseWatchman"; + #endif + + [Obsolete] public const string AllowHttpSettingCacheKey = "HotReloadWindow.AllowHttpSettingCacheKey"; + [Obsolete] public const string AutoRefreshSettingCacheKey = "HotReloadWindow.AutoRefreshSettingCacheKey"; + [Obsolete] public const string ScriptCompilationSettingCacheKey = "HotReloadWindow.ScriptCompilationSettingCacheKey"; + [Obsolete] public const string ProjectGenerationSettingCacheKey = "HotReloadWindow.ProjectGenerationSettingCacheKey"; + + + [Obsolete] + public static bool RemoteServer { + get { return EditorPrefs.GetBool(RemoteServerKey, false); } + set { EditorPrefs.SetBool(RemoteServerKey, value); } + } + + public static bool DontShowPromptForDownload { + get { return EditorPrefs.GetBool(DontShowPromptForDownloadKey, false); } + set { EditorPrefs.SetBool(DontShowPromptForDownloadKey, value); } + } + + [Obsolete] + public static string RemoteServerHost { + get { return EditorPrefs.GetString(RemoteServerHostKey); } + set { EditorPrefs.SetString(RemoteServerHostKey, value); } + } + + public static string LicenseEmail { + get { return EditorPrefs.GetString(LicenseEmailKey); } + set { EditorPrefs.SetString(LicenseEmailKey, value); } + } + + public static string LicensePassword { + get { return EditorPrefs.GetString(PasswordCachedKey); } + set { EditorPrefs.SetString(PasswordCachedKey, value); } + } + + [Obsolete] + public static bool RenderAuthLogin { // false = render free trial + get { return EditorPrefs.GetBool(RenderAuthLoginKey); } + set { EditorPrefs.SetBool(RenderAuthLoginKey, value); } + } + + [Obsolete] + public static bool FirstLogin { + get { return EditorPrefs.GetBool(FirstLoginCachedKey, true); } + set { EditorPrefs.SetBool(FirstLoginCachedKey, value); } + } + + [Obsolete] + public static string ShowOnStartupLegacy { // WindowAutoOpen + get { return EditorPrefs.GetString(ShowOnStartupKey); } + set { EditorPrefs.SetString(ShowOnStartupKey, value); } + } + + public static string showOnStartupPath { get; }= Path.Combine(CliUtils.GetAppDataPath(), "showOnStartup.txt"); + static ShowOnStartupEnum? showOnStartup; + public static ShowOnStartupEnum ShowOnStartup { + get { + if (showOnStartup != null) { + return showOnStartup.Value; + } + if (!File.Exists(showOnStartupPath)) { + showOnStartup = ShowOnStartupEnum.Always; + return showOnStartup.Value; + } + var text = File.ReadAllText(showOnStartupPath); + ShowOnStartupEnum _showOnStartup; + if (Enum.TryParse(text, true, out _showOnStartup)) { + showOnStartup = _showOnStartup; + return showOnStartup.Value; + } + showOnStartup = ShowOnStartupEnum.Always; + return showOnStartup.Value; + } + set { + // ReSharper disable once AssignNullToNotNullAttribute + Directory.CreateDirectory(Path.GetDirectoryName(showOnStartupPath)); + File.WriteAllText(showOnStartupPath, value.ToString()); + showOnStartup = value; + } + } + + + public static bool ErrorHidden { + get { return EditorPrefs.GetBool(ErrorHiddenCachedKey); } + set { EditorPrefs.SetBool(ErrorHiddenCachedKey, value); } + } + + public static bool ShowLogin { + get { return EditorPrefs.GetBool(ShowLoginCachedKey, true); } + set { EditorPrefs.SetBool(ShowLoginCachedKey, value); } + } + + public static bool ShowConfiguration { + get { return EditorPrefs.GetBool(ConfigurationKey, true); } + set { EditorPrefs.SetBool(ConfigurationKey, value); } + } + + public static bool ShowAdvanced { + get { return EditorPrefs.GetBool(AvdancedKey, false); } + set { EditorPrefs.SetBool(AvdancedKey, value); } + } + + public static bool ShowPromoCodes { + get { return EditorPrefs.GetBool(ShowPromoCodesCachedKey, true); } + set { EditorPrefs.SetBool(ShowPromoCodesCachedKey, value); } + } + + public static bool ShowOnDevice { + get { return EditorPrefs.GetBool(ShowOnDeviceKey, true); } + set { EditorPrefs.SetBool(ShowOnDeviceKey, value); } + } + + public static bool ShowChangeLog { + get { return EditorPrefs.GetBool(ShowChangelogKey, true); } + set { EditorPrefs.SetBool(ShowChangelogKey, value); } + } + + public static bool ShowUnsupportedChanges { + get { return EditorPrefs.GetBool(UnsupportedChangesKey, true); } + set { EditorPrefs.SetBool(UnsupportedChangesKey, value); } + } + + [Obsolete] + public static bool RefreshManuallyTip { + get { return EditorPrefs.GetBool(RefreshManuallyTipCachedKey); } + set { EditorPrefs.SetBool(RefreshManuallyTipCachedKey, value); } + } + + public static bool LoggedBurstHint { + get { return EditorPrefs.GetBool(LoggedBurstHintKey); } + set { EditorPrefs.SetBool(LoggedBurstHintKey, value); } + } + + [Obsolete] + public static bool ShouldDoAutoRefreshFixup { + get { return EditorPrefs.GetBool(ShouldDoAutoRefreshFixupKey, true); } + set { EditorPrefs.SetBool(ShouldDoAutoRefreshFixupKey, value); } + } + + public static string ActiveDays { + get { return EditorPrefs.GetString(ActiveDaysKey, string.Empty); } + set { EditorPrefs.SetString(ActiveDaysKey, value); } + } + + [Obsolete] + public static bool RateAppShownLegacy { + get { return EditorPrefs.GetBool(RateAppShownKey, false); } + set { EditorPrefs.SetBool(RateAppShownKey, value); } + } + + static string rateAppPath = Path.Combine(CliUtils.GetAppDataPath(), "ratedApp.txt"); + static bool? rateAppShown; + public static bool RateAppShown { + get { + if (rateAppShown != null) { + return rateAppShown.Value; + } + rateAppShown = File.Exists(rateAppPath); + return rateAppShown.Value; + } + set { + // ReSharper disable once AssignNullToNotNullAttribute + Directory.CreateDirectory(Path.GetDirectoryName(rateAppPath)); + if (value && !File.Exists(rateAppPath)) { + using (File.Create(rateAppPath)) { } + } else if (!value && File.Exists(rateAppPath)) { + File.Delete(rateAppPath); + } + rateAppShown = value; + } + } + + [Obsolete] + public static bool PatchesGroupAll { + get { return EditorPrefs.GetBool(PatchesGroupAllKey, false); } + set { EditorPrefs.SetBool(PatchesGroupAllKey, value); } + } + + [Obsolete] + public static bool PatchesCollapse { + get { return EditorPrefs.GetBool(PatchesCollapseKey, true); } + set { EditorPrefs.SetBool(PatchesCollapseKey, value); } + } + + [Obsolete] + public static ShowOnStartupEnum GetShowOnStartupEnum() { + ShowOnStartupEnum showOnStartupEnum; + if (Enum.TryParse(HotReloadPrefs.ShowOnStartupLegacy, true, out showOnStartupEnum)) { + return showOnStartupEnum; + } + return ShowOnStartupEnum.Always; + } + + public static bool ExposeServerToLocalNetwork { + get { return EditorPrefs.GetBool(ExposeServerToLocalNetworkKey, false); } + set { EditorPrefs.SetBool(ExposeServerToLocalNetworkKey, value); } + } + + public static bool LaunchOnEditorStart { + get { return EditorPrefs.GetBool(LaunchOnEditorStartKey, false); } + set { EditorPrefs.SetBool(LaunchOnEditorStartKey, value); } + } + + public static bool AutoClearTimeline { + get { return EditorPrefs.GetBool(AutoClearTimelineKey, true); } + set { EditorPrefs.SetBool(AutoClearTimelineKey, value); } + } + + public static bool AutoRecompileUnsupportedChanges { + get { return EditorPrefs.GetBool(AutoRecompileUnsupportedChangesKey, false); } + set { EditorPrefs.SetBool(AutoRecompileUnsupportedChangesKey, value); } + } + + public static bool AutoRecompilePartiallyUnsupportedChanges { + get { return EditorPrefs.GetBool(AutoRecompilePartiallyUnsupportedChangesKey, false); } + set { EditorPrefs.SetBool(AutoRecompilePartiallyUnsupportedChangesKey, value); } + } + + public static bool DisplayNewMonobehaviourMethodsAsPartiallySupported { + get { return EditorPrefs.GetBool(DisplayNewMonobehaviourMethodsAsPartiallySupportedKey, false); } + set { EditorPrefs.SetBool(DisplayNewMonobehaviourMethodsAsPartiallySupportedKey, value); } + } + + public static bool ShowNotifications { + get { return EditorPrefs.GetBool(ShowNotificationsKey, true); } + set { EditorPrefs.SetBool(ShowNotificationsKey, value); } + } + + public static bool ShowPatchingNotifications { + get { return EditorPrefs.GetBool(ShowPatchingNotificationsKey, true); } + set { EditorPrefs.SetBool(ShowPatchingNotificationsKey, value); } + } + + public static bool ShowCompilingUnsupportedNotifications { + get { return EditorPrefs.GetBool(ShowCompilingUnsupportedNotificationsKey, true); } + set { EditorPrefs.SetBool(ShowCompilingUnsupportedNotificationsKey, value); } + } + + public static bool AutoRecompileUnsupportedChangesImmediately { + get { return EditorPrefs.GetBool(AutoRecompileUnsupportedChangesImmediatelyKey, false); } + set { EditorPrefs.SetBool(AutoRecompileUnsupportedChangesImmediatelyKey, value); } + } + + public static bool AutoRecompileUnsupportedChangesOnExitPlayMode { + get { return EditorPrefs.GetBool(AutoRecompileUnsupportedChangesOnExitPlayModeKey, false); } + set { EditorPrefs.SetBool(AutoRecompileUnsupportedChangesOnExitPlayModeKey, value); } + } + + public static bool AutoRecompileUnsupportedChangesInPlayMode { + get { return EditorPrefs.GetBool(AutoRecompileUnsupportedChangesInPlayModeKey, false); } + set { EditorPrefs.SetBool(AutoRecompileUnsupportedChangesInPlayModeKey, value); } + } + + public static bool AutoRecompileInspectorFieldsEdit { + get { return EditorPrefs.GetBool(AutoRecompileInspectorFieldsEditKey, false); } + set { EditorPrefs.SetBool(AutoRecompileInspectorFieldsEditKey, value); } + } + + public static bool AutoRecompileUnsupportedChangesInEditMode { + get { return EditorPrefs.GetBool(AutoRecompileUnsupportedChangesInEditModeKey, true); } + set { EditorPrefs.SetBool(AutoRecompileUnsupportedChangesInEditModeKey, value); } + } + + public static bool AllowDisableUnityAutoRefresh { + get { return EditorPrefs.GetBool(AllowDisableUnityAutoRefreshKey, false); } + set { EditorPrefs.SetBool(AllowDisableUnityAutoRefreshKey, value); } + } + + public static int DefaultAutoRefresh { + get { return EditorPrefs.GetInt(DefaultAutoRefreshKey, -1); } + set { EditorPrefs.SetInt(DefaultAutoRefreshKey, value); } + } + + [UsedImplicitly] + public static int DefaultAutoRefreshMode { + get { return EditorPrefs.GetInt(DefaultAutoRefreshModeKey, -1); } + set { EditorPrefs.SetInt(DefaultAutoRefreshModeKey, value); } + } + + public static int DefaultScriptCompilation { + get { return EditorPrefs.GetInt(DefaultScriptCompilationKeyKey, -1); } + set { EditorPrefs.SetInt(DefaultScriptCompilationKeyKey, value); } + } + + public static Color? DefaultEditorTint { + get { return ColorFromString(EditorPrefs.GetString(DefaultEditorTintKey, string.Empty)); } + set { EditorPrefs.SetString(DefaultEditorTintKey, ColorToString(value)); } + } + + public static bool AppliedAutoRefresh { + get { return EditorPrefs.GetBool(AppliedAutoRefreshKey); } + set { EditorPrefs.SetBool(AppliedAutoRefreshKey, value); } + } + + public static bool AppliedScriptCompilation { + get { return EditorPrefs.GetBool(AppliedScriptCompilationKey); } + set { EditorPrefs.SetBool(AppliedScriptCompilationKey, value); } + } + + public static Color? AppliedEditorTint { + get { return ColorFromString(EditorPrefs.GetString(AppliedEditorTintKey, string.Empty)); } + set { EditorPrefs.SetString(AppliedEditorTintKey, ColorToString(value)); } + } + + public static bool AllAssetChanges { + get { return EditorPrefs.GetBool(AllAssetChangesKey, false); } + set { EditorPrefs.SetBool(AllAssetChangesKey, value); } + } + + public static bool IncludeShaderChanges { + get { return EditorPrefs.GetBool(IncludeShaderChangesKey, false); } + set { EditorPrefs.SetBool(IncludeShaderChangesKey, value); } + } + + public static bool DisableConsoleWindow { + get { return EditorPrefs.GetBool(DisableConsoleWindowKey, false); } + set { EditorPrefs.SetBool(DisableConsoleWindowKey, value); } + } + + public static string RedeemLicenseEmail { + get { return EditorPrefs.GetString(RedeemLicenseEmailKey); } + set { EditorPrefs.SetString(RedeemLicenseEmailKey, value); } + } + + public static string RedeemLicenseInvoice { + get { return EditorPrefs.GetString(RedeemLicenseInvoiceKey); } + set { EditorPrefs.SetString(RedeemLicenseInvoiceKey, value); } + } + + public static bool RunTabEventsTimelineFoldout { + get { return EditorPrefs.GetBool(RunTabEventsTimelineFoldoutKey, true); } + set { EditorPrefs.SetBool(RunTabEventsTimelineFoldoutKey, value); } + } + + public static bool RunTabEventsSuggestionsFoldout { + get { return EditorPrefs.GetBool(RunTabEventsSuggestionsFoldoutKey, true); } + set { EditorPrefs.SetBool(RunTabEventsSuggestionsFoldoutKey, value); } + } + + public static bool RunTabUnsupportedChangesFilter { + get { return EditorPrefs.GetBool(RunTabUnsupportedChangesFilterKey, true); } + set { EditorPrefs.SetBool(RunTabUnsupportedChangesFilterKey, value); } + } + + public static bool RunTabCompileErrorFilter { + get { return EditorPrefs.GetBool(RunTabCompileErrorFilterKey, true); } + set { EditorPrefs.SetBool(RunTabCompileErrorFilterKey, value); } + } + + public static bool RunTabPartiallyAppliedPatchesFilter { + get { return EditorPrefs.GetBool(RunTabPartiallyAppliedPatchesFilterKey, true); } + set { EditorPrefs.SetBool(RunTabPartiallyAppliedPatchesFilterKey, value); } + } + + public static bool RunTabUndetectedPatchesFilter { + get { return EditorPrefs.GetBool(RunTabUndetectedPatchesFilterKey, true); } + set { EditorPrefs.SetBool(RunTabUndetectedPatchesFilterKey, value); } + } + + public static bool RunTabAppliedPatchesFilter { + get { return EditorPrefs.GetBool(RunTabAppliedPatchesFilterKey, true); } + set { EditorPrefs.SetBool(RunTabAppliedPatchesFilterKey, value); } + } + + public static bool RecompileDialogueShown { + get { return EditorPrefs.GetBool(RecompileDialogueShownKey); } + set { EditorPrefs.SetBool(RecompileDialogueShownKey, value); } + } + + public static bool OpenedWindowAtLeastOnce { + get { return EditorPrefs.GetBool(OpenedWindowAtLeastOnceKey); } + set { EditorPrefs.SetBool(OpenedWindowAtLeastOnceKey, value); } + } + + private const string rgbaDelimiter = ";"; + public static string ColorToString(Color? _color) { + if (_color == null) { + return null; + } + var color = _color.Value; + var cultInfo = CultureInfo.InvariantCulture; + string[] rgbaList = { color.r.ToString(cultInfo), color.g.ToString(cultInfo), color.b.ToString(cultInfo), color.a.ToString(cultInfo)}; + return String.Join(rgbaDelimiter, rgbaList); + } + + public static Color? ColorFromString(string ser) { + if (string.IsNullOrEmpty(ser)) { + return null; + } + string[] rgbaParts = ser.Split(rgbaDelimiter.ToCharArray()); + return new Color(float.Parse(rgbaParts[0]), float.Parse(rgbaParts[1]),float.Parse(rgbaParts[2]),float.Parse(rgbaParts[3])); + } + + [Obsolete("was not implemented")] + public static bool ApplyFieldInitiailzerEditsToExistingClassInstances { + get { return EditorPrefs.GetBool(ApplyFieldInitiailzerEditsToExistingClassInstancesKey); } + set { EditorPrefs.SetBool(ApplyFieldInitiailzerEditsToExistingClassInstancesKey, value); } + } + + public static bool LoggedInlinedMethodsDialogue { + get { return EditorPrefs.GetBool(LoggedInlinedMethodsDialogueKey); } + set { EditorPrefs.SetBool(LoggedInlinedMethodsDialogueKey, value); } + } + + public static bool DeactivateHotReload { + get { return EditorPrefs.GetBool(DeactivateHotReloadKey); } + set { EditorPrefs.SetBool(DeactivateHotReloadKey, value); } + } + + public static bool DisableDetailedErrorReporting { + get { return EditorPrefs.GetBool(DisableDetailedErrorReportingKey, false); } + set { EditorPrefs.SetBool(DisableDetailedErrorReportingKey, value); } + } + + public static bool PauseHotReloadInEditMode { + get { return EditorPrefs.GetBool(PauseHotReloadInEditModeKey, false); } + set { EditorPrefs.SetBool(PauseHotReloadInEditModeKey, value); } + } + + public static bool AutoDisableHotReloadWithDebugger { + get { return EditorPrefs.GetBool(DebuggerCompatibilityEnabledKey, true); } + set { EditorPrefs.SetBool(DebuggerCompatibilityEnabledKey, value); } + } + + public static string ActiveLocale { + get { return EditorPrefs.GetString(ActiveLocaleKey, PackageConst.DefaultLocale); } + set { EditorPrefs.SetString(ActiveLocaleKey, value); } + } + + #if UNITY_EDITOR_WIN + public static bool UseWatchman { + get { return EditorPrefs.GetBool(UseWatchmanKey, PackageConst.DefaultLocale == RuntimeLocalization.Locale.English); } + set { EditorPrefs.SetBool(UseWatchmanKey, value); } + } + #endif + + public static bool DebuggerOnboardingShown { + get { return EditorPrefs.GetBool(DebuggerOnboardingShownKey); } + set { EditorPrefs.SetBool(DebuggerOnboardingShownKey, value); } + } + } +} diff --git a/Packages/com.singularitygroup.hotreload/Editor/HotReloadPrefs.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/HotReloadPrefs.cs.meta new file mode 100644 index 0000000..8b69993 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/HotReloadPrefs.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 96451431b50143944b85d4fbdde5f104 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/HotReloadPrefs.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/HotReloadSettingsEditor.cs b/Packages/com.singularitygroup.hotreload/Editor/HotReloadSettingsEditor.cs new file mode 100644 index 0000000..81a5de7 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/HotReloadSettingsEditor.cs @@ -0,0 +1,73 @@ +using System.IO; +using UnityEditor; +using UnityEngine; + +namespace SingularityGroup.HotReload.Editor { + static class HotReloadSettingsEditor { + /// Ensure settings asset file is created and saved + public static void EnsureSettingsCreated(HotReloadSettingsObject asset) { + if (!SettingsExists()) { + CreateNewSettingsFile(asset, HotReloadSettingsObject.editorAssetPath); + } + } + + /// Load existing settings asset or return the default settings + public static HotReloadSettingsObject LoadSettingsOrDefault() { + if (SettingsExists()) { + return AssetDatabase.LoadAssetAtPath(HotReloadSettingsObject.editorAssetPath); + } else { + // create an instance with default values + return ScriptableObject.CreateInstance(); + } + } + + /// + /// Create settings asset file + /// + /// Assume that settings asset doesn't exist yet + /// The settings asset + static void CreateNewSettingsFile(HotReloadSettingsObject asset, string editorAssetPath) { + // create new settings asset + // ReSharper disable once AssignNullToNotNullAttribute + Directory.CreateDirectory(Path.GetDirectoryName(editorAssetPath)); + if (asset == null) { + asset = ScriptableObject.CreateInstance(); + } + AssetDatabase.CreateAsset(asset, editorAssetPath); + // Saving the asset isn't needed right after you created it. Unity will save it at the appropriate time. + // Troy: I tested in Unity 2018 LTS, first Android build creates the asset file and asset is included in the build. + } + + #region include/exclude in build + + private static bool SettingsExists() { + return AssetExists(HotReloadSettingsObject.editorAssetPath); + } + + private static bool AssetExists(string assetPath) { + return AssetDatabase.GetMainAssetTypeAtPath(assetPath) != null; + } + + public static void AddOrRemoveFromBuild(bool includeSettingsInBuild) { + if (MultiplayerPlaymodeHelper.IsClone) { + return; + } + AssetDatabase.StartAssetEditing(); + var so = LoadSettingsOrDefault(); + try { + if (includeSettingsInBuild) { + // Note: don't need to force create settings because we know the defaults in player. + so.EnsurePrefabSetCorrectly(); + EnsureSettingsCreated(so); + } else { + // this block shouldn't create the asset file, but it's also fine if it does + so.EnsurePrefabNotInBuild(); + } + } finally { + AssetDatabase.StopAssetEditing(); + } + } + + #endregion + } +} \ No newline at end of file diff --git a/Packages/com.singularitygroup.hotreload/Editor/HotReloadSettingsEditor.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/HotReloadSettingsEditor.cs.meta new file mode 100644 index 0000000..ef67c1d --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/HotReloadSettingsEditor.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: a0f4231ca4f63e54da0ecf87ab62c381 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/HotReloadSettingsEditor.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/HotReloadState.cs b/Packages/com.singularitygroup.hotreload/Editor/HotReloadState.cs new file mode 100644 index 0000000..59631f5 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/HotReloadState.cs @@ -0,0 +1,92 @@ +using UnityEditor; + +namespace SingularityGroup.HotReload.Editor { + internal static class HotReloadState { + private const string ServerPortKey = "HotReloadWindow.ServerPort"; + private const string LastPatchIdKey = "HotReloadWindow.LastPatchId"; + private const string ShowingRedDotKey = "HotReloadWindow.ShowingRedDot"; + private const string ShowedEditorsWithoutHRKey = "HotReloadWindow.ShowedEditorWithoutHR"; + private const string ShowedFieldInitializerWithSideEffectsKey = "HotReloadWindow.ShowedFieldInitializerWithSideEffects"; + private const string ShowedAddMonobehaviourMethodsKey = "HotReloadWindow.ShowedAddMonobehaviourMethods"; + private const string ShowedFieldInitializerExistingInstancesEditedKey = "HotReloadWindow.ShowedFieldInitializerExistingInstancesEdited"; + private const string ShowedFieldInitializerExistingInstancesUneditedKey = "HotReloadWindow.ShowedFieldInitializerExistingInstancesUnedited"; + private const string RecompiledUnsupportedChangesOnExitPlaymodeKey = "HotReloadWindow.RecompiledUnsupportedChangesOnExitPlaymode"; + private const string RecompiledUnsupportedChangesInPlaymodeKey = "HotReloadWindow.RecompiledUnsupportedChangesInPlaymode"; + private const string EditorCodePatcherInitKey = "HotReloadWindow.EditorCodePatcherInit"; + private const string ShowedDebuggerCompatibilityKey = "HotReloadWindow.ShowedDebuggerCompatibility"; + private const string DisallowedAutoRefreshKey = "HotReloadWindow.DisallowedAutoRefresh"; + private const string WarnedDebuggerAttachedKey = "HotReloadWindow.WarnedDebuggerAttached"; + + + public static int ServerPort { + get { return SessionState.GetInt(ServerPortKey, RequestHelper.defaultPort); } + set { SessionState.SetInt(ServerPortKey, value); } + } + + public static string LastPatchId { + get { return SessionState.GetString(LastPatchIdKey, string.Empty); } + set { SessionState.SetString(LastPatchIdKey, value); } + } + + public static bool ShowingRedDot { + get { return SessionState.GetBool(ShowingRedDotKey, false); } + set { SessionState.SetBool(ShowingRedDotKey, value); } + } + + public static bool ShowedEditorsWithoutHR { + get { return SessionState.GetBool(ShowedEditorsWithoutHRKey, false); } + set { SessionState.SetBool(ShowedEditorsWithoutHRKey, value); } + } + + public static bool ShowedFieldInitializerWithSideEffects { + get { return SessionState.GetBool(ShowedFieldInitializerWithSideEffectsKey, false); } + set { SessionState.SetBool(ShowedFieldInitializerWithSideEffectsKey, value); } + } + + public static bool ShowedAddMonobehaviourMethods { + get { return SessionState.GetBool(ShowedAddMonobehaviourMethodsKey, false); } + set { SessionState.SetBool(ShowedAddMonobehaviourMethodsKey, value); } + } + + public static bool ShowedFieldInitializerExistingInstancesEdited { + get { return SessionState.GetBool(ShowedFieldInitializerExistingInstancesEditedKey, false); } + set { SessionState.SetBool(ShowedFieldInitializerExistingInstancesEditedKey, value); } + } + + public static bool ShowedFieldInitializerExistingInstancesUnedited { + get { return SessionState.GetBool(ShowedFieldInitializerExistingInstancesUneditedKey, false); } + set { SessionState.SetBool(ShowedFieldInitializerExistingInstancesUneditedKey, value); } + } + + public static bool RecompiledUnsupportedChangesOnExitPlaymode { + get { return SessionState.GetBool(RecompiledUnsupportedChangesOnExitPlaymodeKey, false); } + set { SessionState.SetBool(RecompiledUnsupportedChangesOnExitPlaymodeKey, value); } + } + + public static bool RecompiledUnsupportedChangesInPlaymode { + get { return SessionState.GetBool(RecompiledUnsupportedChangesInPlaymodeKey, false); } + set { SessionState.SetBool(RecompiledUnsupportedChangesInPlaymodeKey, value); } + } + + public static bool EditorCodePatcherInit { + get { return SessionState.GetBool(EditorCodePatcherInitKey, false); } + set { SessionState.SetBool(EditorCodePatcherInitKey, value); } + } + + public static bool ShowedDebuggerCompatibility { + get { return SessionState.GetBool(ShowedDebuggerCompatibilityKey, false); } + set { SessionState.SetBool(ShowedDebuggerCompatibilityKey, value); } + } + + public static bool DisallowedAutoRefresh { + get { return SessionState.GetBool(DisallowedAutoRefreshKey, false); } + set { SessionState.SetBool(DisallowedAutoRefreshKey, value); } + } + + public static bool WarnedDebuggerAttached { + get { return SessionState.GetBool(WarnedDebuggerAttachedKey, false); } + set { SessionState.SetBool(WarnedDebuggerAttachedKey, value); } + } + } + +} diff --git a/Packages/com.singularitygroup.hotreload/Editor/HotReloadState.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/HotReloadState.cs.meta new file mode 100644 index 0000000..4911190 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/HotReloadState.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 803347281bcf46b6b37d48231b8882be +timeCreated: 1694458889 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/HotReloadState.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Icon_Player.png b/Packages/com.singularitygroup.hotreload/Editor/Icon_Player.png new file mode 100644 index 0000000000000000000000000000000000000000..ef9a138171276b45333e20d1b9398e37790f673b GIT binary patch literal 2407 zcmZ`*4Lp;38-6fllU5E>ylF;0M%#><%`9daX*HwHHWFhrvCTHkN5$)_h~_=1?Bp|2 zqfg~jny4H}oa5CY>a9fOsMt;6D7P#Ah%g$f{_#It1vKHJR(OwKM0JxwqoC?q1`|-RFGmUhi(9ly=dj~q3lPlYv;CqN3;+$r27tbf zF`x%VI^YM;F$c63U<7Q?vG@|RbnIt2x&W|G06=CrTyWQ3zTnboW_G=DowzN{d)uHjF5fXt|CJ+gc+PdL9 zQG(0^h0+>*xn}y538LnlgwoluzyYz^4AvQg!~UI&pD6f0GHqr?Ha*vj9a&q9#9{HJ zqSyp&TNDDGJnis5;9P$*f;s*cp+H9YOY#-`wTeBLpR<_{el6H65%9qua=I_)*|z3m z^Z457NK8Q@KbB1s#PNkv?JO>CWbEH2z7~3mVnvcbad-ru0{To#=0RVxr)@a%Y>4x1 z<|Sr@WUTgC&wKVW2WuJyPZkA6#(p`a6j-%?Sv3IYC;8F5g4pykMbVp0wwc_9*QUv; zeq4}QJrNpu$KpgLf_e(NGVM*v!Zfo?%rdG0q)MLG4Q+H_G^A;oQr_U*^Esu%M`NR2 zEBi}aPCluh9EaoEoWKaV*{c^Y&Plfvc-)*W<^Q9;ts6KUOE*qF}dQ zw@FD!(Y$+Z=&?sr*xlXz@zDmn=+xV{1)SQ(#uAddyK;2+=Q39!(eM5H z_m{3;|0(hZ9=qb@OF@lFRgsmYkGXogr|0mBZ6P6j@u{h04<0-?Rau#FP@zzE*u&A6 z8X7hvBqX@vaGv+?-w%ml&}b0%_Qs~VI%<7=y(=D1y?ps{NR6VJiu(-O^e-IdHj^k6 z%IMV8RPl=Ec?yNge}C%ijL%sM%L>zXcXy96Wz!8K%{|42C~NDNcMjR@=6Ck@FHexm z1Eo@zSEHk1m2s`pq~^V2%CQ3n3^4(^`Yaa9-rjz{W^(dQf4_2YXz2GX;~8{1U9fA{ z5&vJ3KD=JB%FZr$aC5T>)n^eLeowJ--4!;po9N(hXXI&eGtArDyP-F2&Db$06dLkw zb46)s>AELPsl)yW1F+podzleDUb&5Y_w<1)f!1VlG1}4b%xUDpH4JvQ%?B&7Tz(S1lEMrPwftS9 zk*K~CJ-L1XE|y4m^fgPWRVr1`)~!A_ZrlioF+zJVBb6B$dWQ=OnLBpaA3c@Pkp94i z9UMFq{U9+pndRfN;NtfPSk@BtM>52C;KhsVa~;cLOb7(R-fCJ!*P}-z!Y!s7n$NJh zh6`T%eEc*?SQmJlqpEjvb1Oe`1QBH=2!OOzZ*ST=)-!aTV^#H{w->Rqlywx^_35)= zw#j$ZuK3nSd@7^U+&A2$UApKpYSP7br}uGJ*>jpAE!mbP@+cA<+Uv8)|Q zNy>u<4}NSnPeMoFg1Ov5$DzKeCEQFze0+Q^Cpji2x6EN5VYLZNz{onE_t-6$lx6b6M>+`LKk z=lTciyyu*52*D zU(V+7Q0@!&>*dvz*VMGvZNJvgz@sA@w*!VRhKI)wFK@$*G`k#8HmFoNuP{~l@Q24H zCS=#~_xk$Uri|_e1qGciU;iH{WsjyM*N*4l;&RBp6B$nPv<~G42P;jTA+RFqDRoaz zPlycO%E~(z5D*Z;D_!uG35kx6cTP%48FzfqY2$Q&ojIv*5Y-00M-C*?_xZPqPA
|z{%J+hw%qkrRjBl394n)ZL|-YyvE%I4a|4JV zS>r4C{``EtbMEM2UVy=*c&dcO<+krVeeT?5c^{P-QE7%iwDw*xLwIG6=r|6gNY+CT zS+pFpS{{e?Tf7tma8kn%~#plW?!YBQO1mwXFUtMruS`4LcEu!Cr~>$C^BF34C@4**tA?j zLi-2a{#7kG>Y;}>D@}}>_q1)y`=;-j#iwYR#qp;6cUNq86&=5-{rljzeiQ91H7xy4 DCQGpx literal 0 HcmV?d00001 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Icon_Player.png.meta b/Packages/com.singularitygroup.hotreload/Editor/Icon_Player.png.meta new file mode 100644 index 0000000..29ced5f --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Icon_Player.png.meta @@ -0,0 +1,154 @@ +fileFormatVersion: 2 +guid: 90cf8e542151548c6aa3cba26467e144 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + 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 + vTOnly: 0 + ignoreMasterTextureLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + 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 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Server + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/Icon_Player.png + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/InspectorFreezeFix.cs b/Packages/com.singularitygroup.hotreload/Editor/InspectorFreezeFix.cs new file mode 100644 index 0000000..330fbc1 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/InspectorFreezeFix.cs @@ -0,0 +1,117 @@ +using System.Reflection; +using SingularityGroup.HotReload.Editor; +using UnityEditor; +using UnityEngine; + +[InitializeOnLoad] +public class InspectorFreezeFix +{ + // Inspector window getting stuck is fixed by calling UnityEditor.InspectorWindow.RefreshInspectors() + // Below code subscribes to selection changed callback and calls the method if the inspector is actually stuck + + static InspectorFreezeFix() + { + Selection.selectionChanged += OnSelectionChanged; + } + + private static int _lastInitialEditorId; + + private static void OnSelectionChanged() { + if (!EditorCodePatcher.config.enableInspectorFreezeFix) { + return; + } + try { + // Most of stuff is internal so we use reflection here + var inspectorType = typeof(Editor).Assembly.GetType("UnityEditor.InspectorWindow"); + + foreach (var inspector in Resources.FindObjectsOfTypeAll(inspectorType)) { + + object isLockedValue = inspectorType.GetProperty("isLocked")?.GetValue(inspector); + if (isLockedValue == null) { + continue; + } + + // If inspector window is locked deliberately by user (via the lock icon on top-right), we don't need to refresh + var isLocked = (bool)isLockedValue; + if (isLocked) { + continue; + } + + // Inspector getting stuck is due to ActiveEditorTracker of that window getting stuck internally. + // The tracker starts returning same values from m_Tracker.activeEditors property. + // (Root of cause of this is out of my reach as the tracker code is mainly native code) + + // We detect that by checking first element of activeEditors array + // We do the check because we don't want to RefreshInspectors every selection change, RefreshInspectors is expensive + var tracker = inspectorType.GetField("m_Tracker", BindingFlags.NonPublic | BindingFlags.Instance)?.GetValue(inspector); + if (tracker == null) { + continue; + } + var activeEditors = tracker.GetType().GetProperty("activeEditors"); + if (activeEditors == null) { + continue; + } + var editors = (Editor[])activeEditors.GetValue(tracker); + if (editors.Length == 0) { + continue; + } + + var first = editors[0].GetInstanceID(); + if (_lastInitialEditorId == first) { + // This forces the tracker to be rebuilt + var m = inspectorType.GetMethod("RefreshInspectors", BindingFlags.Static | BindingFlags.NonPublic); + if (m == null) { + // support for older versions + RefreshInspectors(inspectorType); + } else { + m.Invoke(null, null); + } + } + _lastInitialEditorId = first; + // Calling RefreshInspectors once refreshes all the editors + break; + } + } catch { + // ignore, we don't want to make user experience worse by displaying a warning in this case + } + } + + static void RefreshInspectors(System.Type inspectorType) { + var allInspectorsField = inspectorType.GetField("m_AllInspectors", BindingFlags.NonPublic | BindingFlags.Static); + + if (allInspectorsField == null) { + return; + } + var allInspectors = allInspectorsField.GetValue(null) as System.Collections.IEnumerable; + if (allInspectors == null) { + return; + } + + foreach (var inspector in allInspectors) { + var trackerField = FindFieldInHierarchy(inspector.GetType(), "tracker"); + + if (trackerField == null) { + continue; + } + var tracker = trackerField.GetValue(inspector); + var forceRebuildMethod = tracker.GetType().GetMethod("ForceRebuild", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance); + if (forceRebuildMethod == null) { + + continue; + } + forceRebuildMethod.Invoke(tracker, null); + } + } + + static PropertyInfo FindFieldInHierarchy(System.Type type, string fieldName) { + PropertyInfo field = null; + + while (type != null && field == null) { + field = type.GetProperty(fieldName, BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance); + type = type.BaseType; + } + + return field; + } +} + diff --git a/Packages/com.singularitygroup.hotreload/Editor/InspectorFreezeFix.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/InspectorFreezeFix.cs.meta new file mode 100644 index 0000000..cb0d282 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/InspectorFreezeFix.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 235343744f6348acb629d549ccafff0b +timeCreated: 1708187279 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/InspectorFreezeFix.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Installation.meta b/Packages/com.singularitygroup.hotreload/Editor/Installation.meta new file mode 100644 index 0000000..09a0fe3 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Installation.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 12e88a0f97924d18859867b0cc957d03 +timeCreated: 1676802469 \ No newline at end of file diff --git a/Packages/com.singularitygroup.hotreload/Editor/Installation/DownloadUtility.cs b/Packages/com.singularitygroup.hotreload/Editor/Installation/DownloadUtility.cs new file mode 100644 index 0000000..aceae28 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Installation/DownloadUtility.cs @@ -0,0 +1,101 @@ +using System; +using System.IO; +using System.Net; +using System.Net.Http; +using System.Threading; +using System.Threading.Tasks; +using SingularityGroup.HotReload.Editor.Cli; +using SingularityGroup.HotReload.Editor.Localization; +using SingularityGroup.HotReload.Localization; +using Translations = SingularityGroup.HotReload.Editor.Localization.Translations; + +namespace SingularityGroup.HotReload.Editor { + static class DownloadUtility { + const string baseUrl = "https://cdn.hotreload.net"; + + public static async Task DownloadFile(string url, string targetFilePath, IProgress progress, CancellationToken cancellationToken) { + var tmpDir = Path.GetDirectoryName(targetFilePath); + Directory.CreateDirectory(tmpDir); + using(var client = HttpClientUtils.CreateHttpClient()) { + client.Timeout = TimeSpan.FromMinutes(10); + return await client.DownloadAsync(url, targetFilePath, progress, cancellationToken).ConfigureAwait(false); + } + } + + public static string GetPackagePrefix(string version, string locale) { + if (PackageConst.IsAssetStoreBuild) { + return $"releases/asset-store/{(locale == Locale.SimplifiedChinese ? "zh/" : "")}{version.Replace('.', '-')}"; + } + return $"releases/{(locale == Locale.SimplifiedChinese ? "zh/" : "")}{version.Replace('.', '-')}"; + } + + public static string GetDownloadUrl(string key) { + return $"{baseUrl}/{key}"; + } + + public static async Task DownloadAsync(this HttpClient client, string requestUri, string destinationFilePath, IProgress progress, CancellationToken cancellationToken = default(CancellationToken)) { + // Get the http headers first to examine the content length + using (var response = await client.GetAsync(requestUri, HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false)) { + if (response.StatusCode != HttpStatusCode.OK) { + throw new DownloadException(string.Format(Translations.Errors.ExceptionDownloadFailed, response.StatusCode, response.ReasonPhrase)); + } + var contentLength = response.Content.Headers.ContentLength; + if (!contentLength.HasValue) { + throw new DownloadException(Translations.Errors.ExceptionDownloadContentLengthUnknown); + } + + using (var fs = new FileStream(destinationFilePath, FileMode.OpenOrCreate, FileAccess.Write, FileShare.None)) + using (var download = await response.Content.ReadAsStreamAsync().ConfigureAwait(false)) { + + // Ignore progress reporting when no progress reporter was + if (progress == null) { + await download.CopyToAsync(fs).ConfigureAwait(false); + } else { + // Convert absolute progress (bytes downloaded) into relative progress (0% - 99.9%) + var relativeProgress = new Progress(totalBytes => progress.Report(Math.Min(99.9f, (float)totalBytes / contentLength.Value))); + // Use extension method to report progress while downloading + await download.CopyToAsync(fs, 81920, relativeProgress, cancellationToken).ConfigureAwait(false); + } + await fs.FlushAsync().ConfigureAwait(false); + if (fs.Length != contentLength.Value) { + throw new DownloadException(Translations.Errors.ExceptionDownloadFileCorrupted); + } + return new DownloadResult(HttpStatusCode.OK, null); + } + } + } + + static async Task CopyToAsync(this Stream source, Stream destination, int bufferSize, IProgress progress, CancellationToken cancellationToken) { + if (source == null) + throw new ArgumentNullException(nameof(source)); + if (!source.CanRead) + throw new ArgumentException(Translations.Utility.StreamHasToBeReadable, nameof(source)); + if (destination == null) + throw new ArgumentNullException(nameof(destination)); + if (!destination.CanWrite) + throw new ArgumentException(Translations.Utility.StreamHasToBeWritable, nameof(destination)); + if (bufferSize < 0) + throw new ArgumentOutOfRangeException(nameof(bufferSize)); + + var buffer = new byte[bufferSize]; + long totalBytesRead = 0; + int bytesRead; + while ((bytesRead = await source.ReadAsync(buffer, 0, buffer.Length, cancellationToken).ConfigureAwait(false)) != 0) { + await destination.WriteAsync(buffer, 0, bytesRead, cancellationToken).ConfigureAwait(false); + totalBytesRead += bytesRead; + progress?.Report(totalBytesRead); + } + } + + [Serializable] + public class DownloadException : ApplicationException { + public DownloadException(string message) + : base(message) { + } + + public DownloadException(string message, Exception innerException) + : base(message, innerException) { + } + } + } +} diff --git a/Packages/com.singularitygroup.hotreload/Editor/Installation/DownloadUtility.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/Installation/DownloadUtility.cs.meta new file mode 100644 index 0000000..28b214f --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Installation/DownloadUtility.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 2a7a39befa1f455cb21fcad46513b6e5 +timeCreated: 1676973096 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/Installation/DownloadUtility.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Installation/ExponentialBackoff.cs b/Packages/com.singularitygroup.hotreload/Editor/Installation/ExponentialBackoff.cs new file mode 100644 index 0000000..9591972 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Installation/ExponentialBackoff.cs @@ -0,0 +1,18 @@ +using System; + +namespace SingularityGroup.HotReload.Editor { + static class ExponentialBackoff { + + public static TimeSpan GetTimeout(int attempt, int minBackoff = 250, int maxBackoff = 60000, int deltaBackoff = 400) { + attempt = Math.Min(25, attempt); // safety to avoid overflow below + + var delta = (uint)( + (Math.Pow(2.0, attempt) - 1.0) + * deltaBackoff + ); + + var interval = Math.Min(checked(minBackoff + delta), maxBackoff); + return TimeSpan.FromMilliseconds(interval); + } + } +} \ No newline at end of file diff --git a/Packages/com.singularitygroup.hotreload/Editor/Installation/ExponentialBackoff.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/Installation/ExponentialBackoff.cs.meta new file mode 100644 index 0000000..4007733 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Installation/ExponentialBackoff.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 5329de48151140eb871721ae80f925cd +timeCreated: 1676908147 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/Installation/ExponentialBackoff.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Installation/InstallUtility.cs b/Packages/com.singularitygroup.hotreload/Editor/Installation/InstallUtility.cs new file mode 100644 index 0000000..48bc621 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Installation/InstallUtility.cs @@ -0,0 +1,62 @@ +using System; +using System.IO; +using SingularityGroup.HotReload.DTO; +using SingularityGroup.HotReload.Editor.Cli; +using SingularityGroup.HotReload.EditorDependencies; +using UnityEditor; +using UnityEngine; +#if UNITY_2019_4_OR_NEWER +using System.Reflection; +using Unity.CodeEditor; +#endif + +namespace SingularityGroup.HotReload.Editor { + static class InstallUtility { + static string installFlagPath = PackageConst.LibraryCachePath + "/installFlag.txt"; + + public static void DebugClearInstallState() { + File.Delete(installFlagPath); + } + + // HandleEditorStart is only called on editor start, not on domain reload + public static void HandleEditorStart(string updatedFromVersion) { + var showOnStartup = HotReloadPrefs.ShowOnStartup; + if (showOnStartup == ShowOnStartupEnum.Always || (showOnStartup == ShowOnStartupEnum.OnNewVersion && !String.IsNullOrEmpty(updatedFromVersion))) { + if (!HotReloadPrefs.DeactivateHotReload) { + HotReloadWindow.Open(); + } + } + if (HotReloadPrefs.LaunchOnEditorStart && !HotReloadPrefs.DeactivateHotReload) { + EditorCodePatcher.DownloadAndRun().Forget(); + } + + RequestHelper.RequestEditorEventWithRetry(new Stat(StatSource.Client, StatLevel.Debug, StatFeature.Editor, StatEventType.Start)).Forget(); + } + + public static void CheckForNewInstall() { + if(File.Exists(installFlagPath) || MultiplayerPlaymodeHelper.IsClone) { + return; + } + Directory.CreateDirectory(Path.GetDirectoryName(installFlagPath)); + using(File.Create(installFlagPath)) { } + //Avoid opening the window on domain reload + EditorApplication.delayCall += HandleNewInstall; + } + + static void HandleNewInstall() { + if (EditorCodePatcher.licenseType == UnityLicenseType.UnityPro) { + RedeemLicenseHelper.I.StartRegistration(); + } + HotReloadPrefs.AllowDisableUnityAutoRefresh = true; + HotReloadPrefs.AllAssetChanges = true; + HotReloadPrefs.AutoRecompileUnsupportedChanges = true; + HotReloadPrefs.AutoRecompileUnsupportedChangesOnExitPlayMode = true; +#if UNITY_EDITOR_WIN + HotReloadPrefs.UseWatchman = false; +#endif + if (HotReloadCli.CanOpenInBackground) { + HotReloadPrefs.DisableConsoleWindow = true; + } + } + } +} \ No newline at end of file diff --git a/Packages/com.singularitygroup.hotreload/Editor/Installation/InstallUtility.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/Installation/InstallUtility.cs.meta new file mode 100644 index 0000000..0225cd6 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Installation/InstallUtility.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: ee93b2c98bc7d8f4bb38bbbd5961d354 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/Installation/InstallUtility.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Installation/ServerDownloader.cs b/Packages/com.singularitygroup.hotreload/Editor/Installation/ServerDownloader.cs new file mode 100644 index 0000000..3f4e324 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Installation/ServerDownloader.cs @@ -0,0 +1,228 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Net; +using System.Net.Http; +using System.Threading; +using System.Threading.Tasks; +using SingularityGroup.HotReload.DTO; +using SingularityGroup.HotReload.Editor.Cli; +using SingularityGroup.HotReload.Localization; +using SingularityGroup.HotReload.Newtonsoft.Json; +using UnityEditor; +using UnityEngine; +using Translations = SingularityGroup.HotReload.Editor.Localization.Translations; + +namespace SingularityGroup.HotReload.Editor { + internal class ServerDownloader : IProgress { + public float Progress {get; private set;} + public bool Started {get; private set;} + public int Attempts { get; private set; } + + class Config { + public Dictionary customServerExecutables; + } + + public string GetExecutablePath(ICliController cliController) { + var targetDir = CliUtils.GetExecutableTargetDir(); + var targetPath = Path.Combine(targetDir, cliController.BinaryFileName); + return targetPath; + } + + public bool IsDownloaded(ICliController cliController) { + return File.Exists(GetExecutablePath(cliController)); + } + + public string GetBinaryPath(ICliController cliController) { + var defaultExecutablePath = CliUtils.GetExecutableTargetDir(); + var config = JsonConvert.DeserializeObject(File.ReadAllText(PackageConst.ConfigFilePath)); + var customExecutables = config?.customServerExecutables; + if (customExecutables == null) { + return defaultExecutablePath; + } + + string customBinaryPath; + if (!customExecutables.TryGetValue(cliController.PlatformName, out customBinaryPath)) { + return defaultExecutablePath; + } + return Path.GetDirectoryName(customBinaryPath); + } + + public bool CheckIfDownloaded(ICliController cliController) { + if(TryUseUserDefinedBinaryPath(cliController, GetExecutablePath(cliController))) { + Started = true; + Progress = 1f; + return true; + } else if(IsDownloaded(cliController)) { + Started = true; + Progress = 1f; + return true; + } else { + Started = false; + Progress = 0f; + return false; + } + } + + public async Task EnsureDownloaded(ICliController cliController, CancellationToken cancellationToken, int maxAttempts = -1) { + var targetDir = CliUtils.GetExecutableTargetDir(); + var targetPath = Path.Combine(targetDir, cliController.BinaryFileName); + Started = true; + Progress = 0f; + Attempts = 0; + if(File.Exists(targetPath)) { + Progress = 1f; + return true; + } + await ThreadUtility.SwitchToThreadPool(cancellationToken); + + Directory.CreateDirectory(targetDir); + if(TryUseUserDefinedBinaryPath(cliController, targetPath, true)) { + Progress = 1f; + return true; + } + + var tmpPath = CliUtils.GetTempDownloadFilePath("Server.tmp"); + bool sucess = false; + HashSet errors = null; + while(!sucess) { + try { + if (File.Exists(targetPath)) { + Progress = 1f; + Attempts = 0; + return true; + } + // Note: we are writing to temp file so if downloaded file is corrupted it will not cause issues until it's copied to target location + var result = await DownloadUtility.DownloadFile(GetDownloadUrl(cliController), tmpPath, this, cancellationToken).ConfigureAwait(false); + sucess = result.statusCode == HttpStatusCode.OK; + } catch (OperationCanceledException) { + Progress = 0; + Started = false; + Attempts = 0; + throw; + } catch (Exception e) { + var error = $"{e.GetType().Name}: {e.Message}"; + errors = (errors ?? new HashSet()); + if (errors.Add(error)) { + Log.Warning(Translations.Errors.ErrorDownloadFailed, error); + } + } + if (!sucess) { + if (maxAttempts > 0 && Attempts + 1 >= maxAttempts) { + Progress = 0; + Attempts = 0; + Started = false; + Log.Warning(Translations.Errors.ErrorDownloadFailedMaxAttempts); + return false; + } + await Task.Delay(ExponentialBackoff.GetTimeout(Attempts++), cancellationToken).ConfigureAwait(false); + Progress = 0; + } + } + + if (errors?.Count > 0) { + var data = new EditorExtraData { + { StatKey.Errors, new List(errors) }, + }; + // sending telemetry requires server to be running so we only attempt after server is downloaded + RequestHelper.RequestEditorEventWithRetry(new Stat(StatSource.Client, StatLevel.Error, StatFeature.Editor, StatEventType.Download), data).Forget(); + Log.Info(Translations.Errors.ErrorDownloadSucceeded); + } + + const int ERROR_ALREADY_EXISTS = 0xB7; + try { + File.Move(tmpPath, targetPath); + } catch(IOException ex) when((ex.HResult & 0x0000FFFF) == ERROR_ALREADY_EXISTS) { + //another downloader came first + try { + File.Delete(tmpPath); + } catch { + //ignored + } + } + Progress = 1f; + Attempts = 0; + return true; + } + + static bool TryUseUserDefinedBinaryPath(ICliController cliController, string targetPath, bool logNotFoundWarning = false) { + if (!File.Exists(PackageConst.ConfigFilePath)) { + return false; + } + + var config = JsonConvert.DeserializeObject(File.ReadAllText(PackageConst.ConfigFilePath)); + var customExecutables = config?.customServerExecutables; + if (customExecutables == null) { + return false; + } + + string customBinaryPath; + if(!customExecutables.TryGetValue(cliController.PlatformName, out customBinaryPath)) { + return false; + } + + if (!File.Exists(customBinaryPath)) { + if (logNotFoundWarning) { + Log.Warning(Translations.Errors.ErrorServerBinaryNotFound, cliController.PlatformName, customBinaryPath); + } + return false; + } + + try { + var targetFile = new FileInfo(targetPath); + bool copy = true; + if (targetFile.Exists) { + copy = File.GetLastWriteTimeUtc(customBinaryPath) > targetFile.LastWriteTimeUtc; + } + if (copy) { + Directory.CreateDirectory(Path.GetDirectoryName(targetPath)); + File.Copy(customBinaryPath, targetPath, true); + } + return true; + } catch(IOException ex) { + Log.Warning(Translations.Errors.ErrorCopyingServerBinary, customBinaryPath, ex); + return false; + } + } + + public static string GetDownloadUrl(ICliController cliController) { + const string version = PackageConst.ServerVersion; + // NOTE: server is not translated at the moment so we always use english + var key = $"{DownloadUtility.GetPackagePrefix(version, Locale.English)}/server/{cliController.PlatformName}/{cliController.BinaryFileName}"; + return DownloadUtility.GetDownloadUrl(key); + } + + void IProgress.Report(float value) { + Progress = value; + } + + public async Task PromptForDownload(CancellationToken manualDownloadCancelationToken) { + if (EditorUtility.DisplayDialog( + title: Translations.Dialogs.DialogTitleInstallComponents, + message: Translations.Dialogs.DialogMessageInstallComponents, + ok: Translations.Dialogs.DialogButtonInstall, + cancel: Translations.Dialogs.DialogButtonMoreInfo) + ) { + try { + return await EnsureDownloaded(HotReloadCli.controller, manualDownloadCancelationToken); + } catch (Exception ex) { + if (ex is OperationCanceledException || manualDownloadCancelationToken.IsCancellationRequested) { + // binary was downloaded manually. Retry once to detect the binary. + return await EnsureDownloaded(HotReloadCli.controller, CancellationToken.None, 1); + } + Log.Exception(ex); + } + } + return false; + } + } + + class DownloadResult { + public readonly HttpStatusCode statusCode; + public readonly string error; + public DownloadResult(HttpStatusCode statusCode, string error) { + this.statusCode = statusCode; + this.error = error; + } + } +} diff --git a/Packages/com.singularitygroup.hotreload/Editor/Installation/ServerDownloader.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/Installation/ServerDownloader.cs.meta new file mode 100644 index 0000000..fefe5c3 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Installation/ServerDownloader.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: f076514e142a4915ab2676a9ca6d884a +timeCreated: 1676802482 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/Installation/ServerDownloader.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Installation/UpdateUtility.cs b/Packages/com.singularitygroup.hotreload/Editor/Installation/UpdateUtility.cs new file mode 100644 index 0000000..85fbbcc --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Installation/UpdateUtility.cs @@ -0,0 +1,95 @@ +using System; +using System.IO; +using System.Threading; +using System.Threading.Tasks; +using SingularityGroup.HotReload.Editor.Cli; +using SingularityGroup.HotReload.Editor.Localization; +using SingularityGroup.HotReload.RuntimeDependencies; +using UnityEditor; +#if UNITY_EDITOR_WIN +using System.Diagnostics; +using Debug = UnityEngine.Debug; +#endif + +namespace SingularityGroup.HotReload.Editor { + static class UpdateUtility { + public static async Task Update(string version, IProgress progress, CancellationToken cancellationToken) { + await ThreadUtility.SwitchToThreadPool(); + + string serverDir; + if(!CliUtils.TryFindServerDir(out serverDir)) { + progress?.Report(1); + return Translations.Utility.UnableToLocateHotReloadPackage; + } + var packageDir = Path.GetDirectoryName(Path.GetFullPath(serverDir)); + var cacheDir = Path.GetFullPath(PackageConst.LibraryCachePath); + if(Path.GetPathRoot(packageDir) != Path.GetPathRoot(cacheDir)) { + progress?.Report(1); + return Translations.Utility.UnableToUpdatePackageDifferentDrive; + } + var updatedPackageCopy = BackupPackage(packageDir, version); + + var key = $"{DownloadUtility.GetPackagePrefix(version, PackageConst.DefaultLocale)}/HotReload.zip"; + var url = DownloadUtility.GetDownloadUrl(key); + var targetFileName = $"HotReload{version.Replace('.', '-')}.zip"; + var targetFilePath = CliUtils.GetTempDownloadFilePath(targetFileName); + var proxy = new Progress(f => progress?.Report(f * 0.7f)); + var result = await DownloadUtility.DownloadFile(url, targetFilePath, proxy, cancellationToken).ConfigureAwait(false); + if(result.error != null) { + progress?.Report(1); + return result.error; + } + + PackageUpdater.UpdatePackage(targetFilePath, updatedPackageCopy); + progress?.Report(0.8f); + + var packageRecycleBinDir = PackageConst.LibraryCachePath + $"/PackageArchived-{version}-{Guid.NewGuid():N}"; + try { + Directory.Move(packageDir, packageRecycleBinDir); + Directory.Move(updatedPackageCopy, packageDir); + } catch { + // fallback to replacing files individually if access to the folder is denied + PackageUpdater.UpdatePackage(targetFilePath, packageDir); + } + try { + Directory.Delete(packageRecycleBinDir, true); + } catch (IOException) { + //ignored + } + + progress?.Report(1); + return null; + } + + static string BackupPackage(string packageDir, string version) { + var backupPath = PackageConst.LibraryCachePath + $"/PackageBackup-{version}"; + if(Directory.Exists(backupPath)) { + Directory.Delete(backupPath, true); + } + DirectoryCopy(packageDir, backupPath); + return backupPath; + } + + static void DirectoryCopy(string sourceDirPath, string destDirPath) { + var rootSource = new DirectoryInfo(sourceDirPath); + + var sourceDirs = rootSource.GetDirectories(); + // ensure destination directory exists + Directory.CreateDirectory(destDirPath); + + // Get the files in the directory and copy them to the new destination + var files = rootSource.GetFiles(); + foreach (var file in files) { + string temppath = Path.Combine(destDirPath, file.Name); + var copy = file.CopyTo(temppath); + copy.LastWriteTimeUtc = file.LastWriteTimeUtc; + } + + // copying subdirectories, and their contents to destination + foreach (var subdir in sourceDirs) { + string subDirDestPath = Path.Combine(destDirPath, subdir.Name); + DirectoryCopy(subdir.FullName, subDirDestPath); + } + } + } +} \ No newline at end of file diff --git a/Packages/com.singularitygroup.hotreload/Editor/Installation/UpdateUtility.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/Installation/UpdateUtility.cs.meta new file mode 100644 index 0000000..8bc2656 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Installation/UpdateUtility.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: d8485ce38122465e9e70d5992d9ae7ed +timeCreated: 1676966641 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/Installation/UpdateUtility.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Localization.meta b/Packages/com.singularitygroup.hotreload/Editor/Localization.meta new file mode 100644 index 0000000..13cbf1b --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Localization.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: c856b3b3ce5f41c7aaebf7b543be697a +timeCreated: 1759652305 \ No newline at end of file diff --git a/Packages/com.singularitygroup.hotreload/Editor/Localization/AboutTranslations.cs b/Packages/com.singularitygroup.hotreload/Editor/Localization/AboutTranslations.cs new file mode 100644 index 0000000..a4f82bb --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Localization/AboutTranslations.cs @@ -0,0 +1,103 @@ +namespace SingularityGroup.HotReload.Editor.Localization { + internal static partial class Translations { + public static class About { + // Log Messages + public static string LogNoLogsFound; + public static string LogFailedOpeningLogFile; + public static string LogBuildTargetSwitching; + + // About/Help Tab + public static string AboutTitle; + public static string AboutDescription; + public static string AboutVersionInfo; + public static string AboutChangelog; + public static string AboutFeatures; + public static string AboutImprovements; + public static string AboutFixes; + public static string AboutToday; + public static string AboutYesterday; + public static string AboutDaysAgo; + public static string AboutOneMonthAgo; + public static string AboutMonthsAgo; + public static string AboutOneYearAgo; + public static string AboutYearsAgo; + + // About Tab Buttons + public static string ButtonDocumentation; + public static string ButtonContact; + public static string ButtonUnityForum; + public static string ButtonReportIssue; + public static string ButtonJoinDiscord; + public static string ButtonSeeMore; + public static string ButtonManageLicense; + public static string ButtonManageAccount; + + public static void LoadEnglish() { + // Log Messages + LogNoLogsFound = "No logs found"; + LogFailedOpeningLogFile = "Failed opening log file."; + LogBuildTargetSwitching = "Build target is switching to {0}."; + + // About/Help Tab + AboutTitle = "Help"; + AboutDescription = "Info and support for Hot Reload for Unity."; + AboutVersionInfo = " Hot Reload version {0}. "; + AboutChangelog = "Changelog"; + AboutFeatures = "Features:"; + AboutImprovements = "Improvements:"; + AboutFixes = "Fixes:"; + AboutToday = "Today"; + AboutYesterday = "Yesterday"; + AboutDaysAgo = "{0} days ago"; + AboutOneMonthAgo = "one month ago"; + AboutMonthsAgo = "{0} months ago"; + AboutOneYearAgo = "one year ago"; + AboutYearsAgo = "{0} years ago"; + + // About Tab Buttons + ButtonDocumentation = "Documentation"; + ButtonContact = "Contact"; + ButtonUnityForum = "Unity Forum"; + ButtonReportIssue = "Report issue"; + ButtonJoinDiscord = "Join Discord"; + ButtonSeeMore = "See More"; + ButtonManageLicense = "Manage License"; + ButtonManageAccount = "Manage Account"; + } + + public static void LoadSimplifiedChinese() { + // Log Messages + LogNoLogsFound = "未找到日志"; + LogFailedOpeningLogFile = "打开日志文件失败。"; + LogBuildTargetSwitching = "构建目标正在切换到 {0}。"; + + // About/Help Tab + AboutTitle = "帮助"; + AboutDescription = "Unity Hot Reload 的信息和支持。"; + AboutVersionInfo = " Hot Reload 版本 {0}。"; + AboutChangelog = "更新日志"; + AboutFeatures = "新功能:"; + AboutImprovements = "改进:"; + AboutFixes = "修复:"; + AboutToday = "今天"; + AboutYesterday = "昨天"; + AboutDaysAgo = "{0} 天前"; + AboutOneMonthAgo = "一个月前"; + AboutMonthsAgo = "{0} 个月前"; + AboutOneYearAgo = "一年前"; + AboutYearsAgo = "{0} 年前"; + + // About Tab Buttons + ButtonDocumentation = "文档"; + ButtonContact = "联系我们"; + ButtonUnityForum = "Unity 论坛"; + ButtonReportIssue = "报告问题"; + ButtonJoinDiscord = "加入 Discord"; + ButtonSeeMore = "查看更多"; + ButtonManageLicense = "管理许可证"; + ButtonManageAccount = "管理帐户"; + } + } + } +} + diff --git a/Packages/com.singularitygroup.hotreload/Editor/Localization/AboutTranslations.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/Localization/AboutTranslations.cs.meta new file mode 100644 index 0000000..d020307 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Localization/AboutTranslations.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 155269da640bb89428bf5b3d415878c9 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/Localization/AboutTranslations.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Localization/CommonTranslations.cs b/Packages/com.singularitygroup.hotreload/Editor/Localization/CommonTranslations.cs new file mode 100644 index 0000000..111ce83 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Localization/CommonTranslations.cs @@ -0,0 +1,118 @@ +namespace SingularityGroup.HotReload.Editor.Localization { + internal static partial class Translations { + public static class Common { + // Common Buttons + public static string ButtonSubmit; + public static string ButtonHide; + public static string ButtonClear; + public static string ButtonStart; + public static string ButtonStop; + public static string ButtonRecompile; + public static string ButtonProceed; + public static string ButtonYes; + public static string ButtonNo; + public static string ButtonCancel; + public static string ButtonOpenInBrowser; + public static string ButtonLogin; + public static string ButtonLogout; + public static string ButtonRedeem; + public static string ButtonSkip; + public static string ButtonUpgrade; + public static string ButtonDocs; + public static string ButtonFixAll; + public static string ButtonGoBack; + public static string ButtonActivatePromoCode; + public static string ButtonActivateLicense; + public static string ButtonOpenLogFile; + public static string ButtonBrowseAllLogs; + public static string ButtonInfo; + public static string ButtonNotNow; + public static string ButtonStopAndRecompile; + + // Common Labels + public static string LabelEmail; + public static string LabelPassword; + public static string LabelPromoCode; + public static string LabelCompanySize; + public static string LabelInvoiceNumber; + public static string LabelShowOnStartup; + + public static void LoadEnglish() { + // Common Buttons + ButtonSubmit = "Submit"; + ButtonHide = "Hide"; + ButtonClear = "Clear"; + ButtonStart = " Start"; + ButtonStop = " Stop"; + ButtonRecompile = " Recompile"; + ButtonProceed = "Proceed"; + ButtonYes = "Yes"; + ButtonNo = "No"; + ButtonCancel = "Cancel"; + ButtonOpenInBrowser = "Open in browser"; + ButtonLogin = "Login"; + ButtonLogout = "Logout"; + ButtonRedeem = "Redeem"; + ButtonSkip = "Skip"; + ButtonUpgrade = "Upgrade"; + ButtonFixAll = "Fix All"; + ButtonGoBack = "Go Back"; + ButtonActivatePromoCode = "Activate promo code"; + ButtonActivateLicense = "Activate License"; + ButtonOpenLogFile = "Open Log File"; + ButtonBrowseAllLogs = "Browse all logs"; + ButtonInfo = " Info"; + ButtonNotNow = "Not now"; + ButtonStopAndRecompile = "Stop and Recompile"; + + // Common Labels + LabelEmail = "Email"; + LabelPassword = "Password"; + LabelPromoCode = "Promo code"; + LabelCompanySize = "Company size (number of employees)"; + LabelInvoiceNumber = "Invoice number/Order ID"; + LabelShowOnStartup = "Show On Startup"; + ButtonDocs = "Docs"; + } + + public static void LoadSimplifiedChinese() { + // Common Buttons + ButtonSubmit = "提交"; + ButtonHide = "隐藏"; + ButtonClear = "清除"; + ButtonStart = " 开始"; + ButtonStop = " 停止"; + ButtonRecompile = " 重新编译"; + ButtonProceed = "继续"; + ButtonYes = "是"; + ButtonNo = "否"; + ButtonCancel = "取消"; + ButtonOpenInBrowser = "在浏览器中打开"; + ButtonLogin = "登录"; + ButtonLogout = "登出"; + ButtonRedeem = "兑换"; + ButtonSkip = "跳过"; + ButtonDocs = "文档"; + ButtonUpgrade = "升级"; + ButtonFixAll = "全部修复"; + ButtonGoBack = "返回"; + ButtonActivatePromoCode = "激活促销代码"; + ButtonActivateLicense = "激活许可证"; + ButtonOpenLogFile = "打开日志文件"; + ButtonBrowseAllLogs = "浏览所有日志"; + ButtonInfo = " 信息"; + ButtonNotNow = "以后再说"; + ButtonStopAndRecompile = "停止并重新编译"; + + // Common Labels + LabelEmail = "电子邮件"; + LabelPassword = "密码"; + LabelPromoCode = "促销代码"; + LabelCompanySize = "公司规模(员工人数)"; + LabelInvoiceNumber = "发票号码/订单 ID"; + LabelShowOnStartup = "启动时显示"; + } + } + } +} + diff --git a/Packages/com.singularitygroup.hotreload/Editor/Localization/CommonTranslations.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/Localization/CommonTranslations.cs.meta new file mode 100644 index 0000000..a88930d --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Localization/CommonTranslations.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 2fea73e8304102e4a805c3d00653b84b +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/Localization/CommonTranslations.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Localization/DialogTranslations.cs b/Packages/com.singularitygroup.hotreload/Editor/Localization/DialogTranslations.cs new file mode 100644 index 0000000..5232956 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Localization/DialogTranslations.cs @@ -0,0 +1,181 @@ +namespace SingularityGroup.HotReload.Editor.Localization { + internal static partial class Translations { + public static class Dialogs { + // Dialogs + public static string DialogTitleRecompile; + public static string DialogMessageRecompile; + public static string DialogTitleStopPlayMode; + public static string DialogMessageStopPlayMode; + public static string DialogTitleRecoverPassword; + public static string DialogMessageRecoverPassword; + public static string DialogTitleRateApp; + public static string DialogMessageRateApp; + public static string DialogTitleDeactivate; + public static string DialogMessageDeactivate; + public static string DialogButtonDeactivate; + public static string DialogTitleRestartServer; + public static string DialogMessageRestartAssetRefresh; + public static string DialogMessageRestartConsoleWindow; + public static string DialogMessageRestartErrorReporting; + public static string DialogButtonRestartHotReload; + public static string DialogButtonRestartServer; + public static string DialogButtonDontRestart; + public static string DialogTitleInstallComponents; + public static string DialogMessageInstallComponents; + public static string DialogButtonInstall; + public static string DialogButtonMoreInfo; + public static string DialogTitleSwitchBuildTarget; + public static string DialogMessageSwitchBuildTarget; + public static string DialogButtonSwitchToStandalone; + + // About Tab Dialog Messages + public static string DialogManageLicenseMessage; + public static string DialogManageAccountMessage; + public static string DialogReportIssueMessage; + + // Update Dialog + public static string DialogTitleUpdateFormat; + public static string DialogMessageUpdateFormat; + public static string DialogButtonUpdate; + + // Update Server Dialog + public static string DialogMessageRestartUpdate; + public static string DialogMessageRestartFieldInitializer; + public static string DialogMessageRestartExposeServer; + public static string DialogTitleHotReload; + + // Debugger Detected Dialogs + public static string DialogTitleHotReloadDebuggerDetected; + public static string DialogMessageHotReloadDebuggerDetectedPause; + public static string DialogMessageHotReloadDebuggerDetectedRecompile; + public static string DialogButtonHotReloadDebuggerDetectedPause; + public static string DialogButtonHotReloadDebuggerDetectedRecompile; + public static string DialogCloseHotReloadDebuggerDetected; + public static string DialogButtonHotReloadDebuggerDetectedAdvancedOptions; + public static string DialogTitleHotReloadDebuggerOptions; + public static string DialogMessageHotReloadDebuggerOptions; + public static string DialogButtonHotReloadDebuggerOptionsContinue; + public static string DialogButtonHotReloadDebuggerOptionsCancelPause; + public static string DialogButtonHotReloadDebuggerOptionsCancelRecompile; + + public static void LoadEnglish() { + // Dialogs + DialogTitleRecompile = "Hot Reload auto-applies changes"; + DialogMessageRecompile = "Using the Recompile button is only necessary when Hot Reload fails to apply your changes. \n\nDo you wish to proceed?"; + DialogTitleStopPlayMode = "Stop Play Mode and Recompile?"; + DialogMessageStopPlayMode = "Using the Recompile button will stop Play Mode.\n\nDo you wish to proceed?"; + DialogTitleRecoverPassword = "Recover password"; + DialogMessageRecoverPassword = "Use company code 'naughtycult' and the email you signed up with in order to recover your account."; + DialogTitleRateApp = "Rate Hot Reload"; + DialogMessageRateApp = "Thank you for using Hot Reload!\n\nPlease consider leaving a review on the Asset Store to support us."; + DialogTitleDeactivate = "Hot Reload"; + DialogMessageDeactivate = "Hot Reload will be completely deactivated (unusable) until you activate it again.\n\nDo you want to proceed?"; + DialogButtonDeactivate = "Deactivate"; + DialogTitleRestartServer = "Hot Reload"; + DialogMessageRestartAssetRefresh = "When changing 'Asset refresh', the Hot Reload server must be restarted for this to take effect.\nDo you want to restart it now?"; + DialogMessageRestartConsoleWindow = "When changing 'Hide console window on start', the Hot Reload server must be restarted for this to take effect.\nDo you want to restart it now?"; + DialogMessageRestartErrorReporting = "When changing 'Disable Detailed Error Reporting', the Hot Reload server must be restarted for this to take effect.\nDo you want to restart it now?"; + DialogButtonRestartHotReload = "Restart Hot Reload"; + DialogButtonRestartServer = "Restart server"; + DialogButtonDontRestart = "Don't restart"; + DialogTitleInstallComponents = "Install platform specific components"; + DialogMessageInstallComponents = "For Hot Reload to work, additional components specific to your operating system have to be installed"; + DialogButtonInstall = "Install"; + DialogButtonMoreInfo = "More Info"; + DialogTitleSwitchBuildTarget = "Switch Build Target"; + DialogMessageSwitchBuildTarget = "Switching the build target can take a while depending on project size."; + DialogButtonSwitchToStandalone = "Switch to Standalone"; + + // About Tab Dialog Messages + DialogManageLicenseMessage = "Upgrade/downgrade/edit your subscription and edit payment info."; + DialogManageAccountMessage = "Login with company code 'naughtycult'. Use the email you signed up with. Your initial password was sent to you by email."; + DialogReportIssueMessage = "Report issue in our public issue tracker. Requires gitlab.com account (if you don't have one and are not willing to make it, please contact us by other means such as our website)."; + + // Update Dialog + DialogTitleUpdateFormat = "Update To v{0}"; + DialogMessageUpdateFormat = "By pressing 'Update' the Hot Reload package will be updated to v{0}"; + DialogButtonUpdate = "Update"; + + // Update Server Dialog + DialogMessageRestartUpdate = "When updating Hot Reload, the server must be restarted for the update to take effect.\nDo you want to restart it now?"; + DialogMessageRestartFieldInitializer = "When changing 'Apply field initializer edits to existing class instances' setting, the Hot Reload server must restart for it to take effect.\nDo you want to restart it now?"; + DialogMessageRestartExposeServer = "When changing '{0}', the Hot Reload server must be restarted for this to take effect.\nDo you want to restart it now?"; + DialogTitleHotReload = "Hot Reload"; + + // Debugger Detected Dialogs + DialogTitleHotReloadDebuggerDetected = "Hot Reload - Debugger Detected"; + DialogMessageHotReloadDebuggerDetectedPause = "Hot Reload can interfere with debugger breakpoints. We recommend pausing Hot Reload while the debugger is attached for the best debugger experience."; + DialogMessageHotReloadDebuggerDetectedRecompile = "Hot Reload can interfere with debugger breakpoints. We recommend using auto full-recompile while the debugger is attached for the best debugger experience."; + DialogButtonHotReloadDebuggerDetectedPause = "Pause Hot Reload (Recommended)"; + DialogButtonHotReloadDebuggerDetectedRecompile = "Use Full Recompile (Recommended)"; + DialogCloseHotReloadDebuggerDetected = "Close"; + DialogButtonHotReloadDebuggerDetectedAdvancedOptions = "Advanced Options"; + DialogTitleHotReloadDebuggerOptions = "Advanced: Keep Hot Reload Active"; + DialogMessageHotReloadDebuggerOptions = "Breakpoints in Visual Studio may not work reliably when Hot Reload remains active during debugging. This is intended for developers who prefer Hot Reload over full breakpoint support. You can change this anytime in Settings."; + DialogButtonHotReloadDebuggerOptionsContinue = "Continue With Limited Debugger"; + DialogButtonHotReloadDebuggerOptionsCancelPause = "Pause Hot Reload"; + DialogButtonHotReloadDebuggerOptionsCancelRecompile = "Use Full Recompile"; + } + + public static void LoadSimplifiedChinese() { + // Dialogs + DialogTitleRecompile = "Hot Reload 自动应用更改"; + DialogMessageRecompile = "仅当 Hot Reload 未能应用您的更改时,才需要使用“重新编译”按钮。\n\n您希望继续吗?"; + DialogTitleStopPlayMode = "停止播放模式并重新编译?"; + DialogMessageStopPlayMode = "使用“重新编译”按钮将停止播放模式。\n\n您希望继续吗?"; + DialogTitleRecoverPassword = "恢复密码"; + DialogMessageRecoverPassword = "使用公司代码 'naughtycult' 和您注册时使用的电子邮件来恢复您的帐户。"; + DialogTitleRateApp = "为 Hot Reload 评分"; + DialogMessageRateApp = "感谢您使用 Hot Reload!\n\n请考虑在 Asset Store 上留下评论以支持我们。"; + DialogTitleDeactivate = "Hot Reload"; + DialogMessageDeactivate = "Hot Reload 将被完全停用(无法使用),直到您再次激活它。\n\n您希望继续吗?"; + DialogButtonDeactivate = "停用"; + DialogTitleRestartServer = "Hot Reload"; + DialogMessageRestartAssetRefresh = "更改“资源刷新”时,必须重新启动 Hot Reload 服务器才能生效。\n您希望现在重新启动吗?"; + DialogMessageRestartConsoleWindow = "更改“启动时隐藏控制台窗口”时,必须重新启动 Hot Reload 服务器才能生效。\n您希望现在重新启动吗?"; + DialogMessageRestartErrorReporting = "更改“禁用详细错误报告”时,必须重新启动 Hot Reload 服务器才能生效。\n您希望现在重新启动吗?"; + DialogButtonRestartHotReload = "重新启动 Hot Reload"; + DialogButtonRestartServer = "重新启动服务器"; + DialogButtonDontRestart = "不重新启动"; + DialogTitleInstallComponents = "安装特定于平台的组件"; + DialogMessageInstallComponents = "为了让 Hot Reload 工作,必须安装特定于您操作系统的附加组件"; + DialogButtonInstall = "安装"; + DialogButtonMoreInfo = "更多信息"; + DialogTitleSwitchBuildTarget = "切换构建目标"; + DialogMessageSwitchBuildTarget = "切换构建目标可能需要一段时间,具体取决于项目大小。"; + DialogButtonSwitchToStandalone = "切换到独立平台"; + + // About Tab Dialog Messages + DialogManageLicenseMessage = "升级/降级/编辑您的订阅并编辑付款信息。"; + DialogManageAccountMessage = "使用公司代码 'naughtycult' 登录。使用您注册时使用的电子邮件。您的初始密码已通过电子邮件发送给您。"; + DialogReportIssueMessage = "在我们的公共问题跟踪器中报告问题。需要 gitlab.com 帐户(如果您没有并且不愿意创建,请通过其他方式与我们联系,例如我们的网站)。"; + + // Update Dialog + DialogTitleUpdateFormat = "更新到 v{0}"; + DialogMessageUpdateFormat = "按下“更新”后,Hot Reload 软件包将更新到 v{0}"; + DialogButtonUpdate = "更新"; + + // Update Server Dialog + DialogMessageRestartUpdate = "更新 Hot Reload 时,必须重新启动服务器才能使更新生效。\n您希望现在重新启动吗?"; + DialogMessageRestartFieldInitializer = "更改“将字段初始化程序编辑应用于现有类实例”设置时,必须重新启动 Hot Reload 服务器才能生效。\n您希望现在重新启动吗?"; + DialogMessageRestartExposeServer = "更改“{0}”时,必须重新启动 Hot Reload 服务器才能生效。\n您希望现在重新启动吗?"; + DialogTitleHotReload = "Hot Reload"; + + // Debugger Detected Dialogs + DialogTitleHotReloadDebuggerDetected = "Hot Reload - 检测到调试器"; + DialogMessageHotReloadDebuggerDetectedPause = "Hot Reload 可能会干扰调试器断点。我们建议在调试器附加时暂停 Hot Reload 以获得最佳调试体验。"; + DialogMessageHotReloadDebuggerDetectedRecompile = "Hot Reload 可能会干扰调试器断点。我们建议在调试器附加时使用自动完全重新编译以获得最佳调试体验。"; + DialogButtonHotReloadDebuggerDetectedPause = "暂停 Hot Reload(推荐)"; + DialogButtonHotReloadDebuggerDetectedRecompile = "使用完全重新编译(推荐)"; + DialogCloseHotReloadDebuggerDetected = "关闭"; + DialogButtonHotReloadDebuggerDetectedAdvancedOptions = "高级选项"; + DialogTitleHotReloadDebuggerOptions = "高级:保持 Hot Reload 激活"; + DialogMessageHotReloadDebuggerOptions = "当 Hot Reload 在调试期间保持激活状态时,Visual Studio 中的断点可能无法可靠工作。这适用于更偏好 Hot Reload 而非完整断点支持的开发者。您可以随时在设置中更改此选项。"; + DialogButtonHotReloadDebuggerOptionsContinue = "继续使用受限调试器"; + DialogButtonHotReloadDebuggerOptionsCancelPause = "暂停 Hot Reload"; + DialogButtonHotReloadDebuggerOptionsCancelRecompile = "使用完全重新编译"; + } + } + } +} + diff --git a/Packages/com.singularitygroup.hotreload/Editor/Localization/DialogTranslations.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/Localization/DialogTranslations.cs.meta new file mode 100644 index 0000000..3922cc3 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Localization/DialogTranslations.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 18bf971e42f1c6b40a2f22f0cc76411f +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/Localization/DialogTranslations.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Localization/ErrorTranslations.cs b/Packages/com.singularitygroup.hotreload/Editor/Localization/ErrorTranslations.cs new file mode 100644 index 0000000..5d02105 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Localization/ErrorTranslations.cs @@ -0,0 +1,334 @@ +namespace SingularityGroup.HotReload.Editor.Localization { + internal static partial class Translations { + public static class Errors { + // Error Messages + public static string ErrorInvalidInput; + public static string ErrorNetworkIssue; + public static string ErrorDownloadFailed; + public static string ErrorDownloadFailedMaxAttempts; + public static string ErrorServerBinaryNotFound; + public static string ErrorCopyingServerBinary; + public static string ErrorDownloadSucceeded; + public static string ErrorContactSupport; + public static string ErrorEnterNumber; + public static string ErrorEnterEmail; + public static string ErrorValidEmail; + public static string ErrorEnterPassword; + public static string ErrorMailExtensions; + public static string ErrorEnterInvoiceNumber; + public static string ErrorInvalidEmailAddress; + public static string ErrorLicenseInvoiceRedeemed; + public static string ErrorEmailAlreadyUsed; + public static string ErrorInvoiceNotFound; + public static string ErrorInvoiceRefunded; + public static string ErrorPromoCodeInvalid; + public static string ErrorPromoCodeUsed; + public static string ErrorPromoCodeExpired; + public static string ErrorLicenseExtended; + public static string ErrorPromoCodeActivation; + public static string ErrorPromoCodeNetwork; + + // Warning Messages + public static string WarningUnityJobHotReloaded; + public static string WarningBuildSettingsNotSupported; + public static string WarningInlinedMethods; + public static string WarningMacOSVersionDetectionFailed; + public static string WarningUnexpectedSaveProblem; + public static string WarningRedeemStatusUnknown; + public static string WarningRedeemUnknownError; + public static string WarningFailedToRunServerCommand; + public static string WarningVersionCheckException; + public static string WarningVersionCheckFailed; + public static string WarningUpdateIssueFailed; + public static string WarningUpdatePackageFailed; + public static string WarningUnableToFindPackage; + public static string WarningCompileCheckerIssue; + public static string WarningFailedToStartServer; + public static string WarningNoSlnFileFound; + public static string WarningPreparingBuildInfoFailed; + public static string WarningInlineMethodChecker; + public static string WarningRefreshingAssetFailed; + public static string WarningFailedDeterminingRegistration; + public static string WarningRedeemingLicenseFailed; + public static string WarningInitializingEventEntries; + public static string WarningPersistingEventEntries; + public static string WarningIndicationTextNotFound; + + // Info Messages + public static string InfoDebuggerAttachedFullRecompile; + public static string InfoDebuggerAttachedPauseHotReload; + public static string InfoInspectorFieldRecompile; + public static string InfoDefaultProjectGeneration; + public static string ErrorFreeChargesUnavailable; + + // Exception Messages + public static string ExceptionExpectedZipFile; + public static string ExceptionZipFileNotFound; + public static string ExceptionUnzipFailed; + public static string ExceptionDownloadFailed; + public static string ExceptionUnableToFindManifest; + public static string ErrorRedeemRequestFailed; + public static string ErrorFailedDeserializingRedeem; + public static string ErrorRedeemingWebException; + public static string ExceptionDownloadContentLengthUnknown; + public static string ExceptionDownloadFileCorrupted; + public static string ExceptionFailedToFindAppDirectory; + public static string ExceptionCouldNotStartCodePatcher; + + // Info/Debug Messages + public static string InfoManifestSearch; + public static string InfoOmitProjectsForPlayerBuild; + public static string InfoSeparator; + public static string InfoOmittedEditorProject; + public static string InfoFoundProjectNamed; + + // Project Generation Warnings + public static string WarningPostProcessorException; + public static string WarningPostProcessorFailedProject; + public static string WarningPostProcessorFailedSolution; + public static string WarningPostProcessorNoDefaultConstructor; + public static string WarningPostProcessorConstructorException; + public static string WarningPostProcessorUnknownException; + + // Parse Errors + public static string ErrorParseError; + + // Android Manifest Comments + public static string CommentAndroidCleartextPermit; + public static string CommentAndroidCleartextDevelopmentOnly; + + // Debug Messages + public static string DebugDetouringMethodFailed; + + // Package Update Errors + public static string ErrorRequestFailedStatusCode; + public static string ErrorInvalidPackageJson; + public static string ErrorInvalidVersionInPackageJson; + public static string ErrorUnableToFindManifestJson; + public static string ErrorNoDependenciesInManifest; + public static string ErrorDependenciesNullInManifest; + public static string ErrorNoDependenciesSpecified; + + public static void LoadEnglish() { + // Error Messages + ErrorInvalidInput = "Invalid input"; + ErrorNetworkIssue = "Something went wrong. Please check your internet connection."; + ErrorContactSupport = "Something went wrong. Please contact support if the issue persists."; + ErrorDownloadFailed = "Download attempt failed. If the issue persists please reach out to customer support for assistance. Exception: {0}"; + ErrorDownloadFailedMaxAttempts = "Download attempt failed. If the issue persists please reach out to customer support for assistance."; + ErrorServerBinaryNotFound = "unable to find server binary for platform '{0}' at '{1}'. Will proceed with downloading the binary (default behavior)"; + ErrorCopyingServerBinary = "encountered exception when copying server binary in the specified custom executable path '{0}':\n{1}"; + ErrorDownloadSucceeded = "Download succeeded!"; + ErrorEnterNumber = "Please enter a number."; + ErrorEnterEmail = "Please enter your email address."; + ErrorValidEmail = "Please enter a valid email address."; + ErrorEnterPassword = "Please enter your password."; + ErrorMailExtensions = "Mail extensions (in a form of 'username+suffix@example.com') are not supported yet. Please provide your original email address (such as 'username@example.com' without '+suffix' part) as we're working on resolving this issue."; + ErrorEnterInvoiceNumber = "Please enter invoice number / order ID."; + ErrorInvalidEmailAddress = "Please enter a valid email address."; + ErrorLicenseInvoiceRedeemed = "The invoice number/order ID you're trying to use has already been applied to redeem a license. Please enter a different invoice number/order ID. If you have already redeemed a license for another email, you may proceed to the next step."; + ErrorEmailAlreadyUsed = "The provided email has already been used to redeem a license. If you have previously redeemed a license, you can proceed to the next step and use your existing credentials. If not, please input a different email address."; + ErrorInvoiceNotFound = "The invoice was not found. Please ensure that you've entered the correct invoice number/order ID."; + ErrorInvoiceRefunded = "The purchase has been refunded. Please enter a different invoice number/order ID."; + ErrorPromoCodeInvalid = "Your promo code is invalid. Please ensure that you have entered the correct promo code."; + ErrorPromoCodeUsed = "Your promo code has already been used."; + ErrorPromoCodeExpired = "Your promo code has expired."; + ErrorLicenseExtended = "Your license has already been activated with a promo code. Only one promo code activation per license is allowed."; + ErrorPromoCodeActivation = "We encountered an error while activating your promo code. Please try again. If the issue persists, please contact our customer support team for assistance."; + ErrorPromoCodeNetwork = "There is an issue connecting to our servers. Please check your internet connection or contact customer support if the issue persists."; + + // Warning Messages + WarningUnityJobHotReloaded = "A unity job was hot reloaded. This will cause a harmless warning that can be ignored. More info about this can be found here: {0}"; + WarningBuildSettingsNotSupported = "Hot Reload was not included in the build because one or more build settings were not supported."; + WarningInlinedMethods = "Unity Editor inlines simple methods when it's in \"Release\" mode, which Hot Reload cannot patch.\n\nSwitch to Debug mode to avoid this problem, or let Hot Reload fully recompile Unity when this issue occurs."; + WarningMacOSVersionDetectionFailed = "Failed to detect MacOS version, if Hot Reload fails to start, please contact support."; + WarningUnexpectedSaveProblem = "Unexpected problem unable to save HotReloadSettingsObject"; + WarningRedeemStatusUnknown = "Redeeming license failed: unknown status received"; + WarningRedeemUnknownError = "Redeeming a license failed: uknown error encountered"; + WarningFailedToRunServerCommand = "Failed to the run the start server command. ExitCode={0}\nFilepath: {1}"; + WarningVersionCheckException = "encountered exception when checking for new Hot Reload package version:\n{0}"; + WarningVersionCheckFailed = "version check failed: {0}"; + WarningUpdateIssueFailed = "Encountered issue when updating Hot Reload: {0}"; + WarningUpdatePackageFailed = "Failed to update package: {0}"; + WarningUnableToFindPackage = "Unable to find package. message: {0}"; + WarningCompileCheckerIssue = "compile checker encountered issue: {0} {1}"; + WarningFailedToStartServer = "Failed to start the Hot Reload Server. {0}"; + WarningNoSlnFileFound = "No .sln file found. Open any c# file to generate it so Hot Reload can work properly"; + WarningPreparingBuildInfoFailed = "Preparing build info failed! On-device functionality might not work. Exception: {0}"; + WarningInlineMethodChecker = "Inline method checker ran into an exception. Please contact support with the exception message to investigate the problem. Exception: {0}"; + WarningRefreshingAssetFailed = "Refreshing asset at path: {0} failed due to exception: {1}"; + WarningFailedDeterminingRegistration = "Failed determining registration outcome with {0}: {1}"; + WarningRedeemingLicenseFailed = "Redeeming a license failed with error: {0}"; + WarningInitializingEventEntries = "Failed initializing Hot Reload event entries on start: {0}"; + WarningPersistingEventEntries = "Failed persisting Hot Reload event entries: {0}"; + WarningIndicationTextNotFound = "Indication text not found for status {0}"; + + // Info Messages + InfoDebuggerAttachedFullRecompile = "A debugger was attached. Pausing Hot Reload and switching to Full Recompile mode to avoid interference with the debugger session. Hot Reload will automatically resume on debugger detach."; + InfoDebuggerAttachedPauseHotReload = "A debugger was attached. Pausing Hot Reload to avoid interference with the debugger session. Hot Reload will automatically resume on debugger detach."; + InfoInspectorFieldRecompile = "Some inspector field changes require recompilation in Unity. Auto recompiling Unity according to the settings."; + InfoDefaultProjectGeneration = "Using default project generation. If you encounter any problem with Unity's default project generation consider disabling it to use custom project generation."; + ErrorFreeChargesUnavailable = "Free charges unavailabe. Please contact support if the issue persists."; + + // Exception Messages + ExceptionExpectedZipFile = "Expected to end with .zip, but it was: {0}"; + ExceptionZipFileNotFound = "zip file not found {0}"; + ExceptionUnzipFailed = "unzip failed with ExitCode {0}"; + ExceptionDownloadFailed = "Download failed with status code {0} and reason {1}"; + ExceptionUnableToFindManifest = "[{0}] Unable to find {1}"; + ErrorRedeemRequestFailed = "Redeem request failed. Status code: {0}, reason: {1}"; + ErrorFailedDeserializingRedeem = "Failed deserializing redeem response with exception: {0}: {1}"; + ErrorRedeemingWebException = "Redeeming license failed: WebException encountered {0}"; + ExceptionDownloadContentLengthUnknown = "Download failed: Content length unknown"; + ExceptionDownloadFileCorrupted = "Download failed: download file is corrupted"; + ExceptionFailedToFindAppDirectory = "Failed to find .app directory and move it to {0}"; + ExceptionCouldNotStartCodePatcher = "Could not start code patcher process."; + + // Info/Debug Messages + InfoManifestSearch = "Did not find {0} at {1}, searching for manifest file inside {2}"; + InfoOmitProjectsForPlayerBuild = "To compile C# files same as a Player build, we must omit projects which aren't part of the selected Player build."; + InfoSeparator = "---------"; + InfoOmittedEditorProject = "omitted editor/other project named: {0}"; + InfoFoundProjectNamed = "found project named {0}"; + + // Project Generation Warnings + WarningPostProcessorException = "Post processor '{0}' threw exception when calling OnGeneratedCSProjectFilesThreaded:\n{1}"; + WarningPostProcessorFailedProject = "Post processor '{0}' failed when processing project '{1}':\n{2}"; + WarningPostProcessorFailedSolution = "Post processor '{0}' failed when processing solution '{1}':\n{2}"; + WarningPostProcessorNoDefaultConstructor = "The type '{0}' was expected to have a public default constructor but it didn't"; + WarningPostProcessorConstructorException = "Exception occurred when invoking default constructor of '{0}':\n{1}"; + WarningPostProcessorUnknownException = "Unknown exception encountered when trying to create post processor '{0}':\n{1}"; + + // Parse Errors + ErrorParseError = "{0} Parse Error : {1}"; + + // Android Manifest Comments + CommentAndroidCleartextPermit = "[{0}] Added android:usesCleartextTraffic=\"true\" to permit connecting to the Hot Reload http server running on your machine."; + CommentAndroidCleartextDevelopmentOnly = "[{0}] This change only happens in Unity development builds. You can disable this in the Hot Reload settings window."; + + // Debug Messages + DebugDetouringMethodFailed = "Detouring {0} method failed. {1} {2}"; + + // Package Update Errors + ErrorRequestFailedStatusCode = "Request failed with statusCode: {0} {1}"; + ErrorInvalidPackageJson = "Invalid package.json"; + ErrorInvalidVersionInPackageJson = "Invalid version in package.json: '{0}'"; + ErrorUnableToFindManifestJson = "Unable to find manifest.json"; + ErrorNoDependenciesInManifest = "no dependencies object found in manifest.json"; + ErrorDependenciesNullInManifest = "dependencies object null in manifest.json"; + ErrorNoDependenciesSpecified = "no dependencies specified in manifest.json"; + } + + public static void LoadSimplifiedChinese() { + // Error Messages + ErrorInvalidInput = "无效输入"; + ErrorNetworkIssue = "出现问题。请检查您的网络连接。"; + ErrorContactSupport = "出现问题。如果问题仍然存在,请联系支持。"; + ErrorDownloadFailed = "下载尝试失败。如果问题仍然存在,请联系客户支持寻求帮助。异常:{0}"; + ErrorDownloadFailedMaxAttempts = "下载尝试失败。如果问题仍然存在,请联系客户支持寻求帮助。"; + ErrorServerBinaryNotFound = "无法在“{1}”找到平台“{0}”的服务器二进制文件。将继续下载二进制文件(默认行为)"; + ErrorCopyingServerBinary = "在指定的自定义可执行路径“{0}”中复制服务器二进制文件时遇到异常:\n{1}"; + ErrorDownloadSucceeded = "下载成功!"; + ErrorEnterNumber = "请输入一个数字。"; + ErrorEnterEmail = "请输入您的电子邮件地址。"; + ErrorValidEmail = "请输入有效的电子邮件地址。"; + ErrorEnterPassword = "请输入您的密码。"; + ErrorMailExtensions = "尚不支持邮件扩展(格式为'username+suffix@example.com')。请提供您原始的电子邮件地址(例如'username@example.com',不含'+suffix'部分),我们正在努力解决此问题。"; + ErrorEnterInvoiceNumber = "请输入发票号码/订单 ID。"; + ErrorInvalidEmailAddress = "请输入有效的电子邮件地址。"; + ErrorLicenseInvoiceRedeemed = "您尝试使用的发票号码/订单 ID 已用于兑换许可证。请输入不同的发票号码/订单 ID。如果您已经为另一个电子邮件兑换了许可证,您可以继续下一步。"; + ErrorEmailAlreadyUsed = "提供的电子邮件已用于兑换许可证。如果您之前已兑换许可证,您可以继续下一步并使用您现有的凭据。如果没有,请输入不同的电子邮件地址。"; + ErrorInvoiceNotFound = "未找到发票。请确保您输入了正确的发票号码/订单 ID。"; + ErrorInvoiceRefunded = "购买已退款。请输入不同的发票号码/订单 ID。"; + ErrorPromoCodeInvalid = "您的促销代码无效。请确保您输入了正确的促销代码。"; + ErrorPromoCodeUsed = "您的促销代码已被使用。"; + ErrorPromoCodeExpired = "您的促销代码已过期。"; + ErrorLicenseExtended = "您的许可证已使用促销代码激活。每个许可证只允许激活一次促销代码。"; + ErrorPromoCodeActivation = "激活您的促销代码时遇到错误。请重试。如果问题仍然存在,请联系我们的客户支持团队寻求帮助。"; + ErrorPromoCodeNetwork = "连接到我们的服务器时出现问题。请检查您的网络连接,如果问题仍然存在,请联系客户支持。"; + + // Warning Messages + WarningUnityJobHotReloaded = "一个 unity 作业被热重载。这将导致一个可以忽略的无害警告。更多信息可以在这里找到:{0}"; + WarningBuildSettingsNotSupported = "由于一个或多个构建设置不受支持,Hot Reload 未包含在构建中。"; + WarningInlinedMethods = "Unity 编辑器在“发布”模式下会内联简单方法,Hot Reload 无法修补。\n\n切换到调试模式以避免此问题,或让 Hot Reload 在出现此问题时完全重新编译 Unity。"; + WarningMacOSVersionDetectionFailed = "检测 MacOS 版本失败,如果 Hot Reload 启动失败,请联系支持。"; + WarningUnexpectedSaveProblem = "无法保存 HotReloadSettingsObject 的意外问题"; + WarningRedeemStatusUnknown = "兑换许可证失败:收到未知状态"; + WarningRedeemUnknownError = "兑换许可证失败:遇到未知错误"; + WarningFailedToRunServerCommand = "运行启动服务器命令失败。退出代码={0}\n文件路径:{1}"; + WarningVersionCheckException = "检查新的 Hot Reload 软件包版本时遇到异常:\n{0}"; + WarningVersionCheckFailed = "版本检查失败:{0}"; + WarningUpdateIssueFailed = "更新 Hot Reload 时遇到问题:{0}"; + WarningUpdatePackageFailed = "更新软件包失败:{0}"; + WarningUnableToFindPackage = "无法找到软件包。消息:{0}"; + WarningCompileCheckerIssue = "编译检查器遇到问题:{0} {1}"; + WarningFailedToStartServer = "启动 Hot Reload 服务器失败。{0}"; + WarningNoSlnFileFound = "未找到 .sln 文件。打开任何 c# 文件以生成它,以便 Hot Reload 正常工作"; + WarningPreparingBuildInfoFailed = "准备构建信息失败!设备上功能可能无法工作。异常:{0}"; + WarningInlineMethodChecker = "内联方法检查器遇到异常。请联系支持并提供异常消息以调查问题。异常:{0}"; + WarningRefreshingAssetFailed = "刷新路径:{0} 的资产失败,原因异常:{1}"; + WarningFailedDeterminingRegistration = "确定注册结果失败,{0}:{1}"; + WarningRedeemingLicenseFailed = "兑换许可证失败,错误:{0}"; + WarningInitializingEventEntries = "启动时初始化 Hot Reload 事件条目失败:{0}"; + WarningPersistingEventEntries = "持久化 Hot Reload 事件条目失败:{0}"; + WarningIndicationTextNotFound = "未找到状态 {0} 的指示文本"; + + // Info Messages + InfoDebuggerAttachedFullRecompile = "已附加调试器。正在暂停热重载并切换到完全重编译模式,以避免干扰调试器会话。热重载将在调试器分离后自动恢复。"; + InfoDebuggerAttachedPauseHotReload = "检测到调试器已附加。热重载已暂停,以避免对调试会话造成干扰。当调试器断开连接后,热重载将自动恢复。"; + InfoInspectorFieldRecompile = "一些检查器字段更改需要 Unity 重新编译。根据设置自动重新编译 Unity。"; + InfoDefaultProjectGeneration = "使用默认项目生成。如果您遇到 Unity 默认项目生成的任何问题,请考虑禁用它以使用自定义项目生成。"; + ErrorFreeChargesUnavailable = "免费费用不可用。如果问题仍然存在,请联系支持。"; + + // Exception Messages + ExceptionExpectedZipFile = "预期以 .zip 结尾,但它是:{0}"; + ExceptionZipFileNotFound = "未找到 zip 文件 {0}"; + ExceptionUnzipFailed = "解压缩失败,退出代码 {0}"; + ExceptionDownloadFailed = "下载失败,状态码 {0},原因 {1}"; + ExceptionUnableToFindManifest = "[{0}] 无法找到 {1}"; + ErrorRedeemRequestFailed = "兑换请求失败。状态码:{0},原因:{1}"; + ErrorFailedDeserializingRedeem = "反序列化兑换响应失败,异常:{0}:{1}"; + ErrorRedeemingWebException = "兑换许可证失败:遇到 WebException {0}"; + ExceptionDownloadContentLengthUnknown = "下载失败:内容长度未知"; + ExceptionDownloadFileCorrupted = "下载失败:下载文件已损坏"; + ExceptionFailedToFindAppDirectory = "未能找到 .app 目录并将其移动到 {0}"; + ExceptionCouldNotStartCodePatcher = "无法启动代码修补程序进程。"; + + // Info/Debug Messages + InfoManifestSearch = "在 {1} 未找到 {0},正在 {2} 内搜索清单文件"; + InfoOmitProjectsForPlayerBuild = "要像 Player 构建一样编译 C# 文件,我们必须省略不属于所选 Player 构建的项目。"; + InfoSeparator = "---------"; + InfoOmittedEditorProject = "省略的编辑器/其他项目名为:{0}"; + InfoFoundProjectNamed = "找到名为 {0} 的项目"; + + // Project Generation Warnings + WarningPostProcessorException = "后处理器“{0}”在调用 OnGeneratedCSProjectFilesThreaded 时引发异常:\n{1}"; + WarningPostProcessorFailedProject = "后处理器“{0}”在处理项目“{1}”时失败:\n{2}"; + WarningPostProcessorFailedSolution = "后处理器“{0}”在处理解决方案“{1}”时失败:\n{2}"; + WarningPostProcessorNoDefaultConstructor = "类型“{0}”应具有公共默认构造函数,但没有"; + WarningPostProcessorConstructorException = "调用“{0}”的默认构造函数时发生异常:\n{1}"; + WarningPostProcessorUnknownException = "尝试创建后处理器“{0}”时遇到未知异常:\n{1}"; + + // Parse Errors + ErrorParseError = "{0} 解析错误:{1}"; + + // Android Manifest Comments + CommentAndroidCleartextPermit = "[{0}] 添加了 android:usesCleartextTraffic=\"true\" 以允许连接到您机器上运行的 Hot Reload http 服务器。"; + CommentAndroidCleartextDevelopmentOnly = "[{0}] 此更改仅在 Unity 开发构建中发生。您可以在 Hot Reload 设置窗口中禁用此功能。"; + + // Debug Messages + DebugDetouringMethodFailed = "Detouring {0} 方法失败。{1} {2}"; + + // Package Update Errors + ErrorRequestFailedStatusCode = "请求失败,状态码:{0} {1}"; + ErrorInvalidPackageJson = "无效的 package.json"; + ErrorInvalidVersionInPackageJson = "package.json 中的版本无效:'{0}'"; + ErrorUnableToFindManifestJson = "无法找到 manifest.json"; + ErrorNoDependenciesInManifest = "在 manifest.json 中找不到依赖项对象"; + ErrorDependenciesNullInManifest = "manifest.json 中的依赖项对象为 null"; + ErrorNoDependenciesSpecified = "manifest.json 中未指定依赖项"; + } + } + } +} + diff --git a/Packages/com.singularitygroup.hotreload/Editor/Localization/ErrorTranslations.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/Localization/ErrorTranslations.cs.meta new file mode 100644 index 0000000..9ecc6f7 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Localization/ErrorTranslations.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: f1ff9542af2fa0c4d8b9bfb9620e29a0 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/Localization/ErrorTranslations.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Localization/LicenseTranslations.cs b/Packages/com.singularitygroup.hotreload/Editor/Localization/LicenseTranslations.cs new file mode 100644 index 0000000..0bf47e8 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Localization/LicenseTranslations.cs @@ -0,0 +1,112 @@ +namespace SingularityGroup.HotReload.Editor.Localization { + internal static partial class Translations { + public static class License { + // License & Authentication + public static string TitleHotReloadLimited; + public static string TitleHotReloadLicense; + public static string MessageTrialLicense; + public static string MessageIndieLicenseActive; + public static string MessageBusinessLicenseActive; + public static string MessageLicenseWillRenew; + public static string MessagePromoCodeActivated; + public static string PromoCodesTitle; + + // License Error Descriptions + public static string LicenseErrorDeviceInUse; + public static string LicenseErrorDeviceBlacklisted; + public static string LicenseErrorIncorrectClock; + public static string LicenseErrorActivation; + public static string LicenseErrorDeleted; + public static string LicenseErrorDisabled; + public static string LicenseErrorExpired; + public static string LicenseErrorInactive; + public static string LicenseErrorCorrupted; + public static string LicenseErrorNetwork; + public static string LicenseErrorTrialExpired; + public static string LicenseErrorInvalidCredentials; + public static string LicenseErrorIncompatible; + public static string LicenseErrorDefault; + public static string LicenseErrorAssetStorePro; + public static string LicenseErrorUnityPlusIndie; + + // License Button Labels + public static string LicenseButtonGetLicense; + public static string LicenseButtonContactSupport; + public static string LicenseButtonUpgradeLicense; + public static string LicenseButtonManageLicense; + + public static void LoadEnglish() { + // License & Authentication + TitleHotReloadLimited = "Hot Reload Limited"; + TitleHotReloadLicense = "Hot Reload License"; + MessageTrialLicense = "Using Trial license, valid until {0}"; + MessageIndieLicenseActive = " Indie license active"; + MessageBusinessLicenseActive = " Business license active"; + MessageLicenseWillRenew = "License will renew on {0}."; + MessagePromoCodeActivated = "Your promo code has been successfully activated. Free trial has been extended by 3 months."; + PromoCodesTitle = "Promo Codes"; + + // License Error Descriptions + LicenseErrorDeviceInUse = "Another device is using your license. Please reach out to customer support for assistance."; + LicenseErrorDeviceBlacklisted = "You device has been blacklisted."; + LicenseErrorIncorrectClock = "Your license is not working because your computer's clock is incorrect. Please set the clock to the correct time to restore your license."; + LicenseErrorActivation = "An error has occured while activating your license. Please contact customer support for assistance."; + LicenseErrorDeleted = "Your license has been deleted. Please contact customer support for assistance."; + LicenseErrorDisabled = "Your license has been disabled. Please contact customer support for assistance."; + LicenseErrorExpired = "Your license has expired. Please renew your license subscription using the 'Upgrade License' button below and login with your email/password to activate your license."; + LicenseErrorInactive = "Your license is currenty inactive. Please login with your email/password to activate your license."; + LicenseErrorCorrupted = "Your license file was damaged or corrupted. Please login with your email/password to refresh your license file."; + LicenseErrorNetwork = "There is an issue connecting to our servers. Please check your internet connection or contact customer support if the issue persists."; + LicenseErrorTrialExpired = "Your trial has expired. Activate a license with unlimited usage or continue using the Free version. View available plans on our website."; + LicenseErrorInvalidCredentials = "Incorrect email/password. You can find your initial password in the sign-up email."; + LicenseErrorIncompatible = "Please upgrade your license to continue using hotreload with Unity Pro."; + LicenseErrorDefault = "We apologize, an error happened while verifying your license. Please reach out to customer support for assistance."; + LicenseErrorAssetStorePro = "Unity Pro/Enterprise users from company with your number of employees require a Business license. Please upgrade your license on our website."; + LicenseErrorUnityPlusIndie = "Unity Plus users require an Indie license. Please upgrade your license on our website."; + + // License Button Labels + LicenseButtonGetLicense = "Get License"; + LicenseButtonContactSupport = "Contact Support"; + LicenseButtonUpgradeLicense = "Upgrade License"; + LicenseButtonManageLicense = "Manage License"; + } + + public static void LoadSimplifiedChinese() { + // License & Authentication + TitleHotReloadLimited = "Hot Reload 有限"; + TitleHotReloadLicense = "Hot Reload 许可证"; + MessageTrialLicense = "正在使用试用许可证,有效期至 {0}"; + MessageIndieLicenseActive = " 独立开发者许可证已激活"; + MessageBusinessLicenseActive = " 商业许可证已激活"; + MessageLicenseWillRenew = "许可证将于 {0} 续订。"; + MessagePromoCodeActivated = "您的促销代码已成功激活。免费试用期已延长3个月。"; + PromoCodesTitle = "促销代码"; + + // License Error Descriptions + LicenseErrorDeviceInUse = "另一台设备正在使用您的许可证。请联系客户支持寻求帮助。"; + LicenseErrorDeviceBlacklisted = "您的设备已被列入黑名单。"; + LicenseErrorIncorrectClock = "您的许可证无法工作,因为您的计算机时钟不正确。请将时钟设置为正确的时间以恢复您的许可证。"; + LicenseErrorActivation = "激活您的许可证时发生错误。请联系客户支持寻求帮助。"; + LicenseErrorDeleted = "您的许可证已被删除。请联系客户支持寻求帮助。"; + LicenseErrorDisabled = "您的许可证已被禁用。请联系客户支持寻求帮助。"; + LicenseErrorExpired = "您的许可证已过期。请使用下方的“升级许可证”按钮续订您的许可证订阅,并使用您的电子邮件/密码登录以激活您的许可证。"; + LicenseErrorInactive = "您的许可证当前未激活。请使用您的电子邮件/密码登录以激活您的许可证。"; + LicenseErrorCorrupted = "您的许可证文件已损坏或损坏。请使用您的电子邮件/密码登录以刷新您的许可证文件。"; + LicenseErrorNetwork = "连接到我们的服务器时出现问题。请检查您的网络连接,如果问题仍然存在,请联系客户支持。"; + LicenseErrorTrialExpired = "您的试用已过期。激活具有无限使用权的许可证或继续使用免费版本。在我们网站上查看可用计划。"; + LicenseErrorInvalidCredentials = "电子邮件/密码不正确。您可以在注册电子邮件中找到您的初始密码。"; + LicenseErrorIncompatible = "请升级您的许可证以继续在 Unity Pro 中使用 hotreload。"; + LicenseErrorDefault = "我们深表歉意,验证您的许可证时发生错误。请联系客户支持寻求帮助。"; + LicenseErrorAssetStorePro = "拥有您员工数量的公司中的 Unity Pro/Enterprise 用户需要商业许可证。请在我们的网站上升级您的许可证。"; + LicenseErrorUnityPlusIndie = "Unity Plus 用户需要独立开发者许可证。请在我们的网站上升级您的许可证。"; + + // License Button Labels + LicenseButtonGetLicense = "获取许可证"; + LicenseButtonContactSupport = "联系支持"; + LicenseButtonUpgradeLicense = "升级许可证"; + LicenseButtonManageLicense = "管理许可证"; + } + } + } +} + diff --git a/Packages/com.singularitygroup.hotreload/Editor/Localization/LicenseTranslations.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/Localization/LicenseTranslations.cs.meta new file mode 100644 index 0000000..0901320 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Localization/LicenseTranslations.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 35d12621e71ef12458b3bbe48e047469 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/Localization/LicenseTranslations.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Localization/Localization.cs b/Packages/com.singularitygroup.hotreload/Editor/Localization/Localization.cs new file mode 100644 index 0000000..cf24e90 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Localization/Localization.cs @@ -0,0 +1,61 @@ +using SingularityGroup.HotReload.Localization; +using UnityEditor; +using UnityEngine; + +namespace SingularityGroup.HotReload.Editor.Localization { + [InitializeOnLoad] + internal static partial class Translations { + static string loadedLocale; + static Translations() { + LoadDefaultLocalization(); + } + + public static void LoadDefaultLocalization() { + LoadLocalization(PackageConst.DefaultLocale); + } + + static void LoadLocalization(string locale) { + if (loadedLocale == locale) { + return; + } + if (locale == Locale.SimplifiedChinese) { + LoadSimplifiedChinese(); + } else { + LoadEnglish(); + } + loadedLocale = locale; + } + + static void LoadEnglish() { + Common.LoadEnglish(); + Timeline.LoadEnglish(); + License.LoadEnglish(); + Errors.LoadEnglish(); + Registration.LoadEnglish(); + Dialogs.LoadEnglish(); + Settings.LoadEnglish(); + OnDevice.LoadEnglish(); + About.LoadEnglish(); + Miscellaneous.LoadEnglish(); + Suggestions.LoadEnglish(); + Utility.LoadEnglish(); + UI.LoadEnglish(); + } + + static void LoadSimplifiedChinese() { + Common.LoadSimplifiedChinese(); + Timeline.LoadSimplifiedChinese(); + License.LoadSimplifiedChinese(); + Errors.LoadSimplifiedChinese(); + Registration.LoadSimplifiedChinese(); + Dialogs.LoadSimplifiedChinese(); + Settings.LoadSimplifiedChinese(); + OnDevice.LoadSimplifiedChinese(); + About.LoadSimplifiedChinese(); + Miscellaneous.LoadSimplifiedChinese(); + Suggestions.LoadSimplifiedChinese(); + Utility.LoadSimplifiedChinese(); + UI.LoadSimplifiedChinese(); + } + } +} diff --git a/Packages/com.singularitygroup.hotreload/Editor/Localization/Localization.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/Localization/Localization.cs.meta new file mode 100644 index 0000000..40c430e --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Localization/Localization.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 1e39c1f768bb465fa48c1fe2c3dd4d75 +timeCreated: 1759652321 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/Localization/Localization.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Localization/MenuItemsTranslations.cs b/Packages/com.singularitygroup.hotreload/Editor/Localization/MenuItemsTranslations.cs new file mode 100644 index 0000000..aa921b8 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Localization/MenuItemsTranslations.cs @@ -0,0 +1,13 @@ +using SingularityGroup.HotReload.Localization; + +namespace SingularityGroup.HotReload.Editor.Localization { + internal static partial class Translations { + public static class MenuItems { + public const string OpenHotReload = PackageConst.DefaultLocale == Locale.SimplifiedChinese ? "Window/Hot Reload/打开 &#H" : "Window/Hot Reload/Open &#H"; + public const string RecompileHotReload = PackageConst.DefaultLocale == Locale.SimplifiedChinese ? "Window/Hot Reload/重新编译" : "Window/Hot Reload/Recompile"; + public const string OverlayDescription = PackageConst.DefaultLocale == Locale.SimplifiedChinese ? "Hot Reload" : "Hot Reload"; + public const string NotImplementedObsolete = PackageConst.DefaultLocale == Locale.SimplifiedChinese ? "未实现" : "Not implemented"; + } + } +} + diff --git a/Packages/com.singularitygroup.hotreload/Editor/Localization/MenuItemsTranslations.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/Localization/MenuItemsTranslations.cs.meta new file mode 100644 index 0000000..9a3c67f --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Localization/MenuItemsTranslations.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: ff31c47e148cfc243a9f2c173a058c3f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/Localization/MenuItemsTranslations.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Localization/MiscellaneousTranslations.cs b/Packages/com.singularitygroup.hotreload/Editor/Localization/MiscellaneousTranslations.cs new file mode 100644 index 0000000..8407af2 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Localization/MiscellaneousTranslations.cs @@ -0,0 +1,166 @@ +namespace SingularityGroup.HotReload.Editor.Localization { + internal static partial class Translations { + public static class Miscellaneous { + // Overlay/Toolbar + public static string OverlayTooltipRecompile; + + // Notifications + public static string NotificationPatching; + public static string NotificationNeedsRecompile; + + // Update Button + public static string ButtonUpdateToVersionFormat; + public static string ButtonTroubleshooting; + + // Rate App + public static string RateAppQuestion; + public static string RateAppThankYou; + + // Compilation Messages + public static string CompileErrorTapToSee; + public static string UnsupportedChangeTapToSee; + public static string TapToShowStacktrace; + + // Link Messages + public static string LinkForgotPassword; + + // Changelog + public static string ChangelogTitle; + + // Daily Session + public static string DailySessionStart; + public static string DailySessionTimeHoursLeft; + public static string DailySessionTimeMinutesLeft; + public static string DailySessionNextSessionMinutes; + public static string DailySessionNextSessionHours; + + // Indication Status Messages + public static string IndicationFinishRegistration; + public static string IndicationStarted; + public static string IndicationStopping; + public static string IndicationStopped; + public static string IndicationPaused; + public static string IndicationInstalling; + public static string IndicationStarting; + public static string IndicationReloaded; + public static string IndicationPartiallySupported; + public static string IndicationUnsupported; + public static string IndicationPatching; + public static string IndicationDisabledDuringDebugging; + public static string IndicationCompiling; + public static string IndicationCompileErrors; + public static string IndicationActivationFailed; + public static string IndicationLoading; + public static string IndicationUndetected; + + public static void LoadEnglish() { + // Overlay/Toolbar + OverlayTooltipRecompile = "Recompile"; + + // Notifications + NotificationPatching = "[Hot Reload] Applying patches..."; + NotificationNeedsRecompile = "[Hot Reload] Unsupported Changes detected! Recompiling..."; + + // Update Button + ButtonUpdateToVersionFormat = "Update To v{0}"; + ButtonTroubleshooting = "Troubleshooting"; + + // Rate App + RateAppQuestion = "Are you enjoying using Hot Reload?"; + RateAppThankYou = "Thank you for using Hot Reload!\n\nPlease consider leaving a review on the Asset Store to support us."; + + // Compilation Messages + CompileErrorTapToSee = "Compile error, tap here to see more."; + UnsupportedChangeTapToSee = "Unsupported change detected, tap here to see more."; + TapToShowStacktrace = "Tap to show stacktrace"; + + // Link Messages + LinkForgotPassword = "Forgot password?"; + + // Changelog + ChangelogTitle = "Changelog"; + + // Daily Session + DailySessionStart = "Daily Session: Make code changes to start"; + DailySessionTimeHoursLeft = "Daily Session: {0}h {1}m Left"; + DailySessionTimeMinutesLeft = "Daily Session: {0}m Left"; + DailySessionNextSessionMinutes = "Next Session: {0}m"; + DailySessionNextSessionHours = "Next Session: {0}h {1}m"; + + // Indication Status Messages + IndicationFinishRegistration = "Finish Registration"; + IndicationStarted = "Waiting for code changes"; + IndicationStopping = "Stopping Hot Reload"; + IndicationStopped = "Hot Reload inactive"; + IndicationPaused = "Hot Reload paused"; + IndicationInstalling = "Installing"; + IndicationStarting = "Starting Hot Reload"; + IndicationReloaded = "Reload finished"; + IndicationPartiallySupported = "Changes partially applied"; + IndicationUnsupported = "Finished with warnings"; + IndicationPatching = "Reloading"; + IndicationDisabledDuringDebugging = "Disabled during debugging"; + IndicationCompiling = "Compiling"; + IndicationCompileErrors = "Scripts have compile errors"; + IndicationActivationFailed = "Activation failed"; + IndicationLoading = "Loading"; + IndicationUndetected = "No changes applied"; + } + + public static void LoadSimplifiedChinese() { + // Overlay/Toolbar + OverlayTooltipRecompile = "重新编译"; + + // Notifications + NotificationPatching = "[Hot Reload] 正在应用补丁..."; + NotificationNeedsRecompile = "[Hot Reload] 检测到不支持的更改!正在重新编译..."; + + // Update Button + ButtonUpdateToVersionFormat = "更新到 v{0}"; + ButtonTroubleshooting = "疑难解答"; + + // Rate App + RateAppQuestion = "您喜欢使用 Hot Reload 吗?"; + RateAppThankYou = "感谢您使用 Hot Reload!\n\n请考虑在 Asset Store 上留下评论以支持我们。"; + + // Compilation Messages + CompileErrorTapToSee = "编译错误,点击此处查看更多。"; + UnsupportedChangeTapToSee = "检测到不支持的更改,点击此处查看更多。"; + TapToShowStacktrace = "点击以显示堆栈跟踪"; + + // Link Messages + LinkForgotPassword = "忘记密码?"; + + // Changelog + ChangelogTitle = "更新日志"; + + // Daily Session + DailySessionStart = "每日会话:进行代码更改以开始"; + DailySessionTimeHoursLeft = "每日会话:剩余 {0}h {1}m"; + DailySessionTimeMinutesLeft = "每日会话:剩余 {0}m"; + DailySessionNextSessionMinutes = "下一会话:{0}m"; + DailySessionNextSessionHours = "下一会话:{0}h {1}m"; + + // Indication Status Messages + IndicationFinishRegistration = "完成注册"; + IndicationStarted = "等待代码更改"; + IndicationStopping = "正在停止 Hot Reload"; + IndicationStopped = "Hot Reload 未激活"; + IndicationPaused = "Hot Reload 已暂停"; + IndicationInstalling = "正在安装"; + IndicationStarting = "正在启动 Hot Reload"; + IndicationReloaded = "重新加载完成"; + IndicationPartiallySupported = "更改部分应用"; + IndicationUnsupported = "完成但有警告"; + IndicationPatching = "正在重新加载"; + IndicationCompiling = "正在编译"; + IndicationCompileErrors = "脚本有编译错误"; + IndicationDisabledDuringDebugging = "调试期间已禁用"; + IndicationActivationFailed = "激活失败"; + IndicationLoading = "正在加载"; + IndicationUndetected = "未应用任何更改"; + } + } + } +} + diff --git a/Packages/com.singularitygroup.hotreload/Editor/Localization/MiscellaneousTranslations.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/Localization/MiscellaneousTranslations.cs.meta new file mode 100644 index 0000000..8a60563 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Localization/MiscellaneousTranslations.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 839cc9c3fc3098d478a7450b4d23b907 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/Localization/MiscellaneousTranslations.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Localization/OnDeviceTranslations.cs b/Packages/com.singularitygroup.hotreload/Editor/Localization/OnDeviceTranslations.cs new file mode 100644 index 0000000..ee21a0e --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Localization/OnDeviceTranslations.cs @@ -0,0 +1,61 @@ +namespace SingularityGroup.HotReload.Editor.Localization { + internal static partial class Translations { + public static class OnDevice { + // On-Device Settings + public static string OnDeviceHeadline; + public static string OnDeviceManualConnectFormat; + public static string OnDeviceManualConnectWithIP; + public static string OnDeviceNetworkNote; + public static string OnDeviceCheckHotReloadRunning; + public static string OnDeviceCheckHotReloadNotRunning; + public static string OnDeviceCheckEnableExposeServer; + public static string OnDeviceCheckPlatformSelected; + public static string OnDeviceCheckPlatformNotSupported; + public static string OnDeviceCheckDevelopmentEnabled; + public static string OnDeviceCheckEnableDevelopment; + public static string OnDeviceCheckMonoBackend; + public static string OnDeviceCheckSetMonoBackend; + public static string OnDeviceCheckStrippingLevel; + public static string OnDeviceCheckStrippingSolution; + + public static void LoadEnglish() { + // On-Device Settings + OnDeviceHeadline = "Make changes to a build running on-device"; + OnDeviceManualConnectFormat = "If auto-pair fails, find your local IP in OS settings, and use this format to connect: '{ip}:{0}'"; + OnDeviceManualConnectWithIP = "If auto-pair fails, use this IP and port to connect: {0}:{1}\nMake sure you are on the same LAN/WiFi network"; + OnDeviceNetworkNote = "Make sure you are on the same LAN/WiFi network"; + OnDeviceCheckHotReloadRunning = "Hot Reload is running"; + OnDeviceCheckHotReloadNotRunning = "Hot Reload is not running"; + OnDeviceCheckEnableExposeServer = "Enable '{0}'"; + OnDeviceCheckPlatformSelected = "The {0} platform is selected"; + OnDeviceCheckPlatformNotSupported = "The current platform is {0} which is not supported"; + OnDeviceCheckDevelopmentEnabled = "Development Build is enabled"; + OnDeviceCheckEnableDevelopment = "Enable \"Development Build\""; + OnDeviceCheckMonoBackend = "Scripting Backend is set to Mono"; + OnDeviceCheckSetMonoBackend = "Set Scripting Backend to Mono"; + OnDeviceCheckStrippingLevel = "Stripping Level = {0}"; + OnDeviceCheckStrippingSolution = "Code stripping needs to be disabled to ensure that all methods are available for patching."; + } + + public static void LoadSimplifiedChinese() { + // On-Device Settings + OnDeviceHeadline = "对在设备上运行的构建进行更改"; + OnDeviceManualConnectFormat = "如果自动配对失败,请在操作系统设置中找到您的本地 IP,并使用此格式进行连接:'{ip}:{0}'"; + OnDeviceManualConnectWithIP = "如果自动配对失败,请使用此 IP 和端口进行连接:{0}:{1}\n确保您在同一个局域网/WiFi 网络中"; + OnDeviceNetworkNote = "确保您在同一个局域网/WiFi 网络中"; + OnDeviceCheckHotReloadRunning = "Hot Reload 正在运行"; + OnDeviceCheckHotReloadNotRunning = "Hot Reload 未运行"; + OnDeviceCheckEnableExposeServer = "启用 '{0}'"; + OnDeviceCheckPlatformSelected = "已选择 {0} 平台"; + OnDeviceCheckPlatformNotSupported = "当前平台为 {0},不支持"; + OnDeviceCheckDevelopmentEnabled = "开发构建已启用"; + OnDeviceCheckEnableDevelopment = "启用“开发构建”"; + OnDeviceCheckMonoBackend = "脚本后端设置为 Mono"; + OnDeviceCheckSetMonoBackend = "将脚本后端设置为 Mono"; + OnDeviceCheckStrippingLevel = "剥离级别 = {0}"; + OnDeviceCheckStrippingSolution = "需要禁用代码剥离以确保所有方法都可用于修补。"; + } + } + } +} + diff --git a/Packages/com.singularitygroup.hotreload/Editor/Localization/OnDeviceTranslations.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/Localization/OnDeviceTranslations.cs.meta new file mode 100644 index 0000000..5d90713 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Localization/OnDeviceTranslations.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 19a8c5bfa6576844d9789872adce14e1 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/Localization/OnDeviceTranslations.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Localization/RegistrationTranslations.cs b/Packages/com.singularitygroup.hotreload/Editor/Localization/RegistrationTranslations.cs new file mode 100644 index 0000000..b27dd64 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Localization/RegistrationTranslations.cs @@ -0,0 +1,34 @@ +namespace SingularityGroup.HotReload.Editor.Localization { + internal static partial class Translations { + public static class Registration { + // Registration & Redeem + public static string MessageRegistrationProUsers; + public static string MessageRegistrationLicensingModel; + public static string MessageRedeemInstructions; + public static string MessageRedeemSuccess; + public static string MessageRedeemAlreadyClaimed; + public static string UnknownRedeemError; + + public static void LoadEnglish() { + // Registration & Redeem + MessageRegistrationProUsers = "Unity Pro users are required to obtain an additional license. You are eligible to redeem one if your company has ten or fewer employees. Please enter your company details below."; + MessageRegistrationLicensingModel = "The licensing model for Unity Pro users varies depending on the number of employees in your company. Please enter your company details below."; + MessageRedeemInstructions = "To enable us to verify your purchase, please enter your invoice number/order ID. Additionally, provide the email address that you intend to use for managing your credentials."; + MessageRedeemSuccess = "Success! You will receive an email containing your license password shortly. Once you receive it, please enter the received password in the designated field below to complete your registration."; + MessageRedeemAlreadyClaimed = "Your license has already been redeemed. Please enter your existing password below."; + UnknownRedeemError = "We apologize, an error happened while redeeming your license. Please reach out to customer support for assistance."; + } + + public static void LoadSimplifiedChinese() { + // Registration & Redeem + MessageRegistrationProUsers = "Unity Pro 用户需要获得额外许可证。如果您的公司有十名或更少员工,您有资格兑换一个。请在下方输入您的公司详细信息。"; + MessageRegistrationLicensingModel = "Unity Pro 用户的许可模式因公司员工人数而异。请在下方输入您的公司详细信息。"; + MessageRedeemInstructions = "为使我们能够验证您的购买,请输入您的发票号码/订单 ID。此外,请提供您打算用于管理凭据的电子邮件地址。"; + MessageRedeemSuccess = "成功!您很快将收到一封包含许可证密码的电子邮件。收到后,请在下方指定字段中输入收到的密码以完成注册。"; + MessageRedeemAlreadyClaimed = "您的许可证已被兑换。请在下方输入您现有的密码。"; + UnknownRedeemError = "我们深表歉意,兑换您的许可证时发生错误。请联系客户支持寻求帮助。"; + } + } + } +} + diff --git a/Packages/com.singularitygroup.hotreload/Editor/Localization/RegistrationTranslations.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/Localization/RegistrationTranslations.cs.meta new file mode 100644 index 0000000..7e070a1 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Localization/RegistrationTranslations.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: da7def2f6c8576e4bbb04a79c3438b46 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/Localization/RegistrationTranslations.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Localization/SettingsTranslations.cs b/Packages/com.singularitygroup.hotreload/Editor/Localization/SettingsTranslations.cs new file mode 100644 index 0000000..e39299b --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Localization/SettingsTranslations.cs @@ -0,0 +1,283 @@ +namespace SingularityGroup.HotReload.Editor.Localization { + internal static partial class Translations { + public static class Settings { + // Settings Tab + public static string SettingsTitle; + public static string SettingsConfiguration; + public static string SettingsAdvanced; + public static string SettingsOnDevice; + public static string SettingsManualConnect; + public static string SettingsBuildSettingsChecklist; + public static string SettingsOptions; + public static string SettingsVisualFeedback; + public static string SettingsMisc; + + // Settings Descriptions + public static string SettingsManageAutoRefreshOn; + public static string SettingsManageAutoRefreshOff; + public static string SettingsAssetRefreshOn; + public static string SettingsAssetRefreshOff; + public static string SettingsDebuggerCompatibilityOn; + public static string SettingsDebuggerCompatibilityOff; + public static string SettingsRefreshShadersOn; + public static string SettingsRefreshShadersOff; + public static string SettingsHideConsoleOn; + public static string SettingsHideConsoleOff; + public static string SettingsDeactivatedOn; + public static string SettingsDeactivatedOff; + public static string SettingsDisableErrorReportingOn; + public static string SettingsDisableErrorReportingOff; + public static string SettingsPauseEditModeOn; + public static string SettingsPauseEditModeOff; + public static string SettingsAutostartOn; + public static string SettingsAutostartOff; + public static string SettingsAutoClearTimelineOn; + public static string SettingsAutoClearTimelineOff; + public static string SettingsPatchingIndicationUnsupported; + public static string SettingsPatchingIndicationOff; + public static string SettingsPatchingIndicationOn; + public static string SettingsCompilingIndicationUnsupported; + public static string SettingsCompilingIndicationOff; + public static string SettingsCompilingIndicationOn; + public static string SettingsAutoRecompileUnsupported; + public static string SettingsAutoRecompileOn; + public static string SettingsAutoRecompileOff; + public static string SettingsAutoRecompileInspectorOn; + public static string SettingsAutoRecompileInspectorOff; + public static string SettingsAutoRecompilePartialOn; + public static string SettingsAutoRecompilePartialOff; + public static string SettingsDisplayMonobehaviourOn; + public static string SettingsDisplayMonobehaviourOff; + public static string SettingsRecompileImmediatelyOn; + public static string SettingsRecompileImmediatelyOff; + public static string SettingsRecompilePlayModeOn; + public static string SettingsRecompilePlayModeOff; + public static string SettingsRecompileEditModeOn; + public static string SettingsRecompileEditModeOff; + public static string SettingsRecompileExitPlayModeOn; + public static string SettingsRecompileExitPlayModeOff; + public static string SettingsIndicationsUnsupported; + + // Settings Toggle Names + public static string ToggleManageAutoRefresh; + public static string ToggleAssetRefresh; + public static string ToggleDebuggerCompatibility; + public static string ToggleRefreshShaders; + public static string ToggleHideConsole; + public static string ToggleDeactivate; + public static string ToggleDisableErrorReporting; + public static string TogglePauseEditMode; + public static string ToggleAutostart; + public static string ToggleAutoClearTimeline; + public static string TogglePatchingIndication; + public static string ToggleCompilingIndication; + public static string ToggleAutoRecompile; + public static string ToggleAutoRecompileInspector; + public static string ToggleAutoRecompilePartial; + public static string ToggleDisplayMonobehaviour; + public static string ToggleRecompileImmediately; + public static string ToggleRecompilePlayMode; + public static string ToggleRecompileEditMode; + public static string ToggleRecompileExitPlayMode; + + // Settings Options + public static string OptionExposeServerShort; + public static string OptionExposeServerFull; + public static string OptionExposeServerDescriptionEnabled; + public static string OptionExposeServerDescriptionDisabled; + public static string OptionAllowHttpRequests; + public static string OptionAllowHttpRequestsDescription; + public static string OptionIncludeInBuild; + public static string OptionIncludeInBuildDescriptionEnabled; + public static string OptionIncludeInBuildDescriptionDisabled; + public static string OptionIncludeInBuildDescriptionSuffix; + + public static void LoadEnglish() { + // Settings Tab + SettingsTitle = "Settings"; + SettingsConfiguration = "Settings"; + SettingsAdvanced = "Advanced"; + SettingsOnDevice = "On-Device"; + SettingsManualConnect = "Manual connect"; + SettingsBuildSettingsChecklist = "Build Settings Checklist"; + SettingsOptions = "Options"; + SettingsVisualFeedback = "Visual Feedback"; + SettingsMisc = "Misc"; + + // Settings Descriptions + SettingsManageAutoRefreshOn = "To avoid unnecessary recompiling, Hot Reload will automatically change Unity's Auto Refresh and Script Compilation settings. Previous settings will be restored when Hot Reload is stopped"; + SettingsManageAutoRefreshOff = "Enabled this setting to auto-manage Unity's Auto Refresh and Script Compilation settings. This reduces unncessary recompiling"; + SettingsAssetRefreshOn = "Hot Reload will refresh changed assets such as sprites, prefabs, etc"; + SettingsAssetRefreshOff = "Enable to allow Hot Reload to refresh changed assets in the project. All asset types are supported including sprites, prefabs, shaders etc"; + SettingsDebuggerCompatibilityOn = "Hot Reload automatically disables itself while a debugger is attached, as it can otherwise interfere with certain debugger features. Please read the documentation if you consider disabling this setting."; + SettingsDebuggerCompatibilityOff = "When a debugger is attached, Hot Reload will be active, but certain debugger features might not work as expected. Please read our documentation to learn about the limitations."; + SettingsRefreshShadersOn = "Hot Reload will auto refresh shaders. Note that enabling this setting might impact performance."; + SettingsRefreshShadersOff = "Enable to auto-refresh shaders. Note that enabling this setting might impact performance"; + SettingsHideConsoleOn = "Hot Reload will start without creating a console window. Logs can be accessed through \"Help\" tab."; + SettingsHideConsoleOff = "Enable to start Hot Reload without creating a console window."; + SettingsDeactivatedOn = "Hot Reload is deactivated."; + SettingsDeactivatedOff = "Enable to deactivate Hot Reload."; + SettingsDisableErrorReportingOn = "Detailed error reporting is disabled."; + SettingsDisableErrorReportingOff = "Toggle on to disable detailed error reporting."; + SettingsPauseEditModeOn = "Hot Reload is paused in Edit mode. It is recommended to perform a full Unity recompilation manually before entering Play Mode to prevent Hot Reload becoming unusable."; + SettingsPauseEditModeOff = "Toggle on to pause Hot Reload while in Edit mode. With this setting enabled, it is recommended to perform a full Unity recompilation manually before entering Play Mode to prevent Hot Reload becoming unusable."; + SettingsAutostartOn = "Hot Reload will be launched when Unity project opens."; + SettingsAutostartOff = "Enable to launch Hot Reload when Unity project opens."; + SettingsAutoClearTimelineOn = "Timeline entries will be cleared after every full Unity recompilation."; + SettingsAutoClearTimelineOff = "Enable to clear Timeline entries after every full Unity recompilation."; + SettingsPatchingIndicationUnsupported = "Patching Notification is not supported in the Unity version you use."; + SettingsPatchingIndicationOff = "Enable to show GameView and SceneView indications when Patching."; + SettingsPatchingIndicationOn = "Indications will be shown in GameView and SceneView when Patching."; + SettingsCompilingIndicationUnsupported = "Compiling Unsupported Changes Notification is not supported in the Unity version you use."; + SettingsCompilingIndicationOff = "Enable to show GameView and SceneView indications when compiling unsupported changes."; + SettingsCompilingIndicationOn = "Indications will be shown in GameView and SceneView when compiling unsupported changes."; + SettingsAutoRecompileUnsupported = "Auto recompiling unsupported changes is not supported in the Unity version you use."; + SettingsAutoRecompileOn = "Hot Reload will recompile automatically after code changes that Hot Reload doesn't support."; + SettingsAutoRecompileOff = "When enabled, recompile happens automatically after code changes that Hot Reload doesn't support."; + SettingsAutoRecompileInspectorOn = "Hot Reload will trigger recompilation for inspector field changes that are not supported in Edit mode."; + SettingsAutoRecompileInspectorOff = "Enable to trigger recompilation for inspector field changes that are not supported in Edit mode."; + SettingsAutoRecompilePartialOn = "Hot Reload will recompile partially supported changes."; + SettingsAutoRecompilePartialOff = "Enable to recompile partially supported changes."; + SettingsDisplayMonobehaviourOn = "Hot Reload will display new monobehaviour methods as partially supported."; + SettingsDisplayMonobehaviourOff = "Enable to display new monobehaviour methods as partially supported."; + SettingsRecompileImmediatelyOn = "Unsupported changes will be recompiled immediately."; + SettingsRecompileImmediatelyOff = "Unsupported changes will be recompiled when editor is focused. Enable to recompile immediately."; + SettingsRecompilePlayModeOn = "Hot Reload will exit Play Mode to recompile unsupported changes."; + SettingsRecompilePlayModeOff = "Enable to auto exit Play Mode to recompile unsupported changes."; + SettingsRecompileEditModeOn = "Hot Reload recompile unsupported changes when in Edit Mode."; + SettingsRecompileEditModeOff = "Enable to auto recompile unsupported changes in Edit Mode."; + SettingsRecompileExitPlayModeOn = "Hot Reload will recompile unsupported changes when exiting Play Mode."; + SettingsRecompileExitPlayModeOff = "Enable to recompile unsupported changes when exiting Play Mode."; + SettingsIndicationsUnsupported = "Indications are not supported in the Unity version you use."; + + // Settings Toggle Names + ToggleManageAutoRefresh = "Manage Unity auto-refresh (recommended)"; + ToggleAssetRefresh = "Asset refresh (recommended)"; + ToggleDebuggerCompatibility = "Auto-disable Hot Reload while a debugger is attached (recommended)"; + ToggleRefreshShaders = "Refresh shaders"; + ToggleHideConsole = "Hide console window on start"; + ToggleDeactivate = "Deactivate Hot Reload"; + ToggleDisableErrorReporting = "Disable Detailed Error Reporting"; + TogglePauseEditMode = "Pause Hot Reload in Edit Mode"; + ToggleAutostart = "Autostart on Unity open"; + ToggleAutoClearTimeline = "Auto clear Timeline after recompile"; + TogglePatchingIndication = "Patching Indication"; + ToggleCompilingIndication = "Compiling Unsupported Changes Indication"; + ToggleAutoRecompile = "Auto recompile unsupported changes (recommended)"; + ToggleAutoRecompileInspector = "Auto recompile inspector field edits"; + ToggleAutoRecompilePartial = "Include partially supported changes"; + ToggleDisplayMonobehaviour = "Display new Monobehaviour methods as partially supported"; + ToggleRecompileImmediately = "Recompile immediately"; + ToggleRecompilePlayMode = "Recompile in Play Mode"; + ToggleRecompileEditMode = "Recompile in Edit Mode"; + ToggleRecompileExitPlayMode = "Recompile on exit Play Mode"; + + // Settings Options + OptionExposeServerShort = "Allow Devices to Connect"; + OptionExposeServerFull = "Allow Devices to Connect (WiFi)"; + OptionExposeServerDescriptionEnabled = "The HotReload server is reachable from devices on the same Wifi network"; + OptionExposeServerDescriptionDisabled = "The HotReload server is available to your computer only. Other devices cannot connect to it."; + OptionAllowHttpRequests = "Allow app to make HTTP requests"; + OptionAllowHttpRequestsDescription = "For Hot Reload to work on-device, please allow HTTP requests"; + OptionIncludeInBuild = "Include Hot Reload in player builds"; + OptionIncludeInBuildDescriptionEnabled = "The Hot Reload runtime is included in development builds that use the Mono scripting backend."; + OptionIncludeInBuildDescriptionDisabled = "The Hot Reload runtime will not be included in any build. Use this option to disable HotReload without removing it from your project."; + OptionIncludeInBuildDescriptionSuffix = " This option does not affect Hot Reload usage in Playmode"; + } + + public static void LoadSimplifiedChinese() { + // Settings Tab + SettingsTitle = "设置"; + SettingsConfiguration = "配置"; + SettingsAdvanced = "高级"; + SettingsOnDevice = "在设备上"; + SettingsManualConnect = "手动连接"; + SettingsBuildSettingsChecklist = "构建设置清单"; + SettingsOptions = "选项"; + SettingsVisualFeedback = "视觉反馈"; + SettingsMisc = "杂项"; + + // Settings Descriptions + SettingsManageAutoRefreshOn = "为避免不必要的重新编译,Hot Reload 将自动更改 Unity 的自动刷新和脚本编译设置。停止 Hot Reload 后将恢复以前的设置"; + SettingsManageAutoRefreshOff = "启用此设置以自动管理 Unity 的自动刷新和脚本编译设置。这可以减少不必要的重新编译"; + SettingsAssetRefreshOn = "Hot Reload 将刷新已更改的资产,如精灵、预制件等"; + SettingsAssetRefreshOff = "启用以允许 Hot Reload 刷新项目中已更改的资产。支持所有资产类型,包括精灵、预制件、着色器等"; + SettingsDebuggerCompatibilityOn = "附加调试器时,Hot Reload 会自动禁用自身,因为它可能会干扰某些调试器功能。如果您考虑禁用此设置,请阅读文档。"; + SettingsDebuggerCompatibilityOff = "附加调试器时,Hot Reload 将处于活动状态,但某些调试器功能可能无法按预期工作。请阅读我们的文档以了解限制。"; + SettingsRefreshShadersOn = "Hot Reload 将自动刷新着色器。请注意,启用此设置可能会影响性能。"; + SettingsRefreshShadersOff = "启用以自动刷新着色器。请注意,启用此设置可能会影响性能"; + SettingsHideConsoleOn = "Hot Reload 启动时不会创建控制台窗口。可以通过“帮助”选项卡访问日志。"; + SettingsHideConsoleOff = "启用以在不创建控制台窗口的情况下启动 Hot Reload。"; + SettingsDeactivatedOn = "Hot Reload 已停用。"; + SettingsDeactivatedOff = "启用以停用 Hot Reload。"; + SettingsDisableErrorReportingOn = "详细错误报告已禁用。"; + SettingsDisableErrorReportingOff = "切换以禁用详细错误报告。"; + SettingsPauseEditModeOn = "在编辑模式下,Hot Reload 已暂停。建议在进入播放模式之前手动执行完整的 Unity 重新编译,以防止 Hot Reload 无法使用。"; + SettingsPauseEditModeOff = "切换以在编辑模式下暂停 Hot Reload。启用此设置后,建议在进入播放模式之前手动执行完整的 Unity 重新编译,以防止 Hot Reload 无法使用。"; + SettingsAutostartOn = "当 Unity 项目打开时,将启动 Hot Reload。"; + SettingsAutostartOff = "启用以在 Unity 项目打开时启动 Hot Reload。"; + SettingsAutoClearTimelineOn = "每次完整的 Unity 重新编译后,时间轴条目将被清除。"; + SettingsAutoClearTimelineOff = "启用后,每次完整的 Unity 重新编译后清除时间轴条目。"; + SettingsPatchingIndicationUnsupported = "您使用的 Unity 版本不支持修补通知。"; + SettingsPatchingIndicationOff = "启用以在修补时显示 GameView 和 SceneView 指示。"; + SettingsPatchingIndicationOn = "修补时将在 GameView 和 SceneView 中显示指示。"; + SettingsCompilingIndicationUnsupported = "您使用的 Unity 版本不支持编译不支持的更改通知。"; + SettingsCompilingIndicationOff = "启用以在编译不支持的更改时显示 GameView 和 SceneView 指示。"; + SettingsCompilingIndicationOn = "编译不支持的更改时将在 GameView 和 SceneView 中显示指示。"; + SettingsAutoRecompileUnsupported = "您使用的 Unity 版本不支持自动重新编译不支持的更改。"; + SettingsAutoRecompileOn = "在 Hot Reload 不支持的代码更改后,Hot Reload 将自动重新编译。"; + SettingsAutoRecompileOff = "启用后,在 Hot Reload 不支持的代码更改后会自动进行重新编译。"; + SettingsAutoRecompileInspectorOn = "对于在编辑模式下不支持的检查器字段更改,Hot Reload 将触发重新编译。"; + SettingsAutoRecompileInspectorOff = "启用以在编辑模式下为不支持的检查器字段更改触发重新编译。"; + SettingsAutoRecompilePartialOn = "Hot Reload 将重新编译部分不支持的更改。"; + SettingsAutoRecompilePartialOff = "启用以重新编译部分不支持的更改。"; + SettingsDisplayMonobehaviourOn = "Hot Reload 将把新的 monobehaviour 方法显示为部分不支持。"; + SettingsDisplayMonobehaviourOff = "启用以将新的 monobehaviour 方法显示为部分不支持。"; + SettingsRecompileImmediatelyOn = "不支持的更改将立即重新编译。"; + SettingsRecompileImmediatelyOff = "当编辑器获得焦点时,将重新编译不支持的更改。启用以立即重新编译。"; + SettingsRecompilePlayModeOn = "Hot Reload 将退出播放模式以重新编译不支持的更改。"; + SettingsRecompilePlayModeOff = "启用以自动退出播放模式以重新编译不支持的更改。"; + SettingsRecompileEditModeOn = "Hot Reload 在编辑模式下重新编译不支持的更改。"; + SettingsRecompileEditModeOff = "启用以在编辑模式下自动重新编译不支持的更改。"; + SettingsRecompileExitPlayModeOn = "退出播放模式时,Hot Reload 将重新编译不支持的更改。"; + SettingsRecompileExitPlayModeOff = "启用以在退出播放模式时重新编译不支持的更改。"; + SettingsIndicationsUnsupported = "您使用的 Unity 版本不支持指示。"; + + // Settings Toggle Names + ToggleManageAutoRefresh = "管理 Unity 自动刷新(推荐)"; + ToggleAssetRefresh = "资产刷新(推荐)"; + ToggleDebuggerCompatibility = "附加调试器时自动禁用 Hot Reload(推荐)"; + ToggleRefreshShaders = "刷新着色器"; + ToggleHideConsole = "启动时隐藏控制台窗口"; + ToggleDeactivate = "停用 Hot Reload"; + ToggleDisableErrorReporting = "禁用详细错误报告"; + TogglePauseEditMode = "在编辑模式下暂停 Hot Reload"; + ToggleAutostart = "在 Unity 打开时自动启动"; + ToggleAutoClearTimeline = "重新编译后自动清除时间轴"; + TogglePatchingIndication = "修补指示"; + ToggleCompilingIndication = "编译不支持的更改指示"; + ToggleAutoRecompile = "自动重新编译不支持的更改(推荐)"; + ToggleAutoRecompileInspector = "自动重新编译检查器字段编辑"; + ToggleAutoRecompilePartial = "包括部分不支持的更改"; + ToggleDisplayMonobehaviour = "将新的 Monobehaviour 方法显示为部分支持"; + ToggleRecompileImmediately = "立即重新编译"; + ToggleRecompilePlayMode = "在播放模式下重新编译"; + ToggleRecompileEditMode = "在编辑模式下重新编译"; + ToggleRecompileExitPlayMode = "退出播放模式时重新编译"; + + // Settings Options + OptionExposeServerShort = "允许设备连接"; + OptionExposeServerFull = "允许设备连接 (WiFi)"; + OptionExposeServerDescriptionEnabled = "HotReload 服务器可从同一 Wifi 网络上的设备访问"; + OptionExposeServerDescriptionDisabled = "HotReload 服务器仅对您的计算机可用。其他设备无法连接到它。"; + OptionAllowHttpRequests = "允许应用发出 HTTP 请求"; + OptionAllowHttpRequestsDescription = "为了让 Hot Reload 在设备上工作,请允许 HTTP 请求"; + OptionIncludeInBuild = "在播放器构建中包含 Hot Reload"; + OptionIncludeInBuildDescriptionEnabled = "Hot Reload 运行时包含在使用 Mono 脚本后端的开发构建中。"; + OptionIncludeInBuildDescriptionDisabled = "Hot Reload 运行时将不包含在任何构建中。使用此选项可在不从项目中删除 HotReload 的情况下禁用它。"; + OptionIncludeInBuildDescriptionSuffix = " 此选项不影响在播放模式下使用 Hot Reload"; + } + } + } +} + diff --git a/Packages/com.singularitygroup.hotreload/Editor/Localization/SettingsTranslations.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/Localization/SettingsTranslations.cs.meta new file mode 100644 index 0000000..f0d55e1 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Localization/SettingsTranslations.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: df46693e37527a74b8c24e95da9a4c47 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/Localization/SettingsTranslations.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Localization/SuggestionsTranslations.cs b/Packages/com.singularitygroup.hotreload/Editor/Localization/SuggestionsTranslations.cs new file mode 100644 index 0000000..693e6db --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Localization/SuggestionsTranslations.cs @@ -0,0 +1,269 @@ +namespace SingularityGroup.HotReload.Editor.Localization { + internal static partial class Translations { + public static class Suggestions { + // Button texts + public static string ButtonDocs; + public static string ButtonMoreInfo; + public static string ButtonVote; + public static string ButtonUseBuildTimeOnlyAtlas; + public static string ButtonOpenSettings; + public static string ButtonIgnoreSuggestion; + public static string ButtonLearnMore; + public static string ButtonStopHotReload; + public static string ButtonDontShowAgain; + public static string ButtonOK; + public static string ButtonOKPadded; + public static string ButtonDisable; + public static string ButtonTurnOff; + public static string ButtonAutoRecompile; + public static string ButtonSwitchToDebugMode; + public static string ButtonKeepEnabledDuringDebugging; + public static string ButtonRecompile; + + // Unity Best Development Tool Award 2023 + public static string Award2023Title; + public static string Award2023Message; + + // Unsupported Changes + public static string UnsupportedChangesTitle; + public static string UnsupportedChangesMessage; + + // Unsupported Packages + public static string UnsupportedPackagesTitle; + public static string UnsupportedPackagesMessage; + + // Auto Recompiled When Playmode State Changes + public static string AutoRecompiledPlaymodeTitle; + public static string AutoRecompiledPlaymodeMessage; + + // Auto Recompiled When Playmode State Changes 2022 + public static string AutoRecompiled2022Title; + public static string AutoRecompiled2022Message; + + // Multidimensional Arrays + public static string MultidimensionalArraysTitle; + public static string MultidimensionalArraysMessage; + + // Editors Without HR Running + public static string EditorsWithoutHRTitle; + public static string EditorsWithoutHRMessage; + + // Field Initializer With Side Effects + public static string FieldInitializerSideEffectsTitle; + public static string FieldInitializerSideEffectsMessage; + + // Detailed Error Reporting Is Enabled + public static string DetailedErrorReportingTitle; + public static string DetailedErrorReportingMessage; + + // Field Initializer Existing Instances Edited + public static string FieldInitializerEditedTitle; + public static string FieldInitializerEditedMessage; + + // Field Initializer Existing Instances Unedited + public static string FieldInitializerUneditedTitle; + public static string FieldInitializerUneditedMessage; + + // Add Monobehaviour Method + public static string AddMonobehaviourMethodTitle; + public static string AddMonobehaviourMethodMessage; + + // Switch To Debug Mode For Inlined Methods + public static string SwitchToDebugModeTitle; + public static string SwitchToDebugModeMessage; + public static string SwitchToDebugModeConfirmation; + + // Hot Reload While Debugger Is Attached + public static string DebuggerAttachedTitle; + public static string DebuggerAttachedMessagePaused; + public static string DebuggerAttachedMessageAutoRecompile; + + + // Hot Reloaded Methods When Debugger Is Attached + public static string DebuggerMethodsTitle; + public static string DebuggerMethodsMessage; + public static string DebuggerMethodsConfirmation; + + // Hot Reloaded Requires UTF8 Encoding + public static string UTF8EncodingRequiredTitle; + public static string UTF8EncodingRequiredMessage; + + public static void LoadEnglish() { + // Button texts + ButtonDocs = "Docs"; + ButtonMoreInfo = "More Info"; + ButtonVote = " Vote "; + ButtonUseBuildTimeOnlyAtlas = " Use \"Build Time Only Atlas\" "; + ButtonOpenSettings = " Open Settings "; + ButtonIgnoreSuggestion = " Ignore suggestion "; + ButtonLearnMore = " Learn more "; + ButtonStopHotReload = " Stop Hot Reload "; + ButtonDontShowAgain = " Don't show again "; + ButtonOK = " OK "; + ButtonOKPadded = " OK "; + ButtonDisable = " Disable "; + ButtonTurnOff = " Turn off "; + ButtonAutoRecompile = " Auto Recompile "; + ButtonSwitchToDebugMode = " Switch to Debug mode "; + ButtonKeepEnabledDuringDebugging = " Keep enabled during debugging "; + ButtonRecompile = " Recompile "; + + // Unity Best Development Tool Award 2023 + Award2023Title = "Vote for the \"Best Development Tool\" Award!"; + Award2023Message = "Hot Reload was nominated for the \"Best Development Tool\" Award. Please consider voting. Thank you!"; + + // Unsupported Changes + UnsupportedChangesTitle = "Which changes does Hot Reload support?"; + UnsupportedChangesMessage = "Hot Reload supports most code changes, but there are some limitations. Generally, changes to methods and fields are supported. Things like adding new types is not (yet) supported. See the documentation for the list of current features and our current roadmap"; + + // Unsupported Packages + UnsupportedPackagesTitle = "Unsupported package detected"; + UnsupportedPackagesMessage = "The following packages are only partially supported: ECS, Mirror, Fishnet, and Photon. Hot Reload will work in the project, but changes specific to those packages might not hot-reload"; + + // Auto Recompiled When Playmode State Changes + AutoRecompiledPlaymodeTitle = "Unity recompiles on enter/exit play mode?"; + AutoRecompiledPlaymodeMessage = "If you have an issue with the Unity Editor recompiling when the Play Mode state changes, more info is available in the docs. Feel free to reach out if you require assistance. We'll be glad to help."; + + // Auto Recompiled When Playmode State Changes 2022 + AutoRecompiled2022Title = "Unsupported setting detected"; + AutoRecompiled2022Message = "The 'Sprite Packer Mode' setting can cause unintended recompilations if set to 'Sprite Atlas V1 - Always Enabled'"; + + // Multidimensional Arrays + MultidimensionalArraysTitle = "Use jagged instead of multidimensional arrays"; + MultidimensionalArraysMessage = "Hot Reload doesn't support methods with multidimensional arrays ([,]). You can work around this by using jagged arrays ([][])"; + + // Editors Without HR Running + EditorsWithoutHRTitle = "Some Unity instances don't have Hot Reload running."; + EditorsWithoutHRMessage = "Make sure that either: \n1) Hot Reload is installed and running on all Editor instances, or \n2) Hot Reload is stopped in all Editor instances where it is installed."; + + // Field Initializer With Side Effects + FieldInitializerSideEffectsTitle = "Field initializer with side-effects detected"; + FieldInitializerSideEffectsMessage = "A field initializer update might have side effects, e.g. calling a method or creating an object.\n\nWhile Hot Reload does support this, it can sometimes be confusing when the initializer logic runs at 'unexpected times'."; + + // Detailed Error Reporting Is Enabled + DetailedErrorReportingTitle = "Detailed error reporting is enabled"; + DetailedErrorReportingMessage = "When an error happens in Hot Reload, the exception stacktrace is sent as telemetry to help diagnose and fix the issue.\nThe exception stack trace is only included if it originated from the Hot Reload package or binary. Stacktraces from your own code are not sent.\nYou can disable detailed error reporting to prevent telemetry from including any information about your project."; + + // Field Initializer Existing Instances Edited + FieldInitializerEditedTitle = "Field initializer edit updated the value of existing class instances"; + FieldInitializerEditedMessage = "By default, Hot Reload updates field values of existing object instances when new field initializer has constant value.\n\nIf you want to change this behavior, disable the \"Apply field initializer edits to existing class instances\" option in Settings or click the button below."; + + // Field Initializer Existing Instances Unedited + FieldInitializerUneditedTitle = "Field initializer edits don't apply to existing objects"; + FieldInitializerUneditedMessage = "By default, Hot Reload applies field initializer edits of existing fields only to new objects (newly instantiated classes), just like normal C#.\n\nFor rapid prototyping, you can use static fields which will update across all instances."; + + // Add Monobehaviour Method + AddMonobehaviourMethodTitle = "New MonoBehaviour methods are not shown in the inspector"; + AddMonobehaviourMethodMessage = "New methods in MonoBehaviours are not shown in the inspector until the script is recompiled. This is a limitation of Hot Reload handling of Unity's serialization system.\n\nYou can use the button below to auto recompile partially supported changes such as this one."; + + // Switch To Debug Mode For Inlined Methods + SwitchToDebugModeTitle = "Switch code optimization to Debug Mode"; + SwitchToDebugModeMessage = "In Release Mode some methods are inlined, which prevents Hot Reload from applying changes. A clear warning is always shown when this happens, but you can use Debug Mode to avoid the issue altogether"; + SwitchToDebugModeConfirmation = "Switching code optimization will stop Play Mode.\n\nDo you wish to proceed?"; + + // Hot Reload While Debugger Is Attached + DebuggerAttachedTitle = "Hot Reload is disabled while a debugger is attached"; + DebuggerAttachedMessageAutoRecompile = "Hot Reload automatically disables itself while a debugger is attached, as it can otherwise interfere with certain debugger features.\nWhile disabled, every code change will trigger a full Unity recompilation.\n\nYou can choose to keep Hot Reload enabled while a debugger is attached, though some features like debugger variable inspection might not always work as expected."; + DebuggerAttachedMessagePaused = "Hot Reload automatically disables itself while a debugger is attached, as it can otherwise interfere with certain debugger features.\n\nYou can choose to keep Hot Reload enabled while a debugger is attached, though some features like debugger variable inspection might not always work as expected."; + + // Hot Reloaded Methods When Debugger Is Attached + DebuggerMethodsTitle = "Hot Reload may interfere with your debugger session"; + DebuggerMethodsMessage = "Some debugger features, like variable inspection, might not work as expected for methods patched during the Hot Reload session. A full Unity recompile is required to get the full debugger experience."; + DebuggerMethodsConfirmation = "Using the Recompile button will stop Play Mode.\n\nDo you wish to proceed?"; + + // Hot Reloaded Requires UTF8 Encoding + UTF8EncodingRequiredTitle = "Change file encoding to UTF-8"; + UTF8EncodingRequiredMessage = "Unknown source file encoding detected. Change the encoding of the code editor to UTF-8 to resolve this problem."; + } + + public static void LoadSimplifiedChinese() { + // Button texts + ButtonDocs = "文档"; + ButtonMoreInfo = "更多信息"; + ButtonVote = " 投票 "; + ButtonUseBuildTimeOnlyAtlas = " 使用“仅构建时图集” "; + ButtonOpenSettings = " 打开设置 "; + ButtonIgnoreSuggestion = " 忽略建议 "; + ButtonLearnMore = " 了解更多 "; + ButtonStopHotReload = " 停止 Hot Reload "; + ButtonDontShowAgain = " 不再显示 "; + ButtonOK = " 确定 "; + ButtonOKPadded = " 确定 "; + ButtonDisable = " 禁用 "; + ButtonTurnOff = " 关闭 "; + ButtonAutoRecompile = " 自动重新编译 "; + ButtonSwitchToDebugMode = " 切换到调试模式 "; + ButtonKeepEnabledDuringDebugging = " 在调试期间保持启用 "; + ButtonRecompile = " 重新编译 "; + + // Unity Best Development Tool Award 2023 + Award2023Title = "为“最佳开发工具”奖投票!"; + Award2023Message = "Hot Reload 被提名为“最佳开发工具”奖。请考虑投票。谢谢!"; + + // Unsupported Changes + UnsupportedChangesTitle = "Hot Reload 支持哪些更改?"; + UnsupportedChangesMessage = "Hot Reload 支持大多数代码更改,但存在一些限制。通常支持对方法和字段的更改。尚不支持添加新类型等操作。有关当前功能列表和我们当前路线图,请参阅文档"; + + // Unsupported Packages + UnsupportedPackagesTitle = "检测到不支持的包"; + UnsupportedPackagesMessage = "以下包仅部分支持:ECS、Mirror、Fishnet 和 Photon。Hot Reload 可以在项目中使用,但针对这些包的特定更改可能无法热重载"; + + // Auto Recompiled When Playmode State Changes + AutoRecompiledPlaymodeTitle = "Unity 在进入/退出播放模式时重新编译?"; + AutoRecompiledPlaymodeMessage = "如果您在播放模式状态更改时遇到 Unity 编辑器重新编译的问题,可以在文档中找到更多信息。如果您需要帮助,请随时与我们联系。我们很乐意提供帮助。"; + + // Auto Recompiled When Playmode State Changes 2022 + AutoRecompiled2022Title = "检测到不支持的设置"; + AutoRecompiled2022Message = "如果“精灵打包器模式”设置为“精灵图集 V1 - 始终启用”,则可能导致意外的重新编译"; + + // Multidimensional Arrays + MultidimensionalArraysTitle = "使用交错数组代替多维数组"; + MultidimensionalArraysMessage = "Hot Reload 不支持带有二维数组 ([,]) 的方法。您可以通过使用交错数组 ([][]) 来解决此问题"; + + // Editors Without HR Running + EditorsWithoutHRTitle = "一些 Unity 实例没有运行 Hot Reload。"; + EditorsWithoutHRMessage = "请确保:\n1) 在所有编辑器实例上安装并运行 Hot Reload,或\n2) 在所有安装了 Hot Reload 的编辑器实例中停止它。"; + + // Field Initializer With Side Effects + FieldInitializerSideEffectsTitle = "检测到带有副作用的字段初始化器"; + FieldInitializerSideEffectsMessage = "字段初始化器更新可能有副作用,例如调用方法或创建对象。\n\n虽然 Hot Reload 支持此功能,但当初始化器逻辑在“意外时间”运行时,有时可能会令人困惑。"; + + // Detailed Error Reporting Is Enabled + DetailedErrorReportingTitle = "已启用详细错误报告"; + DetailedErrorReportingMessage = "当 Hot Reload 中发生错误时,异常堆栈跟踪将作为遥测数据发送,以帮助诊断和修复问题。\n仅当异常堆栈跟踪源自 Hot Reload 包或二进制文件时才会包含。不会发送您自己代码的堆栈跟踪。\n您可以禁用详细错误报告,以防止遥测数据包含有关您项目的任何信息。"; + + // Field Initializer Existing Instances Edited + FieldInitializerEditedTitle = "字段初始化器编辑更新了现有类实例的值"; + FieldInitializerEditedMessage = "默认情况下,当新的字段初始化器具有常量值时,Hot Reload 会更新现有对象实例的字段值。\n\n如果您想更改此行为,请在“设置”中禁用“将字段初始化器编辑应用于现有类实例”选项,或单击下面的按钮。"; + + // Field Initializer Existing Instances Unedited + FieldInitializerUneditedTitle = "字段初始化器编辑不适用于现有对象"; + FieldInitializerUneditedMessage = "默认情况下,Hot Reload 仅将现有字段的字段初始化器编辑应用于新对象(新实例化的类),就像普通的 C# 一样。\n\n为了快速原型制作,您可以使用静态字段,它将在所有实例中更新。"; + + // Add Monobehaviour Method + AddMonobehaviourMethodTitle = "新的 MonoBehaviour 方法不会显示在检查器中"; + AddMonobehaviourMethodMessage = "在重新编译脚本之前,MonoBehaviours 中的新方法不会显示在检查器中。这是 Hot Reload 处理 Unity 序列化系统的限制。\n\n您可以使用下面的按钮自动重新编译部分支持的更改,例如此更改。"; + + // Switch To Debug Mode For Inlined Methods + SwitchToDebugModeTitle = "将代码优化切换到调试模式"; + SwitchToDebugModeMessage = "在发布模式下,某些方法是内联的,这会阻止 Hot Reload 应用更改。发生这种情况时总是会显示明确的警告,但您可以使用调试模式完全避免此问题"; + SwitchToDebugModeConfirmation = "切换代码优化将停止播放模式。\n\n您希望继续吗?"; + + // Hot Reload While Debugger Is Attached + DebuggerAttachedTitle = "附加调试器时禁用 Hot Reload"; + DebuggerAttachedMessageAutoRecompile = "当附加调试器时,热重载将自动禁用,以避免干扰某些调试器功能。\n禁用状态下,每次修改代码都会触发Unity完整重编译。\n\n您也可以选择在附加调试器时继续启用热重载,但请注意某些功能(例如调试器的变量检查)可能无法正常工作。"; + DebuggerAttachedMessagePaused = "当附加调试器时,热重载将自动禁用,以避免干扰某些调试器功能。\n\n您也可以选择在附加调试器时继续启用热重载,但请注意某些功能(例如调试器的变量检查)可能无法正常工作。"; + + // Hot Reloaded Methods When Debugger Is Attached + DebuggerMethodsTitle = "Hot Reload 可能会干扰您的调试会话"; + DebuggerMethodsMessage = "某些调试器功能,例如变量检查,对于在 Hot Reload 会话期间修补的方法可能无法按预期工作。需要完整的 Unity 重新编译才能获得完整的调试器体验。"; + DebuggerMethodsConfirmation = "使用“重新编译”按钮将停止播放模式。\n\n您希望继续吗?"; + + // Hot Reloaded Requires UTF8 Encoding + UTF8EncodingRequiredTitle = "将文件编码更改为 UTF-8"; + UTF8EncodingRequiredMessage = "检测到未知的源文件编码。请将代码编辑器的编码更改为 UTF-8 以解决此问题。"; + } + } + } +} + diff --git a/Packages/com.singularitygroup.hotreload/Editor/Localization/SuggestionsTranslations.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/Localization/SuggestionsTranslations.cs.meta new file mode 100644 index 0000000..42c2e65 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Localization/SuggestionsTranslations.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 3a2d7e9f8b1c4a5e9d6f8a7b9c1d2e3f +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/Localization/SuggestionsTranslations.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Localization/TimelineTranslations.cs b/Packages/com.singularitygroup.hotreload/Editor/Localization/TimelineTranslations.cs new file mode 100644 index 0000000..851069c --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Localization/TimelineTranslations.cs @@ -0,0 +1,154 @@ +namespace SingularityGroup.HotReload.Editor.Localization { + internal static partial class Translations { + public static class Timeline { + // Timeline/Events + public static string TimelineTitle; + public static string SuggestionsTitle; + public static string MessageCompleteRegistration; + public static string MessageUseStartButton; + public static string MessageEnableFilters; + public static string MessageMakeCodeChanges; + public static string MessageOnly40EntriesShown; + public static string EventsTooltip; + public static string LabelSuggestionsFormat; + public static string LabelTimeline; + public static string ButtonIgnoreEventType; + public static string MessageStartHotReload; + + // Partially Supported Change Descriptions + public static string PartiallySupportedLambdaClosure; + public static string PartiallySupportedEditAsyncMethod; + public static string PartiallySupportedAddMonobehaviourMethod; + public static string PartiallySupportedEditMonobehaviourField; + public static string PartiallySupportedEditCoroutine; + public static string PartiallySupportedEditGenericFieldInitializer; + public static string PartiallySupportedAddEnumMember; + public static string PartiallySupportedEditFieldInitializer; + public static string PartiallySupportedAddMethodWithAttributes; + public static string PartiallySupportedAddFieldWithAttributes; + public static string PartiallySupportedGenericMethodInGenericClass; + public static string PartiallySupportedNewCustomSerializableField; + public static string PartiallySupportedMultipleFieldsEditedInTheSameType; + + // Event Entry Titles and Descriptions + public static string EventTitleFailedApplyingPatch; + public static string EventDescriptionInlinedMethods; + public static string EventDescriptionNoIssuesFound; + public static string EventDescriptionSeeUnsupportedChangesBelow; + public static string EventDescriptionSeeDetailedEntriesBelow; + public static string EventDescriptionSeePartiallyAppliedChangesBelow; + public static string EventDescriptionUndetectedChange; + public static string EventTitleChangePartiallyApplied; + public static string EventDescriptionFailedApplyingPatchTapForMore; + + // Manual download + public static string ManualDownloadButtonContactSupport; + public static string ManualDownloadWarning; + public static string ManualDownloadInfo; + public static string ManualDownloadButtonCopyToClipboard; + public static string ManualDownloadButtonOpenDownloadUrl; + public static string ManualDownloadButtonComplete; + + public static void LoadEnglish() { + // Timeline/Events + TimelineTitle = "Timeline"; + SuggestionsTitle = "Suggestions"; + MessageCompleteRegistration = "Complete registration before using Hot Reload"; + MessageUseStartButton = "Use the Start button to activate Hot Reload"; + MessageEnableFilters = "Enable filters to see events"; + MessageMakeCodeChanges = "Make code changes to see events"; + MessageOnly40EntriesShown = "Only last 40 entries are shown"; + EventsTooltip = "Events"; + LabelSuggestionsFormat = "Suggestions ({0})"; + LabelTimeline = "Timeline"; + ButtonIgnoreEventType = "Ignore this event type "; + MessageStartHotReload = "Press Start to begin using Hot Reload"; + + // Partially Supported Change Descriptions + PartiallySupportedLambdaClosure = "A lambda closure was edited (captured variable was added or removed). Changes to it will only be visible to the next created lambda(s)."; + PartiallySupportedEditAsyncMethod = "An async method was edited. Changes to it will only be visible the next time this method is called."; + PartiallySupportedAddMonobehaviourMethod = "A new method was added or made public. It will not show up in the Inspector until the next full recompilation."; + PartiallySupportedEditMonobehaviourField = "A field in a MonoBehaviour was removed or reordered. The inspector will not notice this change until the next full recompilation."; + PartiallySupportedEditCoroutine = "An IEnumerator/IEnumerable was edited. When used as a coroutine, changes to it will only be visible the next time the coroutine is created."; + PartiallySupportedEditGenericFieldInitializer = "A field initializer inside generic class was edited. Field initializer will not have any effect until the next full recompilation."; + PartiallySupportedAddEnumMember = "An enum member was added. ToString and other reflection methods work only after the next full recompilation. Additionally, changes to the enum order may not apply until you patch usages in other places of the code."; + PartiallySupportedEditFieldInitializer = "A field initializer was edited. Changes will only apply to new instances of that type, since the initializer for an object only runs when it is created."; + PartiallySupportedAddMethodWithAttributes = "A method with attributes was added. Method attributes will not have any effect until the next full recompilation."; + PartiallySupportedAddFieldWithAttributes = "A field with attributes was added. Field attributes will not have any effect until the next full recompilation."; + PartiallySupportedGenericMethodInGenericClass = "A generic method was edited. Usages in non-generic classes applied, but usages in the generic classes are not supported."; + PartiallySupportedNewCustomSerializableField = "A new custom serializable field was added. The inspector will not notice this change until the next full recompilation."; + PartiallySupportedMultipleFieldsEditedInTheSameType = "Multiple fields modified in the same type during a single patch. Their values have been reset."; + + // Event Entry Titles and Descriptions + EventTitleFailedApplyingPatch = "Failed applying patch to method"; + EventDescriptionInlinedMethods = "Some methods got inlined by the Unity compiler and cannot be patched by Hot Reload. Switch to Debug mode to avoid this problem."; + EventDescriptionNoIssuesFound = "No issues found"; + EventDescriptionSeeUnsupportedChangesBelow = "See unsupported changes below"; + EventDescriptionSeeDetailedEntriesBelow = "See detailed entries below"; + EventDescriptionSeePartiallyAppliedChangesBelow = "See partially applied changes below"; + EventDescriptionUndetectedChange = "Code semantics didn't change (e.g. whitespace) or the change requires manual recompile.\n\nRecompile to force-apply changes."; + EventTitleChangePartiallyApplied = "Change partially applied"; + EventDescriptionFailedApplyingPatchTapForMore = "{0}: {1}, tap here to see more."; + + // Manual download + ManualDownloadButtonContactSupport = "Contact Support"; + ManualDownloadWarning = "Automatic downloads are slow or not available. You can download the required binaries manually."; + ManualDownloadInfo = "Download the server binary and save it to the following path:\n{0}"; + ManualDownloadButtonCopyToClipboard = "Copy path to clipboard"; + ManualDownloadButtonOpenDownloadUrl = "Open Download URL"; + ManualDownloadButtonComplete = "I've completed the download"; + } + + public static void LoadSimplifiedChinese() { + // Timeline/Events + TimelineTitle = "时间线"; + SuggestionsTitle = "建议"; + MessageCompleteRegistration = "在使用 Hot Reload 前完成注册"; + MessageUseStartButton = "使用开始按钮激活 Hot Reload"; + MessageEnableFilters = "启用过滤器以查看事件"; + MessageMakeCodeChanges = "进行代码更改以查看事件"; + MessageOnly40EntriesShown = "仅显示最后 40 个条目"; + EventsTooltip = "事件"; + LabelSuggestionsFormat = "建议 ({0})"; + LabelTimeline = "时间线"; + ButtonIgnoreEventType = "忽略此事件类型 "; + MessageStartHotReload = "按开始以开始使用 Hot Reload"; + + // Partially Supported Change Descriptions + PartiallySupportedLambdaClosure = "编辑了 lambda 闭包(添加或删除了捕获的变量)。对其的更改仅对下一个创建的 lambda 可见。"; + PartiallySupportedEditAsyncMethod = "编辑了异步方法。对其的更改仅在下次调用此方法时可见。"; + PartiallySupportedAddMonobehaviourMethod = "添加了新方法或将其设为公共。在下次完全重新编译之前,它不会显示在检查器中。"; + PartiallySupportedEditMonobehaviourField = "删除了 MonoBehaviour 中的字段或重新排序。在下次完全重新编译之前,检查器不会注意到此更改。"; + PartiallySupportedEditCoroutine = "编辑了 IEnumerator/IEnumerable。当用作协程时,对其的更改仅在下次创建协程时可见。"; + PartiallySupportedEditGenericFieldInitializer = "编辑了泛型类中的字段初始化器。在下次完全重新编译之前,字段初始化器不会有任何效果。"; + PartiallySupportedAddEnumMember = "添加了枚举成员。ToString 和其他反射方法仅在下次完全重新编译后才起作用。此外,在您修补代码中其他地方的用法之前,对枚举顺序的更改可能不会应用。"; + PartiallySupportedEditFieldInitializer = "编辑了字段初始化器。更改仅适用于该类型的新实例,因为对象的初始化器仅在创建时运行。"; + PartiallySupportedAddMethodWithAttributes = "添加了带属性的方法。在下次完全重新编译之前,方法属性不会有任何效果。"; + PartiallySupportedAddFieldWithAttributes = "添加了带属性的字段。在下次完全重新编译之前,字段属性不会有任何效果。"; + PartiallySupportedGenericMethodInGenericClass = "编辑了泛型方法。在非泛型类中的用法已应用,但不支持在泛型类中的用法。"; + PartiallySupportedNewCustomSerializableField = "添加了新的自定义可序列化字段。在下次完全重新编译之前,检查器不会注意到此更改。"; + PartiallySupportedMultipleFieldsEditedInTheSameType = "在单个补丁期间,在同一类型中修改了多个字段。它们的值已被重置。"; + + // Event Entry Titles and Descriptions + EventTitleFailedApplyingPatch = "将补丁应用于方法失败"; + EventDescriptionInlinedMethods = "某些方法被 Unity 编译器内联,无法被 Hot Reload 修补。切换到调试模式以避免此问题。"; + EventDescriptionNoIssuesFound = "未发现问题"; + EventDescriptionSeeUnsupportedChangesBelow = "请参阅下面的不支持的更改"; + EventDescriptionSeeDetailedEntriesBelow = "请参阅下面的详细条目"; + EventDescriptionSeePartiallyAppliedChangesBelow = "请参阅下面部分应用的更改"; + EventDescriptionUndetectedChange = "代码语义未更改(例如空格)或更改需要手动重新编译。\n\n重新编译以强制应用更改。"; + EventTitleChangePartiallyApplied = "更改部分应用"; + EventDescriptionFailedApplyingPatchTapForMore = "{0}: {1},点击此处查看更多。"; + + // Manual download + ManualDownloadButtonContactSupport = "联系支持"; + ManualDownloadWarning = "自动下载速度较慢或不可用。您可以手动下载所需的二进制文件。"; + ManualDownloadInfo = "下载服务器二进制文件并将其保存到以下路径:\n{0}"; + ManualDownloadButtonCopyToClipboard = "复制路径到剪贴板"; + ManualDownloadButtonOpenDownloadUrl = "打开下载链接"; + ManualDownloadButtonComplete = "我已完成下载"; + } + } + } +} + diff --git a/Packages/com.singularitygroup.hotreload/Editor/Localization/TimelineTranslations.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/Localization/TimelineTranslations.cs.meta new file mode 100644 index 0000000..c260ad0 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Localization/TimelineTranslations.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: f7d83a43b1da0f14c860b06211f42149 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/Localization/TimelineTranslations.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Localization/UITranslations.cs b/Packages/com.singularitygroup.hotreload/Editor/Localization/UITranslations.cs new file mode 100644 index 0000000..5d2a12c --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Localization/UITranslations.cs @@ -0,0 +1,84 @@ +namespace SingularityGroup.HotReload.Editor.Localization { + internal static partial class Translations { + public static class UI { + // Run Tab + public static string RunTabTitle; + public static string RunTabTooltip; + public static string TapToShowStacktrace; + public static string CompileErrorMessage; + public static string UnsupportedChangeMessage; + public static string TapHereToSeeMore; + public static string ClickableDescription; + public static string SessionRefreshString; + public static string RecompileButtonLabel; + public static string StartButtonLabel; + public static string StopButtonLabel; + + // License Messages + public static string TrialLicenseMessage; + public static string IndieLicenseMessage; + public static string LicenseRenewalMessage; + public static string BusinessLicenseMessage; + + // Startup Messages + public static string StartingHotReloadMessage; + + public static string OverlayPanelName; + + public static void LoadEnglish() { + // Run Tab + RunTabTitle = "Run"; + RunTabTooltip = "Run and monitor the current Hot Reload session."; + TapToShowStacktrace = "Tap to show stacktrace"; + CompileErrorMessage = "Compile error"; + UnsupportedChangeMessage = "Unsupported change detected"; + TapHereToSeeMore = "tap here to see more."; + ClickableDescription = "Unsupported change"; + SessionRefreshString = "Next Session: {0}h {1}min"; + RecompileButtonLabel = " Recompile"; + StartButtonLabel = " Start"; + StopButtonLabel = " Stop"; + + // License Messages + TrialLicenseMessage = "Using Trial license, valid until {0}"; + IndieLicenseMessage = " Indie license active"; + LicenseRenewalMessage = "License will renew on {0}."; + BusinessLicenseMessage = " Business license active"; + + // Startup Messages + StartingHotReloadMessage = "Starting Hot Reload"; + + // Overlay + OverlayPanelName = "Hot Reload Indication"; + } + + public static void LoadSimplifiedChinese() { + // Run Tab + RunTabTitle = "运行"; + RunTabTooltip = "运行并监控当前的 Hot Reload 会话。"; + TapToShowStacktrace = "点击以显示堆栈跟踪"; + CompileErrorMessage = "编译错误"; + UnsupportedChangeMessage = "检测到不支持的更改"; + TapHereToSeeMore = "点击此处查看更多。"; + ClickableDescription = "不支持的更改"; + SessionRefreshString = "下一会话:{0}h {1}min"; + RecompileButtonLabel = " 重新编译"; + StartButtonLabel = " 开始"; + StopButtonLabel = " 停止"; + + // License Messages + TrialLicenseMessage = "正在使用试用许可证,有效期至 {0}"; + IndieLicenseMessage = " 独立开发者许可证已激活"; + LicenseRenewalMessage = "许可证将于 {0} 续订。"; + BusinessLicenseMessage = " 商业许可证已激活"; + + // Startup Messages + StartingHotReloadMessage = "正在启动 Hot Reload"; + + // Overlay + OverlayPanelName = "Hot Reload 指示"; + } + } + } +} + diff --git a/Packages/com.singularitygroup.hotreload/Editor/Localization/UITranslations.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/Localization/UITranslations.cs.meta new file mode 100644 index 0000000..815b133 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Localization/UITranslations.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 84e781692dea7c94f8da7bd64dfbfceb +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/Localization/UITranslations.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Localization/UtilityTranslations.cs b/Packages/com.singularitygroup.hotreload/Editor/Localization/UtilityTranslations.cs new file mode 100644 index 0000000..ade24c1 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Localization/UtilityTranslations.cs @@ -0,0 +1,113 @@ +namespace SingularityGroup.HotReload.Editor.Localization { + internal static partial class Translations { + public static class Utility { + // Compilation and Assembly + public static string CompileError; + public static string UnsupportedChange; + public static string AssemblyFileEditError; + public static string NativePluginEditError; + public static string InspectorFieldChangeError; + + // Version and Project + public static string InvalidVersionNoMinor; + public static string InvalidVersionNoPatch; + public static string FailedCreateCSharpProject; + public static string ApplicationNotFound; + + // Download and Installation + public static string StreamHasToBeReadable; + public static string StreamHasToBeWritable; + public static string UnableToLocateServer; + public static string UnableToLocateServerDetail; + public static string CannotFindSolutionFile; + public static string UnableToUpdatePackageDifferentDrive; + public static string UnableToLocateHotReloadPackage; + + // CLI and Build + public static string FailedLocatingServer; + public static string PreparingBuildInfoFailed; + + // Logs + public static string PlayerAssemblyDebug; + + // Symbols + public static string GenericParameterMismatch; + public static string GenericParameterTypeDefinitionMismatch; + + // Method Compatibility + public static string MethodCallWarning; + public static string OnHotReloadLocalWarning; + public static string OnHotReloadWarning; + public static string OnHotReloadLocalCallWarning; + + public static void LoadEnglish() { + CompileError = "Compile error"; + UnsupportedChange = "Unsupported change"; + AssemblyFileEditError = "errors: AssemblyFileEdit: Editing assembly files requires recompiling in Unity. in {0}"; + NativePluginEditError = "errors: NativePluginEdit: Editing native plugins requires recompiling in Unity. in {0}"; + InspectorFieldChangeError = "errors: Some inspector field changes require recompilation in Unity. Auto recompiling Unity according to the settings."; + + InvalidVersionNoMinor = "Invalid version (no minor version given in strict mode)"; + InvalidVersionNoPatch = "Invalid version (no patch version given in strict mode)"; + FailedCreateCSharpProject = "Failed creating c# project because the c# project header did not have the correct amount of arguments, which is {0}"; + ApplicationNotFound = "Application not found"; + + StreamHasToBeReadable = "Has to be readable"; + StreamHasToBeWritable = "Has to be writable"; + UnableToLocateServer = "Unable to locate the 'Server' directory. "; + UnableToLocateServerDetail = "Make sure the 'Server' directory is somewhere in the Assets folder inside a 'HotReload' folder or in the HotReload package"; + CannotFindSolutionFile = "Cannot find solution file. Please disable \"useBuiltInProjectGeneration\" in settings to enable custom project generation."; + UnableToUpdatePackageDifferentDrive = "unable to update package because it is located on a different drive than the unity project"; + UnableToLocateHotReloadPackage = "unable to locate hot reload package"; + + FailedLocatingServer = "Failed to locate Hot Reload server directory"; + PreparingBuildInfoFailed = "Preparing build info failed! On-device functionality might not work. Exception: {0}"; + + PlayerAssemblyDebug = "player assembly named {0}"; + + GenericParameterMismatch = "Generic parameter did not resolve to generic type definition"; + GenericParameterTypeDefinitionMismatch = "Generic parameter did not exist on the generic type definition"; + + MethodCallWarning = "failed. Make sure it's a method with 0 parameters either static or defined on MonoBehaviour."; + OnHotReloadLocalWarning = "failed to find method {0}. Make sure it exists within the same class."; + OnHotReloadWarning = "failed. Make sure it has 0 parameters, or 1 parameter with type List. Exception:"; + OnHotReloadLocalCallWarning = "failed. Make sure it has 0 parameters. Exception:"; + } + + public static void LoadSimplifiedChinese() { + CompileError = "编译错误"; + UnsupportedChange = "不支持的更改"; + AssemblyFileEditError = "错误:AssemblyFileEdit:编辑程序集文件需要在 Unity 中重新编译。在 {0} 中"; + NativePluginEditError = "错误:NativePluginEdit:编辑本机插件需要在 Unity 中重新编译。在 {0} 中"; + InspectorFieldChangeError = "错误:一些检查器字段更改需要在 Unity 中重新编译。根据设置自动重新编译 Unity。"; + + InvalidVersionNoMinor = "无效版本(严格模式下未提供次要版本)"; + InvalidVersionNoPatch = "无效版本(严格模式下未提供补丁版本)"; + FailedCreateCSharpProject = "创建 C# 项目失败,因为 C# 项目头没有正确的参数数量,即 {0}"; + ApplicationNotFound = "未找到应用程序"; + + StreamHasToBeReadable = "必须可读"; + StreamHasToBeWritable = "必须可写"; + UnableToLocateServer = "无法找到“服务器”目录。"; + UnableToLocateServerDetail = "确保“服务器”目录位于 Assets 文件夹内的“HotReload”文件夹中,或在 HotReload 包中"; + CannotFindSolutionFile = "找不到解决方案文件。请在设置中禁用“useBuiltInProjectGeneration”以启用自定义项目生成。"; + UnableToUpdatePackageDifferentDrive = "无法更新包,因为它位于与 unity 项目不同的驱动器上"; + UnableToLocateHotReloadPackage = "无法找到 hot reload 包"; + + FailedLocatingServer = "未能找到 Hot Reload 服务器目录"; + PreparingBuildInfoFailed = "准备构建信息失败!设备上功能可能无法工作。异常:{0}"; + + PlayerAssemblyDebug = "名为 {0} 的播放器程序集"; + + GenericParameterMismatch = "泛型参数未解析为泛型类型定义"; + GenericParameterTypeDefinitionMismatch = "泛型参数在泛型类型定义上不存在"; + + MethodCallWarning = "失败。请确保它是一个具有 0 个参数的方法,静态或在 MonoBehaviour 上定义。"; + OnHotReloadLocalWarning = "未能找到方法 {0}。请确保它存在于同一个类中。"; + OnHotReloadWarning = "失败。请确保它有 0 个参数,或 1 个类型为 List 的参数。异常:"; + OnHotReloadLocalCallWarning = "失败。请确保它有 0 个参数。异常:"; + } + } + } +} + diff --git a/Packages/com.singularitygroup.hotreload/Editor/Localization/UtilityTranslations.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/Localization/UtilityTranslations.cs.meta new file mode 100644 index 0000000..d74074a --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Localization/UtilityTranslations.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: c089e14ef1f6aa5438ecc4ea082be7d9 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/Localization/UtilityTranslations.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/PlayerBuild.meta b/Packages/com.singularitygroup.hotreload/Editor/PlayerBuild.meta new file mode 100644 index 0000000..d600ba4 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/PlayerBuild.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 0fe483b6b7ad4be79b58901d03e35511 +timeCreated: 1674041345 \ No newline at end of file diff --git a/Packages/com.singularitygroup.hotreload/Editor/PlayerBuild/BuildGenerateBuildInfo.cs b/Packages/com.singularitygroup.hotreload/Editor/PlayerBuild/BuildGenerateBuildInfo.cs new file mode 100644 index 0000000..6c66c53 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/PlayerBuild/BuildGenerateBuildInfo.cs @@ -0,0 +1,42 @@ +using System; +using System.IO; +using UnityEditor; +using UnityEditor.Build; + +#pragma warning disable CS0618 +namespace SingularityGroup.HotReload.Editor { + public class BuildGenerateBuildInfo : IPreprocessBuild, IPostprocessBuild { + public int callbackOrder => 10; + + public void OnPreprocessBuild(BuildTarget target, string path) { + try { + if (!HotReloadBuildHelper.IncludeInThisBuild() || MultiplayerPlaymodeHelper.IsClone) { + return; + } + // write BuildInfo json into the StreamingAssets directory + GenerateBuildInfo(BuildInfo.GetStoredPath(), target); + } catch (BuildFailedException) { + throw; + } catch (Exception e) { + throw new BuildFailedException(e); + } + } + + private static void GenerateBuildInfo(string buildFilePath, BuildTarget buildTarget) { + var buildInfo = BuildInfoHelper.GenerateBuildInfoMainThread(buildTarget); + // write to StreamingAssets + // create StreamingAssets folder if not exists (in-case project has no StreamingAssets files) + // ReSharper disable once AssignNullToNotNullAttribute + Directory.CreateDirectory(Path.GetDirectoryName(buildFilePath)); + File.WriteAllText(buildFilePath, buildInfo.ToJson()); + } + + public void OnPostprocessBuild(BuildTarget target, string path) { + try { + File.Delete(BuildInfo.GetStoredPath()); + } catch { + // ignore + } + } + } +} diff --git a/Packages/com.singularitygroup.hotreload/Editor/PlayerBuild/BuildGenerateBuildInfo.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/PlayerBuild/BuildGenerateBuildInfo.cs.meta new file mode 100644 index 0000000..de4a763 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/PlayerBuild/BuildGenerateBuildInfo.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 178df48ca88b4cddac448a49196b49bf +timeCreated: 1682338738 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/PlayerBuild/BuildGenerateBuildInfo.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/PlayerBuild/HotReloadBuildHelper.cs b/Packages/com.singularitygroup.hotreload/Editor/PlayerBuild/HotReloadBuildHelper.cs new file mode 100644 index 0000000..c767fd8 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/PlayerBuild/HotReloadBuildHelper.cs @@ -0,0 +1,111 @@ +using System; +using System.IO; +using UnityEditor; +using UnityEditor.Build; +using UnityEngine; + +namespace SingularityGroup.HotReload.Editor { + internal static class HotReloadBuildHelper { + /// + /// Should HotReload runtime be included in the current build? + /// + public static bool IncludeInThisBuild() { + return IsAllBuildSettingsSupported(); + } + + /// + /// Get scripting backend for the current platform. + /// + /// Scripting backend + public static ScriptingImplementation GetCurrentScriptingBackend() { +#pragma warning disable CS0618 + return PlayerSettings.GetScriptingBackend(BuildPipeline.GetBuildTargetGroup(EditorUserBuildSettings.activeBuildTarget)); +#pragma warning restore CS0618 + } + + public static ManagedStrippingLevel GetCurrentStrippingLevel() { +#pragma warning disable CS0618 + return PlayerSettings.GetManagedStrippingLevel(BuildPipeline.GetBuildTargetGroup(EditorUserBuildSettings.activeBuildTarget)); +#pragma warning restore CS0618 + } + + public static void SetCurrentScriptingBackend(ScriptingImplementation to) { +#pragma warning disable CS0618 + // only set it if default is not correct (avoid changing ProjectSettings when not needed) + if (GetCurrentScriptingBackend() != to) { + PlayerSettings.SetScriptingBackend(EditorUserBuildSettings.selectedBuildTargetGroup, to); + } +#pragma warning restore CS0618 + } + + public static void SetCurrentStrippingLevel(ManagedStrippingLevel to) { +#pragma warning disable CS0618 + // only set it if default is not correct (avoid changing ProjectSettings when not needed) + if (GetCurrentStrippingLevel() != to) { + PlayerSettings.SetManagedStrippingLevel(EditorUserBuildSettings.selectedBuildTargetGroup, to); + } +#pragma warning restore CS0618 + } + + /// Is the current build target supported? + /// main thread only + public static bool IsBuildTargetSupported() { + var buildTarget = EditorUserBuildSettings.selectedBuildTargetGroup; + return Array.IndexOf(unsupportedBuildTargets, buildTarget) == -1; + } + + /// Are all the settings supported? + /// main thread only + static bool IsAllBuildSettingsSupported() { + if (!IsBuildTargetSupported()) { + return false; + } + + // need way to give it settings object, dont want to give serializedobject + var options = HotReloadSettingsEditor.LoadSettingsOrDefault(); + var so = new SerializedObject(options); + + // check all projeect options + foreach (var option in HotReloadSettingsTab.allOptions) { + var projectOption = option as ProjectOptionBase; + if (projectOption != null) { + // if option is required, build can't use hot reload + if (projectOption.IsRequiredForBuild() && !projectOption.GetValue(so)) { + return false; + } + } + } + + return GetCurrentScriptingBackend() == ScriptingImplementation.Mono2x + && GetCurrentStrippingLevel() == ManagedStrippingLevel.Disabled + && EditorUserBuildSettings.development; + } + + /// + /// Some platforms are not supported because they don't have Mono scripting backend. + /// + /// + /// Only list the platforms that definately don't have Mono scripting. + /// + private static readonly BuildTargetGroup[] unsupportedBuildTargets = new [] { + BuildTargetGroup.iOS, // mono support was removed many years ago + BuildTargetGroup.WebGL, // has never had mono + }; + +#pragma warning disable CS0618 + public static bool IsMonoSupported(BuildTargetGroup buildTarget) { + var backend = PlayerSettings.GetScriptingBackend(buildTarget); + try { + // GetDefaultScriptingBackend returns IL2CPP for Unity 6 which goes against Unity documentation. + // Have to use a workaround approach instead + PlayerSettings.SetScriptingBackend(buildTarget, ScriptingImplementation.Mono2x); + return PlayerSettings.GetScriptingBackend(buildTarget) == ScriptingImplementation.Mono2x; + } catch { + return false; + } finally { + PlayerSettings.SetScriptingBackend(buildTarget, backend); + } + } +#pragma warning restore CS0618 + } +} \ No newline at end of file diff --git a/Packages/com.singularitygroup.hotreload/Editor/PlayerBuild/HotReloadBuildHelper.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/PlayerBuild/HotReloadBuildHelper.cs.meta new file mode 100644 index 0000000..c6c6979 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/PlayerBuild/HotReloadBuildHelper.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: b9aa611f02544b609c5b29f9d1409d6e +timeCreated: 1674041425 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/PlayerBuild/HotReloadBuildHelper.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/PlayerBuild/PostbuildModifyAndroidManifest.cs b/Packages/com.singularitygroup.hotreload/Editor/PlayerBuild/PostbuildModifyAndroidManifest.cs new file mode 100644 index 0000000..18b83fd --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/PlayerBuild/PostbuildModifyAndroidManifest.cs @@ -0,0 +1,134 @@ +using System; +using System.IO; +using System.Text.RegularExpressions; +using SingularityGroup.HotReload.Editor.Localization; +using UnityEditor.Android; +using UnityEditor.Build; + +namespace SingularityGroup.HotReload.Editor { +#pragma warning disable CS0618 + /// + /// + /// This class sets option in the AndroidManifest that you choose in HotReload build settings. + /// + /// + /// - To connect to the HotReload server through the local network, we need to permit access to http://192...
+ /// - Starting with Android 9, insecure http requests are not allowed by default and must be whitelisted + ///
+ ///
+ internal class PostbuildModifyAndroidManifest : IPostGenerateGradleAndroidProject { +#pragma warning restore CS0618 + public int callbackOrder => 10; + + private const string manifestFileName = "AndroidManifest.xml"; + + public void OnPostGenerateGradleAndroidProject(string path) { + try { + if (!HotReloadBuildHelper.IncludeInThisBuild()) { + return; + } + // Note: in future we may support users with custom configuration for usesCleartextTraffic + #if UNITY_2022_1_OR_NEWER + // Unity 2022 or newer → do nothing, we rely on Unity option to control the flag + #else + // Unity 2021 or older → put manifest flag in if Unity is making a Development Build + var manifestFilePath = FindAndroidManifest(path); + if (manifestFilePath == null) { + throw new BuildFailedException(string.Format(Translations.Errors.ExceptionUnableToFindManifest, CodePatcher.TAG, manifestFileName)); + } + SetUsesCleartextTraffic(manifestFilePath); + #endif + } catch (BuildFailedException) { + throw; + } catch (Exception e) { + throw new BuildFailedException(e); + } + } + + /// identifier that is used in the deeplink uri scheme + /// (initially tried Application.identifier, but that was giving unexpected results based on PlayerSettings) + // SG-29580 + // Something to uniqly identify the application, but it must be something which is highly likely + // to be the same at build time (studio might have logic to set e.g. product name to MyGameProd or MyGameTest) + public static string ApplicationIdentiferSlug => "app"; +/* + public static string ApplicationIdentiferSlug => Regex.Replace(ApplicationIdentifer, @"[^a-zA-Z0-9\.\-]", "") + .Replace("..", ".") // happens if your companyname in Unity ends with a dot + .ToLowerInvariant(); + + private static void AddDeeplinkForwarder(string manifestFilePath) { + // add the hotreload-${identifier} uri scheme to the AndroidManifest.xml file + // it should be added as part of an intent-filter for the activity "com.singularitygroup.deeplinkforwarder.DeepLinkForwarderActivity" + var contents = File.ReadAllText(manifestFilePath); + if (contents.Contains("android:name=\"com.singularitygroup.deeplinkforwarder.DeepLinkForwarderActivity\"")) { + // user has already set this themselves, don't replace it + return; + } + + //note: not using android:host or any other data attr because android still shows a chooser for all ur hotreload apps + // Therefore must use a unique uri scheme to ensure only one app can handle it. + var activityWithIntentFilter = @" + + + + + + + +"; + var newContents = Regex.Replace(contents, + @"", + activityWithIntentFilter + "\n " + ); + File.WriteAllText(manifestFilePath, newContents); + } +*/ + // Assume unityLibraryPath is to {gradleProject}/unityLibrary/ which is roughly the same across Unity versions 2018/2019/2020/2021/2022 + private static string FindAndroidManifest(string unityLibraryPath) { + // find the AndroidManifest.xml file which we can edit + var dir = new DirectoryInfo(unityLibraryPath); + var manifestFilePath = Path.Combine(dir.FullName, "src", "main", manifestFileName); + if (File.Exists(manifestFilePath)) { + return manifestFilePath; + } + + Log.Info(Translations.Errors.InfoManifestSearch, manifestFileName, manifestFilePath, dir.FullName); + var manifestFiles = dir.GetFiles(manifestFileName, SearchOption.AllDirectories); + if (manifestFiles.Length == 0) { + return null; + } + + foreach (var file in manifestFiles) { + if (file.FullName.Contains("src")) { + // good choice + return file.FullName; + } + } + // fallback to the first file found + return manifestFiles[0].FullName; + } + + /// + /// Set option android:usesCleartextTraffic="true" + + /// + /// Absolute filepath to the unityLibrary AndroidManifest.xml file + private static void SetUsesCleartextTraffic(string manifestFilePath) { + // Ideally we would create or modify a "Network Security Configuration file" to permit access to local ip addresses + // https://developer.android.com/training/articles/security-config#manifest + // but that becomes difficult when the user has their own configuration file - would need to search for it and it may be inside an aar. + var contents = File.ReadAllText(manifestFilePath); + if (contents.Contains("android:usesCleartextTraffic=")) { + // user has already set this themselves, don't replace it + return; + } + var newContents = Regex.Replace(contents, + @""; + newContents += $"\n"; + File.WriteAllText(manifestFilePath, newContents); + } + } +} \ No newline at end of file diff --git a/Packages/com.singularitygroup.hotreload/Editor/PlayerBuild/PostbuildModifyAndroidManifest.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/PlayerBuild/PostbuildModifyAndroidManifest.cs.meta new file mode 100644 index 0000000..59a2887 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/PlayerBuild/PostbuildModifyAndroidManifest.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 1949292efc07445ea4c040d544e2d369 +timeCreated: 1675441886 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/PlayerBuild/PostbuildModifyAndroidManifest.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/PlayerBuild/PostbuildSendProjectState.cs b/Packages/com.singularitygroup.hotreload/Editor/PlayerBuild/PostbuildSendProjectState.cs new file mode 100644 index 0000000..fda1bee --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/PlayerBuild/PostbuildSendProjectState.cs @@ -0,0 +1,26 @@ +using System; +using SingularityGroup.HotReload.Editor.Cli; +using UnityEditor; +using UnityEditor.Build; + +namespace SingularityGroup.HotReload.Editor { +#pragma warning disable CS0618 + class PostbuildSendProjectState : IPostprocessBuild { +#pragma warning restore CS0618 + public int callbackOrder => 9999; + public void OnPostprocessBuild(BuildTarget target, string path) { + try { + if (!HotReloadBuildHelper.IncludeInThisBuild() || MultiplayerPlaymodeHelper.IsClone) { + return; + } + // after build passes, need to send again because EditorApplication.delayCall isn't called. + var buildInfo = BuildInfoHelper.GenerateBuildInfoMainThread(); + HotReloadCli.PrepareBuildInfo(buildInfo); + } catch (BuildFailedException) { + throw; + } catch (Exception e) { + throw new BuildFailedException(e); + } + } + } +} \ No newline at end of file diff --git a/Packages/com.singularitygroup.hotreload/Editor/PlayerBuild/PostbuildSendProjectState.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/PlayerBuild/PostbuildSendProjectState.cs.meta new file mode 100644 index 0000000..2c54056 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/PlayerBuild/PostbuildSendProjectState.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 3b27b9eab16f78f448477e546fd5eb97 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/PlayerBuild/PostbuildSendProjectState.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/PlayerBuild/PrebuildIncludeResources.cs b/Packages/com.singularitygroup.hotreload/Editor/PlayerBuild/PrebuildIncludeResources.cs new file mode 100644 index 0000000..bddec76 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/PlayerBuild/PrebuildIncludeResources.cs @@ -0,0 +1,64 @@ +using System; +using UnityEditor; +using UnityEditor.Build; +using UnityEngine; +using SingularityGroup.HotReload.Editor.Localization; + +namespace SingularityGroup.HotReload.Editor { + /// Includes HotReload Resources only in development builds + /// + /// This build script ensures that HotReload Resources are not included in release builds. + /// + /// When HotReload is enabled:
+ /// - include HotReloadSettingsObject in development Android builds.
+ /// - exclude HotReloadSettingsObject from the build.
+ /// When HotReload is disabled:
+ /// - excludes HotReloadSettingsObject from the build.
+ ///
+ ///
+#pragma warning disable CS0618 + internal class PrebuildIncludeResources : IPreprocessBuild, IPostprocessBuild { +#pragma warning restore CS0618 + public int callbackOrder => 10; + + // Preprocess warnings don't show up in console + bool warnSettingsNotSupported; + + public void OnPreprocessBuild(BuildTarget target, string path) { + if (MultiplayerPlaymodeHelper.IsClone) { + return; + } + try { + if (HotReloadBuildHelper.IncludeInThisBuild()) { + // move scriptable object into Resources/ folder + HotReloadSettingsEditor.AddOrRemoveFromBuild(true); + } else { + // make sure HotReload resources are not in the build + HotReloadSettingsEditor.AddOrRemoveFromBuild(false); + + var options = HotReloadSettingsEditor.LoadSettingsOrDefault(); + var so = new SerializedObject(options); + if (IncludeInBuildOption.I.GetValue(so)) { + warnSettingsNotSupported = true; + } + } + } catch (BuildFailedException) { + throw; + } catch (Exception ex) { + throw new BuildFailedException(ex); + } + } + + public void OnPostprocessBuild(BuildTarget target, string path) { + if (warnSettingsNotSupported) { + Debug.LogWarning(Translations.Errors.WarningBuildSettingsNotSupported); + } + } + + // Do nothing in post build. settings asset will be dirty if build fails, so not worth fixing just for successful builds. + // [PostProcessBuild] + // private static void PostBuild(BuildTarget target, string pathToBuiltProject) { + // } + } + +} diff --git a/Packages/com.singularitygroup.hotreload/Editor/PlayerBuild/PrebuildIncludeResources.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/PlayerBuild/PrebuildIncludeResources.cs.meta new file mode 100644 index 0000000..46a6c16 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/PlayerBuild/PrebuildIncludeResources.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 7a63dd2d10359e94a8a3c24bf59164fb +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/PlayerBuild/PrebuildIncludeResources.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration.meta b/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration.meta new file mode 100644 index 0000000..f6f2a3a --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ac3ce0c4b45643859281090bdc74719c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/FileIOProvider.cs b/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/FileIOProvider.cs new file mode 100644 index 0000000..2af8f5a --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/FileIOProvider.cs @@ -0,0 +1,44 @@ +using System; +using System.IO; +using System.Security; +using System.Text; +using SingularityGroup.HotReload.Editor.Util; + +namespace SingularityGroup.HotReload.Editor.ProjectGeneration { + class FileIOProvider : IFileIO + { + public bool Exists(string fileName) + { + return File.Exists(fileName); + } + + public string ReadAllText(string fileName) + { + return File.ReadAllText(fileName); + } + + public void WriteAllText(string path, string content) + { + File.WriteAllText(path, content, Encoding.UTF8); + } + + public string EscapedRelativePathFor(string file, string projectDirectory) + { + var projectDir = Path.GetFullPath(projectDirectory); + + // We have to normalize the path, because the PackageManagerRemapper assumes + // dir seperators will be os specific. + var absolutePath = Path.GetFullPath(file.NormalizePath()); + var path = SkipPathPrefix(absolutePath, projectDir); + + return SecurityElement.Escape(path); + } + + private static string SkipPathPrefix(string path, string prefix) + { + return path.StartsWith($@"{prefix}{Path.DirectorySeparatorChar}", StringComparison.Ordinal) + ? path.Substring(prefix.Length + 1) + : path; + } + } +} diff --git a/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/FileIOProvider.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/FileIOProvider.cs.meta new file mode 100644 index 0000000..5c49367 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/FileIOProvider.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 27e102e0bda3b0c4f95d4e5e9e3bf16a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/FileIOProvider.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/GUIDProvider.cs b/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/GUIDProvider.cs new file mode 100644 index 0000000..d55e241 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/GUIDProvider.cs @@ -0,0 +1,9 @@ +namespace SingularityGroup.HotReload.Editor.ProjectGeneration { + class GUIDProvider : IGUIDGenerator + { + public string ProjectGuid(string name) + { + return SolutionGuidGenerator.GuidForProject(name); + } + } +} diff --git a/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/GUIDProvider.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/GUIDProvider.cs.meta new file mode 100644 index 0000000..062ba14 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/GUIDProvider.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: ca39683512eedae448726b029ca101ec +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/GUIDProvider.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/IFileIO.cs b/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/IFileIO.cs new file mode 100644 index 0000000..0cda7f5 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/IFileIO.cs @@ -0,0 +1,12 @@ +namespace SingularityGroup.HotReload.Editor.ProjectGeneration +{ + internal interface IFileIO + { + bool Exists(string fileName); + + string ReadAllText(string fileName); + void WriteAllText(string path, string content); + + string EscapedRelativePathFor(string file, string projectDirectory); + } +} \ No newline at end of file diff --git a/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/IFileIO.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/IFileIO.cs.meta new file mode 100644 index 0000000..2f8dc0c --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/IFileIO.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 6e856fe8c0b7d3c45a06140d120fdd87 +timeCreated: 1580717666 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/IFileIO.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/IGUIDGenerator.cs b/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/IGUIDGenerator.cs new file mode 100644 index 0000000..46bde64 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/IGUIDGenerator.cs @@ -0,0 +1,7 @@ +namespace SingularityGroup.HotReload.Editor.ProjectGeneration +{ + internal interface IGUIDGenerator + { + string ProjectGuid(string name); + } +} \ No newline at end of file diff --git a/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/IGUIDGenerator.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/IGUIDGenerator.cs.meta new file mode 100644 index 0000000..fef65be --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/IGUIDGenerator.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 27fd74267707df04ab2cfac0e8abd782 +timeCreated: 1580717700 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/IGUIDGenerator.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/IHotReloadProjectGenerationPostProcessor.cs b/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/IHotReloadProjectGenerationPostProcessor.cs new file mode 100644 index 0000000..de473c0 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/IHotReloadProjectGenerationPostProcessor.cs @@ -0,0 +1,43 @@ +namespace SingularityGroup.HotReload.Editor.ProjectGeneration { + /// + /// Allows to post process Hot Reload's project generation. + /// This should only be needed if you tinker with Unity's project generation as well. + /// Types that inherit from this interface will get created automatically whenever Hot Reload generates project files. + /// Types that implement this interface need to have a public parameterless default constructor. + /// + public interface IHotReloadProjectGenerationPostProcessor { + + /// + /// Specifies the ordering of the post processor. + /// Post processors with lower callback order get executed first. + /// + int CallbackOrder { get; } + + /// + /// Use this method to set up state you need for the project generation. + /// Calls to unity API need to happen here and it's values need to be cached. + /// This is the only method that will get executed on the main thread. + /// + void InitializeOnMainThread(); + + /// + /// Gets called whenever Hot Reload generated a project file. + /// The destination file path for the .csproj file + /// The file contents of the .csproj file + /// + string OnGeneratedCSProjectThreaded(string path, string contents); + + /// + /// Gets called whenever Hot Reload generated a solution file. + /// The destination file path for the .sln file + /// The file contents of the .sln file + /// + string OnGeneratedSlnSolutionThreaded(string path, string contents); + + /// + /// Gets called after Hot Reload project generation is finished. + /// + void OnGeneratedCSProjectFilesThreaded(); + } +} + diff --git a/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/IHotReloadProjectGenerationPostProcessor.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/IHotReloadProjectGenerationPostProcessor.cs.meta new file mode 100644 index 0000000..9609c26 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/IHotReloadProjectGenerationPostProcessor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: ff65ad426f484ad5bbd34fb8f9204c4d +timeCreated: 1676637309 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/IHotReloadProjectGenerationPostProcessor.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/ProjectGenenerationPostProcessor.cs b/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/ProjectGenenerationPostProcessor.cs new file mode 100644 index 0000000..62eda90 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/ProjectGenenerationPostProcessor.cs @@ -0,0 +1,17 @@ +using System.IO; +using UnityEditor; +using UnityEngine; + +namespace SingularityGroup.HotReload.Editor.ProjectGeneration { + class ProjectGenenerationPostProcessor : AssetPostprocessor { + // Called once before any generation of sln/csproj files happens, can return true to disable generation altogether + static bool OnPreGeneratingCSProjectFiles() { + if (MultiplayerPlaymodeHelper.IsClone) { + return false; + } + ProjectGeneration.GenerateSlnAndCsprojFiles(Application.dataPath).Forget(); + return false; + } + } +} + diff --git a/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/ProjectGenenerationPostProcessor.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/ProjectGenenerationPostProcessor.cs.meta new file mode 100644 index 0000000..89b7ff1 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/ProjectGenenerationPostProcessor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: d58a4838109c4b31ac7f221547ad82e8 +timeCreated: 1676527868 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/ProjectGenenerationPostProcessor.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/ProjectGeneration.cs b/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/ProjectGeneration.cs new file mode 100644 index 0000000..c9086e4 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/ProjectGeneration.cs @@ -0,0 +1,899 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Security; +using System.Text; +using System.Text.RegularExpressions; +using System.Threading; +using System.Threading.Tasks; +using SingularityGroup.HotReload; +using SingularityGroup.HotReload.Editor.Localization; +using SingularityGroup.HotReload.Editor.Util; +using SingularityGroup.HotReload.Newtonsoft.Json; +using UnityEditor; +using UnityEditor.Compilation; +using UnityEditor.PackageManager; +using UnityEditorInternal; +using Assembly = UnityEditor.Compilation.Assembly; +using PackageInfo = UnityEditor.PackageManager.PackageInfo; +#if UNITY_2019_1_OR_NEWER +using System.Reflection; +#endif + +namespace SingularityGroup.HotReload.Editor.ProjectGeneration { + class ProjectGeneration { + private enum ScriptingLanguage { + None, + CSharp + } + + [Serializable] + class Config { + public string projectExclusionRegex; + public HashSet projectBlacklist; + public HashSet polyfillSourceFiles; + public bool excludeAllAnalyzers; + public bool useBuiltInProjectGeneration; + } + + public static readonly string MSBuildNamespaceUri = "http://schemas.microsoft.com/developer/msbuild/2003"; + + /// + /// Map source extensions to ScriptingLanguages + /// + private static readonly Dictionary k_BuiltinSupportedExtensions = + new Dictionary { + { "cs", ScriptingLanguage.CSharp }, + { "uxml", ScriptingLanguage.None }, + { "uss", ScriptingLanguage.None }, + { "shader", ScriptingLanguage.None }, + { "compute", ScriptingLanguage.None }, + { "cginc", ScriptingLanguage.None }, + { "hlsl", ScriptingLanguage.None }, + { "glslinc", ScriptingLanguage.None }, + { "template", ScriptingLanguage.None }, + { "raytrace", ScriptingLanguage.None }, + { "json", ScriptingLanguage.None }, + { "rsp", ScriptingLanguage.None }, + { "asmdef", ScriptingLanguage.None }, + { "asmref", ScriptingLanguage.None }, + { "xaml", ScriptingLanguage.None }, + { "tt", ScriptingLanguage.None }, + { "t4", ScriptingLanguage.None }, + { "ttinclude", ScriptingLanguage.None } + }; + + private string m_SolutionProjectEntryTemplate = string.Join(Environment.NewLine, + @"Project(""{{{0}}}"") = ""{1}"", ""{2}"", ""{{{3}}}""", + @"EndProject").Replace(" ", "\t"); + + private string m_SolutionProjectConfigurationTemplate = string.Join(Environment.NewLine, + @" {{{0}}}.Debug|Any CPU.ActiveCfg = Debug|Any CPU", + @" {{{0}}}.Debug|Any CPU.Build.0 = Debug|Any CPU").Replace(" ", "\t"); + + private string[] m_ProjectSupportedExtensions = new string[0]; + + private readonly string m_ProjectName; + private readonly string m_ProjectDirectory; + private readonly string m_SolutionDirectory; + private readonly IFileIO m_FileIOProvider; + private readonly IGUIDGenerator m_GUIDGenerator; + private static readonly SemaphoreSlim gate = new SemaphoreSlim(1, 1); + + private const string k_ToolsVersion = "4.0"; + private const string k_ProductVersion = "10.0.20506"; + private const string k_BaseDirectory = "."; + +#if !UNITY_2020_2_OR_NEWER + private const string k_TargetLanguageVersion = "latest"; +#endif + + // ReSharper disable once CollectionNeverUpdated.Local + private readonly Dictionary m_PackageInfoCache = + new Dictionary(); + + private Assembly[] m_AllEditorAssemblies; + + private Assembly[] m_AllPlayerAssemblies; + + private string[] m_AllAssetPaths; + + private string m_EngineAssemblyPath; + + private string m_EditorAssemblyPath; + + private bool m_SuppressCommonWarnings; + + private string m_FallbackRootNamespace; + + private IHotReloadProjectGenerationPostProcessor[] m_PostProcessors; + + + public static bool IsSyncing => gate.CurrentCount == 0; + + internal static readonly string tempDir = PackageConst.LibraryCachePath + "/Solution"; + public static string GetUnityProjectDirectory(string dataPath) => new DirectoryInfo(dataPath).Parent.FullName; + public static string GetSolutionFilePath(string dataPath) => Path.Combine(tempDir, Path.GetFileName(GetUnityProjectDirectory(dataPath)) + ".sln"); + + public static Task GenerateSlnAndCsprojFiles(string dataPath) { + if (MultiplayerPlaymodeHelper.IsClone) { + return Task.CompletedTask; + } + if (!IsSyncing) { + return GenerateAsync(dataPath); + } + return Task.CompletedTask; + } + + public static Task EnsureSlnAndCsprojFiles(string dataPath) { + if (MultiplayerPlaymodeHelper.IsClone) { + return Task.CompletedTask; + } + if (File.Exists(GetSolutionFilePath(dataPath))) { + return Task.CompletedTask; + } + + return GenerateAsync(dataPath); + } + + private static Task GenerateAsync(string dataPath) { + Directory.CreateDirectory(tempDir); + var gen = new ProjectGeneration(tempDir, GetUnityProjectDirectory(dataPath)); + return gen.Sync(); + } + + + public ProjectGeneration(string solutionDirectory, string unityProjectDirectory) { + m_ProjectDirectory = unityProjectDirectory; + m_SolutionDirectory = solutionDirectory; + m_ProjectName = Path.GetFileName(unityProjectDirectory); + m_FileIOProvider = new FileIOProvider(); + m_GUIDGenerator = new GUIDProvider(); + } + + private async Task Sync() { + await ThreadUtility.SwitchToThreadPool(); + var config = LoadConfig(); + if (config.useBuiltInProjectGeneration) { + return; + } + + await ThreadUtility.SwitchToMainThread(); + await gate.WaitAsync(); + try { + //Cache all data that is accessed via unity API on the unity main thread. + m_AllAssetPaths = AssetDatabase.GetAllAssetPaths(); + m_ProjectSupportedExtensions = EditorSettings.projectGenerationUserExtensions; + m_EngineAssemblyPath = InternalEditorUtility.GetEngineAssemblyPath(); + m_EditorAssemblyPath = InternalEditorUtility.GetEditorAssemblyPath(); + m_FallbackRootNamespace = EditorSettings.projectGenerationRootNamespace; + m_SuppressCommonWarnings = +#if UNITY_2020_1_OR_NEWER + PlayerSettings.suppressCommonWarnings; +#else + false; +#endif + + //Do the remaining work on a separate thread + await Task.WhenAll( + BuildPackageInfoCache(), + BuildEditorAssemblies(), + BuildPostProcessors() + ); + await GenerateAndWriteSolutionAndProjects(config); + } finally { + gate.Release(); + } + } + + private Config LoadConfig() { + var configPath = Path.Combine(m_ProjectDirectory, PackageConst.ConfigFileName); + Config config; + if(File.Exists(configPath)) { + config = JsonConvert.DeserializeObject(File.ReadAllText(configPath)); + } else { + config = new Config(); + } + return config; + } + + private bool ShouldFileBePartOfSolution(string file) { + // Exclude files coming from packages except if they are internalized. + if (IsInternalizedPackagePath(file)) { + return false; + } + + return HasValidExtension(file); + } + + private bool HasValidExtension(string file) { + var extension = Path.GetExtension(file); + + // Dll's are not scripts but still need to be included.. + if (file.Equals(".dll", StringComparison.OrdinalIgnoreCase)) + return true; + + return IsSupportedExtension(extension); + } + + private bool IsSupportedExtension(string extension) { + extension = extension.TrimStart('.'); + return k_BuiltinSupportedExtensions.ContainsKey(extension) || m_ProjectSupportedExtensions.Contains(extension); + } + + async Task GenerateAndWriteSolutionAndProjects(Config config) { + await ThreadUtility.SwitchToThreadPool(); + + var projectExclusionRegex = config.projectExclusionRegex != null ? new Regex(config.projectExclusionRegex, RegexOptions.Compiled | RegexOptions.Singleline) : null; + var projectBlacklist = config.projectBlacklist ?? new HashSet(); + var polyfillSourceFiles = config.polyfillSourceFiles ?? new HashSet(); + var filteredProjects = new HashSet(); + var runtimeDependenciesBuilder = new List(); + runtimeDependenciesBuilder.Add(typeof(HarmonyLib.DetourApi).Assembly.Location); +# if UNITY_2019_4_OR_NEWER + runtimeDependenciesBuilder.Add(typeof(Helper2019).Assembly.Location); +#endif +# if UNITY_2020_3_OR_NEWER + runtimeDependenciesBuilder.Add(typeof(Helper2020).Assembly.Location); +#endif +# if UNITY_2022_2_OR_NEWER + runtimeDependenciesBuilder.Add(typeof(Helper2022).Assembly.Location); +#endif + var runtimeDependencies = runtimeDependenciesBuilder.ToArray(); + + // Only synchronize islands that have associated source files and ones that we actually want in the project. + // This also filters out DLLs coming from .asmdef files in packages. + var assemblies = GetAssemblies(ShouldFileBePartOfSolution).ToArray(); + var projectParts = new List(); + foreach (var assembly in assemblies) { + if(projectExclusionRegex != null && projectExclusionRegex.IsMatch(assembly.name)) { + filteredProjects.Add(assembly.name); + continue; + } + var part = new ProjectPart(assembly.name, assembly, "", m_FallbackRootNamespace, polyfillSourceFiles); + string projectPath; +# if (UNITY_2021_3_OR_NEWER) + projectPath = Path.GetRelativePath(m_ProjectDirectory, ProjectFile(part)).Replace('\\', '/'); +# else + projectPath = ProjectFile(part).Replace('\\', '/').Replace(m_ProjectDirectory.Replace('\\', '/'), ""); +#endif + if(projectBlacklist.Contains(projectPath)) { + filteredProjects.Add(assembly.name); + continue; + } + projectParts.Add(part); + } + + SyncSolution(projectParts.ToArray()); + + await ThreadUtility.SwitchToMainThread(); + var responseFiles = new List[projectParts.Count]; + for (var i = 0; i < projectParts.Count; i++) { + responseFiles[i] = projectParts[i].ParseResponseFileData(m_ProjectDirectory).ToList(); + } + + await ThreadUtility.SwitchToThreadPool(); + for (var i = 0; i < projectParts.Count; i++) { + SyncProject(projectParts[i], responseFiles[i], filteredProjects, runtimeDependencies, config); + } + + foreach (var pp in m_PostProcessors) { + try { + pp.OnGeneratedCSProjectFilesThreaded(); + } catch (Exception ex) { + Log.Warning(Translations.Errors.WarningPostProcessorException, pp, ex); + } + } + } + + private void SyncProject( + ProjectPart island, + List responseFileData, + HashSet filteredProjects, + string[] runtimeDependencies, + Config config) { + + SyncProjectFileIfNotChanged( + ProjectFile(island), + ProjectText(island, responseFileData, filteredProjects, runtimeDependencies, config)); + } + + private void SyncProjectFileIfNotChanged(string path, string newContents) { + foreach (var pp in m_PostProcessors) { + try { + newContents = pp.OnGeneratedCSProjectThreaded(path, newContents); + } catch (Exception ex) { + Log.Warning(Translations.Errors.WarningPostProcessorFailedProject, pp, path, ex); + } + } + + SyncFileIfNotChanged(path, newContents); + } + + private void SyncSolutionFileIfNotChanged(string path, string newContents) { + foreach (var pp in m_PostProcessors) { + try { + newContents = pp.OnGeneratedSlnSolutionThreaded(path, newContents); + } catch (Exception ex) { + Log.Warning(Translations.Errors.WarningPostProcessorFailedSolution, pp, path, ex); + } + } + + SyncFileIfNotChanged(path, newContents); + } + + + private void SyncFileIfNotChanged(string path, string newContents) { + try { + if (m_FileIOProvider.Exists(path) && newContents == m_FileIOProvider.ReadAllText(path)) { + return; + } + } catch (Exception exception) { + Log.Exception(exception); + } + + m_FileIOProvider.WriteAllText(path, newContents); + } + + private string ProjectText(ProjectPart assembly, List responseFilesData, HashSet filteredProjects, string[] runtimeDependencies, Config config) { + var projectBuilder = new StringBuilder(ProjectHeader(assembly, responseFilesData, config)); + + foreach (var file in assembly.SourceFiles) { + var fullFile = m_FileIOProvider.EscapedRelativePathFor(file, m_SolutionDirectory); + projectBuilder.Append(" ").Append(Environment.NewLine); + } + + projectBuilder.Append(assembly.AssetsProjectPart); + + var responseRefs = responseFilesData.SelectMany(x => x.FullPathReferences.Select(r => r)); + var internalAssemblyReferences = assembly.AssemblyReferences + .Where(reference => filteredProjects.Contains(reference.name) || !reference.sourceFiles.Any(ShouldFileBePartOfSolution)).Select(i => i.outputPath); + var allReferences = + assembly.CompiledAssemblyReferences + .Union(responseRefs) + .Union(internalAssemblyReferences).ToArray(); + + foreach (var reference in allReferences) { + var fullReference = Path.IsPathRooted(reference) ? reference : Path.Combine(m_ProjectDirectory, reference); + AppendReference(fullReference, projectBuilder); + } + foreach (var path in runtimeDependencies) { + AppendReference(path, projectBuilder); + } + + if (assembly.AssemblyReferences.Length > 0) { + projectBuilder.Append(" ").Append(Environment.NewLine); + projectBuilder.Append(" ").Append(Environment.NewLine); + foreach (var reference in assembly.AssemblyReferences.Where(i => !filteredProjects.Contains(i.name) && i.sourceFiles.Any(ShouldFileBePartOfSolution))) { + var name = GetProjectName(reference.name, reference.defines); + projectBuilder.Append(" ") + .Append(Environment.NewLine); + projectBuilder.Append(" {").Append(ProjectGuid(name)).Append("}").Append(Environment.NewLine); + projectBuilder.Append(" ").Append(name).Append("").Append(Environment.NewLine); + projectBuilder.Append(" ").Append(Environment.NewLine); + } + } + + projectBuilder.Append(ProjectFooter()); + return projectBuilder.ToString(); + } + + private static void AppendReference(string fullReference, StringBuilder projectBuilder) { + var escapedFullPath = SecurityElement.Escape(fullReference); + escapedFullPath = escapedFullPath.NormalizePath(); + projectBuilder.Append(" ").Append(Environment.NewLine); + projectBuilder.Append(" ").Append(escapedFullPath).Append("").Append(Environment.NewLine); + projectBuilder.Append(" ").Append(Environment.NewLine); + } + + private string ProjectFile(ProjectPart projectPart) { + return Path.Combine(m_SolutionDirectory, $"{GetProjectName(projectPart.Name, projectPart.Defines)}.csproj"); + } + + public string SolutionFile() { + return Path.Combine(m_SolutionDirectory, $"{m_ProjectName}.sln"); + } + + private string ProjectHeader( + ProjectPart assembly, + List responseFilesData, + Config config + ) { + var otherResponseFilesData = GetOtherArgumentsFromResponseFilesData(responseFilesData); + var arguments = new object[] { + k_ToolsVersion, + k_ProductVersion, + ProjectGuid(GetProjectName(assembly.Name, assembly.Defines)), + m_EngineAssemblyPath, + m_EditorAssemblyPath, + string.Join(";", assembly.Defines.Concat(responseFilesData.SelectMany(x => x.Defines)).Distinct().ToArray()), + MSBuildNamespaceUri, + assembly.Name, + assembly.OutputPath, + assembly.RootNamespace, + "", + GenerateLangVersion(otherResponseFilesData["langversion"], assembly), + k_BaseDirectory, + assembly.CompilerOptions.AllowUnsafeCode | responseFilesData.Any(x => x.Unsafe), + GenerateNoWarn(otherResponseFilesData["nowarn"].Distinct().ToList()), + config.excludeAllAnalyzers ? "" : GenerateAnalyserItemGroup(RetrieveRoslynAnalyzers(assembly, otherResponseFilesData)), + config.excludeAllAnalyzers ? "" : GenerateAnalyserAdditionalFiles(otherResponseFilesData["additionalfile"].SelectMany(x=>x.Split(';')).Distinct().ToArray()), + config.excludeAllAnalyzers ? "" : GenerateRoslynAnalyzerRulesetPath(assembly, otherResponseFilesData), + GenerateWarningLevel(otherResponseFilesData["warn"].Concat(otherResponseFilesData["w"]).Distinct()), + GenerateWarningAsError(otherResponseFilesData["warnaserror"], otherResponseFilesData["warnaserror-"], + otherResponseFilesData["warnaserror+"]), + GenerateDocumentationFile(otherResponseFilesData["doc"].ToArray()), + GenerateNullable(otherResponseFilesData["nullable"]) + }; + + try { + return string.Format(GetProjectHeaderTemplate(), arguments); + } catch (Exception) { + throw new NotSupportedException( + string.Format(Translations.Utility.FailedCreateCSharpProject, arguments.Length)); + } + } + + string[] RetrieveRoslynAnalyzers(ProjectPart assembly, ILookup otherResponseFilesData) { + var otherAnalyzers = otherResponseFilesData["a"] ?? Array.Empty(); + #if UNITY_2020_2_OR_NEWER + return otherResponseFilesData["analyzer"].Concat(otherAnalyzers) + .SelectMany(x=>x.Split(';')) + // #if !ROSLYN_ANALYZER_FIX + // .Concat(GetRoslynAnalyzerPaths()) + // #else + .Concat(assembly.CompilerOptions.RoslynAnalyzerDllPaths ?? Array.Empty()) + // #endif + .Select(MakeAbsolutePath) + .Distinct() + .ToArray(); + #else + return otherResponseFilesData["analyzer"].Concat(otherAnalyzers) + .SelectMany(x=>x.Split(';')) + .Distinct() + .Select(MakeAbsolutePath) + .ToArray(); + #endif + } + + private static string GenerateAnalyserItemGroup(string[] paths) { + // + // + // + // + if (!paths.Any()) + return string.Empty; + + var analyserBuilder = new StringBuilder(); + analyserBuilder.AppendLine(" "); + foreach (var path in paths) { + analyserBuilder.AppendLine($" "); + } + + analyserBuilder.AppendLine(" "); + return analyserBuilder.ToString(); + } + + private string GenerateRoslynAnalyzerRulesetPath(ProjectPart assembly, ILookup otherResponseFilesData) { +#if UNITY_2020_2_OR_NEWER + return GenerateAnalyserRuleSet(otherResponseFilesData["ruleset"].Append(assembly.CompilerOptions.RoslynAnalyzerRulesetPath) + .Where(a => !string.IsNullOrEmpty(a)).Distinct().Select(x => MakeAbsolutePath(x).NormalizePath()).ToArray()); +#else + return GenerateAnalyserRuleSet(otherResponseFilesData["ruleset"].Distinct().Select(x => MakeAbsolutePath(x).NormalizePath()).ToArray()); +#endif + } + + private static string GenerateAnalyserRuleSet(string[] paths) { + //..\path\to\myrules.ruleset + if (!paths.Any()) + return string.Empty; + + return + $"{Environment.NewLine}{string.Join(Environment.NewLine, paths.Select(a => $" {a}"))}"; + } + + private static string MakeAbsolutePath(string path) { + return Path.IsPathRooted(path) ? path : Path.GetFullPath(path); + } + + private string GenerateNullable(IEnumerable enumerable) { + var val = enumerable.FirstOrDefault(); + if (string.IsNullOrWhiteSpace(val)) + return string.Empty; + + return $"{Environment.NewLine} {val}"; + } + + private static string GenerateDocumentationFile(string[] paths) { + if (!paths.Any()) + return String.Empty; + + return $"{Environment.NewLine}{string.Join(Environment.NewLine, paths.Select(a => $" {a}"))}"; + } + + private static string GenerateWarningAsError(IEnumerable args, IEnumerable argsMinus, IEnumerable argsPlus) { + var returnValue = String.Empty; + var allWarningsAsErrors = false; + var warningIds = new List(); + + foreach (var s in args) { + if (s == "+" || s == string.Empty) allWarningsAsErrors = true; + else if (s == "-") allWarningsAsErrors = false; + else { + warningIds.Add(s); + } + } + + warningIds.AddRange(argsPlus); + + returnValue += $@" {allWarningsAsErrors}"; + if (warningIds.Any()) { + returnValue += $"{Environment.NewLine} {string.Join(";", warningIds)}"; + } + + if (argsMinus.Any()) + returnValue += $"{Environment.NewLine} {string.Join(";", argsMinus)}"; + + return $"{Environment.NewLine}{returnValue}"; + } + + private static string GenerateWarningLevel(IEnumerable warningLevel) { + var level = warningLevel.FirstOrDefault(); + if (!string.IsNullOrWhiteSpace(level)) + return level; + + return 4.ToString(); + } + + private static string GetSolutionText() { + return string.Join(Environment.NewLine, + @"", + @"Microsoft Visual Studio Solution File, Format Version {0}", + @"# Visual Studio {1}", + @"{2}", + @"Global", + @" GlobalSection(SolutionConfigurationPlatforms) = preSolution", + @" Debug|Any CPU = Debug|Any CPU", + @" EndGlobalSection", + @" GlobalSection(ProjectConfigurationPlatforms) = postSolution", + @"{3}", + @" EndGlobalSection", + @" GlobalSection(SolutionProperties) = preSolution", + @" HideSolutionNode = FALSE", + @" EndGlobalSection", + @"EndGlobal", + @"").Replace(" ", "\t"); + } + + private static string GetProjectFooterTemplate() { + return string.Join(Environment.NewLine, + @" ", + @" ", + @" ", + @"", + @""); + } + + private static string GetProjectHeaderTemplate() { + var header = new[] { + @"", + @"", + @" ", + @" {11}", + @" <_TargetFrameworkDirectories>non_empty_path_generated_by_unity.rider.package", + @" <_FullFrameworkReferenceAssemblyPaths>non_empty_path_generated_by_unity.rider.package", + @" true{17}", + @" ", + @" ", + @" Debug", + @" AnyCPU", + @" {1}", + @" 2.0", + @" {9}", + @" {{{2}}}", + @" {{E097FAD1-6243-4DAD-9C02-E9B9EFC3FFC1}};{{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}}", + @" Library", + @" Properties", + @" {7}", + @" v4.7.1", + @" 512", + @" {12}", + @" ", + @" ", + @" true", + @" full", + @" false", + @" {8}", + @" {5}", + @" prompt", + @" {18}", + @" {14}", + @" {13}{19}{20}{21}", + @" " + }; + + var forceExplicitReferences = new[] { + @" ", + @" true", + @" true", + @" false", + @" false", + @" false", + @" " + }; + + var footer = new[] { + @"{15}{16} ", + @"" + }; + + var pieces = header.Concat(forceExplicitReferences).Concat(footer).ToArray(); + return string.Join(Environment.NewLine, pieces); + } + + private void SyncSolution(ProjectPart[] islands) { + SyncSolutionFileIfNotChanged(SolutionFile(), SolutionText(islands)); + } + + private string SolutionText(ProjectPart[] islands) { + var fileversion = "11.00"; + var vsversion = "2010"; + + var projectEntries = GetProjectEntries(islands); + var projectConfigurations = string.Join(Environment.NewLine, + islands.Select(i => GetProjectActiveConfigurations(ProjectGuid(GetProjectName(i.Name, i.Defines)))).ToArray()); + return string.Format(GetSolutionText(), fileversion, vsversion, projectEntries, projectConfigurations); + } + + private static ILookup GetOtherArgumentsFromResponseFilesData(List responseFilesData) { + var paths = responseFilesData.SelectMany(x => { + return x.OtherArguments + .Where(a => a.StartsWith("/", StringComparison.Ordinal) || a.StartsWith("-", StringComparison.Ordinal)) + .Select(b => { + var index = b.IndexOf(":", StringComparison.Ordinal); + if (index > 0 && b.Length > index) { + var key = b.Substring(1, index - 1); + return new KeyValuePair(key.ToLowerInvariant(), b.Substring(index + 1)); + } + + const string warnaserror = "warnaserror"; + if (b.Substring(1).StartsWith(warnaserror, StringComparison.Ordinal)) { + return new KeyValuePair(warnaserror, b.Substring(warnaserror.Length + 1)); + } + + const string nullable = "nullable"; + if (b.Substring(1).StartsWith(nullable)) { + var res = b.Substring(nullable.Length + 1); + if (string.IsNullOrWhiteSpace(res) || res.Equals("+")) + res = "enable"; + else if (res.Equals("-")) + res = "disable"; + return new KeyValuePair(nullable, res); + } + + return default(KeyValuePair); + }); + }) + .Distinct() + .ToLookup(o => o.Key, pair => pair.Value); + return paths; + } + + private string GenerateLangVersion(IEnumerable langVersionList, ProjectPart assembly) { + var langVersion = langVersionList.FirstOrDefault(); + if (!string.IsNullOrWhiteSpace(langVersion)) + return langVersion; +#if UNITY_2020_2_OR_NEWER + return assembly.CompilerOptions.LanguageVersion; +#else + return k_TargetLanguageVersion; +#endif + } + + private static string GenerateAnalyserAdditionalFiles(string[] paths) { + if (!paths.Any()) + return string.Empty; + + var analyserBuilder = new StringBuilder(); + analyserBuilder.AppendLine(" "); + foreach (var path in paths) { + analyserBuilder.AppendLine($" "); + } + + analyserBuilder.AppendLine(" "); + return analyserBuilder.ToString(); + } + + public string GenerateNoWarn(List codes) { + if (m_SuppressCommonWarnings) + codes.AddRange(new[] { "0169", "0649" }); + + if (!codes.Any()) + return string.Empty; + + return string.Join(",", codes.Distinct()); + } + + private string GetProjectEntries(ProjectPart[] islands) { + var projectEntries = islands.Select(i => string.Format( + m_SolutionProjectEntryTemplate, + SolutionGuidGenerator.GuidForSolution(), + i.Name, + Path.GetFileName(ProjectFile(i)), + ProjectGuid(GetProjectName(i.Name, i.Defines)) + )); + + return string.Join(Environment.NewLine, projectEntries.ToArray()); + } + + /// + /// Generate the active configuration string for a given project guid + /// + private string GetProjectActiveConfigurations(string projectGuid) { + return string.Format( + m_SolutionProjectConfigurationTemplate, + projectGuid); + } + + private static string ProjectFooter() { + return GetProjectFooterTemplate(); + } + + + private string ProjectGuid(string name) { + return m_GUIDGenerator.ProjectGuid(m_ProjectName + name); + } + + public ProjectGenerationFlag ProjectGenerationFlag => ProjectGenerationFlag.Local | ProjectGenerationFlag.Embedded; + + public string GetAssemblyNameFromScriptPath(string path) { + return CompilationPipeline.GetAssemblyNameFromScriptPath(path); + } + + public IEnumerable GetAssemblies(Func shouldFileBePartOfSolution) { + return m_AllEditorAssemblies.Where(a => a.sourceFiles.Any(shouldFileBePartOfSolution)); + } + + private Task BuildEditorAssemblies() { + var assemblies = CompilationPipeline.GetAssemblies(AssembliesType.Editor); + return Task.Run(() => { + var result = new Assembly[assemblies.Length]; + for (var i = 0; i < assemblies.Length; i++) { + var assembly = assemblies[i]; + var outputPath = $@"Temp\Bin\Debug\{assembly.name}\"; + result[i] = new Assembly(assembly.name, outputPath, assembly.sourceFiles, + assembly.defines, + assembly.assemblyReferences, assembly.compiledAssemblyReferences, + assembly.flags, assembly.compilerOptions +#if UNITY_2020_2_OR_NEWER + , assembly.rootNamespace +#endif + ); + } + + m_AllEditorAssemblies = result; + }); + } + + public string GetProjectName(string name, string[] defines) { + if (!ProjectGenerationFlag.HasFlag(ProjectGenerationFlag.PlayerAssemblies)) + return name; + return !defines.Contains("UNITY_EDITOR") ? name + ".Player" : name; + } + + private static string ResolvePotentialParentPackageAssetPath(string assetPath) { + const string packagesPrefix = "packages/"; + if (!assetPath.StartsWith(packagesPrefix, StringComparison.OrdinalIgnoreCase)) { + return null; + } + + var followupSeparator = assetPath.IndexOf('/', packagesPrefix.Length); + if (followupSeparator == -1) { + return assetPath.ToLowerInvariant(); + } + + return assetPath.Substring(0, followupSeparator).ToLowerInvariant(); + } + + public UnityEditor.PackageManager.PackageInfo FindForAssetPath(string assetPath) { + var parentPackageAssetPath = ResolvePotentialParentPackageAssetPath(assetPath); + if (parentPackageAssetPath == null) { + return null; + } + + PackageInfo cachedPackageInfo; + if (m_PackageInfoCache.TryGetValue(parentPackageAssetPath, out cachedPackageInfo)) { + return cachedPackageInfo; + } + + return null; + } + + async Task BuildPackageInfoCache() { +#if UNITY_2019_4_OR_NEWER + m_PackageInfoCache.Clear(); + var parentAssetPaths = new HashSet(); + await Task.Run(() => { + for (var i = 0; i < m_AllAssetPaths.Length; i++) { + if (string.IsNullOrWhiteSpace(m_AllAssetPaths[i])) { + continue; + } + + var parentPackageAssetPath = ResolvePotentialParentPackageAssetPath(m_AllAssetPaths[i]); + if (parentPackageAssetPath == null) { + continue; + } + + parentAssetPaths.Add(parentPackageAssetPath); + } + }); + foreach (var parentAssetPath in parentAssetPaths) { + var result = UnityEditor.PackageManager.PackageInfo.FindForAssetPath(parentAssetPath); + m_PackageInfoCache.Add(parentAssetPath, result); + } +#else + //keep compiler happy + await Task.CompletedTask; +#endif + } + + async Task BuildPostProcessors() { +#if UNITY_2019_1_OR_NEWER + var types = TypeCache.GetTypesDerivedFrom(); + m_PostProcessors = await Task.Run(() => { + var postProcessors = new List(types.Count); + foreach (var type in types) { + try { + var instance = (IHotReloadProjectGenerationPostProcessor)Activator.CreateInstance(type); + postProcessors.Add(instance); + } catch (MissingMethodException) { + Log.Warning(Translations.Errors.WarningPostProcessorNoDefaultConstructor, type.FullName); + } catch (TargetInvocationException ex) { + Log.Warning(Translations.Errors.WarningPostProcessorConstructorException, type.FullName, ex.InnerException); + } catch (Exception ex) { + Log.Warning(Translations.Errors.WarningPostProcessorUnknownException, type.FullName, ex); + } + } + + postProcessors.Sort((x, y) => x.CallbackOrder.CompareTo(y.CallbackOrder)); + return postProcessors.ToArray(); + }); + foreach (var postProcessor in m_PostProcessors) { + postProcessor.InitializeOnMainThread(); + } +#else + m_PostProcessors = new IHotReloadProjectGenerationPostProcessor[0]; + //keep compiler happy + await Task.CompletedTask; +#endif + } + + public bool IsInternalizedPackagePath(string path) { + if (string.IsNullOrWhiteSpace(path)) { + return false; + } + + var packageInfo = FindForAssetPath(path); + if (packageInfo == null) { + return false; + } + + var packageSource = packageInfo.source; + switch (packageSource) { + case PackageSource.Embedded: + case PackageSource.Local: + return false; + default: + return true; + } + } + } +} diff --git a/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/ProjectGeneration.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/ProjectGeneration.cs.meta new file mode 100644 index 0000000..463f3ab --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/ProjectGeneration.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: c7b221ce3667aeb4ea915b8e2eca7213 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/ProjectGeneration.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/ProjectGenerationFlag.cs b/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/ProjectGenerationFlag.cs new file mode 100644 index 0000000..ac6781f --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/ProjectGenerationFlag.cs @@ -0,0 +1,18 @@ +using System; + +namespace SingularityGroup.HotReload.Editor.ProjectGeneration +{ + [Flags] + enum ProjectGenerationFlag + { + None = 0, + Embedded = 1, + Local = 2, + Registry = 4, + Git = 8, + BuiltIn = 16, + Unknown = 32, + PlayerAssemblies = 64, + LocalTarBall = 128, + } +} diff --git a/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/ProjectGenerationFlag.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/ProjectGenerationFlag.cs.meta new file mode 100644 index 0000000..5bb1bf9 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/ProjectGenerationFlag.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: ea506e49c851dbd4fa394c3ed513970c +timeCreated: 1580820569 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/ProjectGenerationFlag.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/ProjectPart.cs b/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/ProjectPart.cs new file mode 100644 index 0000000..3c2e723 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/ProjectPart.cs @@ -0,0 +1,86 @@ +using System.Collections.Generic; +using System.Linq; +using SingularityGroup.HotReload.Editor.Localization; +using UnityEditor.Compilation; +using UnityEngine; + +namespace SingularityGroup.HotReload.Editor.ProjectGeneration +{ + internal class ProjectPart + { + public string Name { get; } + public string OutputPath { get; } + public Assembly Assembly { get; } + public string AssetsProjectPart { get; } + public string[] SourceFiles { get; } + public string RootNamespace { get; } + public Assembly[] AssemblyReferences { get; } + public string[] CompiledAssemblyReferences { get; } + public string[] Defines { get; } + public ScriptCompilerOptions CompilerOptions { get; } + + public ProjectPart(string name, Assembly assembly, string assetsProjectPart, string fallbackRootNamespace, HashSet additionalSourceFiles) + { + Name = name; + Assembly = assembly; + AssetsProjectPart = assetsProjectPart; + OutputPath = assembly != null ? assembly.outputPath : "Temp/Bin/Debug"; + SourceFiles = assembly != null ? assembly.sourceFiles.Union(additionalSourceFiles).ToArray() : new string[0]; +#if UNITY_2020_2_OR_NEWER + RootNamespace = assembly != null ? assembly.rootNamespace : string.Empty; +#else + RootNamespace = fallbackRootNamespace; +#endif + AssemblyReferences = assembly != null ? assembly.assemblyReferences : new Assembly[0]; + CompiledAssemblyReferences = assembly!=null? assembly.compiledAssemblyReferences:new string[0]; + Defines = assembly != null ? assembly.defines : new string[0]; + CompilerOptions = assembly != null ? assembly.compilerOptions : new ScriptCompilerOptions(); + } + + public IEnumerable ParseResponseFileData(string projectDirectory) + { +#if UNITY_2019_1_OR_NEWER + if (Assembly == null) + return new ResponseFileData[0]; + + var systemReferenceDirectories = + CompilationPipeline.GetSystemAssemblyDirectories(Assembly.compilerOptions.ApiCompatibilityLevel); + + var responseFilesData = Assembly.compilerOptions.ResponseFiles.ToDictionary( + x => x, x => CompilationPipeline.ParseResponseFile( + x, + projectDirectory, + systemReferenceDirectories + )); + + var responseFilesWithErrors = responseFilesData.Where(x => x.Value.Errors.Any()) + .ToDictionary(x => x.Key, x => x.Value); + + if (responseFilesWithErrors.Any()) + { + foreach (var error in responseFilesWithErrors) + foreach (var valueError in error.Value.Errors) + { + Log.Error(Translations.Errors.ErrorParseError, error.Key, valueError); + } + } + + return responseFilesData.Select(x => x.Value); +#else + return new ResponseFileData[0]; +#endif + } + } + +} +#if !UNITY_2019_1_OR_NEWER +namespace UnityEditor.Compilation { + internal class ResponseFileData { + public string[] Defines; + public string[] FullPathReferences; + public string[] Errors; + public string[] OtherArguments; + public bool Unsafe; + } +} +#endif diff --git a/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/ProjectPart.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/ProjectPart.cs.meta new file mode 100644 index 0000000..fcc626d --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/ProjectPart.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 3067d709488a2374aba4a7b421588fe9 +timeCreated: 1604050230 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/ProjectPart.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/SolutionGuidGenerator.cs b/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/SolutionGuidGenerator.cs new file mode 100644 index 0000000..1417531 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/SolutionGuidGenerator.cs @@ -0,0 +1,29 @@ +using System; +using System.Security.Cryptography; +using System.Text; + +namespace SingularityGroup.HotReload.Editor.ProjectGeneration +{ + internal static class SolutionGuidGenerator + { + public static string GuidForProject(string projectName) + { + return ComputeGuidHashFor(projectName + "salt"); + } + + public static string GuidForSolution() + { + // GUID for a C# class library: http://www.codeproject.com/Reference/720512/List-of-Visual-Studio-Project-Type-GUIDs + return "FAE04EC0-301F-11D3-BF4B-00C04F79EFBC"; + } + + static string ComputeGuidHashFor(string input) + { + using (var md5 = MD5.Create()) + { + var hash = md5.ComputeHash(Encoding.Default.GetBytes(input)); + return new Guid(hash).ToString(); + } + } + } +} \ No newline at end of file diff --git a/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/SolutionGuidGenerator.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/SolutionGuidGenerator.cs.meta new file mode 100644 index 0000000..15b2b5a --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/SolutionGuidGenerator.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 6cced23b33c3f7541bb84997246eb6ca +timeCreated: 1580717740 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/SolutionGuidGenerator.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/Util.meta b/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/Util.meta new file mode 100644 index 0000000..f4d773e --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/Util.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 15ba2343e4c758e45a3901e7f4ad146f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/Util/FileSystemUtil.cs b/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/Util/FileSystemUtil.cs new file mode 100644 index 0000000..c58df02 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/Util/FileSystemUtil.cs @@ -0,0 +1,37 @@ +namespace SingularityGroup.HotReload.Editor.Util +{ + internal static class FileSystemUtil + { + + public static string FileNameWithoutExtension(string path) + { + if (string.IsNullOrEmpty(path)) + { + return ""; + } + + var indexOfDot = -1; + var indexOfSlash = 0; + for (var i = path.Length - 1; i >= 0; i--) + { + if (indexOfDot == -1 && path[i] == '.') + { + indexOfDot = i; + } + + if (path[i] == '/' || path[i] == '\\') + { + indexOfSlash = i + 1; + break; + } + } + + if (indexOfDot == -1) + { + indexOfDot = path.Length; + } + + return path.Substring(indexOfSlash, indexOfDot - indexOfSlash); + } + } +} \ No newline at end of file diff --git a/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/Util/FileSystemUtil.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/Util/FileSystemUtil.cs.meta new file mode 100644 index 0000000..d26a4b6 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/Util/FileSystemUtil.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 20b02f00e1547df45ab6ce84acc5dd0c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/Util/FileSystemUtil.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/Util/StringUtils.cs b/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/Util/StringUtils.cs new file mode 100644 index 0000000..486a32a --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/Util/StringUtils.cs @@ -0,0 +1,14 @@ +using System.IO; + +namespace SingularityGroup.HotReload.Editor.Util +{ + internal static class StringUtils + { + public static string NormalizePath(this string path) + { + return path.Replace(Path.DirectorySeparatorChar == '\\' + ? '/' + : '\\', Path.DirectorySeparatorChar); + } + } +} \ No newline at end of file diff --git a/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/Util/StringUtils.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/Util/StringUtils.cs.meta new file mode 100644 index 0000000..395fa42 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/Util/StringUtils.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 5418a9e29385f45488b32d5459ec2c7a +timeCreated: 1623056718 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/ProjectGeneration/Util/StringUtils.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/RequiredSettings.meta b/Packages/com.singularitygroup.hotreload/Editor/RequiredSettings.meta new file mode 100644 index 0000000..2fd152d --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/RequiredSettings.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: bc190bdaae2340c6a6d8cb811dfefe03 +timeCreated: 1674242068 \ No newline at end of file diff --git a/Packages/com.singularitygroup.hotreload/Editor/RequiredSettings/RequiredSettingChecker.cs b/Packages/com.singularitygroup.hotreload/Editor/RequiredSettings/RequiredSettingChecker.cs new file mode 100644 index 0000000..8bfa052 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/RequiredSettings/RequiredSettingChecker.cs @@ -0,0 +1,289 @@ +using System; +using System.Collections.Generic; +using System.Reflection; +using SingularityGroup.HotReload.Editor.Localization; +using SingularityGroup.HotReload.HarmonyLib; +using UnityEditor; +using UnityEditor.Compilation; +using UnityEngine; + +namespace SingularityGroup.HotReload.Editor { + using IndicationStatus = EditorIndicationState.IndicationStatus; + + // Before Unity 2021.3, value is 0 or 1. Only value of 1 is a problem. + // From Unity 2021.3 onwards, the key is "kAutoRefreshMode". + // kAutoRefreshMode options are: + // 0: disabled + // 1: enabled + // 2: enabled outside playmode + // + // On newer Unity versions, Visual Studio is also checking the kAutoRefresh setting (but it should only check kAutoRefreshMode). + // This is making hot reload unusable and so this setting needs to also get disabled. + internal static class AutoRefreshSettingChecker { + const string autoRefreshKey = "kAutoRefresh"; + #if UNITY_2021_3_OR_NEWER + const string autoRefreshModeKey = "kAutoRefreshMode"; + #endif + + const int desiredValue = 0; + + public static bool IsUserAutoRefreshDisabled() { + int autoRefreshSetting; + #if UNITY_2021_3_OR_NEWER + if (HotReloadPrefs.DefaultAutoRefreshMode != -1) { + autoRefreshSetting = HotReloadPrefs.DefaultAutoRefreshMode; + } else { + autoRefreshSetting = EditorPrefs.GetInt(autoRefreshModeKey); + } + #else + if (HotReloadPrefs.DefaultAutoRefresh != -1) { + autoRefreshSetting = HotReloadPrefs.DefaultAutoRefresh; + } else { + autoRefreshSetting = EditorPrefs.GetInt(autoRefreshKey); + } + #endif + return autoRefreshSetting == 0; + } + + public static void Apply() { + if (HotReloadPrefs.AppliedAutoRefresh) { + return; + } + + var defaultPref = EditorPrefs.GetInt(autoRefreshKey); + HotReloadPrefs.DefaultAutoRefresh = defaultPref; + EditorPrefs.SetInt(autoRefreshKey, desiredValue); + + #if UNITY_2021_3_OR_NEWER + var defaultModePref = EditorPrefs.GetInt(autoRefreshModeKey); + HotReloadPrefs.DefaultAutoRefreshMode = defaultModePref; + EditorPrefs.SetInt(autoRefreshModeKey, desiredValue); + #endif + + HotReloadPrefs.AppliedAutoRefresh = true; + } + + public static void Check() { + if (!HotReloadPrefs.AppliedAutoRefresh) { + return; + } + + if (EditorPrefs.GetInt(autoRefreshKey) != desiredValue) { + HotReloadPrefs.DefaultAutoRefresh = -1; + } + + #if UNITY_2021_3_OR_NEWER + if (EditorPrefs.GetInt(autoRefreshModeKey) != desiredValue) { + HotReloadPrefs.DefaultAutoRefreshMode = -1; + } + #endif + } + + public static void Reset() { + if (!HotReloadPrefs.AppliedAutoRefresh) { + return; + } + + if (EditorPrefs.GetInt(autoRefreshKey) == desiredValue + && HotReloadPrefs.DefaultAutoRefresh != -1 + ) { + EditorPrefs.SetInt(autoRefreshKey, HotReloadPrefs.DefaultAutoRefresh); + } + HotReloadPrefs.DefaultAutoRefresh = -1; + + #if UNITY_2021_3_OR_NEWER + if (EditorPrefs.GetInt(autoRefreshModeKey) == desiredValue + && HotReloadPrefs.DefaultAutoRefreshMode != -1 + ) { + EditorPrefs.SetInt(autoRefreshModeKey, HotReloadPrefs.DefaultAutoRefreshMode); + } + HotReloadPrefs.DefaultAutoRefreshMode = -1; + #endif + + HotReloadPrefs.AppliedAutoRefresh = false; + } + } + + internal static class ScriptCompilationSettingChecker { + const string scriptCompilationKey = "ScriptCompilationDuringPlay"; + + const int recompileAndContinuePlaying = 0; + static int? recompileAfterFinishedPlaying = (int?)typeof(EditorWindow).Assembly.GetType("UnityEditor.ScriptChangesDuringPlayOptions")? + .GetField("RecompileAfterFinishedPlaying", BindingFlags.Static | BindingFlags.Public)? + .GetValue(null); + + public static void Apply() { + if (HotReloadPrefs.AppliedScriptCompilation) { + return; + } + + var defaultPref = EditorPrefs.GetInt(scriptCompilationKey); + HotReloadPrefs.DefaultScriptCompilation = defaultPref; + EditorPrefs.SetInt(scriptCompilationKey, GetRecommendedAutoScriptCompilationKey()); + + HotReloadPrefs.AppliedScriptCompilation = true; + } + + public static void Check() { + if (!HotReloadPrefs.AppliedScriptCompilation) { + return; + } + if (EditorPrefs.GetInt(scriptCompilationKey) != GetRecommendedAutoScriptCompilationKey()) { + HotReloadPrefs.DefaultScriptCompilation = -1; + } + } + + public static void Reset() { + if (!HotReloadPrefs.AppliedScriptCompilation) { + return; + } + if (EditorPrefs.GetInt(scriptCompilationKey) == GetRecommendedAutoScriptCompilationKey() + && HotReloadPrefs.DefaultScriptCompilation != -1 + ) { + EditorPrefs.SetInt(scriptCompilationKey, HotReloadPrefs.DefaultScriptCompilation); + } + HotReloadPrefs.DefaultScriptCompilation = -1; + + HotReloadPrefs.AppliedScriptCompilation = false; + } + + static int GetRecommendedAutoScriptCompilationKey() { + // In some projects due to an unknown reason both "RecompileAndContinuePlaying" and "StopPlayingAndRecompile" cause issues + // We were unable to identify the cause and therefore we always try to default to "RecompileAfterFinishedPlaying" + // The exact issue users are experiencing is that domain reload happens shortly after entering play mode causing nullrefs + return recompileAfterFinishedPlaying ?? recompileAndContinuePlaying; + } + } + + internal static class PlaymodeTintSettingChecker { + private static readonly Color unsupportedPlaymodeColor = new Color(1f, 0.8f, 0f, 1f); + private static readonly Color compilePlaymodeErrorColor = new Color(1f, 0.7f, 0.7f, 1f); + + public static void Apply() { + if (HotReloadPrefs.AppliedEditorTint != null || !UnitySettingsHelper.I.playmodeTintSupported) { + return; + } + var defaultPref = HotReloadPrefs.DefaultEditorTint ?? UnitySettingsHelper.I.GetCurrentPlaymodeColor(); + if (defaultPref == null) { + return; + } + HotReloadPrefs.DefaultEditorTint = defaultPref.Value; + var currentPlaymodeTint = GetModifiedPlaymodeTint() ?? defaultPref.Value; + SetPlaymodeTint(currentPlaymodeTint); + } + + public static void Check() { + if (HotReloadPrefs.AppliedEditorTint == null || !UnitySettingsHelper.I.playmodeTintSupported) { + return; + } + // if user modifies the settings manually, prevent the setting to be changed + if (HotReloadPrefs.DefaultEditorTint == null || UnitySettingsHelper.I.GetCurrentPlaymodeColor() != HotReloadPrefs.AppliedEditorTint) { + HotReloadPrefs.DefaultEditorTint = null; + return; + } + var color = GetModifiedPlaymodeTint(); + if (color != null && color != HotReloadPrefs.AppliedEditorTint) { + SetPlaymodeTint(color.Value); + } + } + + + public static void Reset() { + if (HotReloadPrefs.AppliedEditorTint == null || !UnitySettingsHelper.I.playmodeTintSupported) { + return; + } + var color = HotReloadPrefs.DefaultEditorTint; + if (color != null && UnitySettingsHelper.I.GetCurrentPlaymodeColor() == HotReloadPrefs.AppliedEditorTint) { + SetPlaymodeTint(color.Value); + } + + HotReloadPrefs.DefaultEditorTint = null; + HotReloadPrefs.AppliedEditorTint = null; + } + + + private static void SetPlaymodeTint(Color color) { + UnitySettingsHelper.I.SetPlaymodeTint(color); + HotReloadPrefs.AppliedEditorTint = color; + } + + private static Color? GetModifiedPlaymodeTint() { + switch (EditorIndicationState.CurrentIndicationStatus) { + case IndicationStatus.CompileErrors: + return compilePlaymodeErrorColor; + case IndicationStatus.Unsupported: + return unsupportedPlaymodeColor; + default: + return HotReloadPrefs.DefaultEditorTint; + } + } + } + + internal static class CompileMethodDetourer { + static bool detouredMethod; + static List reverters = new List(); + + public static void Apply() { + if (detouredMethod) { + return; + } + detouredMethod = true; + + var originAssetRefresh = typeof(AssetDatabase).GetMethod(nameof(AssetDatabase.Refresh), Type.EmptyTypes); + var targetAssetRefresh = typeof(CompileMethodDetourer).GetMethod(nameof(DetouredAssetRefresh)); + + DetourMethod(originAssetRefresh, targetAssetRefresh); + + var originAssetRefreshWithParams = typeof(AssetDatabase).GetMethod(nameof(AssetDatabase.Refresh), new[] { typeof(ImportAssetOptions) }); + var targetAssetRefreshWithParams = typeof(CompileMethodDetourer).GetMethod(nameof(DetouredAssetRefresh)); + + DetourMethod(originAssetRefreshWithParams, targetAssetRefreshWithParams); + + var originCompilation = typeof(CompilationPipeline).GetMethod(nameof(CompilationPipeline.RequestScriptCompilation), Type.EmptyTypes); + var targetCompilation = typeof(CompileMethodDetourer).GetMethod(nameof(RequestScriptCompilation)); + + DetourMethod(originCompilation, targetCompilation); + } + + static void DetourMethod(MethodBase original, MethodBase replacement) { + DetourResult result; + DetourApi.DetourMethod(original, replacement, out result); + + if (!result.success) { + Debug.LogWarning(string.Format(Translations.Errors.DebugDetouringMethodFailed, original.Name, result.exception?.GetType(), result.exception)); + } else { + reverters.Add(result.patchRecord); + } + } + + public static void Reset() { + if (!detouredMethod) { + return; + } + + detouredMethod = false; + + // don't revert for now + // foreach (var reverter in reverters) { + // try { + // reverter.Dispose(); + // } catch (Exception exc) { + // Debug.LogWarning($"Reverting method detour failed. {exc.GetType()} {exc}"); + // } + // } + + reverters.Clear(); + + // hack to undo changes to Editor assemblies. + // Doing this when starting hotreload cancels the start + // Exit playmode right away to prevent delayed compiling + EditorApplication.isPlaying = false; + + EditorApplication.ExecuteMenuItem("Assets/Refresh"); + EditorUtility.RequestScriptReload(); //this will undo the modifications to the assemblies + } + + public static void DetouredAssetRefresh(ImportAssetOptions options) { } + public static void RequestScriptCompilation() { } + } +} \ No newline at end of file diff --git a/Packages/com.singularitygroup.hotreload/Editor/RequiredSettings/RequiredSettingChecker.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/RequiredSettings/RequiredSettingChecker.cs.meta new file mode 100644 index 0000000..343d808 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/RequiredSettings/RequiredSettingChecker.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 63765d77daad497ba3966a622a486391 +timeCreated: 1674243489 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/RequiredSettings/RequiredSettingChecker.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Resources.meta b/Packages/com.singularitygroup.hotreload/Editor/Resources.meta new file mode 100644 index 0000000..f14fddd --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Resources.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 030ba7c6c9994974b321f9c38df270ad +timeCreated: 1673704008 \ No newline at end of file diff --git a/Packages/com.singularitygroup.hotreload/Editor/Resources/Icn_Stop.png b/Packages/com.singularitygroup.hotreload/Editor/Resources/Icn_Stop.png new file mode 100644 index 0000000000000000000000000000000000000000..a27133ced07c649372d94826f46be15ed8562f88 GIT binary patch literal 117 zcmeAS@N?(olHy`uVBq!ia0vp^JRr=-3?y@QpIZW?7>k44ofvPP)Tsw@I14-?iy0XB zj({-ZRBb+KpdfRAPl#)9aPX><#jk)|Zci7-kcv6U2?{{7R2UeyrQK%%3Nv`R`njxg HN@xNAa%dWD literal 0 HcmV?d00001 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Resources/Icn_Stop.png.meta b/Packages/com.singularitygroup.hotreload/Editor/Resources/Icn_Stop.png.meta new file mode 100644 index 0000000..31627ca --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Resources/Icn_Stop.png.meta @@ -0,0 +1,123 @@ +fileFormatVersion: 2 +guid: bef6749cf91a43b4e8368429a0487ac9 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + 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: 1 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + 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: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/Resources/Icn_Stop.png + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Resources/Icn_play.png b/Packages/com.singularitygroup.hotreload/Editor/Resources/Icn_play.png new file mode 100644 index 0000000000000000000000000000000000000000..429e1be8bce15d0fba8a5e746d8932ccf801aba2 GIT binary patch literal 270 zcmeAS@N?(olHy`uVBq!ia0vp^JV4CH!3-pIl6mg|DaPU;cPGZ1Cw1z99L@rd$YKTt zZeb8+WSBKa0x0Md;1l9%4F*6Sgh2+$adpc!pnkEEAivG#E)SH1sax9WX5oX0&mKK{*jhYe=FcCj z0y1f7j*5vusYn+QYj#h`NsK4llq0*|$fUG0F$i2{X01_Y6$cu};OXk;vd$@?2>`#{ BOG*F$ literal 0 HcmV?d00001 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Resources/Icn_play.png.meta b/Packages/com.singularitygroup.hotreload/Editor/Resources/Icn_play.png.meta new file mode 100644 index 0000000..66b3bfc --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Resources/Icn_play.png.meta @@ -0,0 +1,123 @@ +fileFormatVersion: 2 +guid: 052ef782f5237784eab3e4952a88afde +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + 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: 1 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + 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: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/Resources/Icn_play.png + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Resources/Logo_HotReload_DarkMode.png b/Packages/com.singularitygroup.hotreload/Editor/Resources/Logo_HotReload_DarkMode.png new file mode 100644 index 0000000000000000000000000000000000000000..5f144aa01a4b74dd8d2b88f93a6a69866984e1ff GIT binary patch literal 3927 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 literal 0 HcmV?d00001 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Resources/Logo_HotReload_DarkMode.png.meta b/Packages/com.singularitygroup.hotreload/Editor/Resources/Logo_HotReload_DarkMode.png.meta new file mode 100644 index 0000000..deb6fd3 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Resources/Logo_HotReload_DarkMode.png.meta @@ -0,0 +1,95 @@ +fileFormatVersion: 2 +guid: 0c501457e83420242a3ac14642818be3 +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: -1 + aniso: 1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + 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: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/Resources/Logo_HotReload_DarkMode.png + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Resources/Logo_HotReload_LightMode.png b/Packages/com.singularitygroup.hotreload/Editor/Resources/Logo_HotReload_LightMode.png new file mode 100644 index 0000000000000000000000000000000000000000..bfaeb4a8ee1e467eb1c2a10b421fe7e34c97b648 GIT binary patch literal 3879 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 literal 0 HcmV?d00001 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Resources/Logo_HotReload_LightMode.png.meta b/Packages/com.singularitygroup.hotreload/Editor/Resources/Logo_HotReload_LightMode.png.meta new file mode 100644 index 0000000..c4f18ea --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Resources/Logo_HotReload_LightMode.png.meta @@ -0,0 +1,95 @@ +fileFormatVersion: 2 +guid: 4a83d4a4d357e18408c025ef0737ab39 +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: -1 + aniso: 1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + 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: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/Resources/Logo_HotReload_LightMode.png + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Resources/alert_info.png b/Packages/com.singularitygroup.hotreload/Editor/Resources/alert_info.png new file mode 100644 index 0000000000000000000000000000000000000000..f17c65b1cc99a9417302748fc473472d6c506b97 GIT binary patch literal 862 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 literal 0 HcmV?d00001 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Resources/applied_patch.png.meta b/Packages/com.singularitygroup.hotreload/Editor/Resources/applied_patch.png.meta new file mode 100644 index 0000000..4d520ff --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Resources/applied_patch.png.meta @@ -0,0 +1,134 @@ +fileFormatVersion: 2 +guid: 3e8fc7297345815e0a9416a6b0d4cd68 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + 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 + flipGreenChannel: 0 + isReadable: 1 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + 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: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Server + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/Resources/applied_patch.png + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Resources/blue.png b/Packages/com.singularitygroup.hotreload/Editor/Resources/blue.png new file mode 100644 index 0000000000000000000000000000000000000000..a16c26e1872319cf43d75a5865b9587523ba10a5 GIT binary patch literal 6101 zcmeHKc{r5a`=7CAmx@HjAnTaTHj}Xvc}E&VQq1xUW0@HW_u%w zWNA|&g_4w{l&!qc8})rg`}O<&({=s6|21Ev;4hcYpMgNc_VPWvc_eZqjLl)u86g0Sx19~ZfG7qX0*QKf-)qZ} z=epAKqsyX2H06_qle}67{ZpFsDuU~`-P>C27rbtzB+6;Mo_53Z-6!`J;*;yNlyENk zdTMo)eeuiGaPLcAze=ggdtJzt{5;wII5ZZutTSQ3tNY?7mDyUEh@zL%nFot=75~{) z*vj3#z3-(3F3bMGwguo+{u{OGso#t)343jO_*5SwV!9S zM9$H*_WelRyLprXbF{NJttf|3uRh6$&Rx6u466y(&{2Y|>CEyUC z$QG7p4qxkopKlmi5fvV1FjJ(qJn~(e;!w8bzZ3U2SZ#W=BQEK1LeT-)jYSn=+BE&1 zJy~*HOe;O%menFj7eu3_d1-CuskgcY@I*Fe)_eWxUF5(V)TdFOpw_ltb4th|M=a~~^N&pp$qHvBL7UAjre~BQ4w)7v4D7yodn77x z)q)=9&WVrm7Xt>i6+A%5{2kwS$QC=MAipz9y-+LY#>A=c$u*XtpINJJ|J!XC&VJCP z5`%LTtuD^p65+{b{bxO>QUEiXp!^MTqQ-DidiXK{EBgP-`d-% zAx~FuoTbFKBx@j7jJSm(&h7zs&hWwBys6{)cbUh1BGF@JLlIoAl;6vQ9>q*O&vsW}E2x3qn5^^GUJw@Ge^@JRc#CIk#yO?j`^L(BOBH4*kZ)nhL+kbD*mABptzmgV^r;l ziG#)JwRi9p`R@ycNEJ-Se~1?ix%|CCBlrtpi5{r)u3H)A7J+hu})iDhIpx zT=yNb|K56V`M9oxf9rm~uKjZEYR==Aj%SjNe@M=(S7P$HpYZ#E;-GU@2nij%^=Pex z+w)0I+g_}@Msy61Zx!)V{ImwOySKhtF}$tRI#H}}u(?su%|WQ};?mR+omONylbSb^ zzJ0(&D;{N_*B@jyhKh$_Fc?W ztQ$ADGncVq#FiD3^t@8L;d(@KMI9S|3$sf*u;uABTC~jLnTRIO`C9%eB~7i)O4@6l zz2>SSb>*UNmjaGHLW%c}*3~syl05+0(7qm|HcC z>~-0?qyH18B|>NR2(~>3nZsQBasM%u3)hOou>5to&pU=+8y#rhxnrg(G{E_xecFt+ zh5z-!)3$au=uZ-vSJ)>~2b8S1=faLuCXJ|XniO3@utaBZ6R^X;2( z`&cdp3HDCCy^5AOo_e_ne@A(?l$$xetABJZE_Lh3bpGYJ&waW>$II$=L+kU^TVE#^ z-G@M+@eDgVH)lJ$Z|@`UEtIqKFu|$CTD8q@ONpnC$T+MpwE(|aetFnY{T0o&41=06 zf6glq(Hcma+Q(P%vtD3K<&6IHK{Wj+=hxPM*q(Ft?<}je8lkeXF_m!Oe8Z)+o&ArR0(=%0AfyYN>^;Mk^WeronE`GPyorC|sjN^V zGL1z6jG{u>;06K$v9O9_lc~V~4@Ln37)%0uvY`nMW6%h2FB2k)$hHFl8BTl-;LdmT zpz?#MI2zo_Qqm#{4-$j|JTfdQG=#~;M-kwQym;_l(2Rt`79qS~0^FPE2D4*v0GP3n zu@MU45XFeVz%33 z5eV*fCXXD2U~)AD6kj;(0WOupVDlI(CQQIdrm(_!1UMY*hkc7Lluaalr)P4%ssQSN zj3Tp1()X#0g`+T=)YQUJ-~eyk_2#B;T$U95CJfGnm<#}sNe0`;hd1g zbZAs05CVjPP%h{d{foAsQ%u2-(B=rT35td=#hB2{sb6&Bi0y)!|629#K-ib3FOwjIvDgKJ zEfy}GO#R}7OO60&i;h6MFJ06?GBW@GXZY8W`qs|)FT+JcQR!HKf=1Bj6fDA+ZbC*- zOiWD>Xd0FZ;3($CCK&9m>|7R|7fI#-HUVI!U^ZY0EoKAL{VJy3ulUG7K%f)~gGHcl z2n@~xgTkY6c$66&`88RjU`~I_)&lu|^srb2{Im#wc3;}S#RXieklz=puX+h2{2zY4 zj>G@Z14#YH$#3cVN3K6|{gwj11^!cAf8_ct1%3%3TFs=dS>{}->7pH3?HGE?}$B?skDg9YlB6CczS*b#N2wkP_(!D zvM`+9cGT9AfSIV>d7`^~`7T4E^^^J0!BOPC;#{9o%@&dEQ%~E)8yx}LOYZNwCO#b= z*)dnQDf8B=yTIZ4iSfDmA{EkvT*8@F?SnaPO^$Z;2t#MBS6#jP@nOCV{mBadvREKWFP7`yYcN BpM3xT literal 0 HcmV?d00001 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Resources/blue.png.meta b/Packages/com.singularitygroup.hotreload/Editor/Resources/blue.png.meta new file mode 100644 index 0000000..511d73c --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Resources/blue.png.meta @@ -0,0 +1,99 @@ +fileFormatVersion: 2 +guid: 8909f5f9b1bbe3a4e99335241d585b33 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + 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: -1 + 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: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/Resources/blue.png + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Resources/close.png b/Packages/com.singularitygroup.hotreload/Editor/Resources/close.png new file mode 100644 index 0000000000000000000000000000000000000000..fc5f16ccc838f840806f37e2f2018dafbb0907e0 GIT binary patch literal 252 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 M7S9SCn7U}?UuBxaS^xk5 literal 0 HcmV?d00001 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Resources/events.png.meta b/Packages/com.singularitygroup.hotreload/Editor/Resources/events.png.meta new file mode 100644 index 0000000..c03c3ff --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Resources/events.png.meta @@ -0,0 +1,134 @@ +fileFormatVersion: 2 +guid: b2c1a1b6177ddd425ba5b4879dd5903a +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + 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 + flipGreenChannel: 0 + isReadable: 1 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + 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: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Server + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/Resources/events.png + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Resources/foldout_closed.png b/Packages/com.singularitygroup.hotreload/Editor/Resources/foldout_closed.png new file mode 100644 index 0000000000000000000000000000000000000000..ad482a11ed024745a288a56af2c9bcb16cdc44a0 GIT binary patch literal 4865 zcmeHKc~BEs8t;Tt5JVT1akFEa;3{g8?$AIIi3bTv!~g=0z@pIU?m#c(AO{JKiUS@v zcwm93$f9hGC`?Tl(egmWYY@w8ol$n2!Gi)kRvqzT)d6*1heNELsx7N_{-aYb?|bk4 z-tT?y_rCWfy)Gtdu9wF+4+w(1lo5(pP{T~|aRuMJ2UUkab%jb$YLv<;kUMAqB+D6M zF&I!-gKRd-3338`Yd{$VYzD)WaV!@{y&l+q?6XUNJ-H9V1~$rKLtdaR2So&IUr^V8 zLa*&zs{z=|xG0E=PnujeXNF|bI0B7#5+%tu6lQWTLQ7>tUfK|xYP0?@2o?>%Ce zw(l$Y9DClZEJiha> z?C~vD*zt?l*Hc~7>$O#*ve4qiqn&EqPj6Z>JT+NUicV50&772%Po8!O&hMA*>^8lq zmK3sPY!;s#e)Z3{;EJCPcwO%P4*#rVVVkLKSg|0Y=bWXnJ>;^>R+oxTg0EKRv?2Qv z(uv(062HGzuxA~wrYf$X=xM^8V~vSZ7bQNg=viG^-cWbZQpSr&9T`~!hs_>6u>|MM z`#S2&)xN(pO@Fm^@d<@sb@D{SIBgf(tL~xOyZqZXlU`RVg#o^9^(mZtgs=M}_J*?d zW#gwuwL3qV>9lC+g_LTi{X4(WND-+C*%`l!<_l``(kZN5T+7_`yx z3FZXVd?}&V3UE@drUW*vfjKZJbf(RK6B(2lR#R!TPR8v#dV&knq>Q^LNQI~jaw?sU zSZbu=mPW-BOEU-w$(=dFBh)4Z1X{|B!!~WE&Lp+TxDH+^u$gWl7j{6*88U7Hh$Fe) zNWqu@6CnI>8=WoU&hUUkjig2ztC-VA0a`L{y4h@y3WZjyRbUMi=#6PYR3ecG5s^?N z;sXTVl%q4_HonfpV<>t#6qJcD(griF*TD=YuGU-3GA2v5eXPDx143sdIGU+Wwf(p;3bY|XQ3X&L@Z?G6M9or!Z zA(csK0n`LmML$@Qxp4zC7zxs7t-&!1i2VW5Ol#hY^?`59h+{j09Rbq^ct1e*@7)0g zD3wa8&=VHMJ*7g%W!9IHdV(gU4im#f;t-Jr>=i>r0xD66I7lK!Lio4@C;6Bt1m%kfNf4jXkQ6FLF;py4JE%xPI!ABR;@~)G zEuKaR4Z1YP03*0`c8pTS6$yG*b@aq!;${t)Amh%bbr#!uXgsZ@;>t$c4gzWZ0(}@b~w8`p)9_ zTmpuN7WpWBhvXWP>!TF-DDY5p4axOU3ValJD7yY{a(TReouYK$Uyv2NEJdleG=di` zS9RoE1=I{Jf)@GL90G6D&@e+pq6vaL|G*R$R95Z>I^E1lRk+(d4`+`Mk6iZYA_!tv zC>68g({KH5eb6)M(!}R-x}O6>{UZ&_llNb-_~)b|J>~2 z?VVR#+#o`iurj(Y1`A#t3Y?<1*#~#)g@9rLZ z6gpC}o;T&vh`Mk6Po8EUJ~6^xo8R&5Og;zIPMXzBEUd^#owc!GGFz`dwLkF5>(}E) zuH;M}b863|pBDVJXvdD$n}6ESYKgp=w6?ln%e>YLp0*XluG;$6jOkIt#wRRf+d|E{`be^&al?jC2o?&KM{ zan{~nW1n)H3R+r>g1Gy+xxBT?!()PP-2U6E zH^)P_9c##IYBCCPmtoSaJElPkvmX4zT$hq!+*jCsAa@+mrTcDD?St(n7B{$PN)t8P dsjA86NAPy*j=%OIwu0b=l;Keddsu4Te*n^O&$0jj literal 0 HcmV?d00001 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Resources/foldout_closed.png.meta b/Packages/com.singularitygroup.hotreload/Editor/Resources/foldout_closed.png.meta new file mode 100644 index 0000000..9849ddf --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Resources/foldout_closed.png.meta @@ -0,0 +1,134 @@ +fileFormatVersion: 2 +guid: ae8d6e8a046a7ba47937cf15819407e3 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + 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 + flipGreenChannel: 0 + isReadable: 1 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + 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 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Server + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/Resources/foldout_closed.png + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Resources/foldout_open.png b/Packages/com.singularitygroup.hotreload/Editor/Resources/foldout_open.png new file mode 100644 index 0000000000000000000000000000000000000000..928bbfaa96eb5daa34d2610bd4bc69200b2cdf88 GIT binary patch literal 4861 zcmeHKdsGuw8lQkXL}(FFL0O0aE03LICYgjJ5-AW$q68?R0*b<9GJ%o2$O958t3^?K zph8_A92Tux#7B!&yNZSn~S#phB9tnAZ2cXFq z2Qg?J&>5p-7lte33g%XU?gwOAhwjrDZq9K%kf#sIn}HlYsN(`;l;HyTfUypAE|C4f zxDRw{^}t@oflN0~=SK!48hL0;k}J}fTsDfZc^I%qxI8h6h!Kp5a>abUn9Bp&jGZGM z(MXYbXbnJFNhKtt$rBQoMw3B9X-NpO)sN4dsO=Pi}1Aw_@GlrdOKEnf(mM9mo6MvS$9miTJqk;jQM7 z-g}aJHyQDteu3?eaxZAn?e;4|-(57>^?>I;HZJzg%h7B>XUXN3pxnpz`yR5-92W0* zYJRX+w2m>STKKv5<=1X9>;Lt!&-tfq`25XpIn0jn@3LjjI;`zo(dXT^y442?F7LHF zkb_wTL_<~f#V;!x*M#odtvtS|FY9(|dv;W2_D}WCD&DI*e&`EpZKy17;=E1F__)b4 zH{+pm_ou9_@V|R%cK_-{C#39(oSBH}k2_s_4t?+Od`0Ki3x3`!=S28>wB!c$5dNM& zxK!14Ee)BS(lzdWtZQcJ+1$OZhj+Yxb-{ve&u=^3*-Z;;4|(L=gA!6#Y0oruH%4^- z^!KNMWy&c5t#0Loiw)<>>gGVyok+WDP>>7Zc4l$!{d@I~ZvG;<{6nut9%MdNEQqH7jDU`6X zKprI+Oe7OyV{8OYv{A)e)*LTpj7hB#r%T@$gaA(xR)NK06mvKwB_-?<9@}8b=b$2y zh=XuBTrLbWV6$Cs!ELbK97;nBU`RVT>l?25jyC4J+DEochzDV@=21;~Cu(?V%R$a=vydc}F1(T)J~VcZwA zhtBR)23iV*SZW}ww0m-?ghlT!RvQRPEq01LLL?9hc?8T?qbeBV@iefAk4D3UiWFc3 ziQ*y@8wDlTn=QDWAZaK7&ZYnkiV8&phO1#5{@xKG0=3~EYa|6khlfiu4$V`)kqUf7qrx-<4s!`L z24f^I8Ww7BAuJSfLF9xy6xR&IZy4Qd&{#@v6B(Becm!O5^mP70F~gmKig?kNk^+*B z0w4@V5g5US2;&bD#u+>?hprhzCywF#ijx?p!l)tx>;~pQ@dCAwGh7S@IRpOwo^3D| zzvmWA=GZ1L#qSthV|2X~123gKmR)0Xy%Ym4r975h|2Mk4MqZ~#J@^+?0$!H-zN`oD zV350NUXm303d)2s!}c8oZ`9Cuqb%DDK@%p?odMO>1%OEpi(HZD(c?AFD?0FL>xvWz za;cR|<1z|v-raV3?t|C;E0k;4Qh&F}Z5595vwUm*_Nsq}a^=dHb^4q&#IBvf8GG(t zTdSNM1*f3T9gimJ(|$==IKJE}2>E)`+&ee+`YDv@pgsA-FPmcwI#m?3s4@54Iq5U@ z0(tz>WvMk`@*3fzvd+h4&z>*ilh>Q~1YWrq7c`Ca=+Tueg^|TwB_(Zlb&l^M`X0X3 z!pQmX!?u6pjtTO86{mI zA#HyRb##UHedFG+$=co$dfQ&#W0y&8*mPCREoYQJ9&YzMwzQO`*ZNMKQkkD0?>R#n z)T4o>*3F6Oe)Z6a)TQ?7>Gm7F{o91I&sOc3Z(n|AYxTqO@U^?bFJYH4#pR`McPSbh zS6}N))f%=cy*fVF9_Y9ha4=(6)z!`iVdV1NfvfNU_w-lzB7R~{Zcjsvgc}yndNj#9 z!EvwYgJj;cPZ96W5bx^ovNy3LtoJ&Tk6Y7**

6u%Rw1lj%E!zQ4`sm&nhg)jmUy!qBFaovO? zM}C}Uz7$)DMP5ImyFR6Su50I{Cr|npk`3t@-R52f=cq%;3*<=I5fqS?>(X9%iA3HRK}+PQem z{NAl;FD2iu``XC;{BT=&6Mt&$6vI}Zt|Fatr%mTXJbl^McRWDg=STUFB|#oda=()G zVhY~e)}8ey^n>lGrdiIduBnYPW+ixtZCT41#(c=zzW&j($v-M*KUi=e@bGD->%8o2 ueRsreW%9ob;e9Js{k3!NuFk*jE13TqtGqo@a%v^e*$kepelF{r5}E*Ymy#O* literal 0 HcmV?d00001 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Resources/green.png.meta b/Packages/com.singularitygroup.hotreload/Editor/Resources/green.png.meta new file mode 100644 index 0000000..3d66584 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Resources/green.png.meta @@ -0,0 +1,131 @@ +fileFormatVersion: 2 +guid: 45ccf4d7106fc972cb676d15f014f50c +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + 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 + flipGreenChannel: 0 + isReadable: 1 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 109.07 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 1 + swizzle: 50462976 + cookieLightType: 1 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Server + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/Resources/green.png + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Resources/grey.png b/Packages/com.singularitygroup.hotreload/Editor/Resources/grey.png new file mode 100644 index 0000000000000000000000000000000000000000..786e5306d16c8f65b2ec254c97ddf3b424ede71d GIT binary patch literal 493 zcmVkdg0005BNklP5cA=4`B9R;6Gr(Lm$jfN z+5lt!FsMlb$*d?Puw4P+^w#BeFVzt!L+oo4LomgyL^oy>`;Eo@zQtkmBvMM(_cQ=D zk46k3h#H$O!&9GPKKuv>rz54KyA7K;D#MUCjXgaV=&jXre!}|x)j=aXW=l2ii}m#5 zF-#mXh@bC9_B4i;myNtzYjo%B=4*^+DHMMyHhE5 zV}^?k2n^DVDP^ZB08ETxGcys;lH(JhnK6p9zxd4$te#JKE`)UQ?$p$n^~wF=>&46U jzgpV=o9b_EeH8#7{Ug0^-H&2$00000NkvXXu0mjfQ3~CZ literal 0 HcmV?d00001 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Resources/grey.png.meta b/Packages/com.singularitygroup.hotreload/Editor/Resources/grey.png.meta new file mode 100644 index 0000000..640dc82 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Resources/grey.png.meta @@ -0,0 +1,131 @@ +fileFormatVersion: 2 +guid: c381173cda2dd9304b52e11e1a7537bd +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + 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 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + 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: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Server + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/Resources/grey.png + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Resources/icon_check_circle.png b/Packages/com.singularitygroup.hotreload/Editor/Resources/icon_check_circle.png new file mode 100644 index 0000000000000000000000000000000000000000..7f99562cff1cd7535a5055b2855b8e30a4cc8540 GIT binary patch literal 916 zcmV;F18e+=P)Px&PDw;TRA@u(nN3m}Q4q)fE$(AZ5VLd0B6L6Bh|Jb`!u zaS?DAxB<&7giiHLVVKX?^LR5Asxmu@_woOA_v_cwL)h|%wp>5{14KOdvweu#%P|;x zAld`tF!-M^0`nY%ITpJQ_|P4>^8Dr=cy676xdBE4gguoohQJI!G{8acPBkZEkUhZo zyaA$b0QNT#0ALDG2VU>iW}V^ylk*dRz5+P0*)V6$5a26#{b7-HivdiUZ2;ekY*2VC z@g)xWH`;l6fJsw?3qTc57oLBi*+>WQ+Fh(15|7IxL%_t@&T%d zd6S75Ur_h2vxa2@gxTiaw0<@J^J!Lg$^mGKc-N`YmUjrxKTVsQ4iH{aKWuj^Y2F1q zzZ+jW9bnS@<=}>O%`t`Nzc&L^Zhg7}_!7VyBQf(Q)cb?=aY+x1Th}1|Y+TIEfG{ki zirraA31NWXTX_A*Wts%2E_|Xft$~m#w(h^p_CUDEqZ{Mqu97^EvNtX6jV1ZAcC`LJ z5%oYd7ni+wu}SP=ivhGc086P{*0Y)TKowoV>vdKFHvxD8qYHw()My?D;>81WgL+T0 zR)`bXdE6X;aHdf6gx|Fj9Chc=g`FGmp|A&d{%eI`1MpY;iZma>rFa9tL~#Zrm2vGf z(OF1`a4p^tLK=WD6KEjZi#HzPB4tEA1QLapHqV<5U~U>MdXZ&8#6`FgFYD%BWHMmV zoC0`fGQ{iuCJ2|}ff+nM(uZTxa@r=0R`Ilg2(Cy) zVWy7LU|=GAk~i_|#boJ)U`3Knv^04)?U_dLQmmg15PCsgFpi5EskG6N@?m|K?5;%7 zlv;&YaDNYUl&j4;0 z6>b+oX-a~cXW0g^95`(iI|I`ISPtW@!lK5|A7ahQ0nE!jXeay}wfZb2Px%LP$kL5+w>psl}gwmX@sw{#29hd?3P2`#a*mmf3m7NleNnH>o0FHqHUBM;NodAP6GIRl?X?$R} z=p0G{p#va|w6RX7Bmg6(hbqZq7XPJa9H{u>07$8n#^bu$m|~FXB#rSkiZKqrmPs`* zwaSoQS(#J-q{H4BDk(R4TU5tZ0ayoS%WaXN{0(3(%%cJzbBYXOdHTer799XGRi5R^ z@*-RM!c%Ni1m=O&oB~(?){1S50+2=5)%Dk(?i>Z+3h308m@?fp(3KQ{w;VJtm0zT( z)g=M=0xDDXtggE6ux(K(-mO@)P?O{$7ct1{i zf1!~mWVww9rPoeQN0@a0cCe7%%&=@cB^vvp@;FKo9_6(G! i)gkvk0Ef=B67>VwUt%#q^N9ig0000?P)Px%p-DtRRA@u(nLCdYF%ZZ9UMU@~4#cB_J3$LA@C`PzMH))(D1Z(mXn2T60}>^d zf=5Y{B9r|FKzp_72B0AUy&41(Y;fXhVM#F*Dy>9A*WGqG)W4 zNe*Le`o_$BEEga>RlaGH=QCf7G3ORfvD+d*M7IDuXd?iC+syoM-ZvXSlSc;WJZ-Da zHh}j4PD(X5B>#b#Pvu46R||?))_hEu`9L1P9{@o^Gb%M>nE5~7Y)i;{0PmNO_nX-J zH0pOD^ZqE2!#97GeDsh;-w97Jso97?Hc%le?UsEQ&mQ_$=64o#=iI~6{5^tIOavQlN~ zO`N5`+ebbd(A+cY82~E)4g=Vm?z1fb-vK0rakDkgtR*u|CBqBtfl4e_q+}PMqKPc5 Z<}W1b1V9r#p4$Kb002ovPDHLkV1j>FMLYli literal 0 HcmV?d00001 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Resources/icon_circle_gray.png.meta b/Packages/com.singularitygroup.hotreload/Editor/Resources/icon_circle_gray.png.meta new file mode 100644 index 0000000..45095bf --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Resources/icon_circle_gray.png.meta @@ -0,0 +1,154 @@ +fileFormatVersion: 2 +guid: 809ef8ee76ad04e198cc8ba61c994f83 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + 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 + vTOnly: 0 + ignoreMasterTextureLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + 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: 2 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Server + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/Resources/icon_circle_gray.png + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Resources/icon_loading_star_light_mode_96.png b/Packages/com.singularitygroup.hotreload/Editor/Resources/icon_loading_star_light_mode_96.png new file mode 100644 index 0000000000000000000000000000000000000000..317ba373be7912a0a93e86985d5b6b13d933d551 GIT binary patch literal 822 zcmV-61Ihe}P)z@;j|==^1poj532;bRa{vGf6951U69E94oEQKA0?SE6K~z{r?Uy}k zB0(6(-Blx^U?C)U+}46ct`7=U=|fyeDK-{CB*g{t2^6o8AQk};%Md-%Um=EQ`s6F@ zk-{bjlHf~r@AZLIs@SO>+9>4q9{C- zD;UFu9CLGXbBMV}9R6m*wjk{A9LlLF!=XeXaXlZ^V|og}U@*A$`~6xZ$eRiq zdKWUf0_FIjopNAl0DuwjoJ5Hx-JAEW1iqED&@BNS8?~lOM6K7c1Yc|% z%Ve}5o6RDzRJ>mAUcFxb%erkTl}g{~>b|2qaB_NjYMa1pPeCr1JD`b>)dYIc+_CO= zfpV$@+I+2YxorEMurvV5$K!FEL_`Vc_(UC80eDUo?iY@t*S0glbO{i4cuu04&wV~$ z>f+);m(|YC&-W=ZzaUfA{aGj!bjKA+p`6CxB+{~Iwj72CWHK3%lxv=wDF@Hb&mnp} z?V>qlv= zR(m9+X%b~B=|-brxq}zCCU`3^gRs+5rK!mDT{@r7+doR7G!O^~&1Tc^fON{)*;$MJ zX9z3p0f0y_(UL{J0B>b0mOWo!YQQ?#umLXDKPmJ=|34R&L;wH)07*qoM6N<$f*gKq AKL7v# literal 0 HcmV?d00001 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Resources/icon_loading_star_light_mode_96.png.meta b/Packages/com.singularitygroup.hotreload/Editor/Resources/icon_loading_star_light_mode_96.png.meta new file mode 100644 index 0000000..5e9ecd8 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Resources/icon_loading_star_light_mode_96.png.meta @@ -0,0 +1,131 @@ +fileFormatVersion: 2 +guid: 725116e63c640c8408ca1c393191bc99 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + 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 + flipGreenChannel: 0 + isReadable: 1 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 109.07 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 1 + swizzle: 50462976 + cookieLightType: 1 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Server + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/Resources/icon_loading_star_light_mode_96.png + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Resources/icon_warning_circle.png b/Packages/com.singularitygroup.hotreload/Editor/Resources/icon_warning_circle.png new file mode 100644 index 0000000000000000000000000000000000000000..9c4d478e633e3ec3907696c2f47865e9eab73a53 GIT binary patch literal 941 zcmV;e15*5nP)Px&XGugsRA@u(S=~|FKoI^`%n;dfCZ>YG6Cy8x3V;f5I)DlS6#x~)R1l~jrUFa_ z_$ij3fC}PF5Ehok!NV0xTx|0Xbpx3+I+i$=ijMNrr&-2snT5cjke=Y)8q}ZzC?Z?T+0+VaHhVUtk0p`Bdds$0lK=kwEkM2~xUm5@aY^?0me!8>l7GgkW z;VR`001)XpSlB`UT-!VYaQd1V0B~+Op0IQLEgb+Rx~O#r$MFERDlIS{yk-UnxUD+g z>@gK)VCexY!5v5sA&me4h`!|^5RRe%sSW^yx|B=&f6}1T#Ob&{X*yEVsLn!G7Le3J zCJuFNQ_%jgECUqvK3a|!3d7QxIg##0z_{S70B0(1fdJ_2W=_*n^7qg**QaBVU)%Ni zs^iHAHO#)T?_u{cI!d!Zok*OXEVja38~o$rI9mp5q|k;%YxgRVDnK>%}UGpZ+Z zHagBq8oN|!AVk+zchJb%F9l#6PMW3_Sq4qkGd(XILZOSjfFB%LF<&TzqS?vtM@>zw z!A$kE^(gfhQxM3c*omHBwefrOfy2Cp7Yd=c_!U5is6pa4t2~%TCTbC=9UT=)-jN`4 zc}0@6o1iQJo)xgDKV1rL&OgL1oFm0VvC}vU>jk5goEXI2rXB P00000NkvXXu0mjfQz@q> literal 0 HcmV?d00001 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Resources/icon_warning_circle.png.meta b/Packages/com.singularitygroup.hotreload/Editor/Resources/icon_warning_circle.png.meta new file mode 100644 index 0000000..a73ec22 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Resources/icon_warning_circle.png.meta @@ -0,0 +1,95 @@ +fileFormatVersion: 2 +guid: 0f8d84c5136cc4c119f14ee9797fb05f +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: -1 + aniso: 1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + 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: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/Resources/icon_warning_circle.png + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Resources/infos.png b/Packages/com.singularitygroup.hotreload/Editor/Resources/infos.png new file mode 100644 index 0000000000000000000000000000000000000000..5a8ed9b223762c380d713baa6e2fe63e9c14fb0c GIT binary patch literal 5947 zcmeHLdo+|=8=o<`9G62;q%fwO6m!2Y!z5x^Er;M3*7@3QiaZNYfbknJfkV@*% zRY*!lh!f{Tq4IS>IWCc+BuS~hJ(F(hJ8ONbwZ8AaUTfRWyZ3MZ_OpM_exBvE)yLaS zPuo-*27~Fb+?jr$M=G0v2KYT^ApblJ22T+%7(Ofp11XV;`GRN&2D5Hb?Dn)~`p&Lf zOJtbu4o~OB7zg{hl<gU1hNEe`2#VcXfw z-oDd6F1dZ0&tvxat6gi4EG+NOHfY|sr7>r(@p1$6;A?$GPqnsOv!c&WUeMnAr~0O+ z3X#z(*O+^KxmR@^{D-IhT~w5T;T+j`&8mLdkg@3Jkg^`l2<@DJiu^lQPh~od1z=Bw zmKMxYV9xHe=6V@0YQr``gq}wktuwAzVczT}ybF3@VYtt-5b}!IvFD1**xO@HuR2ce zA9#$O+v=M8{I8MwwA?72N(%kyNb^W#8uEpfaa_wG`nt>UEq2>O-Yg`Ys=W*O63hNh zMueD4FCKa0=g!9|Qf?cL=T9O1!Wdk3`23;OX-~sEE}B-QbkO^~JYObf#V^_S@@3!5 zDks!~y4TV_hm97Mf}s2$abGHf!E_9j4GzoBF#&_kP%w+nVl9Aaffo==_!Jl%SVYj^ zU)XAJ1PlSjHiI?|*h-ADnZngo{SIKynzYk_Z9R!m12!J62Gaw54rl~m8-e}=Xo4*t z_NoN7^3hWLxC2Yc{IPdqv3-yP3?7FelE8W#fk?wqX#_lyK%n7BG=d#K!*f4-q-0td zJ?sgtWr83eSRTywqH)DS42LHUhcF33i4p*FbV`tLxGNz!G8~E!i0G)NzgMA<0v;W; zgv`dVB@8H1;GQIf{FA%`xJfIyR36G{p|)cJ4G;(+IR}{_j26jg33QZ-mj-O*FcyVW zLF6mxs9@kXLo9`mBn%0IL%Svj;s~gP+DJz!k5BVsE}o^C= zKcR%p{zNa5O{xI&z$S1cSUd)Y6$-Imu8_%H;{eH|L;tu!7LX``uzrwC94qBQu5pk^ zKIcmc9{1CFNvt$lbsQcS3q?ah0F{AV@n3DJjPR!wN(mwaLWyb>5c?~nT)_V<)>pnM zXH>`e(h;!y6Yp2(k7rkb0gBD0F~!_irF$$U9i`l##uIY|JetZR+7n15GQ>gS$UHkV ziASNJsbmfjZI2J<;cz%Al~1I8LB$fuJtI9+8hG5vUM4 zoI@a@!?|`8K1Af$kqN{vD1Md-z^&v&f9aKyiU+9hR1VReOeCR6Bnl2q3WvC8dp=<1 zgNKSI+i@xUa1|AgOIs|K3OOL00wE^?!b(IDstKjwG-n?c9Yw(4K9BfBbL4!mfR6GK zh+-2yPXq{rkiVRxR1+M6Oe9b!6e`i4M5Nk(1_eP<8Mui`PF1d|W|U!}fx`e{Im&wq z2vpg9)0I@ilj{214pQhO$op>BMhslvcfb>(|2Yk$X8yqMAAKX{cvBf+A zKk>hzmC1v21b7f~cYzG-pQsx8kWv0n%!juRuh9ZkDj|`oq@Z!QAC4g7#6dijpMdMb z6gQG1ihw}%n7pnZ#|8gz75MfbKo9|k4!0wd(Igzt9vx01^U!t#ez-lJgXdGJ(AVrT zF<&0fkwVT9Ku4ezxSpzth_qG(YW~;g_((_@1t1t2M@19x9|faM3Wl9LFjiSJKAzYS z`yZM(ssLXU8L;ld7${z#7GggY!%5AQW#|9+Ovd8>xC5a6zR5S~`(3W@a($Bm-vs`C zyS~fyO$vMy`1|eppUI{D`Ev>qfxm*{!N-z?M@lOA(9#I^bYsF=VM}03=AJkYzTjY* zau(ZFv+sxLMpMj+H6Pjm%sm#E54DOmx8TsRrHlqt%x66 zHDjAzym6URX{AGL1hxTMJJv26qK_?mea17K5?Wl$VnLA6hKzi*7xoAZISgT(a=$XS zA>3!Vc92}%b6(07(`Op*D_=8w?kWz@W%*T3zqtMWD5?yOlf!W)x>x5_p9m|mRjat8;dpG_QmfAOWw|2QtS*OAvwgK1omt*)Hjd{O$stO&l;YT^$rhU{`Dz|hKp+TD5*Qjgm;B7^H;M=YYxHv z*C4o*lp$D4NdDO?hoKjUrU!`Yy)m|5bXlysL4YYHRNI%qx(Hl*X?|$t= zE{fo`dFHc{YP#8Z!y|{rMke-H$FvoZnzERTZF9!TpBTs-f)#Uz{rWG2OicO7Q9G^Y z++w;~X@&xRr?)<9Rvo_M+R-}*A zx93~d^tuK1*yKU*)y%3cSheNIAsnIcJ_NiR=rvsu9VA>dKSOkAAw7Jd=^mbLFWoy_dq$ zAh+Bae4G@R%qX>nLIVQx?=+XlA3a?E6t(>B0o1`xO3u=k6Y6uXTc396gfDkYNnBfy z*7&d?v|{5#RD0-g<{D!%^+FK3k{<0=jZ|#WD%p9$R6le4jHGJ8)(KHf(Rx?W%G7*YQ+f^2NAm8O&n{0VvG zl|wy_!$YGciv|{~x!DXmT(LH)O5;EQZr8dgfiT|}1J7y;QO(Ix$1)ETp{+pU(y@b{ zFL=GRears%>#~*KrH!cay*H;fb}N|8&U(6?O$Ee2adV>7;*=iow?Iq-X;$NS-XFt> zo8tEDv$so=(`~ly-4sPXJ$E63wxZH=k-#DnT6a;;Jv!JsBcsYwIC|h$9sRcO%(ZS0 z2s;}$>-#@n5Scu)qD{UUaZEz5xe8mGNkLg6EY=KB4m`}-$1c!2YifcVn;UE;J^Q;y z+j@q-b2(n${tETQQcSeLtRC+r(=Bd}d8_sAT4aOhztEFT*9|D`G&>oRn`z@o6(NU< z-(fWtiEL$0uzk#9a#}*c35vQ`pGQ!!-68luTBx35bzXN>%GniaC$IcnD zxgu()=xE)tX|iSWh-b`pyKW18HuMOt@%K7KA=&gd_qpb~FE;fI*HCNIo)S(Oy=huq zw=|&o!0g+;xjSwb1?&#bl4Ek}W8s5I_kp1>&S6iOy)EHaduY2f!+~nMnq+^*F!QoG(vB8GIg2SY z$kNGTb|m6i-NKStE9CAmxn@h-=MPWwOKZ`SwOLCUmh-bE#*#DR1(&)^4_Qw2de}Wt z-^8gCZ{^+|gyQf0Wo1>V-`}q8^{{-Psdr#TM${7tsBZ=KT=QTP{p-^fLVmB=y6sxs z_bg{w`e4%zFKK?g8gA0$TF*>7y$q8#Fn+nG-Z}f)sfNqKRPJ5rZod&)!tS<5_NA;1 zuL8~!bV#&i)q*bTj}6I2y=5_KB8-GdN@`XX zGCRV;EZHb#V-_|d7HpLbg)%fmiV~59&jy8^h1X24#dF>D^zjIJ+j|Kt5Ailu z;33vv7_YG&_pl5%aThD=0vAL6j2#%n8yv?tK425J;v+WWDn^RH!rKEiHiuY`M{E9MIzlVhtryG&7X*i~G5#~vkWV$ZbNEvP zmImJj2W#Cg;5zmt9to~Oy9ivuPOMIRKln0!2M>~a9Q=+i0}0NAycXwhBxefWa*YYq zHuhr=o?xa3z|Y`e)l-eC_J4lJ)7TKsLCioA=)?Yy&#Q*`2-ol{1tN3+uS(a}KYrs7 xF00lWzTyyWG>HSvL~IJ{a8~uTkK#u!;$Ka{SA#QUB!&P0002ovPDHLkV1n@_!+-z) literal 0 HcmV?d00001 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Resources/logo.png.meta b/Packages/com.singularitygroup.hotreload/Editor/Resources/logo.png.meta new file mode 100644 index 0000000..37ed332 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Resources/logo.png.meta @@ -0,0 +1,134 @@ +fileFormatVersion: 2 +guid: 0779c2964d0997956acf3c29e4e38a5c +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + 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 + flipGreenChannel: 0 + isReadable: 1 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + 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: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Server + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/Resources/logo.png + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Resources/red.png b/Packages/com.singularitygroup.hotreload/Editor/Resources/red.png new file mode 100644 index 0000000000000000000000000000000000000000..44c2c9bf7ccc4a185cdbfaed8cadb5cad95f11d8 GIT binary patch literal 345 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyegQrqu0Z;Ur~M;Or^jygK=i@g z=dqi^V|Rzw0iMr1T^_sJe+c$@?B)E#10?d;)$Wn2{kO=#Kk?!JlOn%G2K`Tt{+|@} zJ1+EZLd2i=uu_ZL#y}GVN`m}?8AP)Wz7SaW@4NTk-+6z29IE_1OAjcw%G1R$#NzbX zNjHU>6?j}lZ?Z(HFn#-9za{wAMy`@e+rRC5wn4@6@P~NGlP-Ig3rp@!J=Pk->~Ler zgEecqpjbspLC oFWp+V#kKnTg?qIZ{*~`!et1$j`zopr0N&}C&j0`b literal 0 HcmV?d00001 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Resources/red.png.meta b/Packages/com.singularitygroup.hotreload/Editor/Resources/red.png.meta new file mode 100644 index 0000000..4ed624d --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Resources/red.png.meta @@ -0,0 +1,131 @@ +fileFormatVersion: 2 +guid: b0408809d04ad6d719d1e4d66c181cc2 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + 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 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + 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: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Server + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/Resources/red.png + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Resources/red_dot.png b/Packages/com.singularitygroup.hotreload/Editor/Resources/red_dot.png new file mode 100644 index 0000000000000000000000000000000000000000..5c43f676b505b913e2eae037ddbe72af53e3b654 GIT binary patch literal 4838 zcmeHLdvH|M8NVAI30uYYBFL26eu$ z&$kfCfe%pAHW{&*I%8d8GabZTsv>|O- zNG|LTz(&FG9k6eQO?@Km>nt3bpB(Fl%R(%Tp?;~)UyV{ul5o0cXircskq|_ZK}k*| zDUo5If7|ayA~KO|tqZQf@1Ln2PqokELE{N6tVRHWqz<&~e5m5BlDq$O?wMsR0dZgH zALn_RPFBubcYI}G+2hp@ocgT(2Q8($x6JSAdN_{pH|mayukwHYY+zwdYhHeEc0u{< zqQOnR!{ytuyKmn3;_R<@qIMjZpwpT47a-;6H$ zC*A$-tjL*Py!hbP`ljvkUal`HDM70Wx2Q9;{0otHr+(BD`cYBk!a-s1sBiZCjY`Lr z!Mi@%)q8jE$9<9Tp?w9jmaTp;`C<*rTvjhX*Z%3A3!fA}GFKztX>U5#vf}!i@zOP` z!eSqJ^o1uEJeiLk*=}!tVfvAk1zlxZuJ2y-?}z*GU6uC-r`UyA)ooMH|FiAp8&_k$ zzZ`h4(q8b>OS8NGH7C35bjkA{@*i|>e_OP*Ug+F=X|R8P=aqs_f4O~@JIisgv#V+8 z?yolY-c$ea`5nv8?`@@D3r$ZgKBDzZdh3&gC> zOYir;fAL(yyEktlhl7dNetUSqRs_jgqz3AYI{$J})}l^H(L%tPipI?aLy8xt;*z`; z7-$GIs4=(W>gjV1R8`!LAmbfuR?S`s=ykV^@D2~O8?8PY&0z`o!p{Zyj zri&@J!@?Ee*c9Uq)KW3lx*c_}jyzfdptO^A5?FakT~9d{+0o*J5*BN`OEM7f$?a$~ zjJSy7$z;-*bUC#|15OHpfD;r>Q5e*~^yZi$rLdTOp9zu1@B&>ZRCUITQkDItUM z^&n>4HyT2bhwbA{iHMbsBI6(eqEJR-P(GpP! zE~grm8UP-THCR4O!o|{RpW8t>i4jS4L^8tA!0lMB#+p(i69F{}Y7NO`lVk#iwNCAK%q_OC_7B-Sn0+cpD9wAq-JgplFEwmP@XsmX!5tyq03Bw2h{su@w zWN48gGlb!{K1Epyvoa+EjOPG>!K^rp4>K&rGXfoAsgS|~dTh}DPl_ZJpa_w6i45`G zrO2}3up}!XOkfBKZfF;Y@v_2UG7mTf5E4O!_-`>qW~l7hu_+eg=E*-)x5fB>Rd!lo z)KvjjKP`h-5WLaw;VUgu7Utz~3qP41bqhT}=m{s|;&+0s3A)C`z_^qrs%wI-aWOD1 z<%#P0*66a2ycB~N{985&UwPH{noh#k<*A{{rC#JONDv9mZ+`{;Uj&&JuUMrc$oFQL z&4%nhFb4{=4WGX}`>)gT@^0hr$@Sb0MQ428(g5H4`OZ>%8BmYH zpcF77m|-dZa~bp)zA&6&SiE{314G#Czu9YlK@}tle%Zok#W028*#Ga0<_skaXBhtf zw_MH0z`z1g@MR057?bphXABGs3=A7WcQNdPnacz*oWY982`bGHTFAH$VKEB>0|UeV zT*i4T9>au~SN*^J-;}|W(H5>M^nYkFE?+Pa@+L&VB}OZBi75Vh7Ptb&$^VlgWRazV zS^m7bmVy*ep+_0TnCxNx2xehA#>lry1MUk31|FX;TmC%_o5FDH{}%>x#MoMaMDWU)X002ovPDHLkV1oH{cAo$M literal 0 HcmV?d00001 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Resources/refresh.png.meta b/Packages/com.singularitygroup.hotreload/Editor/Resources/refresh.png.meta new file mode 100644 index 0000000..e76d773 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Resources/refresh.png.meta @@ -0,0 +1,134 @@ +fileFormatVersion: 2 +guid: 75c3ce1c05b6563dfbd2ac68fbb63c79 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + 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 + flipGreenChannel: 0 + isReadable: 1 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + 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: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Server + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/Resources/refresh.png + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Resources/report_bug.png b/Packages/com.singularitygroup.hotreload/Editor/Resources/report_bug.png new file mode 100644 index 0000000000000000000000000000000000000000..9754cfbbe431bbe4c6dce336797ccffe7feda5d7 GIT binary patch literal 763 zcmVA#+anu}5EkTqaEb}-2?9ui_95oQYqH2AmKo6=cnxu!W;SDFI~IoYC_n^&jFKswk|hDD z-3UMqiGL1|28MC6q_UC?egLT)Cc6SR^i4$EpY%ua{!lms>ih7CBpZi2C3u`zWPou z34CXfv($Oz06n-?X=Ry05d|bNMkg6$af8D&c=G|!fn7P*nuQol%qh1t62ocgNbsAw zv8fMh4wD~bq>7r=PY=pLh}=X)ki3m^%gL9S1;4yDNbaCtl!*mBxsC{AJk>$+4$iAS z%6UMO6zhmU9HTxUbzRud!p>Ea$s||2*JG;yWVDFnCp+2UO>aAP^--i#LoNUrScOY} zUJ)Q9CuyS<3)vWWMx}Cso)$9{c%w?AKz!5v%K~I9Hf%)kgcodMoC;svb)T4IKV|@u z*(*lHS3MU75ZgIJ8dg$ir2bD1Tq-ZgW*-kBOi$52xaPv3hH{b$V0B< zd!HhGFNHDS0%i`fNDnXR;B9zylv~~<2^%qt)55DT07;~9lSVbMQhTduc?}PTxKFe4 tgw299lgF?cTkS6(4OrNUOO5m2tltmQ-w6mViemr(002ovPDHLkV1m%nPJ#dc literal 0 HcmV?d00001 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Resources/report_bug.png.meta b/Packages/com.singularitygroup.hotreload/Editor/Resources/report_bug.png.meta new file mode 100644 index 0000000..be3a2b4 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Resources/report_bug.png.meta @@ -0,0 +1,134 @@ +fileFormatVersion: 2 +guid: 77c9c0af0f612d0a0a94cf95e2235730 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + 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 + flipGreenChannel: 0 + isReadable: 1 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + 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: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Server + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/Resources/report_bug.png + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Resources/undetected.png b/Packages/com.singularitygroup.hotreload/Editor/Resources/undetected.png new file mode 100644 index 0000000000000000000000000000000000000000..50c857a22edd2c4ba3c13e7bb2f5a3fc5e745eb3 GIT binary patch literal 720 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

vaxVbv*9S zHq}**q`huv;E{jSJKvC|AOAy8;99E5(-&vg>9jm&-&1sFZGW@Zsg=8+XJ< zyJUUNy`KVajmqV@Q=zi5c!5?Y<p7*6OK{k1;t6s-Ak>lb+S&nzssXR4hgPH>gwHTcF*7Hq-J%cBjr%$(6*6zM{8pNrp zbK34yH5w=3gvJ*bPk+QTPO7k}`Dc!!@;>ocquK1)W|)@l#u6G-$qx?3WL`*)6o|zF z40LrsW5%wtPJZkF8=}@%d)4`P}vS zBGpAhoqd?1_^GM{*8v>s#lGt=C9l$d+!+`aAJX<4E-k>a(qNk%16|Gf(Ud^>6fU9yr)y{&4hqJh>3=-=?}@m>XR9 zdumI!$>x|JoMY;$JM1r}GN#eHAjBiD)GHcm%;lyuH@Loi(Xse=TKM38v+j}0_SfCe z+gi0Y>l#Cns5=(886Q91x!hz~H8&yqN!O$H^p%g&f+Vnq4%&LnwQ46uoH1aKkkpbF z;OmQ67*BuQ>u-E}Yhu}kjTu**s!q&Li%0Fw6}8=l?5O!(4|7ILpL~D0@Mx3g=upMl zCwVP(bu}3fc0=oLoP^?Bor;Tg!#OX%F+8V0o^{pz=9RH&C}a)NIQ*=lQ~~w&w+|1f zp4@6RJoSsu9ty>DU`CD+5=my2!(ZRKx`V)hVm<%#UACh;t*Jl9Z0_a)wOhLt9p>K zn_sbUkaceV@~QEZuO)8-BB08Ujk$lmKQedw;P=eOCE91s*t}95w#gSP@E+_Ghn;g7 hT~9R}?TRcZw>t2={Zbm)L;$KO#PamvrxxO&7x1tTUB z!g>3eE&u=ks!2paR5;7clGzf2APhwnSrkNeu>JoJ?UXuHflm6?-q#$KBxe}@D*Xq37<0ZSi+(CGXRT4k{gNjfC zLC{lw%*Q64y}LzQXn`=J0w@zZF{%LA_5h0upj{7e8USt@c;b$sPfp*r2@VPzHM}fv u-LNpQa#`B#CGFOgHfyh*+N%%R|1J;ViX&?$IjO?{0000 instance; + public static TimeSpan HeartBeatTimeout => heartBeatTimeout; + + ServerHealthCheck() { } + + ///

+ /// Whether or not the server is running and responsive + /// + public bool IsServerHealthy { get; private set; } + + void IServerHealthCheckInternal.CheckHealth() { + var fi = new FileInfo(Path.Combine(CliUtils.GetCliTempDir(), "health")); + IsServerHealthy = fi.Exists && DateTime.UtcNow - fi.LastWriteTimeUtc < heartBeatTimeout; + } + } +} \ No newline at end of file diff --git a/Packages/com.singularitygroup.hotreload/Editor/ServerHealthCheck.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/ServerHealthCheck.cs.meta new file mode 100644 index 0000000..7a6572c --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/ServerHealthCheck.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 45b5951115b94f6ab79756f71777a915 +timeCreated: 1673812440 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/ServerHealthCheck.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/SingularityGroup.HotReload.Editor.asmdef b/Packages/com.singularitygroup.hotreload/Editor/SingularityGroup.HotReload.Editor.asmdef new file mode 100644 index 0000000..a47a0d4 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/SingularityGroup.HotReload.Editor.asmdef @@ -0,0 +1,32 @@ +{ + "name": "SingularityGroup.HotReload.Editor", + "rootNamespace": "SingularityGroup.HotReload", + "references": [ + "SingularityGroup.HotReload.Runtime.Public", + "SingularityGroup.HotReload.Runtime", + "UnityEditor.UI", + "UnityEngine.UI", + "UnityEngine.TestRunner", + "UnityEditor.TestRunner", + "VInspector" + ], + "optionalUnityReferences": [], + "includePlatforms": [ + "Editor" + ], + "excludePlatforms": [], + "allowUnsafeCode": false, + "overrideReferences": true, + "precompiledReferences": [ + "SingularityGroup.HotReload.RuntimeDependencies.dll", + "SingularityGroup.HotReload.RuntimeDependencies2019.dll", + "SingularityGroup.HotReload.RuntimeDependencies2020.dll", + "SingularityGroup.HotReload.RuntimeDependencies2022.dll", + "SingularityGroup.HotReload.EditorDependencies.dll", + "Sirenix.OdinInspector.Editor.dll", + "Sirenix.Utilities.dll", + "Sirenix.OdinInspector.Attributes.dll" + ], + "autoReferenced": false, + "defineConstraints": [] +} \ No newline at end of file diff --git a/Packages/com.singularitygroup.hotreload/Editor/SingularityGroup.HotReload.Editor.asmdef.meta b/Packages/com.singularitygroup.hotreload/Editor/SingularityGroup.HotReload.Editor.asmdef.meta new file mode 100644 index 0000000..8e46402 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/SingularityGroup.HotReload.Editor.asmdef.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 43aab4a50a5839e44af6c24ac5006688 +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/SingularityGroup.HotReload.Editor.asmdef + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/SingularityGroup.HotReload.EditorDependencies.dll b/Packages/com.singularitygroup.hotreload/Editor/SingularityGroup.HotReload.EditorDependencies.dll new file mode 100644 index 0000000000000000000000000000000000000000..6514c03c9675340700d271d815cae19e10ec991b GIT binary patch literal 370176 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�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 RKmYi@7>oYDA=lx7{|m@7Cujfw literal 0 HcmV?d00001 diff --git a/Packages/com.singularitygroup.hotreload/Editor/SingularityGroup.HotReload.EditorDependencies.dll.meta b/Packages/com.singularitygroup.hotreload/Editor/SingularityGroup.HotReload.EditorDependencies.dll.meta new file mode 100644 index 0000000..2d0e40d --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/SingularityGroup.HotReload.EditorDependencies.dll.meta @@ -0,0 +1,40 @@ +fileFormatVersion: 2 +guid: 2286e58e1d144b84c925391e896974b2 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 0 + settings: {} + - first: + Editor: Editor + second: + enabled: 1 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/SingularityGroup.HotReload.EditorDependencies.dll + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Versioning.meta b/Packages/com.singularitygroup.hotreload/Editor/Versioning.meta new file mode 100644 index 0000000..0477de0 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Versioning.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5726f82867506c8408235866081bec1d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.singularitygroup.hotreload/Editor/Versioning/PackageUpdateChecker.cs b/Packages/com.singularitygroup.hotreload/Editor/Versioning/PackageUpdateChecker.cs new file mode 100644 index 0000000..fa107ec --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Versioning/PackageUpdateChecker.cs @@ -0,0 +1,295 @@ +using System; +using System.IO; +using System.Net; +using System.Net.Http; +using System.Threading; +using System.Threading.Tasks; +using SingularityGroup.HotReload.Editor.Localization; +using SingularityGroup.HotReload.Localization; +using SingularityGroup.HotReload.Editor.Semver; +using SingularityGroup.HotReload.Newtonsoft.Json; +using SingularityGroup.HotReload.Newtonsoft.Json.Linq; +using UnityEditor; +using UnityEngine; +using UnityEngine.Networking; +using Translations = SingularityGroup.HotReload.Editor.Localization.Translations; + +namespace SingularityGroup.HotReload.Editor { + internal class PackageUpdateChecker { + static readonly string persistedFile = PackageConst.LibraryCachePath + "/updateChecker.json"; + readonly JsonSerializer jsonSerializer = JsonSerializer.CreateDefault(); + SemVersion newVersionDetected; + bool started; + bool warnedVersionCheckFailed; + + private static TimeSpan RetryInterval => TimeSpan.FromSeconds(30); + private static TimeSpan CheckInterval => TimeSpan.FromHours(1); + + private static readonly HttpClient client = HttpClientUtils.CreateHttpClient(); + + private static string _lastRemotePackageVersion; + + public static string lastRemotePackageVersion => _lastRemotePackageVersion; + + public async void StartCheckingForNewVersion() { + if(started) { + return; + } + started = true; + + for (;;) { + try { + await PerformVersionCheck(); + if(newVersionDetected != null) { + break; + } + } catch(Exception ex) { + Log.Warning(Translations.Errors.WarningVersionCheckException, ex); + } + await Task.Delay(RetryInterval); + } + } + + public bool TryGetNewVersion(out SemVersion version) { + var currentVersion = SemVersion.Parse(PackageConst.Version, strict: true); + return !ReferenceEquals(version = newVersionDetected, null) && newVersionDetected > currentVersion; + } + + async Task PerformVersionCheck() { + var state = await LoadPersistedState(); + var currentVersion = SemVersion.Parse(PackageConst.Version, strict: true); + if(state != null) { + _lastRemotePackageVersion = state.lastRemotePackageVersion; + var newVersion = SemVersion.Parse(state.lastRemotePackageVersion); + if(newVersion > currentVersion) { + newVersionDetected = newVersion; + return; + } + if(DateTime.UtcNow - state.lastVersionCheck < CheckInterval) { + return; + } + } + + var response = await GetLatestPackageVersion(); + if(response.err != null) { + if(response.statusCode == 0 || response.statusCode == 404) { + // probably no internet, fail silently and retry + } else if (!warnedVersionCheckFailed) { + Log.Warning(Translations.Errors.WarningVersionCheckFailed, response.err); + warnedVersionCheckFailed = true; + } + } else { + var newVersion = response.data; + if (response.data > currentVersion) { + newVersionDetected = newVersion; + } + await Task.Run(() => PersistState(response.data)); + } + } + + void PersistState(SemVersion newVersion) { + // ReSharper disable once AssignNullToNotNullAttribute + var fi = new FileInfo(persistedFile); + fi.Directory.Create(); + using (var streamWriter = new StreamWriter(fi.OpenWrite())) + using (var writer = new JsonTextWriter(streamWriter)) { + jsonSerializer.Serialize(writer, new State { + lastVersionCheck = DateTime.UtcNow, + lastRemotePackageVersion = newVersion.ToString() + }); + } + } + + Task LoadPersistedState() { + return Task.Run(() => { + var fi = new FileInfo(persistedFile); + if(!fi.Exists) { + return null; + } + + using(var streamReader = fi.OpenText()) + using(var reader = new JsonTextReader(streamReader)) { + return jsonSerializer.Deserialize(reader); + } + }); + } + + + + static async Task> GetLatestPackageVersion() { + string versionUrl; + + if (PackageConst.DefaultLocaleField == Locale.SimplifiedChinese) { + versionUrl = "https://d2tc55zjhw51ly.cloudfront.net/releases/latest/asset-store-version-zh.json"; + } else if (PackageConst.IsAssetStoreBuild) { + // version updates are synced with asset store + versionUrl = "https://d2tc55zjhw51ly.cloudfront.net/releases/latest/asset-store-version.json"; + } else { + versionUrl = "https://gitlab.hotreload.net/root/hot-reload-releases/-/raw/production/package.json"; + } + try { + using(var resp = await client.GetAsync(versionUrl).ConfigureAwait(false)) { + if(resp.StatusCode != HttpStatusCode.OK) { + return Response.FromError(string.Format(Translations.Errors.ErrorRequestFailedStatusCode, resp.StatusCode, resp.ReasonPhrase)); + } + + var json = await resp.Content.ReadAsStringAsync().ConfigureAwait(false); + var o = await JObject.LoadAsync(new JsonTextReader(new StringReader(json))).ConfigureAwait(false); + SemVersion newVersion; + JToken value; + if (!o.TryGetValue("version", out value)) { + return Response.FromError(Translations.Errors.ErrorInvalidPackageJson); + } else if(!SemVersion.TryParse(value.Value(), out newVersion, strict: true)) { + return Response.FromError(string.Format(Translations.Errors.ErrorInvalidVersionInPackageJson, value.Value())); + } else { + return Response.FromResult(newVersion); + } + } + } catch(Exception ex) { + return Response.FromError($"{ex.GetType().Name} {ex.Message}"); + } + } + + public async Task UpdatePackageAsync(SemVersion newVersion) { + //Package can be updated by updating the git url via the package manager + if(EditorUtility.DisplayDialog(string.Format(Translations.Dialogs.DialogTitleUpdateFormat, newVersion), string.Format(Translations.Dialogs.DialogMessageUpdateFormat, newVersion), Translations.Dialogs.DialogButtonUpdate, Translations.Common.ButtonCancel)) { + var resp = await GetLatestPackageVersion(); + if(resp.err == null && resp.data > newVersion) { + newVersion = resp.data; + } + + if(await IsUsingGitRepo()) { + var err = UpdateGitUrlInManifest(newVersion); + if(err != null) { + Log.Warning(Translations.Errors.WarningUpdateIssueFailed, err); + } else { + //Delete state to force another version check after the package is installed + File.Delete(persistedFile); + #if UNITY_2020_3_OR_NEWER + UnityEditor.PackageManager.Client.Resolve(); + #else + CompileMethodDetourer.Reset(); + AssetDatabase.Refresh(); + #endif + } + } else { + var err = await UpdateUtility.Update(newVersion.ToString(), null, CancellationToken.None); + if(err != null) { + Log.Warning(Translations.Errors.WarningUpdatePackageFailed, err); + } else { + CompileMethodDetourer.Reset(); + AssetDatabase.Refresh(); + } + } + + //open changelog + HotReloadPrefs.ShowChangeLog = true; + HotReloadWindow.Current.SelectTab(typeof(HotReloadAboutTab)); + } + } + + string UpdateGitUrlInManifest(SemVersion newVersion) { + const string repoUrl = "git+https://gitlab.hotreload.net/root/hot-reload-releases.git"; + const string manifestJsonPath = "Packages/manifest.json"; + var repoUrlToNewVersion = $"{repoUrl}#{newVersion}"; + if(!File.Exists(manifestJsonPath)) { + return Translations.Errors.ErrorUnableToFindManifestJson; + } + + var root = JObject.Load(new JsonTextReader(new StringReader(File.ReadAllText(manifestJsonPath)))); + JObject deps; + var err = TryGetManfestDeps(root, out deps); + if(err != null) { + return err; + } + deps[PackageConst.PackageName] = repoUrlToNewVersion; + root["dependencies"] = deps; + File.WriteAllText(manifestJsonPath, root.ToString(Formatting.Indented)); + return null; + } + + static string TryGetManfestDeps(JObject root, out JObject deps) { + JToken value; + if(!root.TryGetValue("dependencies", out value)) { + deps = null; + return Translations.Errors.ErrorNoDependenciesInManifest; + } + deps = value.Value(); + if(deps == null) { + return Translations.Errors.ErrorDependenciesNullInManifest; + } + return null; + } + + static async Task IsUsingGitRepo() { + var respose = await Task.Run(() => IsUsingGitRepoThreaded(PackageConst.PackageName)); + if(respose.err != null) { + Log.Warning(Translations.Errors.WarningUnableToFindPackage, respose.err); + return false; + } else { + return respose.data; + } + } + + static Response IsUsingGitRepoThreaded(string packageId) { + var fi = new FileInfo("Packages/manifest.json"); + if(!fi.Exists) { + return Translations.Errors.ErrorUnableToFindManifestJson; + } + + using(var reader = fi.OpenText()) { + var root = JObject.Load(new JsonTextReader(reader)); + JObject deps; + var err = TryGetManfestDeps(root, out deps); + if(err != null) { + return Translations.Errors.ErrorNoDependenciesSpecified; + } + JToken value; + if(!deps.TryGetValue(packageId, out value)) { + //Likely a local package directly in the packages folder of the unity project + //or the package got moved into the Assets folder + return Response.FromResult(false); + } + var pathToPackage = value.Value(); + if(pathToPackage.StartsWith("git+", StringComparison.Ordinal)) { + return Response.FromResult(true); + } + if(pathToPackage.StartsWith("https://", StringComparison.Ordinal)) { + return Response.FromResult(true); + } + return Response.FromResult(false); + } + } + + class Response { + public readonly T data; + public readonly string err; + public readonly long statusCode; + public Response(T data, string err, long statusCode) { + this.data = data; + this.err = err; + this.statusCode = statusCode; + } + + public static implicit operator Response( string err) { + return Response.FromError(err); + } + } + + static class Response { + public static Response FromError(string error) { + return new Response(default(T), error, -1); + } + public static Response FromResult(T result) { + return new Response(result, null, 200); + } + } + + class State { + public DateTime lastVersionCheck; + public string lastRemotePackageVersion; + } + } + + +} \ No newline at end of file diff --git a/Packages/com.singularitygroup.hotreload/Editor/Versioning/PackageUpdateChecker.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/Versioning/PackageUpdateChecker.cs.meta new file mode 100644 index 0000000..9784621 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Versioning/PackageUpdateChecker.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 0cecc9e1c2704904691175cdd2f450e6 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/Versioning/PackageUpdateChecker.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Versioning/SemVer.cs b/Packages/com.singularitygroup.hotreload/Editor/Versioning/SemVer.cs new file mode 100644 index 0000000..65dd704 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Versioning/SemVer.cs @@ -0,0 +1,537 @@ +using System; +#if !NETSTANDARD +using System.Globalization; +using System.Runtime.Serialization; +using System.Security.Permissions; +#endif +using System.Text.RegularExpressions; +using SingularityGroup.HotReload.Editor.Localization; + +namespace SingularityGroup.HotReload.Editor.Semver +{ + /// + /// A semantic version implementation. + /// Conforms to v2.0.0 of http://semver.org/ + /// +#if NETSTANDARD + sealed class SemVersion : IComparable, IComparable +#else + [Serializable] + sealed class SemVersion : IComparable, IComparable, ISerializable +#endif + { + public static SemVersion None = new SemVersion(0, 0, 0); + public static string NoneString = new SemVersion(0, 0, 0).ToString(); + + static Regex parseEx = + new Regex(@"^(?\d+)" + + @"(\.(?\d+))?" + + @"(\.(?\d+))?" + + @"(\-(?
[0-9A-Za-z\-\.]+))?" +
+                @"(\+(?[0-9A-Za-z\-\.]+))?$",
+#if NETSTANDARD
+                RegexOptions.CultureInvariant | RegexOptions.ExplicitCapture);
+#else
+                RegexOptions.CultureInvariant | RegexOptions.Compiled | RegexOptions.ExplicitCapture);
+#endif
+
+#if !NETSTANDARD
+        /// 
+        /// Initializes a new instance of the  class.
+        /// 
+        /// 
+        /// 
+        /// 
+        private SemVersion(SerializationInfo info, StreamingContext context)
+        {
+            if (info == null) throw new ArgumentNullException("info");
+            var semVersion = Parse(info.GetString("SemVersion"));
+            Major = semVersion.Major;
+            Minor = semVersion.Minor;
+            Patch = semVersion.Patch;
+            Prerelease = semVersion.Prerelease;
+            Build = semVersion.Build;
+        }
+#endif
+
+        /// 
+        /// Initializes a new instance of the  class.
+        /// 
+        /// The major version.
+        /// The minor version.
+        /// The patch version.
+        /// The prerelease version (eg. "alpha").
+        /// The build eg ("nightly.232").
+        public SemVersion(int major, int minor = 0, int patch = 0, string prerelease = "", string build = "")
+        {
+            this.Major = major;
+            this.Minor = minor;
+            this.Patch = patch;
+
+            this.Prerelease = prerelease ?? "";
+            this.Build = build ?? "";
+        }
+
+        /// 
+        /// Initializes a new instance of the  class.
+        /// 
+        /// The  that is used to initialize 
+        /// the Major, Minor, Patch and Build properties.
+        public SemVersion(Version version)
+        {
+            if (version == null)
+                throw new ArgumentNullException("version");
+
+            this.Major = version.Major;
+            this.Minor = version.Minor;
+
+            if (version.Revision >= 0)
+            {
+                this.Patch = version.Revision;
+            }
+
+            this.Prerelease = String.Empty;
+
+            if (version.Build > 0)
+            {
+                this.Build = version.Build.ToString();
+            }
+            else
+            {
+                this.Build = String.Empty;
+            }
+        }
+
+        /// 
+        /// Parses the specified string to a semantic version.
+        /// 
+        /// The version string.
+        /// If set to true minor and patch version are required, else they default to 0.
+        /// The SemVersion object.
+        /// When a invalid version string is passed.
+        public static SemVersion Parse(string version, bool strict = false)
+        {
+            var match = parseEx.Match(version);
+            if (!match.Success)
+                throw new ArgumentException("Invalid version.", "version");
+
+#if NETSTANDARD
+            var major = int.Parse(match.Groups["major"].Value);
+#else
+            var major = int.Parse(match.Groups["major"].Value, CultureInfo.InvariantCulture);
+#endif
+
+            var minorMatch = match.Groups["minor"];
+            int minor = 0;
+            if (minorMatch.Success) 
+            {
+#if NETSTANDARD
+                minor = int.Parse(minorMatch.Value);
+#else
+                minor = int.Parse(minorMatch.Value, CultureInfo.InvariantCulture);
+#endif
+            }
+            else if (strict)
+            {
+                throw new InvalidOperationException(Translations.Utility.InvalidVersionNoMinor);
+            }
+
+            var patchMatch = match.Groups["patch"];
+            int patch = 0;
+            if (patchMatch.Success)
+            {
+#if NETSTANDARD
+                patch = int.Parse(patchMatch.Value);
+#else
+                patch = int.Parse(patchMatch.Value, CultureInfo.InvariantCulture);
+#endif
+            }
+            else if (strict) 
+            {
+                throw new InvalidOperationException(Translations.Utility.InvalidVersionNoPatch);
+            }
+
+            var prerelease = match.Groups["pre"].Value;
+            var build = match.Groups["build"].Value;
+
+            return new SemVersion(major, minor, patch, prerelease, build);
+        }
+
+        /// 
+        /// Parses the specified string to a semantic version.
+        /// 
+        /// The version string.
+        /// When the method returns, contains a SemVersion instance equivalent 
+        /// to the version string passed in, if the version string was valid, or null if the 
+        /// version string was not valid.
+        /// If set to true minor and patch version are required, else they default to 0.
+        /// False when a invalid version string is passed, otherwise true.
+        public static bool TryParse(string version, out SemVersion semver, bool strict = false)
+        {
+            try
+            {
+                semver = Parse(version, strict);
+                return true;
+            }
+            catch (Exception)
+            {
+                semver = null;
+                return false;
+            }
+        }
+
+        /// 
+        /// Tests the specified versions for equality.
+        /// 
+        /// The first version.
+        /// The second version.
+        /// If versionA is equal to versionB true, else false.
+        public static bool Equals(SemVersion versionA, SemVersion versionB)
+        {
+            if (ReferenceEquals(versionA, null))
+                return ReferenceEquals(versionB, null);
+            return versionA.Equals(versionB);
+        }
+
+        /// 
+        /// Compares the specified versions.
+        /// 
+        /// The version to compare to.
+        /// The version to compare against.
+        /// If versionA < versionB < 0, if versionA > versionB > 0,
+        /// if versionA is equal to versionB 0.
+        public static int Compare(SemVersion versionA, SemVersion versionB)
+        {
+            if (ReferenceEquals(versionA, null))
+                return ReferenceEquals(versionB, null) ? 0 : -1;
+            return versionA.CompareTo(versionB);
+        }
+
+        /// 
+        /// Make a copy of the current instance with optional altered fields. 
+        /// 
+        /// The major version.
+        /// The minor version.
+        /// The patch version.
+        /// The prerelease text.
+        /// The build text.
+        /// The new version object.
+        public SemVersion Change(int? major = null, int? minor = null, int? patch = null,
+            string prerelease = null, string build = null)
+        {
+            return new SemVersion(
+                major ?? this.Major,
+                minor ?? this.Minor,
+                patch ?? this.Patch,
+                prerelease ?? this.Prerelease,
+                build ?? this.Build);
+        }
+
+        /// 
+        /// Gets the major version.
+        /// 
+        /// 
+        /// The major version.
+        /// 
+        public int Major { get; private set; }
+
+        /// 
+        /// Gets the minor version.
+        /// 
+        /// 
+        /// The minor version.
+        /// 
+        public int Minor { get; private set; }
+
+        /// 
+        /// Gets the patch version.
+        /// 
+        /// 
+        /// The patch version.
+        /// 
+        public int Patch { get; private set; }
+
+        /// 
+        /// Gets the pre-release version.
+        /// 
+        /// 
+        /// The pre-release version.
+        /// 
+        public string Prerelease { get; private set; }
+
+        /// 
+        /// Gets the build version.
+        /// 
+        /// 
+        /// The build version.
+        /// 
+        public string Build { get; private set; }
+
+        /// 
+        /// Returns a  that represents this instance.
+        /// 
+        /// 
+        /// A  that represents this instance.
+        /// 
+        public override string ToString()
+        {
+            var version = "" + Major + "." + Minor + "." + Patch;
+            if (!String.IsNullOrEmpty(Prerelease))
+                version += "-" + Prerelease;
+            if (!String.IsNullOrEmpty(Build))
+                version += "+" + Build;
+            return version;
+        }
+
+        /// 
+        /// Compares the current instance with another object of the same type and returns an integer that indicates 
+        /// whether the current instance precedes, follows, or occurs in the same position in the sort order as the 
+        /// other object.
+        /// 
+        /// An object to compare with this instance.
+        /// 
+        /// A value that indicates the relative order of the objects being compared. 
+        /// The return value has these meanings: Value Meaning Less than zero 
+        ///  This instance precedes  in the sort order. 
+        ///  Zero This instance occurs in the same position in the sort order as . i
+        ///  Greater than zero This instance follows  in the sort order.
+        /// 
+        public int CompareTo(object obj)
+        {
+            return CompareTo((SemVersion)obj);
+        }
+
+        /// 
+        /// Compares the current instance with another object of the same type and returns an integer that indicates 
+        /// whether the current instance precedes, follows, or occurs in the same position in the sort order as the 
+        /// other object.
+        /// 
+        /// An object to compare with this instance.
+        /// 
+        /// A value that indicates the relative order of the objects being compared. 
+        /// The return value has these meanings: Value Meaning Less than zero 
+        ///  This instance precedes  in the sort order. 
+        ///  Zero This instance occurs in the same position in the sort order as . i
+        ///  Greater than zero This instance follows  in the sort order.
+        /// 
+        public int CompareTo(SemVersion other)
+        {
+            if (ReferenceEquals(other, null))
+                return 1;
+
+            var r = this.CompareByPrecedence(other);
+            if (r != 0)
+                return r;
+
+            r = CompareComponent(this.Build, other.Build);
+            return r;
+        }
+
+        /// 
+        /// Compares to semantic versions by precedence. This does the same as a Equals, but ignores the build information.
+        /// 
+        /// The semantic version.
+        /// true if the version precedence matches.
+        public bool PrecedenceMatches(SemVersion other)
+        {
+            return CompareByPrecedence(other) == 0;
+        }
+
+        /// 
+        /// Compares to semantic versions by precedence. This does the same as a Equals, but ignores the build information.
+        /// 
+        /// The semantic version.
+        /// 
+        /// A value that indicates the relative order of the objects being compared. 
+        /// The return value has these meanings: Value Meaning Less than zero 
+        ///  This instance precedes  in the version precedence.
+        ///  Zero This instance has the same precedence as . i
+        ///  Greater than zero This instance has creater precedence as .
+        /// 
+        public int CompareByPrecedence(SemVersion other)
+        {
+            if (ReferenceEquals(other, null))
+                return 1;
+
+            var r = this.Major.CompareTo(other.Major);
+            if (r != 0) return r;
+
+            r = this.Minor.CompareTo(other.Minor);
+            if (r != 0) return r;
+
+            r = this.Patch.CompareTo(other.Patch);
+            if (r != 0) return r;
+
+            r = CompareComponent(this.Prerelease, other.Prerelease, true);
+            return r;
+        }
+
+        static int CompareComponent(string a, string b, bool lower = false)
+        {
+            var aEmpty = String.IsNullOrEmpty(a);
+            var bEmpty = String.IsNullOrEmpty(b);
+            if (aEmpty && bEmpty)
+                return 0;
+
+            if (aEmpty)
+                return lower ? 1 : -1;
+            if (bEmpty)
+                return lower ? -1 : 1;
+
+            var aComps = a.Split('.');
+            var bComps = b.Split('.');
+
+            var minLen = Math.Min(aComps.Length, bComps.Length);
+            for (int i = 0; i < minLen; i++)
+            {
+                var ac = aComps[i];
+                var bc = bComps[i];
+                int anum, bnum;
+                var isanum = Int32.TryParse(ac, out anum);
+                var isbnum = Int32.TryParse(bc, out bnum);
+                int r;
+                if (isanum && isbnum)
+                {
+                    r = anum.CompareTo(bnum);
+                    if (r != 0) return anum.CompareTo(bnum);
+                }
+                else
+                {
+                    if (isanum)
+                        return -1;
+                    if (isbnum)
+                        return 1;
+                    r = String.CompareOrdinal(ac, bc);
+                    if (r != 0)
+                        return r;
+                }
+            }
+
+            return aComps.Length.CompareTo(bComps.Length);
+        }
+
+        /// 
+        /// Determines whether the specified  is equal to this instance.
+        /// 
+        /// The  to compare with this instance.
+        /// 
+        ///   true if the specified  is equal to this instance; otherwise, false.
+        /// 
+        public override bool Equals(object obj)
+        {
+            if (ReferenceEquals(obj, null))
+                return false;
+
+            if (ReferenceEquals(this, obj))
+                return true;
+
+            var other = (SemVersion)obj;
+
+            return this.Major == other.Major &&
+                this.Minor == other.Minor &&
+                this.Patch == other.Patch &&
+                string.Equals(this.Prerelease, other.Prerelease, StringComparison.Ordinal) &&
+                string.Equals(this.Build, other.Build, StringComparison.Ordinal);
+        }
+
+        /// 
+        /// Returns a hash code for this instance.
+        /// 
+        /// 
+        /// A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. 
+        /// 
+        public override int GetHashCode()
+        {
+            unchecked
+            {
+                int result = this.Major.GetHashCode();
+                result = result * 31 + this.Minor.GetHashCode();
+                result = result * 31 + this.Patch.GetHashCode();
+                result = result * 31 + this.Prerelease.GetHashCode();
+                result = result * 31 + this.Build.GetHashCode();
+                return result;
+            }
+        }
+
+#if !NETSTANDARD
+        [SecurityPermission(SecurityAction.Demand, SerializationFormatter = true)]
+        public void GetObjectData(SerializationInfo info, StreamingContext context)
+        {
+            if (info == null) throw new ArgumentNullException("info");
+            info.AddValue("SemVersion", ToString());
+        }
+#endif
+
+        /// 
+        /// The override of the equals operator. 
+        /// 
+        /// The left value.
+        /// The right value.
+        /// If left is equal to right true, else false.
+        public static bool operator ==(SemVersion left, SemVersion right)
+        {
+            if(ReferenceEquals(right, null)) {
+                return ReferenceEquals(left, null);
+            }
+            if(ReferenceEquals(left, null)) {
+                return false;
+            }
+            return left.PrecedenceMatches(right);
+        }
+
+        /// 
+        /// The override of the un-equal operator. 
+        /// 
+        /// The left value.
+        /// The right value.
+        /// If left is not equal to right true, else false.
+        public static bool operator !=(SemVersion left, SemVersion right)
+        {
+            return !(left == right);
+        }
+
+        /// 
+        /// The override of the greater operator. 
+        /// 
+        /// The left value.
+        /// The right value.
+        /// If left is greater than right true, else false.
+        public static bool operator >(SemVersion left, SemVersion right)
+        {
+            return left.CompareByPrecedence(right) > 0;
+        }
+
+        /// 
+        /// The override of the greater than or equal operator. 
+        /// 
+        /// The left value.
+        /// The right value.
+        /// If left is greater than or equal to right true, else false.
+        public static bool operator >=(SemVersion left, SemVersion right)
+        {
+            return left == right || left > right;
+        }
+
+        /// 
+        /// The override of the less operator. 
+        /// 
+        /// The left value.
+        /// The right value.
+        /// If left is less than right true, else false.
+        public static bool operator <(SemVersion left, SemVersion right)
+        {
+            return left.CompareByPrecedence(right) < 0;
+        }
+
+        /// 
+        /// The override of the less than or equal operator. 
+        /// 
+        /// The left value.
+        /// The right value.
+        /// If left is less than or equal to right true, else false.
+        public static bool operator <=(SemVersion left, SemVersion right)
+        {
+            return left == right || left < right;
+        }
+    }
+}
diff --git a/Packages/com.singularitygroup.hotreload/Editor/Versioning/SemVer.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/Versioning/SemVer.cs.meta
new file mode 100644
index 0000000..cc7e5d9
--- /dev/null
+++ b/Packages/com.singularitygroup.hotreload/Editor/Versioning/SemVer.cs.meta
@@ -0,0 +1,18 @@
+fileFormatVersion: 2
+guid: 0b49a1188451e7745af9f636d854efc8
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
+AssetOrigin:
+  serializedVersion: 1
+  productId: 254358
+  packageName: Hot Reload | Edit Code Without Compiling
+  packageVersion: 1.13.17
+  assetPath: Packages/com.singularitygroup.hotreload/Editor/Versioning/SemVer.cs
+  uploadId: 870414
diff --git a/Packages/com.singularitygroup.hotreload/Editor/Window.meta b/Packages/com.singularitygroup.hotreload/Editor/Window.meta
new file mode 100644
index 0000000..710dd15
--- /dev/null
+++ b/Packages/com.singularitygroup.hotreload/Editor/Window.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: e1826b88dea6aa446a9bc22bc0140c22
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Packages/com.singularitygroup.hotreload/Editor/Window/GUI.meta b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI.meta
new file mode 100644
index 0000000..5cbd648
--- /dev/null
+++ b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: dddc1cae3f951f84da98305ec6228f25
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Buttons.meta b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Buttons.meta
new file mode 100644
index 0000000..4d51a80
--- /dev/null
+++ b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Buttons.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 86f1446dfdbc2a94aac993437231aaa4
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Buttons/OpenDialogueButton.cs b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Buttons/OpenDialogueButton.cs
new file mode 100644
index 0000000..3ecfc20
--- /dev/null
+++ b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Buttons/OpenDialogueButton.cs
@@ -0,0 +1,42 @@
+using UnityEditor;
+using UnityEngine;
+
+namespace SingularityGroup.HotReload.Editor {
+    internal class OpenDialogueButton : IGUIComponent {
+        public readonly string text;
+        public readonly string url;
+        public readonly string title;
+        public readonly string message;
+        public readonly string ok;
+        public readonly string cancel;
+        
+        public OpenDialogueButton(string text, string url, string title, string message, string ok, string cancel) {
+            this.text = text;
+            this.url = url;
+            this.title = title;
+            this.message = message;
+            this.ok = ok;
+            this.cancel = cancel;
+        }
+
+        public void OnGUI() {
+             Render(text, url, title, message, ok, cancel);
+        }
+
+        public static void Render(string text, string url, string title, string message, string ok, string cancel) {
+            if (GUILayout.Button(new GUIContent(text.StartsWith(" ") ? text : " " + text))) {
+                if (EditorUtility.DisplayDialog(title, message, ok, cancel)) {
+                    Application.OpenURL(url);
+                }
+            }
+        }
+        
+        public static void RenderRaw(Rect rect, string text, string url, string title, string message, string ok, string cancel, GUIStyle style = null) {
+            if (GUI.Button(rect, new GUIContent(text.StartsWith(" ") ? text : " " + text), style ?? GUI.skin.button)) {
+                if (EditorUtility.DisplayDialog(title, message, ok, cancel)) {
+                    Application.OpenURL(url);
+                }
+            }
+        }
+    }
+}
diff --git a/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Buttons/OpenDialogueButton.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Buttons/OpenDialogueButton.cs.meta
new file mode 100644
index 0000000..6018d35
--- /dev/null
+++ b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Buttons/OpenDialogueButton.cs.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 97ca8174f0514e8e9ee5d4be26ed8078
+timeCreated: 1674416481
+AssetOrigin:
+  serializedVersion: 1
+  productId: 254358
+  packageName: Hot Reload | Edit Code Without Compiling
+  packageVersion: 1.13.17
+  assetPath: Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Buttons/OpenDialogueButton.cs
+  uploadId: 870414
diff --git a/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Buttons/OpenURLButton.cs b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Buttons/OpenURLButton.cs
new file mode 100644
index 0000000..0f1edcc
--- /dev/null
+++ b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Buttons/OpenURLButton.cs
@@ -0,0 +1,29 @@
+using UnityEditor;
+using UnityEngine;
+
+namespace SingularityGroup.HotReload.Editor {
+    internal class OpenURLButton : IGUIComponent {
+        public readonly string text;
+        public readonly string url;
+        public OpenURLButton(string text, string url) {
+            this.text = text;
+            this.url = url;
+        }
+
+        public void OnGUI() {
+            Render(text, url);
+        }
+
+        public static void Render(string text, string url) {
+            if (GUILayout.Button(new GUIContent(text.StartsWith(" ") ? text : " " + text))) {
+                Application.OpenURL(url);
+            }
+        }
+        
+        public static void RenderRaw(Rect rect, string text, string url, GUIStyle style = null) {
+            if (GUI.Button(rect, new GUIContent(text.StartsWith(" ") ? text : " " + text), style ?? GUI.skin.button)) {
+                Application.OpenURL(url);
+            }
+        }
+    }
+}
diff --git a/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Buttons/OpenURLButton.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Buttons/OpenURLButton.cs.meta
new file mode 100644
index 0000000..1150305
--- /dev/null
+++ b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Buttons/OpenURLButton.cs.meta
@@ -0,0 +1,18 @@
+fileFormatVersion: 2
+guid: ef12252fc9d1f9f438cbd34cf8f7364b
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
+AssetOrigin:
+  serializedVersion: 1
+  productId: 254358
+  packageName: Hot Reload | Edit Code Without Compiling
+  packageVersion: 1.13.17
+  assetPath: Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Buttons/OpenURLButton.cs
+  uploadId: 870414
diff --git a/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/EditorTextures.cs b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/EditorTextures.cs
new file mode 100644
index 0000000..d20fae9
--- /dev/null
+++ b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/EditorTextures.cs
@@ -0,0 +1,116 @@
+using UnityEngine;
+
+namespace SingularityGroup.HotReload.Editor {
+    /// 
+    /// Create a new texture only once. Safe access to generated textures.
+    /// 
+    /// 
+    /// If 
+    internal static class EditorTextures {
+        private static Texture2D black;
+        private static Texture2D white;
+        private static Texture2D lightGray225;
+        private static Texture2D lightGray235;
+        private static Texture2D darkGray17;
+        private static Texture2D darkGray30;
+
+        // Texture2D.blackTexture doesn't render properly in Editor GUI.
+        public static Texture2D Black {
+            get {
+                if (!black) {
+                    black = new Texture2D(2, 2, TextureFormat.RGBA32, false);
+                    
+                    var pixels = black.GetPixels32();
+                    for (var i = 0; i < pixels.Length; i++) {
+                        pixels[i] = new Color32(0, 0, 0, byte.MaxValue);
+                    }
+                    black.SetPixels32(pixels);
+                    black.Apply();
+                }
+                return black;
+            }
+        }
+        
+        // Texture2D.whiteTexture might not render properly in Editor GUI.
+        public static Texture2D White {
+            get {
+                
+                if (!white) {
+                    white = new Texture2D(2, 2, TextureFormat.RGBA32, false);
+                    
+                    var pixels = white.GetPixels32();
+                    for (var i = 0; i < pixels.Length; i++) {
+                        pixels[i] = new Color32(byte.MaxValue, byte.MaxValue, byte.MaxValue, byte.MaxValue);
+                    }
+                    white.SetPixels32(pixels);
+                    white.Apply();
+                }
+                return white;
+            }
+        }
+
+        public static Texture2D DarkGray17 {
+            get {
+                if (!darkGray17) {
+                    darkGray17 = new Texture2D(2, 2, TextureFormat.RGBA32, false);
+                    
+                    var pixels = darkGray17.GetPixels32();
+                    for (var i = 0; i < pixels.Length; i++) {
+                        pixels[i] = new Color32(17, 17, 17, byte.MaxValue);
+                    }
+                    darkGray17.SetPixels32(pixels);
+                    darkGray17.Apply();
+                }
+                return darkGray17;
+            }
+        }
+        
+        public static Texture2D DarkGray40 {
+            get {
+                if (!darkGray30) {
+                    darkGray30 = new Texture2D(2, 2, TextureFormat.RGBA32, false);
+                    
+                    var pixels = darkGray30.GetPixels32();
+                    for (var i = 0; i < pixels.Length; i++) {
+                        pixels[i] = new Color32(40, 40, 40, byte.MaxValue);
+                    }
+                    darkGray30.SetPixels32(pixels);
+                    darkGray30.Apply();
+                }
+                return darkGray30;
+            }
+        }
+
+        public static Texture2D LightGray238 {
+            get {
+                if (!lightGray235) {
+                    lightGray235 = new Texture2D(2, 2, TextureFormat.RGBA32, false);
+                    
+                    var pixels = lightGray235.GetPixels32();
+                    for (var i = 0; i < pixels.Length; i++) {
+                        pixels[i] = new Color32(238, 238, 238, byte.MaxValue);
+                    }
+                    lightGray235.SetPixels32(pixels);
+                    lightGray235.Apply();
+                }
+                return lightGray235;
+            }
+        }
+
+        public static Texture2D LightGray225 {
+            get {
+                if (!lightGray225) {
+                    lightGray225 = new Texture2D(2, 2, TextureFormat.RGBA32, false);
+
+                    var pixels = lightGray225.GetPixels32();
+                    for (var i = 0; i < pixels.Length; i++) {
+                        pixels[i] = new Color32(225, 225, 225, byte.MaxValue);
+                    }
+                    lightGray225.SetPixels32(pixels);
+                    lightGray225.Apply();
+                }
+                return lightGray225;
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/EditorTextures.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/EditorTextures.cs.meta
new file mode 100644
index 0000000..f96d000
--- /dev/null
+++ b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/EditorTextures.cs.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 9116854180be4f2b8fcc0422bcf570a5
+timeCreated: 1674127121
+AssetOrigin:
+  serializedVersion: 1
+  productId: 254358
+  packageName: Hot Reload | Edit Code Without Compiling
+  packageVersion: 1.13.17
+  assetPath: Packages/com.singularitygroup.hotreload/Editor/Window/GUI/EditorTextures.cs
+  uploadId: 870414
diff --git a/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/IGUIComponent.cs b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/IGUIComponent.cs
new file mode 100644
index 0000000..323ce59
--- /dev/null
+++ b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/IGUIComponent.cs
@@ -0,0 +1,5 @@
+namespace SingularityGroup.HotReload.Editor {
+    internal interface IGUIComponent {
+        void OnGUI();
+    }
+}
diff --git a/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/IGUIComponent.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/IGUIComponent.cs.meta
new file mode 100644
index 0000000..705aef6
--- /dev/null
+++ b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/IGUIComponent.cs.meta
@@ -0,0 +1,18 @@
+fileFormatVersion: 2
+guid: 893cb208871dab94488cb988920f0ebd
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
+AssetOrigin:
+  serializedVersion: 1
+  productId: 254358
+  packageName: Hot Reload | Edit Code Without Compiling
+  packageVersion: 1.13.17
+  assetPath: Packages/com.singularitygroup.hotreload/Editor/Window/GUI/IGUIComponent.cs
+  uploadId: 870414
diff --git a/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Options.meta b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Options.meta
new file mode 100644
index 0000000..32dff3d
--- /dev/null
+++ b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Options.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 2b3fa5ea1ed3545429de96b41801942f
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Options/AllowAndroidAppToMakeHttpRequestsOption.cs b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Options/AllowAndroidAppToMakeHttpRequestsOption.cs
new file mode 100644
index 0000000..1374b2c
--- /dev/null
+++ b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Options/AllowAndroidAppToMakeHttpRequestsOption.cs
@@ -0,0 +1,49 @@
+using SingularityGroup.HotReload.Editor.Localization;
+using UnityEditor;
+
+namespace SingularityGroup.HotReload.Editor {
+    internal class AllowAndroidAppToMakeHttpRequestsOption : ProjectOptionBase {
+        public override string ShortSummary {
+            get {
+                return Translations.Settings.OptionAllowHttpRequests;
+            }
+        }
+
+        public override string Summary => ShortSummary;
+
+        public override bool GetValue(SerializedObject so) {
+            #if UNITY_2022_1_OR_NEWER
+            // use PlayerSettings as the source of truth 
+            return PlayerSettings.insecureHttpOption != InsecureHttpOption.NotAllowed;
+            #else
+            return GetProperty(so).boolValue;
+            #endif
+        }
+
+        public override string ObjectPropertyName =>
+            nameof(HotReloadSettingsObject.AllowAndroidAppToMakeHttpRequests);
+
+        public override void SetValue(SerializedObject so, bool value) {
+            base.SetValue(so, value);
+
+            // Enabling on Unity 2022 or newer → set the Unity option to ‘Development Builds only’
+            #if UNITY_2022_1_OR_NEWER
+            var notAllowed = PlayerSettings.insecureHttpOption == InsecureHttpOption.NotAllowed;
+            if (value) {
+                // user chose to enable it
+                if (notAllowed) {
+                    PlayerSettings.insecureHttpOption = InsecureHttpOption.DevelopmentOnly;
+                }
+            } else {
+                // user chose to disable it
+                PlayerSettings.insecureHttpOption = InsecureHttpOption.NotAllowed;
+            }
+            #endif
+        }
+
+        public override void InnerOnGUI(SerializedObject so) {
+            var description = Translations.Settings.OptionAllowHttpRequestsDescription;
+            EditorGUILayout.LabelField(description, HotReloadWindowStyles.WrapStyle);
+        }
+    }
+}
\ No newline at end of file
diff --git a/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Options/AllowAndroidAppToMakeHttpRequestsOption.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Options/AllowAndroidAppToMakeHttpRequestsOption.cs.meta
new file mode 100644
index 0000000..386aa56
--- /dev/null
+++ b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Options/AllowAndroidAppToMakeHttpRequestsOption.cs.meta
@@ -0,0 +1,18 @@
+fileFormatVersion: 2
+guid: 0a7442cee510ab4498ca2a846e0c4e92
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
+AssetOrigin:
+  serializedVersion: 1
+  productId: 254358
+  packageName: Hot Reload | Edit Code Without Compiling
+  packageVersion: 1.13.17
+  assetPath: Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Options/AllowAndroidAppToMakeHttpRequestsOption.cs
+  uploadId: 870414
diff --git a/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Options/Base.meta b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Options/Base.meta
new file mode 100644
index 0000000..a16bb70
--- /dev/null
+++ b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Options/Base.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: bb8474c37f13d704d96b43e0f681680d
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Options/Base/HotReloadOptionBase.cs b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Options/Base/HotReloadOptionBase.cs
new file mode 100644
index 0000000..8cfa457
--- /dev/null
+++ b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Options/Base/HotReloadOptionBase.cs
@@ -0,0 +1,57 @@
+using UnityEditor;
+
+namespace SingularityGroup.HotReload.Editor {
+    /// 
+    /// An option stored inside the current Unity project.
+    /// 
+    internal abstract class ProjectOptionBase : IOption, ISerializedProjectOption {
+        public abstract string ShortSummary { get; }
+        public abstract string Summary { get; }
+
+        public virtual bool GetValue(SerializedObject so) {
+            return so.FindProperty(ObjectPropertyName).boolValue;
+        }
+
+        protected SerializedProperty GetProperty(SerializedObject so) {
+            return so.FindProperty(ObjectPropertyName);
+        }
+        
+        public virtual void SetValue(SerializedObject so, bool value) {
+            so.FindProperty(ObjectPropertyName).boolValue = value;
+        }
+
+        public virtual void InnerOnGUI(SerializedObject so) { }
+
+        public abstract string ObjectPropertyName { get; }
+
+        /// 
+        /// Override this if your option is not needed for on-device Hot Reload to work.
+ /// (by default, a project option must be true for Hot Reload to work) + ///
+ public virtual bool IsRequiredForBuild() { + return true; + } + } + + /// + /// An option that is stored on the user's computer (shared between Unity projects). + /// + internal abstract class ComputerOptionBase : IOption { + public abstract string ShortSummary { get; } + public abstract string Summary { get; } + + public abstract bool GetValue(); + + /// Uses for storing the value on the user's computer. + public virtual void SetValue(bool value) { } + + public bool GetValue(SerializedObject so) => GetValue(); + + public virtual void SetValue(SerializedObject so, bool value) => SetValue(value); + + void IOption.InnerOnGUI(SerializedObject so) { + InnerOnGUI(); + } + public virtual void InnerOnGUI() { } + } +} diff --git a/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Options/Base/HotReloadOptionBase.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Options/Base/HotReloadOptionBase.cs.meta new file mode 100644 index 0000000..c3e72b4 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Options/Base/HotReloadOptionBase.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: dab8ef53c2ee30a40ab6a7e4abd1260c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Options/Base/HotReloadOptionBase.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Options/Base/OptionInterfaces.cs b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Options/Base/OptionInterfaces.cs new file mode 100644 index 0000000..e68f3a1 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Options/Base/OptionInterfaces.cs @@ -0,0 +1,34 @@ +using UnityEditor; + +namespace SingularityGroup.HotReload.Editor { + public interface IOption { + string ShortSummary { get; } + string Summary { get; } + + /// The wrapped by SerializedObject + bool GetValue(SerializedObject so); + + /// + /// Handle the new value. + /// + /// + /// Note: caller must skip calling this if value same as GetValue! + /// + /// The wrapped by SerializedObject + /// + void SetValue(SerializedObject so, bool value); + + /// The wrapped by SerializedObject + void InnerOnGUI(SerializedObject so); + } + + /// + /// An option scoped to the current Unity project. + /// + /// + /// These options are intended to be shared with collaborators and used by Unity Player builds. + /// + public interface ISerializedProjectOption { + string ObjectPropertyName { get; } + } +} \ No newline at end of file diff --git a/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Options/Base/OptionInterfaces.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Options/Base/OptionInterfaces.cs.meta new file mode 100644 index 0000000..236488e --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Options/Base/OptionInterfaces.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 0a626aa97160471f85de4646a634bdf1 +timeCreated: 1674574633 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Options/Base/OptionInterfaces.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Options/ExposeServerOption.cs b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Options/ExposeServerOption.cs new file mode 100644 index 0000000..732946b --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Options/ExposeServerOption.cs @@ -0,0 +1,70 @@ +using System; +using System.Threading.Tasks; +using SingularityGroup.HotReload.Editor.Cli; +using SingularityGroup.HotReload.Editor.Localization; +using UnityEditor; + +namespace SingularityGroup.HotReload.Editor { + internal sealed class ExposeServerOption : ComputerOptionBase { + + public override string ShortSummary => Translations.Settings.OptionExposeServerShort; + public override string Summary => Translations.Settings.OptionExposeServerFull; + + public override void InnerOnGUI() { + string description; + if (GetValue()) { + description = Translations.Settings.OptionExposeServerDescriptionEnabled; + } else { + description = Translations.Settings.OptionExposeServerDescriptionDisabled; + } + EditorGUILayout.LabelField(description, HotReloadWindowStyles.WrapStyle); + } + + public override bool GetValue() { + return HotReloadPrefs.ExposeServerToLocalNetwork; + } + + public override void SetValue(SerializedObject so, bool val) { + // AllowAndroidAppToMakeHttpRequestsOption + if (val == HotReloadPrefs.ExposeServerToLocalNetwork) { + return; + } + + HotReloadPrefs.ExposeServerToLocalNetwork = val; + if (val) { + // they allowed this one for mobile builds, so now we allow everything else needed for player build to work with HR + new AllowAndroidAppToMakeHttpRequestsOption().SetValue(so, true); + } + RunTask(() => { + RunOnMainThreadSync(() => { + var isRunningResult = ServerHealthCheck.I.IsServerHealthy; + if (isRunningResult) { + var restartServer = EditorUtility.DisplayDialog(Translations.Dialogs.DialogTitleHotReload, + string.Format(Translations.Dialogs.DialogMessageRestartExposeServer, Summary), + Translations.Dialogs.DialogButtonRestartServer, Translations.Dialogs.DialogButtonDontRestart); + if (restartServer) { + CodePatcher.I.ClearPatchedMethods(); + EditorCodePatcher.RestartCodePatcher().Forget(); + } + } + }); + }); + } + + void RunTask(Action action) { + var token = HotReloadWindow.Current.cancelToken; + Task.Run(() => { + if (token.IsCancellationRequested) return; + try { + action(); + } catch (Exception ex) { + ThreadUtility.LogException(ex, token); + } + }, token); + } + + void RunOnMainThreadSync(Action action) { + ThreadUtility.RunOnMainThread(action, HotReloadWindow.Current.cancelToken); + } + } +} diff --git a/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Options/ExposeServerOption.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Options/ExposeServerOption.cs.meta new file mode 100644 index 0000000..aea65a1 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Options/ExposeServerOption.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 5ab0973d3ae1275469237480381842c0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Options/ExposeServerOption.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Options/IncludeInBuildOption.cs b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Options/IncludeInBuildOption.cs new file mode 100644 index 0000000..320faf9 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Options/IncludeInBuildOption.cs @@ -0,0 +1,25 @@ +using SingularityGroup.HotReload.Editor.Localization; +using UnityEditor; + +namespace SingularityGroup.HotReload.Editor { + internal class IncludeInBuildOption : ProjectOptionBase, ISerializedProjectOption { + static IncludeInBuildOption _I; + public static IncludeInBuildOption I = _I ?? (_I = new IncludeInBuildOption()); + public override string ShortSummary => Translations.Settings.OptionIncludeInBuild; + public override string Summary => ShortSummary; + + public override string ObjectPropertyName => + nameof(HotReloadSettingsObject.IncludeInBuild); + + public override void InnerOnGUI(SerializedObject so) { + string description; + if (GetValue(so)) { + description = Translations.Settings.OptionIncludeInBuildDescriptionEnabled; + } else { + description = Translations.Settings.OptionIncludeInBuildDescriptionDisabled; + } + description += Translations.Settings.OptionIncludeInBuildDescriptionSuffix; + EditorGUILayout.LabelField(description, HotReloadWindowStyles.WrapStyle); + } + } +} \ No newline at end of file diff --git a/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Options/IncludeInBuildOption.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Options/IncludeInBuildOption.cs.meta new file mode 100644 index 0000000..2ab1317 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Options/IncludeInBuildOption.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 39ed4f822bcd81340bdf7189b3bc5016 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Options/IncludeInBuildOption.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs.meta b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs.meta new file mode 100644 index 0000000..b777231 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9c0f7811020465d46bcd0305e2f83e8a +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs/Base.meta b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs/Base.meta new file mode 100644 index 0000000..9cec40c --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs/Base.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 58d14712b7ef14540ba4817a5ef873a6 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs/Base/HotReloadTabBase.cs b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs/Base/HotReloadTabBase.cs new file mode 100644 index 0000000..7a64888 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs/Base/HotReloadTabBase.cs @@ -0,0 +1,33 @@ + +using UnityEditor; +using UnityEngine; + +namespace SingularityGroup.HotReload.Editor { + internal abstract class HotReloadTabBase : IGUIComponent { + protected readonly HotReloadWindow _window; + + public string Title { get; } + public Texture Icon { get; } + public string Tooltip { get; } + + public HotReloadTabBase(HotReloadWindow window, string title, Texture iconImage, string tooltip) { + _window = window; + + Title = title; + Icon = iconImage; + Tooltip = tooltip; + } + + public HotReloadTabBase(HotReloadWindow window, string title, string iconName, string tooltip) : + this(window, title, EditorGUIUtility.IconContent(iconName).image, tooltip) { + } + + protected void Repaint() { + _window.Repaint(); + } + + public virtual void Update() { } + + public abstract void OnGUI(); + } +} diff --git a/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs/Base/HotReloadTabBase.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs/Base/HotReloadTabBase.cs.meta new file mode 100644 index 0000000..37db52d --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs/Base/HotReloadTabBase.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: c2c79b82bd9636d499449f91f93fae2a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs/Base/HotReloadTabBase.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs/Helpers.meta b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs/Helpers.meta new file mode 100644 index 0000000..0c5c6ba --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs/Helpers.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: a089a7225d904b00b2893a34b514ad28 +timeCreated: 1689791626 \ No newline at end of file diff --git a/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs/Helpers/RedeemLicenseHelper.cs b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs/Helpers/RedeemLicenseHelper.cs new file mode 100644 index 0000000..b282964 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs/Helpers/RedeemLicenseHelper.cs @@ -0,0 +1,308 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Net; +using System.Net.Http; +using System.Text; +using System.Threading.Tasks; +using SingularityGroup.HotReload.DTO; +using SingularityGroup.HotReload.Editor.Localization; +using SingularityGroup.HotReload.Newtonsoft.Json; +using UnityEditor; +using UnityEngine; + +namespace SingularityGroup.HotReload.Editor { + internal enum RedeemStage { + None, + Registration, + Redeem, + Login + } + + // IMPORTANT: don't rename + internal enum RegistrationOutcome { + None, + Indie, + Business, + } + + internal class RedeemLicenseHelper { + public static readonly RedeemLicenseHelper I = new RedeemLicenseHelper(); + + private string _pendingCompanySize; + private string _pendingInvoiceNumber; + private string _pendingRedeemEmail; + + private static string registerFlagPath = PackageConst.LibraryCachePath + "/registerFlag.txt"; + public static string registerOutcomePath = PackageConst.LibraryCachePath + "/registerOutcome.txt"; + + public RedeemStage RedeemStage { get; private set; } + public RegistrationOutcome RegistrationOutcome { get; private set; } + public bool RegistrationRequired => RedeemStage != RedeemStage.None; + + private string status; + private string error; + + const string statusSuccess = "success"; + const string statusAlreadyClaimed = "already redeemed by this user/device"; + + private GUILayoutOption[] secondaryButtonLayoutOptions = new[] { GUILayout.MaxWidth(100) }; + + private bool requestingRedeem; + private HttpClient redeemClient; + const string redeemUrl = "https://vmhzj6jonn3qy7hk7tx7levpli0bstpj.lambda-url.us-east-1.on.aws/redeem"; + + public RedeemLicenseHelper() { + if (File.Exists(registerFlagPath)) { + RedeemStage = RedeemStage.Registration; + } + try { + if (File.Exists(registerOutcomePath)) { + RegistrationOutcome outcome; + if (Enum.TryParse(File.ReadAllText(registerOutcomePath), out outcome)) { + RegistrationOutcome = outcome; + } + } + } catch (Exception e) { + Log.Warning(Translations.Errors.WarningFailedDeterminingRegistration, e.GetType().Name, e.Message); + } + } + + public void RenderStage(HotReloadRunTabState state) { + if (state.redeemStage == RedeemStage.Registration) { + RenderRegistration(); + } else if (state.redeemStage == RedeemStage.Redeem) { + RenderRedeem(); + } else if (state.redeemStage == RedeemStage.Login) { + RenderLogin(state); + } + } + + private void RenderRegistration() { + var message = PackageConst.IsAssetStoreBuild + ? Translations.Registration.MessageRegistrationProUsers + : Translations.Registration.MessageRegistrationLicensingModel; + if (error != null) { + EditorGUILayout.HelpBox(error, MessageType.Warning); + } else { + EditorGUILayout.HelpBox(message, MessageType.Info); + } + EditorGUILayout.Space(); + EditorGUILayout.Space(); + + EditorGUILayout.LabelField(Translations.Common.LabelCompanySize); + GUI.SetNextControlName("company_size"); + _pendingCompanySize = EditorGUILayout.TextField(_pendingCompanySize)?.Trim(); + EditorGUILayout.Space(); + + if (GUILayout.Button(Translations.Common.ButtonProceed)) { + int companySize; + if (!int.TryParse(_pendingCompanySize, out companySize)) { + error = Translations.Errors.ErrorEnterNumber; + } else { + error = null; + HandleRegistration(companySize); + } + } + } + + void HandleRegistration(int companySize) { + RequestHelper.RequestEditorEvent(new Stat(StatSource.Client, StatLevel.Debug, StatFeature.Licensing, StatEventType.Register), new EditorExtraData { { StatKey.CompanySize, companySize } }); + if (companySize > 10) { + FinishRegistration(RegistrationOutcome.Business); + EditorCodePatcher.DownloadAndRun().Forget(); + } else if (PackageConst.IsAssetStoreBuild) { + SwitchToStage(RedeemStage.Redeem); + } else { + FinishRegistration(RegistrationOutcome.Indie); + EditorCodePatcher.DownloadAndRun().Forget(); + } + } + + private void RenderRedeem() { + if (error != null) { + EditorGUILayout.HelpBox(error, MessageType.Warning); + } else { + EditorGUILayout.HelpBox(Translations.Registration.MessageRedeemInstructions, MessageType.Info); + } + EditorGUILayout.Space(); + EditorGUILayout.Space(); + + EditorGUILayout.LabelField(Translations.Common.LabelInvoiceNumber); + GUI.SetNextControlName("invoice_number"); + _pendingInvoiceNumber = EditorGUILayout.TextField(_pendingInvoiceNumber ?? HotReloadPrefs.RedeemLicenseInvoice)?.Trim(); + EditorGUILayout.Space(); + + EditorGUILayout.LabelField(Translations.Common.LabelEmail); + GUI.SetNextControlName("email_redeem"); + _pendingRedeemEmail = EditorGUILayout.TextField(_pendingRedeemEmail ?? HotReloadPrefs.RedeemLicenseEmail); + EditorGUILayout.Space(); + + using (new EditorGUI.DisabledScope(requestingRedeem)) { + if (GUILayout.Button(Translations.Common.ButtonRedeem, HotReloadRunTab.bigButtonHeight)) { + RedeemLicense(email: _pendingRedeemEmail, invoiceNumber: _pendingInvoiceNumber).Forget(); + } + } + EditorGUILayout.Space(); + EditorGUILayout.Space(); + + using (new EditorGUILayout.HorizontalScope()) { + GUILayout.FlexibleSpace(); + if (GUILayout.Button(Translations.Common.ButtonSkip, secondaryButtonLayoutOptions)) { + SwitchToStage(RedeemStage.Login); + } + GUILayout.FlexibleSpace(); + } + } + + async Task RedeemLicense(string email, string invoiceNumber) { + string validationError; + if (string.IsNullOrEmpty(invoiceNumber)) { + validationError = Translations.Errors.ErrorEnterInvoiceNumber; + } else { + validationError = HotReloadRunTab.ValidateEmail(email); + } + if (validationError != null) { + error = validationError; + return; + } + var resp = await RequestRedeem(email: email, invoiceNumber: invoiceNumber); + status = resp?.status; + if (status != null) { + if (status != statusSuccess && status != statusAlreadyClaimed) { + Log.Error(Translations.Errors.WarningRedeemStatusUnknown); + error = Translations.Registration.UnknownRedeemError; + } else { + HotReloadPrefs.RedeemLicenseEmail = email; + HotReloadPrefs.RedeemLicenseInvoice = invoiceNumber; + // prepare data for login screen + HotReloadPrefs.LicenseEmail = email; + HotReloadPrefs.LicensePassword = null; + + SwitchToStage(RedeemStage.Login); + } + } else if (resp?.error != null) { + Log.Warning(Translations.Errors.WarningRedeemingLicenseFailed, resp.error); + error = GetPrettyError(resp); + } else { + Log.Warning(Translations.Errors.WarningRedeemUnknownError); + error = Translations.Registration.UnknownRedeemError; + } + } + + string GetPrettyError(RedeemResponse response) { + var err = response?.error; + if (err == null) { + return Translations.Registration.UnknownRedeemError; + } + if (err.Contains("Invalid email")) { + return Translations.Errors.ErrorInvalidEmailAddress; + } else if (err.Contains("License invoice already redeemed")) { + return Translations.Errors.ErrorLicenseInvoiceRedeemed; + } else if (err.Contains("Different license already redeemed by given email")) { + return Translations.Errors.ErrorEmailAlreadyUsed; + } else if (err.Contains("Invoice not found")) { + return Translations.Errors.ErrorInvoiceNotFound; + } else if (err.Contains("Invoice refunded")) { + return Translations.Errors.ErrorInvoiceRefunded; + } else { + return Translations.Registration.UnknownRedeemError; + } + } + + async Task RequestRedeem(string email, string invoiceNumber) { + requestingRedeem = true; + await ThreadUtility.SwitchToThreadPool(); + try { + redeemClient = redeemClient ?? (redeemClient = HttpClientUtils.CreateHttpClient()); + var input = new Dictionary { + { "email", email }, + { "invoice", invoiceNumber } + }; + var content = new StringContent(JsonConvert.SerializeObject(input), Encoding.UTF8, "application/json"); + using (var resp = await redeemClient.PostAsync(redeemUrl, content, HotReloadWindow.Current.cancelToken).ConfigureAwait(false)) { + if (resp.StatusCode != HttpStatusCode.OK) { + return new RedeemResponse(null, string.Format(Translations.Errors.ErrorRedeemRequestFailed, (int)resp.StatusCode, resp.ReasonPhrase)); + } + var str = await resp.Content.ReadAsStringAsync().ConfigureAwait(false); + try { + return JsonConvert.DeserializeObject(str); + } catch (Exception ex) { + return new RedeemResponse(null, string.Format(Translations.Errors.ErrorFailedDeserializingRedeem, ex.GetType().Name, ex.Message)); + } + } + } catch (WebException ex) { + return new RedeemResponse(null, string.Format(Translations.Errors.ErrorRedeemingWebException, ex.Message)); + } finally { + requestingRedeem = false; + } + } + + private class RedeemResponse { + public string status; + public string error; + + public RedeemResponse(string status, string error) { + this.status = status; + this.error = error; + } + } + + private void RenderLogin(HotReloadRunTabState state) { + if (status == statusSuccess) { + EditorGUILayout.HelpBox(Translations.Registration.MessageRedeemSuccess, MessageType.Info); + } else if (status == statusAlreadyClaimed) { + EditorGUILayout.HelpBox(Translations.Registration.MessageRedeemAlreadyClaimed, MessageType.Info); + } + EditorGUILayout.Space(); + EditorGUILayout.Space(); + + HotReloadRunTab.RenderLicenseInnerPanel(state, renderLogout: false); + EditorGUILayout.Space(); + EditorGUILayout.Space(); + + using (new EditorGUILayout.HorizontalScope()) { + GUILayout.FlexibleSpace(); + if (GUILayout.Button(Translations.Common.ButtonGoBack, secondaryButtonLayoutOptions)) { + SwitchToStage(RedeemStage.Redeem); + } + GUILayout.FlexibleSpace(); + } + } + + public void StartRegistration() { + // ReSharper disable once AssignNullToNotNullAttribute + Directory.CreateDirectory(Path.GetDirectoryName(registerFlagPath)); + using (File.Create(registerFlagPath)) { + } + RedeemStage = RedeemStage.Registration; + RegistrationOutcome = RegistrationOutcome.None; + } + + public void FinishRegistration(RegistrationOutcome outcome) { + // ReSharper disable once AssignNullToNotNullAttribute + Directory.CreateDirectory(Path.GetDirectoryName(registerFlagPath)); + File.WriteAllText(registerOutcomePath, outcome.ToString()); + File.Delete(registerFlagPath); + RegistrationOutcome = outcome; + SwitchToStage(RedeemStage.None); + Cleanup(); + } + + void SwitchToStage(RedeemStage stage) { + // remove focus so that the input field re-renders + GUI.FocusControl(null); + RedeemStage = stage; + } + + void Cleanup() { + redeemClient?.Dispose(); + redeemClient = null; + _pendingCompanySize = null; + _pendingInvoiceNumber = null; + _pendingRedeemEmail = null; + status = null; + error = null; + } + } +} \ No newline at end of file diff --git a/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs/Helpers/RedeemLicenseHelper.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs/Helpers/RedeemLicenseHelper.cs.meta new file mode 100644 index 0000000..5386a59 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs/Helpers/RedeemLicenseHelper.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: ad73f74d3c494c02aae937e2dfa305a2 +timeCreated: 1689791373 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs/Helpers/RedeemLicenseHelper.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs/HotReloadAboutTab.cs b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs/HotReloadAboutTab.cs new file mode 100644 index 0000000..77b4a0c --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs/HotReloadAboutTab.cs @@ -0,0 +1,312 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Diagnostics; +using System.Globalization; +using System.Linq; +using SingularityGroup.HotReload.Editor.Localization; +using UnityEditor; +using UnityEngine; +using System.Threading.Tasks; +using System.IO; +using SingularityGroup.HotReload.Newtonsoft.Json; +using SingularityGroup.HotReload.EditorDependencies; + +namespace SingularityGroup.HotReload.Editor { + internal struct HotReloadAboutTabState { + public readonly bool logsFodlerExists; + public readonly IReadOnlyList changelog; + public readonly bool loginRequired; + public readonly bool hasTrialLicense; + public readonly bool hasPayedLicense; + + public HotReloadAboutTabState( + bool logsFodlerExists, + IReadOnlyList changelog, + bool loginRequired, + bool hasTrialLicense, + bool hasPayedLicense + ) { + this.logsFodlerExists = logsFodlerExists; + this.changelog = changelog; + this.loginRequired = loginRequired; + this.hasTrialLicense = hasTrialLicense; + this.hasPayedLicense = hasPayedLicense; + } + } + + internal class HotReloadAboutTab : HotReloadTabBase { + internal static readonly OpenURLButton seeMore = new OpenURLButton(Translations.About.ButtonSeeMore, Constants.ChangelogURL); + internal static readonly OpenDialogueButton manageLicenseButton = new OpenDialogueButton(Translations.About.ButtonManageLicense, Constants.ManageLicenseURL, Translations.About.ButtonManageLicense, Translations.Dialogs.DialogManageLicenseMessage, Translations.Common.ButtonOpenInBrowser, Translations.Common.ButtonCancel); + internal static readonly OpenDialogueButton manageAccountButton = new OpenDialogueButton(Translations.About.ButtonManageAccount, Constants.ManageAccountURL, Translations.About.ButtonManageAccount, Translations.Dialogs.DialogManageAccountMessage, Translations.Common.ButtonOpenInBrowser, Translations.Common.ButtonCancel); + internal static readonly OpenURLButton contactButton = new OpenURLButton(Translations.About.ButtonContact, Constants.ContactURL); + internal static readonly OpenURLButton discordButton = new OpenURLButton(Translations.About.ButtonJoinDiscord, Constants.DiscordInviteUrl); + internal static readonly OpenDialogueButton reportIssueButton = new OpenDialogueButton(Translations.About.ButtonReportIssue, Constants.ReportIssueURL, Translations.About.ButtonReportIssue, Translations.Dialogs.DialogReportIssueMessage, Translations.Common.ButtonOpenInBrowser, Translations.Common.ButtonCancel); + + private Vector2 _changelogScroll; + private IReadOnlyList _changelog = new List(); + private bool _requestedChangelog; + private int _changelogRequestAttempt; + private string _changelogDir = Path.Combine(PackageConst.LibraryCachePath, "changelog.json"); + public static string logsPath = Path.Combine(PackageConst.LibraryCachePath, "logs"); + + private static bool LatestChangelogLoaded(IReadOnlyList changelog) { + return changelog.Any() && changelog[0].versionNum == PackageUpdateChecker.lastRemotePackageVersion; + } + + private async Task FetchChangelog() { + if(!_changelog.Any()) { + var file = new FileInfo(_changelogDir); + if (file.Exists) { + await Task.Run(() => { + var bytes = File.ReadAllText(_changelogDir); + _changelog = JsonConvert.DeserializeObject>(bytes); + }); + } + } + if (_requestedChangelog || LatestChangelogLoaded(_changelog)) { + return; + } + _requestedChangelog = true; + try { + do { + var changelogRequestTimeout = ExponentialBackoff.GetTimeout(_changelogRequestAttempt); + _changelog = await RequestHelper.FetchChangelog() ?? _changelog; + if (LatestChangelogLoaded(_changelog)) { + await Task.Run(() => { + Directory.CreateDirectory(PackageConst.LibraryCachePath); + File.WriteAllText(_changelogDir, JsonConvert.SerializeObject(_changelog)); + }); + Repaint(); + return; + } + await Task.Delay(changelogRequestTimeout); + } while (_changelogRequestAttempt++ < 1000 && !LatestChangelogLoaded(_changelog)); + } catch { + // ignore + } finally { + _requestedChangelog = false; + } + } + + public HotReloadAboutTab(HotReloadWindow window) : base(window, Translations.About.AboutTitle, "_Help", Translations.About.AboutDescription) { } + + string GetRelativeDate(DateTime givenDate) { + const int second = 1; + const int minute = 60 * second; + const int hour = 60 * minute; + const int day = 24 * hour; + const int month = 30 * day; + + var ts = new TimeSpan(DateTime.UtcNow.Ticks - givenDate.Ticks); + var delta = Math.Abs(ts.TotalSeconds); + + if (delta < 24 * hour) + return Translations.About.AboutToday; + + if (delta < 48 * hour) + return Translations.About.AboutYesterday; + + if (delta < 30 * day) + return string.Format(Translations.About.AboutDaysAgo, ts.Days); + + if (delta < 12 * month) { + var months = Convert.ToInt32(Math.Floor((double)ts.Days / 30)); + return months <= 1 ? Translations.About.AboutOneMonthAgo : string.Format(Translations.About.AboutMonthsAgo, months); + } + var years = Convert.ToInt32(Math.Floor((double)ts.Days / 365)); + return years <= 1 ? Translations.About.AboutOneYearAgo : string.Format(Translations.About.AboutYearsAgo, years); + } + + void RenderVersion(ChangelogVersion version) { + var tempTextString = ""; + + //version number + EditorGUILayout.TextArea(version.versionNum, HotReloadWindowStyles.H1TitleStyle); + + //general info + if (version.generalInfo != null) { + EditorGUILayout.TextArea(version.generalInfo, HotReloadWindowStyles.H3TitleStyle); + } + + //features + if (version.features != null) { + EditorGUILayout.TextArea(Translations.About.AboutFeatures, HotReloadWindowStyles.H2TitleStyle); + tempTextString = ""; + foreach (var feature in version.features) { + tempTextString += "• " + feature + "\n"; + } + EditorGUILayout.TextArea(tempTextString, HotReloadWindowStyles.ChangelogPointerStyle); + } + + //improvements + if (version.improvements != null) { + EditorGUILayout.TextArea(Translations.About.AboutImprovements, HotReloadWindowStyles.H2TitleStyle); + tempTextString = ""; + foreach (var improvement in version.improvements) { + tempTextString += "• " + improvement + "\n"; + } + EditorGUILayout.TextArea(tempTextString, HotReloadWindowStyles.ChangelogPointerStyle); + } + + //fixes + if (version.fixes != null) { + EditorGUILayout.TextArea(Translations.About.AboutFixes, HotReloadWindowStyles.H2TitleStyle); + tempTextString = ""; + foreach (var fix in version.fixes) { + tempTextString += "• " + fix + "\n"; + } + EditorGUILayout.TextArea(tempTextString, HotReloadWindowStyles.ChangelogPointerStyle); + } + + //date + DateTime date; + if (DateTime.TryParseExact(version.date, "dd/MM/yyyy", null, DateTimeStyles.None, out date)) { + var relativeDate = GetRelativeDate(date); + GUILayout.TextArea(relativeDate, HotReloadWindowStyles.H3TitleStyle); + } + } + + void RenderChangelog() { + FetchChangelog().Forget(); + using (new EditorGUILayout.HorizontalScope(HotReloadWindowStyles.SectionInnerBoxWide)) { + using (new EditorGUILayout.VerticalScope()) { + HotReloadPrefs.ShowChangeLog = EditorGUILayout.Foldout(HotReloadPrefs.ShowChangeLog, Translations.Miscellaneous.ChangelogTitle, true, HotReloadWindowStyles.FoldoutStyle); + if (!HotReloadPrefs.ShowChangeLog) { + return; + } + // changelog versions + var maxChangeLogs = 5; + var index = 0; + foreach (var version in currentState.changelog) { + index++; + if (index > maxChangeLogs) { + break; + } + + using (new EditorGUILayout.HorizontalScope(HotReloadWindowStyles.ChangelogSectionInnerBox)) { + using (new EditorGUILayout.VerticalScope()) { + RenderVersion(version); + } + } + } + // see more button + using (new EditorGUILayout.HorizontalScope(HotReloadWindowStyles.ChangelogSectionInnerBox)) { + seeMore.OnGUI(); + } + } + } + } + + private Vector2 _aboutTabScrollPos; + + HotReloadAboutTabState currentState; + public override void OnGUI() { + // HotReloadAboutTabState ensures rendering is consistent between Layout and Repaint calls + // Without it errors like this happen: + // ArgumentException: Getting control 2's position in a group with only 2 controls when doing repaint + // See thread for more context: https://answers.unity.com/questions/17718/argumentexception-getting-control-2s-position-in-a.html + if (Event.current.type == EventType.Layout) { + currentState = new HotReloadAboutTabState( + logsFodlerExists: Directory.Exists(logsPath), + changelog: _changelog, + loginRequired: EditorCodePatcher.LoginNotRequired, + hasTrialLicense: _window.RunTab.TrialLicense, + hasPayedLicense: _window.RunTab.HasPayedLicense + ); + } + using (var scope = new EditorGUILayout.ScrollViewScope(_aboutTabScrollPos, GUI.skin.horizontalScrollbar, GUI.skin.verticalScrollbar, GUILayout.MaxHeight(Math.Max(HotReloadWindowStyles.windowScreenHeight, 800)), GUILayout.MaxWidth(Math.Max(HotReloadWindowStyles.windowScreenWidth, 800)))) { + _aboutTabScrollPos.x = scope.scrollPosition.x; + _aboutTabScrollPos.y = scope.scrollPosition.y; + + using (new EditorGUILayout.VerticalScope(HotReloadWindowStyles.DynamicSectionHelpTab)) { + using (new EditorGUILayout.VerticalScope()) { + GUILayout.Space(10); + RenderLogButtons(); + + EditorGUILayout.Space(); + EditorGUILayout.HelpBox(string.Format(Translations.About.AboutVersionInfo, PackageConst.Version), MessageType.Info); + EditorGUILayout.Space(); + + RenderHelpButtons(); + + GUILayout.Space(15); + + try { + RenderChangelog(); + } catch { + // ignore + } + } + } + } + } + + void RenderHelpButtons() { + var labelRect = GUILayoutUtility.GetLastRect(); + using (new EditorGUILayout.HorizontalScope()) { + using (new EditorGUILayout.VerticalScope()) { + var buttonHeight = 19; + + var bigButtonRect = new Rect(labelRect.x + 3, labelRect.y + 5, labelRect.width - 6, buttonHeight); + OpenURLButton.RenderRaw(bigButtonRect, Translations.About.ButtonDocumentation, Constants.DocumentationURL, HotReloadWindowStyles.HelpTabButton); + + var firstLayerX = bigButtonRect.x; + var firstLayerY = bigButtonRect.y + buttonHeight + 3; + var firstLayerWidth = (int)((bigButtonRect.width / 2) - 3); + + var secondLayerX = firstLayerX + firstLayerWidth + 5; + var secondLayerY = firstLayerY + buttonHeight + 3; + var secondLayerWidth = bigButtonRect.width - firstLayerWidth - 5; + + using (new EditorGUILayout.HorizontalScope()) { + OpenURLButton.RenderRaw(new Rect { x = firstLayerX, y = firstLayerY, width = firstLayerWidth, height = buttonHeight }, contactButton.text, contactButton.url, HotReloadWindowStyles.HelpTabButton); + OpenURLButton.RenderRaw(new Rect { x = secondLayerX, y = firstLayerY, width = secondLayerWidth, height = buttonHeight }, Translations.About.ButtonUnityForum, Constants.ForumURL, HotReloadWindowStyles.HelpTabButton); + } + using (new EditorGUILayout.HorizontalScope()) { + OpenDialogueButton.RenderRaw(rect: new Rect { x = firstLayerX, y = secondLayerY, width = firstLayerWidth, height = buttonHeight }, text: reportIssueButton.text, url: reportIssueButton.url, title: reportIssueButton.title, message: reportIssueButton.message, ok: reportIssueButton.ok, cancel: reportIssueButton.cancel, style: HotReloadWindowStyles.HelpTabButton); + OpenURLButton.RenderRaw(new Rect { x = secondLayerX, y = secondLayerY, width = secondLayerWidth, height = buttonHeight }, discordButton.text, discordButton.url, HotReloadWindowStyles.HelpTabButton); + } + } + } + GUILayout.Space(80); + } + + void RenderLogButtons() { + if (currentState.logsFodlerExists) { + EditorGUILayout.Space(); + EditorGUILayout.BeginHorizontal(); + GUILayout.FlexibleSpace(); + if (GUILayout.Button(Translations.Common.ButtonOpenLogFile)) { + var mostRecentFile = LogsHelper.FindRecentLog(logsPath); + if (mostRecentFile == null) { + Log.Info(Translations.About.LogNoLogsFound); + } else { + try { + Process.Start($"\"{Path.Combine(logsPath, mostRecentFile)}\""); + } catch (Win32Exception e) { + // TODO: is this the same for chinese? + if (e.Message.Contains("Application not found")) { + try { + Process.Start("notepad.exe", $"\"{Path.Combine(logsPath, mostRecentFile)}\""); + } catch { + // Fallback to opening folder with all logs + Process.Start($"\"{logsPath}\""); + Log.Info(Translations.About.LogFailedOpeningLogFile); + } + } + } catch { + // Fallback to opening folder with all logs + Process.Start($"\"{logsPath}\""); + Log.Info(Translations.About.LogFailedOpeningLogFile); + } + } + } + if (GUILayout.Button(Translations.Common.ButtonBrowseAllLogs)) { + Process.Start($"\"{logsPath}\""); + } + EditorGUILayout.EndHorizontal(); + } + } + } +} diff --git a/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs/HotReloadAboutTab.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs/HotReloadAboutTab.cs.meta new file mode 100644 index 0000000..3439e8d --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs/HotReloadAboutTab.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 7cf8e9ef1ab770249a4318e88e882a85 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs/HotReloadAboutTab.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs/HotReloadOptionsSection.cs b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs/HotReloadOptionsSection.cs new file mode 100644 index 0000000..281c76f --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs/HotReloadOptionsSection.cs @@ -0,0 +1,50 @@ +using UnityEditor; +using UnityEngine; +using SingularityGroup.HotReload.Editor.Localization; + +namespace SingularityGroup.HotReload.Editor { + internal class HotReloadOptionsSection { + /// + /// Opening options tab does not automatically create the settings asset file. + /// - The Options UI shows defaults if the object asset doesn't exist. + /// - When a build starts, we also ensure the asset file exists. + /// + public void DrawGUI(SerializedObject so) { + so.Update(); // must update in-case asset was modified externally + + foreach (var option in HotReloadSettingsTab.allOptions) { + GUILayout.Space(4f); + DrawOption(option, so); + } + + // commit any changes to the underlying ScriptableObject + if (so.hasModifiedProperties) { + so.ApplyModifiedProperties(); + // Ensure asset file exists on disk, because we initially create it in memory (to provide the default values) + // This does not save the asset, user has to do that by saving assets in Unity (e.g. press hotkey Ctrl + S) + var target = so.targetObject as HotReloadSettingsObject; + if (target == null) { + Log.Warning(Translations.Errors.WarningUnexpectedSaveProblem); + } else { + // when one of the project options changed then we ensure the asset file exists. + HotReloadSettingsEditor.EnsureSettingsCreated(target); + } + } + } + + static void DrawOption(IOption option, SerializedObject so) { + EditorGUILayout.BeginVertical(HotReloadWindowStyles.BoxStyle); + + var before = option.GetValue(so); + var after = EditorGUILayout.BeginToggleGroup(new GUIContent(" " + option.Summary), before); + if (after != before) { + option.SetValue(so, after); + } + + option.InnerOnGUI(so); + + EditorGUILayout.EndToggleGroup(); + EditorGUILayout.EndVertical(); + } + } +} diff --git a/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs/HotReloadOptionsSection.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs/HotReloadOptionsSection.cs.meta new file mode 100644 index 0000000..c370325 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs/HotReloadOptionsSection.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 24379a407eff8494eac0f7841b70e574 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs/HotReloadOptionsSection.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs/HotReloadRunTab.cs b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs/HotReloadRunTab.cs new file mode 100644 index 0000000..302e07f --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs/HotReloadRunTab.cs @@ -0,0 +1,1463 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.IO; +using SingularityGroup.HotReload.DTO; +using SingularityGroup.HotReload.Editor.Cli; +using SingularityGroup.HotReload.EditorDependencies; +using SingularityGroup.HotReload.Editor.Localization; +using UnityEditor; +using UnityEditor.Compilation; +using UnityEngine; +using Color = UnityEngine.Color; +using Task = System.Threading.Tasks.Task; +#if UNITY_2019_4_OR_NEWER +using Unity.CodeEditor; +#endif + +namespace SingularityGroup.HotReload.Editor { + internal class ErrorData { + public string fileName; + public string error; + public TextAsset file; + public int lineNumber; + public string stacktrace; + public string linkString; + private static string[] supportedPaths = new[] { Path.GetFullPath("Assets"), Path.GetFullPath("Plugins") }; + + public static ErrorData GetErrorData(string errorString) { + // Get the relevant file name + string stackTrace = errorString; + string fileName = null; + try { + int csIndex = 0; + int attempt = 0; + do { + csIndex = errorString.IndexOf(".cs", csIndex + 1, StringComparison.Ordinal); + if (csIndex == -1) { + break; + } + int fileNameStartIndex = csIndex - 1; + for (; fileNameStartIndex >= 0; fileNameStartIndex--) { + if (!char.IsLetter(errorString[fileNameStartIndex])) { + if (errorString.Contains("error CS")) { + fileName = errorString.Substring(fileNameStartIndex + 1, + csIndex - fileNameStartIndex + ".cs".Length - 1); + } else { + fileName = errorString.Substring(fileNameStartIndex, + csIndex - fileNameStartIndex + ".cs".Length); + } + break; + } + } + } while (attempt++ < 100 && fileName == null); + } catch { + // ignore + } + fileName = fileName ?? Translations.UI.TapToShowStacktrace; + + // Get the error + string error = (errorString.Contains("error CS") + ? Translations.UI.CompileErrorMessage + ", " + : Translations.UI.UnsupportedChangeMessage + ", ") + Translations.UI.TapHereToSeeMore; + int endOfError = errorString.IndexOf(". in ", StringComparison.Ordinal); + string specialChars = "\"'/\\"; + char[] characters = specialChars.ToCharArray(); + int specialChar = errorString.IndexOfAny(characters); + try { + if (errorString.Contains("error CS") ) { + error = errorString.Substring(errorString.IndexOf("error CS", StringComparison.Ordinal), errorString.Length - errorString.IndexOf("error CS", StringComparison.Ordinal)).Trim(); + using (StringReader reader = new StringReader(error)) { + string line; + while ((line = reader.ReadLine()) != null) { + error = line; + break; + } + } + } else if (errorString.StartsWith("errors:", StringComparison.Ordinal) && endOfError > 0) { + error = errorString.Substring("errors: ".Length, endOfError - "errors: ".Length).Trim(); + } else if (errorString.StartsWith("errors:", StringComparison.Ordinal) && specialChar > 0) { + error = errorString.Substring("errors: ".Length, specialChar - "errors: ".Length).Trim(); + } + } catch { + // ignore + } + + // Get relative path + TextAsset file = null; + try { + foreach (var path in supportedPaths) { + int lastprojectIndex = 0; + int attempt = 0; + while (attempt++ < 100 && !file) { + lastprojectIndex = errorString.IndexOf(path, lastprojectIndex + 1, StringComparison.Ordinal); + if (lastprojectIndex == -1) { + break; + } + var fullCsIndex = errorString.IndexOf(".cs", lastprojectIndex, StringComparison.Ordinal); + var l = fullCsIndex - lastprojectIndex + ".cs".Length; + if (l <= 0) { + continue; + } + var candidateAbsolutePath = errorString.Substring(lastprojectIndex, fullCsIndex - lastprojectIndex + ".cs".Length); + var candidateRelativePath = EditorCodePatcher.GetRelativePath(filespec: candidateAbsolutePath, folder: path); + file = AssetDatabase.LoadAssetAtPath(candidateRelativePath); + } + } + } catch { + // ignore + } + + // Get the line number + int lineNumber = 0; + try { + int lastIndex = 0; + int attempt = 0; + do { + lastIndex = errorString.IndexOf(fileName, lastIndex + 1, StringComparison.Ordinal); + if (lastIndex == -1) { + break; + } + var part = errorString.Substring(lastIndex + fileName.Length); + if (!part.StartsWith(errorString.Contains("error CS") ? "(" : ":", StringComparison.Ordinal) + || part.Length == 1 + || !char.IsDigit(part[1]) + ) { + continue; + } + int y = 1; + for (; y < part.Length; y++) { + if (!char.IsDigit(part[y])) { + break; + } + } + if (int.TryParse(part.Substring(1, errorString.Contains("error CS") ? y - 1 : y), out lineNumber)) { + break; + } + } while (attempt++ < 100); + } catch { + //ignore + } + + return new ErrorData() { + fileName = fileName, + error = error, + file = file, + lineNumber = lineNumber, + stacktrace = stackTrace, + linkString = lineNumber > 0 ? fileName + ":" + lineNumber : fileName + }; + } + + } + + internal struct HotReloadRunTabState { + public readonly bool spinnerActive; + public readonly string indicationIconPath; + public readonly bool requestingDownloadAndRun; + public readonly bool starting; + public readonly bool stopping; + public readonly bool running; + public readonly Tuple startupProgress; + public readonly string indicationStatusText; + public readonly LoginStatusResponse loginStatus; + public readonly bool downloadRequired; + public readonly bool downloadStarted; + public readonly bool requestingLoginInfo; + public readonly RedeemStage redeemStage; + public readonly int suggestionCount; + + public HotReloadRunTabState( + bool spinnerActive, + string indicationIconPath, + bool requestingDownloadAndRun, + bool starting, + bool stopping, + bool running, + Tuple startupProgress, + string indicationStatusText, + LoginStatusResponse loginStatus, + bool downloadRequired, + bool downloadStarted, + bool requestingLoginInfo, + RedeemStage redeemStage, + int suggestionCount + ) { + this.spinnerActive = spinnerActive; + this.indicationIconPath = indicationIconPath; + this.requestingDownloadAndRun = requestingDownloadAndRun; + this.starting = starting; + this.stopping = stopping; + this.running = running; + this.startupProgress = startupProgress; + this.indicationStatusText = indicationStatusText; + this.loginStatus = loginStatus; + this.downloadRequired = downloadRequired; + this.downloadStarted = downloadStarted; + this.requestingLoginInfo = requestingLoginInfo; + this.redeemStage = redeemStage; + this.suggestionCount = suggestionCount; + } + + public static HotReloadRunTabState Current => new HotReloadRunTabState( + spinnerActive: EditorIndicationState.SpinnerActive, + indicationIconPath: EditorIndicationState.IndicationIconPath, + requestingDownloadAndRun: EditorCodePatcher.RequestingDownloadAndRun, + starting: EditorCodePatcher.Starting, + stopping: EditorCodePatcher.Stopping, + running: EditorCodePatcher.Running, + startupProgress: EditorCodePatcher.StartupProgress, + indicationStatusText: EditorIndicationState.IndicationStatusText, + loginStatus: EditorCodePatcher.Status, + downloadRequired: EditorCodePatcher.DownloadRequired, + downloadStarted: EditorCodePatcher.DownloadStarted, + requestingLoginInfo: EditorCodePatcher.RequestingLoginInfo, + redeemStage: RedeemLicenseHelper.I.RedeemStage, + suggestionCount: HotReloadTimelineHelper.Suggestions.Count + ); + } + + internal struct LicenseErrorData { + public readonly string description; + public bool showBuyButton; + public string buyButtonText; + public readonly bool showLoginButton; + public readonly string loginButtonText; + public readonly bool showSupportButton; + public readonly string supportButtonText; + public readonly bool showManageLicenseButton; + public readonly string manageLicenseButtonText; + + public LicenseErrorData(string description, bool showManageLicenseButton = false, string manageLicenseButtonText = "", string loginButtonText = "", bool showSupportButton = false, string supportButtonText = "", bool showBuyButton = false, string buyButtonText = "", bool showLoginButton = false) { + this.description = description; + this.showManageLicenseButton = showManageLicenseButton; + this.manageLicenseButtonText = manageLicenseButtonText; + this.loginButtonText = loginButtonText; + this.showSupportButton = showSupportButton; + this.supportButtonText = supportButtonText; + this.showBuyButton = showBuyButton; + this.buyButtonText = buyButtonText; + this.showLoginButton = showLoginButton; + } + } + + internal class HotReloadRunTab : HotReloadTabBase { + private static string _pendingEmail; + private static string _pendingPassword; + private string _pendingPromoCode; + private bool _requestingActivatePromoCode; + + private static Tuple _activateInfoMessage; + + private HotReloadRunTabState currentState => _window.RunTabState; + // Has Indie or Pro license (even if not currenctly active) + public bool HasPayedLicense => currentState.loginStatus != null && (currentState.loginStatus.isIndieLicense || currentState.loginStatus.isBusinessLicense); + public bool TrialLicense => currentState.loginStatus != null && (currentState.loginStatus?.isTrial == true); + + private Vector2 _patchedMethodsScrollPos; + private Vector2 _runTabScrollPos; + + private string promoCodeError; + private MessageType promoCodeErrorType; + private bool promoCodeActivatedThisSession; + + public HotReloadRunTab(HotReloadWindow window) : base(window, Translations.UI.RunTabTitle, "forward", Translations.UI.RunTabTooltip) { } + + public override void OnGUI() { + using(new EditorGUILayout.VerticalScope()) { + OnGUICore(); + } + } + + internal static bool ShouldRenderConsumption(HotReloadRunTabState currentState) => (currentState.running && !currentState.starting && !currentState.stopping && currentState.loginStatus?.isLicensed != true && currentState.loginStatus?.isFree != true && !EditorCodePatcher.LoginNotRequired) && !(currentState.loginStatus == null || currentState.loginStatus.isFree); + + void OnGUICore() { + using (var scope = new EditorGUILayout.ScrollViewScope(_runTabScrollPos, GUI.skin.horizontalScrollbar, GUI.skin.verticalScrollbar, GUILayout.MaxHeight(Math.Max(HotReloadWindowStyles.windowScreenHeight, 800)), GUILayout.MaxWidth(Math.Max(HotReloadWindowStyles.windowScreenWidth, 800)))) { + _runTabScrollPos.x = scope.scrollPosition.x; + _runTabScrollPos.y = scope.scrollPosition.y; + using (new EditorGUILayout.VerticalScope(HotReloadWindowStyles.DynamiSection)) { + if (HotReloadWindowStyles.windowScreenWidth > Constants.UpgradeLicenseNoteHideWidth + && HotReloadWindowStyles.windowScreenHeight > Constants.UpgradeLicenseNoteHideHeight + ) { + RenderUpgradeLicenseNote(currentState, HotReloadWindowStyles.UpgradeLicenseButtonStyle); + } + + var renderDebuggerInfo = Debugger.IsAttached && !CodePatcher.I.debuggerCompatibilityEnabled; + RenderIndicationPanel(!renderDebuggerInfo); + if (renderDebuggerInfo) { + RenderDebuggerAttachedInfo(false); + } + if (CanRenderBars(currentState)) { + RenderBars(currentState); + // clear red dot next time button shows + HotReloadState.ShowingRedDot = false; + } + } + } + + // At the end to not fuck up rendering https://answers.unity.com/questions/400454/argumentexception-getting-control-0s-position-in-a-1.html + var renderStart = !EditorCodePatcher.Running && !EditorCodePatcher.Starting && !currentState.requestingDownloadAndRun && currentState.redeemStage == RedeemStage.None; + var e = Event.current; + if (renderStart && e.type == EventType.KeyUp + && (e.keyCode == KeyCode.Return + || e.keyCode == KeyCode.KeypadEnter) + ) { + EditorCodePatcher.DownloadAndRun().Forget(); + } + } + + internal static void RenderUpgradeLicenseNote(HotReloadRunTabState currentState, GUIStyle style) { + var isIndie = RedeemLicenseHelper.I.RegistrationOutcome == RegistrationOutcome.Indie + || EditorCodePatcher.licenseType == UnityLicenseType.UnityPersonalPlus; + + if (RedeemLicenseHelper.I.RegistrationOutcome == RegistrationOutcome.Business + && currentState.loginStatus?.isBusinessLicense != true + && EditorCodePatcher.Running + && (PackageConst.IsAssetStoreBuild || HotReloadPrefs.RateAppShown) + ) { + // Warn asset store users they need to buy a business license + // Website users get reminded after using Hot Reload for 5+ days + RenderBusinessLicenseInfo(style); + } else if (isIndie + && HotReloadPrefs.RateAppShown + && !PackageConst.IsAssetStoreBuild + && EditorCodePatcher.Running + && currentState.loginStatus?.isBusinessLicense != true + && currentState.loginStatus?.isIndieLicense != true + ) { + // Reminder users they need to buy an indie license + RenderIndieLicenseInfo(style); + } + } + + internal static bool CanRenderBars(HotReloadRunTabState currentState) { + if (Debugger.IsAttached && !CodePatcher.I.debuggerCompatibilityEnabled) { + return false; + } + return HotReloadWindowStyles.windowScreenHeight > Constants.EventsListHideHeight + && HotReloadWindowStyles.windowScreenWidth > Constants.EventsListHideWidth + && !currentState.starting + && !currentState.stopping + && !currentState.requestingDownloadAndRun + ; + } + + static Texture2D GetFoldoutIcon(AlertEntry alertEntry) { + InvertibleIcon alertIcon = InvertibleIcon.FoldoutClosed; + if (HotReloadTimelineHelper.expandedEntries.Contains(alertEntry)) { + alertIcon = InvertibleIcon.FoldoutOpen; + } + return GUIHelper.GetInvertibleIcon(alertIcon); + } + + static void ToggleEntry(AlertEntry alertEntry) { + if (HotReloadTimelineHelper.expandedEntries.Contains(alertEntry)) { + HotReloadTimelineHelper.expandedEntries.Remove(alertEntry); + } else { + HotReloadTimelineHelper.expandedEntries.Add(alertEntry); + } + } + + static void RenderEntries(TimelineType timelineType) { + List alertEntries; + + alertEntries = timelineType == TimelineType.Suggestions ? HotReloadTimelineHelper.Suggestions : HotReloadTimelineHelper.EventsTimeline; + + bool skipChildren = false; + for (int i = 0; i < alertEntries.Count; i++) { + var alertEntry = alertEntries[i]; + if (i > HotReloadTimelineHelper.maxVisibleEntries && alertEntry.entryType != EntryType.Child) { + break; + } + if (timelineType != TimelineType.Suggestions) { + if (alertEntry.entryType != EntryType.Child + && !enabledFilters.Contains(alertEntry.alertType) + ) { + skipChildren = true; + continue; + } else if (alertEntry.entryType == EntryType.Child && skipChildren) { + continue; + } else { + skipChildren = false; + } + } + + EntryType entryType = alertEntry.entryType; + + string title = $" {alertEntry.title}{(!string.IsNullOrEmpty(alertEntry.shortDescription) ? $": {alertEntry.shortDescription}": "")}"; + Texture2D icon = null; + GUIStyle style; + if (entryType != EntryType.Child) { + icon = GUIHelper.GetLocalIcon(HotReloadTimelineHelper.alertIconString[alertEntry.iconType]); + } + if (entryType == EntryType.Child) { + style = HotReloadWindowStyles.ChildBarStyle; + } else if (entryType == EntryType.Foldout) { + style = HotReloadWindowStyles.FoldoutBarStyle; + } else { + style = HotReloadWindowStyles.BarStyle; + } + + Rect startRect; + using (new EditorGUILayout.HorizontalScope()) { + GUILayout.Space(0); + Rect spaceRect = GUILayoutUtility.GetLastRect(); + // entry header foldout arrow + if (entryType == EntryType.Foldout) { + GUI.Label(new Rect(spaceRect.x + 3, spaceRect.y, 20, 20), new GUIContent(GetFoldoutIcon(alertEntry))); + } else if (entryType == EntryType.Child) { + GUI.Label(new Rect(spaceRect.x + 26, spaceRect.y + 2, 20, 20), new GUIContent(GetFoldoutIcon(alertEntry))); + } + // a workaround to limit the width of the label + GUILayout.Label(new GUIContent(""), style); + startRect = GUILayoutUtility.GetLastRect(); + GUI.Label(startRect, new GUIContent(title, icon), style); + } + + bool clickableDescription = (alertEntry.title == Translations.Utility.UnsupportedChange || alertEntry.title == Translations.Utility.CompileError || alertEntry.title == Translations.Timeline.EventTitleFailedApplyingPatch) && alertEntry.alertData.alertEntryType != AlertEntryType.InlinedMethod; + + if (HotReloadTimelineHelper.expandedEntries.Contains(alertEntry) || alertEntry.alertType == AlertType.CompileError) { + using (new EditorGUILayout.VerticalScope()) { + using (new EditorGUILayout.HorizontalScope()) { + using (new EditorGUILayout.VerticalScope(entryType == EntryType.Child ? HotReloadWindowStyles.ChildEntryBoxStyle : HotReloadWindowStyles.EntryBoxStyle)) { + if (alertEntry.alertType == AlertType.Suggestion || !clickableDescription) { + GUILayout.Label(alertEntry.description, HotReloadWindowStyles.LabelStyle); + } + if (alertEntry.actionData != null) { + alertEntry.actionData.Invoke(); + } + GUILayout.Space(5f); + } + } + } + } + + // remove button + if (timelineType == TimelineType.Suggestions && alertEntry.hasExitButton) { + var isClick = GUI.Button(new Rect(startRect.x + startRect.width - 20, startRect.y + 2, 20, 20), new GUIContent(GUIHelper.GetInvertibleIcon(InvertibleIcon.Close)), HotReloadWindowStyles.RemoveIconStyle); + if (isClick) { + HotReloadTimelineHelper.EventsTimeline.Remove(alertEntry); + var kind = HotReloadSuggestionsHelper.FindSuggestionKind(alertEntry); + if (kind != null) { + HotReloadSuggestionsHelper.SetSuggestionInactive((HotReloadSuggestionKind)kind); + if (kind == HotReloadSuggestionKind.EditorsWithoutHRRunning) { + HotReloadState.ShowedEditorsWithoutHR = true; + } + } + _instantRepaint = true; + } + } + + // Extend background to whole entry + var endRect = GUILayoutUtility.GetLastRect(); + if (GUI.Button(new Rect(startRect) { height = endRect.y - startRect.y + endRect.height}, new GUIContent(""), HotReloadWindowStyles.BarBackgroundStyle) && (entryType == EntryType.Child || entryType == EntryType.Foldout)) { + ToggleEntry(alertEntry); + } + + if (alertEntry.alertType != AlertType.Suggestion && HotReloadWindowStyles.windowScreenWidth > 400 && entryType != EntryType.Child) { + using (new EditorGUILayout.HorizontalScope()) { + var ago = (DateTime.Now - alertEntry.timestamp); + GUI.Label(new Rect(startRect.x + startRect.width - 60, startRect.y, 80, 20), ago.TotalMinutes < 1 ? "now" : $"{(ago.TotalHours > 1 ? $"{Math.Floor(ago.TotalHours)} h " : string.Empty)}{ago.Minutes} min", HotReloadWindowStyles.TimestampStyle); + } + } + + GUILayout.Space(1f); + } + if (timelineType != TimelineType.Suggestions && HotReloadTimelineHelper.GetRunTabTimelineEventCount() > 40) { + GUILayout.Space(3f); + GUILayout.Label(Constants.Only40EntriesShown, HotReloadWindowStyles.EmptyListText); + } + } + + private static List _enabledFilters; + private static List enabledFilters { + get { + if (_enabledFilters == null) { + _enabledFilters = new List(); + } + + if (HotReloadPrefs.RunTabUnsupportedChangesFilter && !_enabledFilters.Contains(AlertType.UnsupportedChange)) + _enabledFilters.Add(AlertType.UnsupportedChange); + if (!HotReloadPrefs.RunTabUnsupportedChangesFilter && _enabledFilters.Contains(AlertType.UnsupportedChange)) + _enabledFilters.Remove(AlertType.UnsupportedChange); + + if (HotReloadPrefs.RunTabCompileErrorFilter && !_enabledFilters.Contains(AlertType.CompileError)) + _enabledFilters.Add(AlertType.CompileError); + if (!HotReloadPrefs.RunTabCompileErrorFilter && _enabledFilters.Contains(AlertType.CompileError)) + _enabledFilters.Remove(AlertType.CompileError); + + if (HotReloadPrefs.RunTabPartiallyAppliedPatchesFilter && !_enabledFilters.Contains(AlertType.PartiallySupportedChange)) + _enabledFilters.Add(AlertType.PartiallySupportedChange); + if (!HotReloadPrefs.RunTabPartiallyAppliedPatchesFilter && _enabledFilters.Contains(AlertType.PartiallySupportedChange)) + _enabledFilters.Remove(AlertType.PartiallySupportedChange); + + if (HotReloadPrefs.RunTabUndetectedPatchesFilter && !_enabledFilters.Contains(AlertType.UndetectedChange)) + _enabledFilters.Add(AlertType.UndetectedChange); + if (!HotReloadPrefs.RunTabUndetectedPatchesFilter && _enabledFilters.Contains(AlertType.UndetectedChange)) + _enabledFilters.Remove(AlertType.UndetectedChange); + + if (HotReloadPrefs.RunTabAppliedPatchesFilter && !_enabledFilters.Contains(AlertType.AppliedChange)) + _enabledFilters.Add(AlertType.AppliedChange); + if (!HotReloadPrefs.RunTabAppliedPatchesFilter && _enabledFilters.Contains(AlertType.AppliedChange)) + _enabledFilters.Remove(AlertType.AppliedChange); + + return _enabledFilters; + } + } + + private Vector2 suggestionsScroll; + static GUILayoutOption[] timelineButtonOptions = new[] { GUILayout.Height(27), GUILayout.Width(100) }; + + internal static void RenderBars(HotReloadRunTabState currentState) { + if (currentState.suggestionCount > 0) { + GUILayout.Space(5f); + + using (new EditorGUILayout.HorizontalScope(HotReloadWindowStyles.Section)) { + using (new EditorGUILayout.VerticalScope()) { + HotReloadPrefs.RunTabEventsSuggestionsFoldout = EditorGUILayout.Foldout(HotReloadPrefs.RunTabEventsSuggestionsFoldout, "", true, HotReloadWindowStyles.CustomFoldoutStyle); + GUILayout.Space(-23); + if (GUILayout.Button(string.Format(Translations.Timeline.LabelSuggestionsFormat, currentState.suggestionCount.ToString()), HotReloadWindowStyles.ClickableLabelBoldStyle, GUILayout.Height(27))) { + HotReloadPrefs.RunTabEventsSuggestionsFoldout = !HotReloadPrefs.RunTabEventsSuggestionsFoldout; + } + if (HotReloadPrefs.RunTabEventsSuggestionsFoldout) { + using (new EditorGUILayout.VerticalScope(HotReloadWindowStyles.Scroll)) { + RenderEntries(TimelineType.Suggestions); + } + } + } + } + } + GUILayout.Space(5f); + + using (new EditorGUILayout.HorizontalScope(HotReloadWindowStyles.Section)) { + using (new EditorGUILayout.VerticalScope()) { + HotReloadPrefs.RunTabEventsTimelineFoldout = EditorGUILayout.Foldout(HotReloadPrefs.RunTabEventsTimelineFoldout, "", true, HotReloadWindowStyles.CustomFoldoutStyle); + GUILayout.Space(-23); + if (GUILayout.Button(Translations.Timeline.LabelTimeline, HotReloadWindowStyles.ClickableLabelBoldStyle, timelineButtonOptions)) { + HotReloadPrefs.RunTabEventsTimelineFoldout = !HotReloadPrefs.RunTabEventsTimelineFoldout; + } + if (HotReloadPrefs.RunTabEventsTimelineFoldout) { + GUILayout.Space(-10); + var noteShown = HotReloadTimelineHelper.GetRunTabTimelineEventCount() == 0 || !currentState.running; + using (new EditorGUILayout.HorizontalScope()) { + if (noteShown) { + GUILayout.Space(2f); + using (new EditorGUILayout.VerticalScope()) { + GUILayout.Space(2f); + string text; + if (currentState.redeemStage != RedeemStage.None) { + text = Translations.Timeline.MessageCompleteRegistration; + } else if (!currentState.running) { + text = Translations.Timeline.MessageUseStartButton; + } else if (enabledFilters.Count < 4 && HotReloadTimelineHelper.EventsTimeline.Count != 0) { + text = Translations.Timeline.MessageEnableFilters; + } else { + text = Translations.Timeline.MessageMakeCodeChanges; + } + GUILayout.Label(text, HotReloadWindowStyles.EmptyListText); + } + GUILayout.FlexibleSpace(); + } else { + GUILayout.FlexibleSpace(); + if (HotReloadTimelineHelper.EventsTimeline.Count > 0 && GUILayout.Button(Translations.Common.ButtonClear)) { + HotReloadTimelineHelper.ClearEntries(); + if (HotReloadWindow.Current) { + HotReloadWindow.Current.Repaint(); + } + } + GUILayout.Space(3); + } + } + if (!noteShown) { + GUILayout.Space(2f); + using (new EditorGUILayout.VerticalScope()) { + RenderEntries(TimelineType.Timeline); + } + } + } + } + } + } + + internal static void RenderConsumption(LoginStatusResponse loginStatus) { + if (loginStatus == null) { + return; + } + EditorGUILayout.Space(); + + EditorGUILayout.LabelField(Translations.License.TitleHotReloadLimited, HotReloadWindowStyles.H3CenteredTitleStyle); + EditorGUILayout.Space(); + if (loginStatus.consumptionsUnavailableReason == ConsumptionsUnavailableReason.NetworkUnreachable) { + EditorGUILayout.HelpBox(Translations.Errors.ErrorNetworkIssue, MessageType.Warning); + } else if (loginStatus.consumptionsUnavailableReason == ConsumptionsUnavailableReason.UnrecoverableError) { + EditorGUILayout.HelpBox(Translations.Errors.ErrorContactSupport, MessageType.Error); + } else if (loginStatus.freeSessionFinished) { + var now = DateTime.UtcNow; + var sessionRefreshesAt = (now.AddDays(1).Date - now).Add(TimeSpan.FromMinutes(5)); + var sessionRefreshString = sessionRefreshesAt.Hours > 0 ? + string.Format(Translations.Miscellaneous.DailySessionNextSessionHours, sessionRefreshesAt.Hours, sessionRefreshesAt.Minutes) : + string.Format(Translations.Miscellaneous.DailySessionNextSessionMinutes, sessionRefreshesAt.Minutes); + HotReloadGUIHelper.HelpBox(sessionRefreshString, MessageType.Warning, fontSize: 11); + } else if (loginStatus.freeSessionRunning && loginStatus.freeSessionEndTime != null) { + var sessionEndsAt = loginStatus.freeSessionEndTime.Value - DateTime.Now; + var sessionString = sessionEndsAt.Hours > 0 ? + string.Format(Translations.Miscellaneous.DailySessionTimeHoursLeft, sessionEndsAt.Hours, sessionEndsAt.Minutes) : + string.Format(Translations.Miscellaneous.DailySessionTimeMinutesLeft, sessionEndsAt.Minutes); + HotReloadGUIHelper.HelpBox(sessionString, MessageType.Info, fontSize: 11); + } else if (loginStatus.freeSessionEndTime == null) { + HotReloadGUIHelper.HelpBox(Translations.Miscellaneous.DailySessionStart, MessageType.Info, fontSize: 11); + } + } + + static bool _repaint; + static bool _instantRepaint; + static DateTime _lastRepaint; + private EditorIndicationState.IndicationStatus _lastStatus; + public override void Update() { + if (EditorIndicationState.SpinnerActive) { + _repaint = true; + } + if (EditorCodePatcher.DownloadRequired) { + _repaint = true; + } + if (EditorIndicationState.IndicationIconPath == Spinner.SpinnerIconPath) { + _repaint = true; + } + try { + // workaround: hovering over non-buttons doesn't repain by default + if (EditorWindow.mouseOverWindow == HotReloadWindow.Current) { + _repaint = true; + } + if (EditorWindow.mouseOverWindow + && EditorWindow.mouseOverWindow?.GetType() == typeof(PopupWindow) + && HotReloadEventPopup.I.open + ) { + _repaint = true; + } + } catch (NullReferenceException) { + // Unity randomly throws nullrefs when EditorWindow.mouseOverWindow gets accessed + } + if (_repaint && DateTime.UtcNow - _lastRepaint > TimeSpan.FromMilliseconds(33)) { + _repaint = false; + _instantRepaint = true; + } + // repaint on status change + var status = EditorIndicationState.CurrentIndicationStatus; + if (_lastStatus != status) { + _lastStatus = status; + _instantRepaint = true; + } + if (_instantRepaint) { + Repaint(); + HotReloadEventPopup.I.Repaint(); + _instantRepaint = false; + _repaint = false; + _lastRepaint = DateTime.UtcNow; + } + } + + public static void RepaintInstant() { + _instantRepaint = true; + } + + private void RenderRecompileButton() { + string recompileText = HotReloadWindowStyles.windowScreenWidth > Constants.RecompileButtonTextHideWidth ? Translations.UI.RecompileButtonLabel : ""; + var recompileButton = new GUIContent(recompileText, GUIHelper.GetInvertibleIcon(InvertibleIcon.Recompile)); + if (!GUILayout.Button(recompileButton, HotReloadWindowStyles.RecompileButton)) { + return; + } + RecompileWithChecks(); + } + + public static void RecompileWithChecks() { + var firstDialoguePass = HotReloadPrefs.RecompileDialogueShown + || EditorUtility.DisplayDialog( + title: Translations.Dialogs.DialogTitleRecompile, + message: Translations.Dialogs.DialogMessageRecompile, + ok: Translations.Common.ButtonRecompile.Trim(), + cancel: Translations.Common.ButtonNotNow); + HotReloadPrefs.RecompileDialogueShown = true; + if (!firstDialoguePass) { + return; + } + if (!ConfirmExitPlaymode(Translations.Dialogs.DialogMessageStopPlayMode)) { + return; + } + Recompile(); + } + + #if UNITY_2020_1_OR_NEWER + public static void SwitchToDebugMode() { + CompilationPipeline.codeOptimization = CodeOptimization.Debug; + HotReloadRunTab.Recompile(); + HotReloadSuggestionsHelper.SetSuggestionInactive(HotReloadSuggestionKind.SwitchToDebugModeForInlinedMethods); + } + #endif + + public static bool ConfirmExitPlaymode(string message) { + return !Application.isPlaying + || EditorUtility.DisplayDialog( + title: Translations.Dialogs.DialogTitleStopPlayMode, + message: message, + ok: Translations.Common.ButtonStopAndRecompile, + cancel: Translations.Common.ButtonCancel); + } + + public static bool recompiling; + public static void Recompile() { + recompiling = true; + EditorApplication.isPlaying = false; + + CompileMethodDetourer.Reset(); + AssetDatabase.Refresh(); + // This forces the recompilation if no changes were made. + // This is better UX because otherwise the recompile button is unresponsive + // which can be extra annoying if there are compile error entries in the list + if (!EditorApplication.isCompiling) { + CompilationPipeline.RequestScriptCompilation(); + } + } + + private void RenderIndicationButtons() { + if (currentState.requestingDownloadAndRun || currentState.starting || currentState.stopping || currentState.redeemStage != RedeemStage.None) { + return; + } + + if (!currentState.running && (currentState.startupProgress?.Item1 ?? 0) == 0) { + string startText = HotReloadWindowStyles.windowScreenWidth > Constants.StartButtonTextHideWidth ? Translations.UI.StartButtonLabel : ""; + if (GUILayout.Button(new GUIContent(startText, GUIHelper.GetInvertibleIcon(InvertibleIcon.Start)), HotReloadWindowStyles.StartButton)) { + EditorCodePatcher.DownloadAndRun().Forget(); + } + } else if (currentState.running && !currentState.starting) { + if (HotReloadWindowStyles.windowScreenWidth > 150) { + RenderRecompileButton(); + } + string stopText = HotReloadWindowStyles.windowScreenWidth > Constants.StartButtonTextHideWidth ? Translations.UI.StopButtonLabel : ""; + if (GUILayout.Button(new GUIContent(stopText, GUIHelper.GetInvertibleIcon(InvertibleIcon.Stop)), HotReloadWindowStyles.StopButton)) { + if (!EditorCodePatcher.StoppedServerRecently()) { + EditorCodePatcher.StopCodePatcher().Forget(); + } + } + } + } + + void RenderIndicationPanel(bool renderLicenseInfo = true) { + using (new EditorGUILayout.HorizontalScope(HotReloadWindowStyles.SectionInnerBox)) { + RenderIndication(); + if (HotReloadWindowStyles.windowScreenWidth > Constants.IndicationTextHideWidth) { + GUILayout.FlexibleSpace(); + } + RenderIndicationButtons(); + if (HotReloadWindowStyles.windowScreenWidth <= Constants.IndicationTextHideWidth) { + GUILayout.FlexibleSpace(); + } + } + if (currentState.requestingDownloadAndRun || currentState.starting) { + RenderProgressBar(); + if (EditorCodePatcher.serverDownloader.Attempts > 0) { + RenderManualDownloadSection(); + } + } + + if (HotReloadWindowStyles.windowScreenWidth > Constants.ConsumptionsHideWidth + && HotReloadWindowStyles.windowScreenHeight > Constants.ConsumptionsHideHeight + && renderLicenseInfo + ) { + RenderLicenseInfo(currentState); + } + } + + bool copiedPath = false; + bool openedDownloadUrl = false; + void RenderManualDownloadSection() { + var downloadUrl = ServerDownloader.GetDownloadUrl(HotReloadCli.controller); + var downloadPath = EditorCodePatcher.serverDownloader.GetBinaryPath(HotReloadCli.controller); + + EditorGUILayout.Space(); + HotReloadGUIHelper.HelpBox( + Translations.Timeline.ManualDownloadWarning, + MessageType.Warning, 11); + + HotReloadGUIHelper.HelpBox( + string.Format(Translations.Timeline.ManualDownloadInfo, downloadPath), + MessageType.Info, 11); + + using (new EditorGUILayout.HorizontalScope()) { + if (GUILayout.Button(Translations.Timeline.ManualDownloadButtonCopyToClipboard + (copiedPath ? " ✓" : ""))) { + GUIUtility.systemCopyBuffer = downloadPath; + copiedPath = true; + } + if (GUILayout.Button(Translations.Timeline.ManualDownloadButtonOpenDownloadUrl + (openedDownloadUrl ? " ✓" : ""))) { + Application.OpenURL(downloadUrl); + openedDownloadUrl = true; + } + } + if (GUILayout.Button(Translations.Timeline.ManualDownloadButtonComplete)) { + EditorCodePatcher.downloadCancelToken?.Cancel(); + copiedPath = false; + openedDownloadUrl = false; + } + OpenURLButton.Render(Translations.Timeline.ManualDownloadButtonContactSupport, Constants.ContactURL); + EditorGUILayout.Space(); + } + + internal static void RenderLicenseInfo(HotReloadRunTabState currentState) { + var showRedeem = currentState.redeemStage != RedeemStage.None; + var showConsumptions = ShouldRenderConsumption(currentState); + if (!showConsumptions && !showRedeem) { + return; + } + using (new EditorGUILayout.VerticalScope()) { + // space needed only for consumptions because of Stop/Start button's margin + if (showConsumptions) { + GUILayout.Space(6); + } + using (new EditorGUILayout.VerticalScope(HotReloadWindowStyles.Section)) { + if (showRedeem) { + RedeemLicenseHelper.I.RenderStage(currentState); + } else { + RenderConsumption(currentState.loginStatus); + GUILayout.Space(10); + RenderLicenseInfo(currentState, currentState.loginStatus); + RenderLicenseButtons(currentState); + GUILayout.Space(10); + } + } + GUILayout.Space(6); + } + } + + private Spinner _spinner = new Spinner(85); + private void RenderIndication() { + using (new EditorGUILayout.HorizontalScope(HotReloadWindowStyles.IndicationBox)) { + // icon box + if (HotReloadWindowStyles.windowScreenWidth <= Constants.IndicationTextHideWidth) { + GUILayout.FlexibleSpace(); + } + + using (new EditorGUILayout.HorizontalScope(HotReloadWindowStyles.IndicationHelpBox)) { + var text = HotReloadWindowStyles.windowScreenWidth > Constants.IndicationTextHideWidth ? $" {currentState.indicationStatusText}" : ""; + if (currentState.indicationIconPath == Spinner.SpinnerIconPath) { + GUILayout.Label(new GUIContent(text, _spinner.GetIcon()), style: HotReloadWindowStyles.IndicationIcon); + } else if (currentState.indicationIconPath != null) { + var style = HotReloadWindowStyles.IndicationIcon; + if (HotReloadTimelineHelper.alertIconString.ContainsValue(currentState.indicationIconPath)) { + style = HotReloadWindowStyles.IndicationAlertIcon; + } + GUILayout.Label(new GUIContent(text, GUIHelper.GetLocalIcon(currentState.indicationIconPath)), style); + } + } + } + } + + static GUIStyle _openSettingsStyle; + static GUIStyle openSettingsStyle => _openSettingsStyle ?? (_openSettingsStyle = new GUIStyle(GUI.skin.button) { + fontStyle = FontStyle.Normal, + fixedHeight = 25, + }); + + static GUILayoutOption[] _bigButtonHeight; + public static GUILayoutOption[] bigButtonHeight => _bigButtonHeight ?? (_bigButtonHeight = new [] {GUILayout.Height(25)}); + + private static GUIContent indieLicenseContent; + private static GUIContent businessLicenseContent; + + internal static void RenderLicenseStatusInfo(HotReloadRunTabState currentState, LoginStatusResponse loginStatus, bool allowHide = true, bool verbose = false) { + string message = null; + MessageType messageType = default(MessageType); + Action customGUI = null; + GUIContent content = null; + if (loginStatus == null) { + // no info + } else if (loginStatus.lastLicenseError != null) { + messageType = !loginStatus.freeSessionFinished ? MessageType.Warning : MessageType.Error; + message = GetMessageFromError(currentState, loginStatus.lastLicenseError); + } else if (loginStatus.isTrial && !PackageConst.IsAssetStoreBuild) { + message = string.Format(Translations.UI.TrialLicenseMessage, loginStatus.licenseExpiresAt.ToShortDateString()); + messageType = MessageType.Info; + } else if (loginStatus.isIndieLicense) { + if (verbose) { + message = Translations.UI.IndieLicenseMessage; + messageType = MessageType.Info; + customGUI = () => { + if (loginStatus.licenseExpiresAt.Date != DateTime.MaxValue.Date) { + EditorGUILayout.LabelField(string.Format(Translations.UI.LicenseRenewalMessage, loginStatus.licenseExpiresAt.ToShortDateString())); + EditorGUILayout.Space(); + } + using (new GUILayout.HorizontalScope()) { + HotReloadAboutTab.manageLicenseButton.OnGUI(); + HotReloadAboutTab.manageAccountButton.OnGUI(); + } + EditorGUILayout.Space(); + }; + if (indieLicenseContent == null) { + indieLicenseContent = new GUIContent(message, EditorGUIUtility.FindTexture("TestPassed")); + } + content = indieLicenseContent; + } + } else if (loginStatus.isBusinessLicense) { + if (verbose) { + message = Translations.UI.BusinessLicenseMessage; + messageType = MessageType.Info; + if (businessLicenseContent == null) { + businessLicenseContent = new GUIContent(message, EditorGUIUtility.FindTexture("TestPassed")); + } + content = businessLicenseContent; + customGUI = () => { + using (new GUILayout.HorizontalScope()) { + HotReloadAboutTab.manageLicenseButton.OnGUI(); + HotReloadAboutTab.manageAccountButton.OnGUI(); + } + EditorGUILayout.Space(); + }; + } + } + + if (messageType != MessageType.Info && HotReloadPrefs.ErrorHidden && allowHide) { + return; + } + if (message != null) { + if (messageType != MessageType.Info) { + using(new EditorGUILayout.HorizontalScope()) { + EditorGUILayout.HelpBox(message, messageType); + var style = HotReloadWindowStyles.HideButtonStyle; + if (Event.current.type == EventType.Repaint) { + style.fixedHeight = GUILayoutUtility.GetLastRect().height; + } + if (allowHide) { + if (GUILayout.Button(Translations.Common.ButtonHide, style)) { + HotReloadPrefs.ErrorHidden = true; + } + } + } + } else if (content != null) { + EditorGUILayout.LabelField(content); + EditorGUILayout.Space(); + } else { + EditorGUILayout.LabelField(message); + EditorGUILayout.Space(); + } + customGUI?.Invoke(); + } + } + + internal static void RenderBusinessLicenseInfo(GUIStyle style) { + GUILayout.Space(8); + using (new EditorGUILayout.HorizontalScope()) { + EditorGUILayout.HelpBox(Translations.License.LicenseErrorAssetStorePro, MessageType.Info); + if (Event.current.type == EventType.Repaint) { + style.fixedHeight = GUILayoutUtility.GetLastRect().height; + } + if (GUILayout.Button(Translations.Common.ButtonUpgrade, style)) { + Application.OpenURL(Constants.ProductPurchaseBusinessURL); + } + } + } + + internal static void RenderDebuggerAttachedInfo(bool isPopup) { + GUILayout.Space(8); + var autoRefreshDisabled = AutoRefreshSettingChecker.IsUserAutoRefreshDisabled(); + var msg = autoRefreshDisabled ? Translations.Suggestions.DebuggerAttachedMessagePaused : Translations.Suggestions.DebuggerAttachedMessageAutoRecompile; + using (new EditorGUILayout.VerticalScope()) { + var _fontSize = EditorStyles.helpBox.fontSize; + try { + EditorStyles.helpBox.fontSize = 12; + // empty label field to measure width + EditorGUILayout.LabelField(GUIContent.none, new GUILayoutOption[]{GUILayout.Height(0)}); + var lastRectWidth = GUILayoutUtility.GetLastRect().width; + EditorStyles.helpBox.fixedHeight = EditorStyles.helpBox.CalcHeight(new GUIContent(msg), lastRectWidth) + 15; + EditorStyles.helpBox.fixedWidth = lastRectWidth; + EditorGUILayout.HelpBox(msg, MessageType.Info); + // to account for added height + GUILayout.Space(isPopup ? 45 : 30); + using (new EditorGUILayout.HorizontalScope()) { + if (GUILayout.Button("Docs")) { + Application.OpenURL(Constants.DebuggerURL); + } + if (GUILayout.Button("Open Settings") && HotReloadWindow.Current) { + HotReloadWindow.Current.SelectTab(typeof(HotReloadSettingsTab)); + } + } + } finally { + EditorStyles.helpBox.fixedHeight = 0; + EditorStyles.helpBox.fixedWidth = 0; + EditorStyles.helpBox.fontSize = _fontSize; + } + } + } + + internal static void RenderIndieLicenseInfo(GUIStyle style) { + GUILayout.Space(8); + using (new EditorGUILayout.HorizontalScope()) { + EditorGUILayout.HelpBox(Translations.License.LicenseErrorUnityPlusIndie, MessageType.Info); + if (Event.current.type == EventType.Repaint) { + style.fixedHeight = GUILayoutUtility.GetLastRect().height; + } + if (GUILayout.Button(Translations.Common.ButtonUpgrade, style)) { + Application.OpenURL(Constants.ProductPurchaseURL); + } + } + } + + internal static Dictionary _licenseErrorData; + internal static Dictionary LicenseErrorData => _licenseErrorData ?? (_licenseErrorData = new Dictionary { + { "DeviceNotLicensedException", new LicenseErrorData(description: Translations.License.LicenseErrorDeviceInUse, showSupportButton: true, supportButtonText: Translations.License.LicenseButtonContactSupport) }, + { "DeviceBlacklistedException", new LicenseErrorData(description: Translations.License.LicenseErrorDeviceBlacklisted) }, + { "DateHeaderInvalidException", new LicenseErrorData(description: Translations.License.LicenseErrorIncorrectClock) }, + { "DateTimeCheatingException", new LicenseErrorData(description: Translations.License.LicenseErrorIncorrectClock) }, + { "LicenseActivationException", new LicenseErrorData(description: Translations.License.LicenseErrorActivation, showSupportButton: true, supportButtonText: Translations.License.LicenseButtonContactSupport) }, + { "LicenseDeletedException", new LicenseErrorData(description: Translations.License.LicenseErrorDeleted, showBuyButton: true, buyButtonText: Translations.License.LicenseButtonGetLicense, showSupportButton: true, supportButtonText: Translations.License.LicenseButtonContactSupport) }, + { "LicenseDisabledException", new LicenseErrorData(description: Translations.License.LicenseErrorDisabled, showBuyButton: true, buyButtonText: Translations.License.LicenseButtonGetLicense, showSupportButton: true, supportButtonText: Translations.License.LicenseButtonContactSupport) }, + { "LicenseExpiredException", new LicenseErrorData(description: Translations.License.LicenseErrorExpired, showBuyButton: true, buyButtonText: Translations.License.LicenseButtonUpgradeLicense, showManageLicenseButton: true, manageLicenseButtonText: Translations.License.LicenseButtonManageLicense) }, + { "LicenseInactiveException", new LicenseErrorData(description: Translations.License.LicenseErrorInactive) }, + { "LocalLicenseException", new LicenseErrorData(description: Translations.License.LicenseErrorCorrupted) }, + // Note: obsolete + { "MissingParametersException", new LicenseErrorData(description: "An account already exists for this device. Please login with your existing email/password.", showBuyButton: true, buyButtonText: Translations.License.LicenseButtonGetLicense) }, + { "NetworkException", new LicenseErrorData(description: Translations.License.LicenseErrorNetwork, showSupportButton: true, supportButtonText: Translations.License.LicenseButtonContactSupport) }, + { "TrialLicenseExpiredException", new LicenseErrorData(description: Translations.License.LicenseErrorTrialExpired, showBuyButton: true, buyButtonText: Translations.License.LicenseButtonUpgradeLicense) }, + { "InvalidCredentialException", new LicenseErrorData(description: Translations.License.LicenseErrorInvalidCredentials) }, + // Note: activating free trial with email is not supported anymore. This error shouldn't happen which is why we should rather user the fallback + // { "LicenseNotFoundException", new LicenseErrorData(description: "The account you're trying to access doesn't seem to exist yet. Please enter your email address to create a new account and receive a trial license.", showLoginButton: true, loginButtonText: CreateAccount) }, + { "LicenseIncompatibleException", new LicenseErrorData(description: Translations.License.LicenseErrorIncompatible, showManageLicenseButton: true, manageLicenseButtonText: Translations.License.LicenseButtonManageLicense) }, + }); + internal static LicenseErrorData defaultLicenseErrorData = new LicenseErrorData(description: Translations.License.LicenseErrorDefault, showSupportButton: true, supportButtonText: Translations.License.LicenseButtonContactSupport); + + internal static string GetMessageFromError(HotReloadRunTabState currentState, string error) { + if (PackageConst.IsAssetStoreBuild && error == "TrialLicenseExpiredException") { + return Translations.License.LicenseErrorAssetStorePro; + } + return GetLicenseErrorDataOrDefault(currentState, error).description; + } + + internal static LicenseErrorData GetLicenseErrorDataOrDefault(HotReloadRunTabState currentState, string error) { + if (currentState.loginStatus?.isFree == true) { + return default(LicenseErrorData); + } + if (currentState.loginStatus == null || string.IsNullOrEmpty(error) && (!currentState.loginStatus.isLicensed || currentState.loginStatus.isTrial)) { + return new LicenseErrorData(null, showBuyButton: true, buyButtonText: Translations.License.LicenseButtonGetLicense); + } + if (string.IsNullOrEmpty(error)) { + return default(LicenseErrorData); + } + if (!LicenseErrorData.ContainsKey(error)) { + return defaultLicenseErrorData; + } + return LicenseErrorData[error]; + } + + internal static void RenderBuyLicenseButton(string buyLicenseButton) { + OpenURLButton.Render(buyLicenseButton, Constants.ProductPurchaseURL); + } + + static void RenderLicenseActionButtons(HotReloadRunTabState currentState) { + var errInfo = GetLicenseErrorDataOrDefault(currentState, currentState.loginStatus?.lastLicenseError); + if (errInfo.showBuyButton || errInfo.showManageLicenseButton) { + using(new EditorGUILayout.HorizontalScope()) { + if (errInfo.showBuyButton) { + RenderBuyLicenseButton(errInfo.buyButtonText); + } + if (errInfo.showManageLicenseButton && !HotReloadPrefs.ErrorHidden) { + OpenURLButton.Render(errInfo.manageLicenseButtonText, Constants.ManageLicenseURL); + } + } + } + if (errInfo.showLoginButton && GUILayout.Button(errInfo.loginButtonText, openSettingsStyle)) { + // show license section + HotReloadWindow.Current.SelectTab(typeof(HotReloadSettingsTab)); + HotReloadWindow.Current.SettingsTab.FocusLicenseFoldout(); + } + if (errInfo.showSupportButton && !HotReloadPrefs.ErrorHidden) { + OpenURLButton.Render(errInfo.supportButtonText, Constants.ContactURL); + } + if (currentState.loginStatus?.lastLicenseError != null) { + HotReloadAboutTab.reportIssueButton.OnGUI(); + } + } + + internal static void RenderLicenseInfo(HotReloadRunTabState currentState, LoginStatusResponse loginStatus, bool verbose = false, bool allowHide = true, string overrideActionButton = null, bool showConsumptions = false) { + HotReloadPrefs.ShowLogin = EditorGUILayout.Foldout(HotReloadPrefs.ShowLogin, Translations.License.TitleHotReloadLicense, true, HotReloadWindowStyles.FoldoutStyle); + if (HotReloadPrefs.ShowLogin) { + EditorGUILayout.Space(); + if ((loginStatus?.isLicensed != true && showConsumptions) && !(loginStatus == null || loginStatus.isFree)) { + RenderConsumption(loginStatus); + } + RenderLicenseStatusInfo(currentState, loginStatus: loginStatus, allowHide: allowHide, verbose: verbose); + + RenderLicenseInnerPanel(currentState, overrideActionButton: overrideActionButton); + + EditorGUILayout.Space(); + EditorGUILayout.Space(); + } + } + + internal void RenderPromoCodes() { + HotReloadPrefs.ShowPromoCodes = EditorGUILayout.Foldout(HotReloadPrefs.ShowPromoCodes, Translations.License.PromoCodesTitle, true, HotReloadWindowStyles.FoldoutStyle); + if (!HotReloadPrefs.ShowPromoCodes) { + return; + } + if (promoCodeActivatedThisSession) { + EditorGUILayout.HelpBox(Translations.License.MessagePromoCodeActivated, MessageType.Info); + } else { + if (promoCodeError != null && promoCodeErrorType != MessageType.None) { + EditorGUILayout.HelpBox(promoCodeError, promoCodeErrorType); + } + EditorGUILayout.LabelField(Translations.Common.LabelPromoCode); + _pendingPromoCode = EditorGUILayout.TextField(_pendingPromoCode); + EditorGUILayout.Space(); + + using (new EditorGUI.DisabledScope(_requestingActivatePromoCode)) { + if (GUILayout.Button(Translations.Common.ButtonActivatePromoCode, HotReloadRunTab.bigButtonHeight)) { + RequestActivatePromoCode().Forget(); + } + } + } + + EditorGUILayout.Space(); + EditorGUILayout.Space(); + } + + private async Task RequestActivatePromoCode() { + _requestingActivatePromoCode = true; + try { + var resp = await RequestHelper.RequestActivatePromoCode(_pendingPromoCode); + if (resp != null && resp.error == null) { + promoCodeActivatedThisSession = true; + } else { + var requestError = resp?.error ?? "Network error"; + var errorType = ToErrorType(requestError); + promoCodeError = ToPrettyErrorMessage(errorType); + promoCodeErrorType = ToMessageType(errorType); + } + } finally { + _requestingActivatePromoCode = false; + } + } + + PromoCodeErrorType ToErrorType(string error) { + switch (error) { + case "Input is missing": return PromoCodeErrorType.MISSING_INPUT; + case "only POST is supported": return PromoCodeErrorType.INVALID_HTTP_METHOD; + case "body is not a valid json": return PromoCodeErrorType.BODY_INVALID; + case "Promo code is not found": return PromoCodeErrorType.PROMO_CODE_NOT_FOUND; + case "Promo code already claimed": return PromoCodeErrorType.PROMO_CODE_CLAIMED; + case "Promo code expired": return PromoCodeErrorType.PROMO_CODE_EXPIRED; + case "License not found": return PromoCodeErrorType.LICENSE_NOT_FOUND; + case "License is not a trial": return PromoCodeErrorType.LICENSE_NOT_TRIAL; + case "License already extended": return PromoCodeErrorType.LICENSE_ALREADY_EXTENDED; + case "conditionalCheckFailed": return PromoCodeErrorType.CONDITIONAL_CHECK_FAILED; + } + if (error.Contains("Updating License Failed with error")) { + return PromoCodeErrorType.UPDATING_LICENSE_FAILED; + } else if (error.Contains("Unknown exception")) { + return PromoCodeErrorType.UNKNOWN_EXCEPTION; + } else if (error.Contains("Unsupported path")) { + return PromoCodeErrorType.UNSUPPORTED_PATH; + } + return PromoCodeErrorType.NONE; + } + + string ToPrettyErrorMessage(PromoCodeErrorType errorType) { + var defaultMsg = Translations.Errors.ErrorPromoCodeActivation; + switch (errorType) { + case PromoCodeErrorType.MISSING_INPUT: + case PromoCodeErrorType.INVALID_HTTP_METHOD: + case PromoCodeErrorType.BODY_INVALID: + case PromoCodeErrorType.UNKNOWN_EXCEPTION: + case PromoCodeErrorType.UNSUPPORTED_PATH: + case PromoCodeErrorType.LICENSE_NOT_FOUND: + case PromoCodeErrorType.UPDATING_LICENSE_FAILED: + case PromoCodeErrorType.LICENSE_NOT_TRIAL: + return defaultMsg; + case PromoCodeErrorType.PROMO_CODE_NOT_FOUND: return Translations.Errors.ErrorPromoCodeInvalid; + case PromoCodeErrorType.PROMO_CODE_CLAIMED: return Translations.Errors.ErrorPromoCodeUsed; + case PromoCodeErrorType.PROMO_CODE_EXPIRED: return Translations.Errors.ErrorPromoCodeExpired; + case PromoCodeErrorType.LICENSE_ALREADY_EXTENDED: return Translations.Errors.ErrorLicenseExtended; + case PromoCodeErrorType.CONDITIONAL_CHECK_FAILED: return Translations.Errors.ErrorPromoCodeActivation; + case PromoCodeErrorType.NONE: return Translations.Errors.ErrorPromoCodeNetwork; + default: return defaultMsg; + } + } + + MessageType ToMessageType(PromoCodeErrorType errorType) { + switch (errorType) { + case PromoCodeErrorType.MISSING_INPUT: return MessageType.Error; + case PromoCodeErrorType.INVALID_HTTP_METHOD: return MessageType.Error; + case PromoCodeErrorType.BODY_INVALID: return MessageType.Error; + case PromoCodeErrorType.PROMO_CODE_NOT_FOUND: return MessageType.Warning; + case PromoCodeErrorType.PROMO_CODE_CLAIMED: return MessageType.Warning; + case PromoCodeErrorType.PROMO_CODE_EXPIRED: return MessageType.Warning; + case PromoCodeErrorType.LICENSE_NOT_FOUND: return MessageType.Error; + case PromoCodeErrorType.LICENSE_NOT_TRIAL: return MessageType.Error; + case PromoCodeErrorType.LICENSE_ALREADY_EXTENDED: return MessageType.Warning; + case PromoCodeErrorType.UPDATING_LICENSE_FAILED: return MessageType.Error; + case PromoCodeErrorType.CONDITIONAL_CHECK_FAILED: return MessageType.Error; + case PromoCodeErrorType.UNKNOWN_EXCEPTION: return MessageType.Error; + case PromoCodeErrorType.UNSUPPORTED_PATH: return MessageType.Error; + case PromoCodeErrorType.NONE: return MessageType.Error; + default: return MessageType.Error; + } + } + + public static void RenderLicenseButtons(HotReloadRunTabState currentState) { + RenderLicenseActionButtons(currentState); + } + + internal static void RenderLicenseInnerPanel(HotReloadRunTabState currentState, string overrideActionButton = null, bool renderLogout = true) { + EditorGUILayout.LabelField(Translations.Common.LabelEmail); + GUI.SetNextControlName("email"); + _pendingEmail = EditorGUILayout.TextField(string.IsNullOrEmpty(_pendingEmail) ? HotReloadPrefs.LicenseEmail : _pendingEmail); + _pendingEmail = _pendingEmail.Trim(); + + EditorGUILayout.LabelField(Translations.Common.LabelPassword); + GUI.SetNextControlName("password"); + _pendingPassword = EditorGUILayout.PasswordField(string.IsNullOrEmpty(_pendingPassword) ? HotReloadPrefs.LicensePassword : _pendingPassword); + + RenderSwitchAuthMode(); + + var e = Event.current; + using(new EditorGUI.DisabledScope(currentState.requestingLoginInfo)) { + var btnLabel = overrideActionButton; + if (String.IsNullOrEmpty(overrideActionButton)) { + btnLabel = Translations.Common.ButtonLogin; + } + using (new EditorGUILayout.HorizontalScope()) { + var focusedControl = GUI.GetNameOfFocusedControl(); + if (GUILayout.Button(btnLabel, bigButtonHeight) + || (focusedControl == "email" + || focusedControl == "password") + && e.type == EventType.KeyUp + && (e.keyCode == KeyCode.Return + || e.keyCode == KeyCode.KeypadEnter) + ) { + var error = ValidateEmail(_pendingEmail); + if (!string.IsNullOrEmpty(error)) { + _activateInfoMessage = new Tuple(error, MessageType.Warning); + } else if (string.IsNullOrEmpty(_pendingPassword)) { + _activateInfoMessage = new Tuple(Translations.Errors.ErrorEnterPassword, MessageType.Warning); + } else { + HotReloadWindow.Current.SelectTab(typeof(HotReloadRunTab)); + + _activateInfoMessage = null; + if (RedeemLicenseHelper.I.RedeemStage == RedeemStage.Login) { + RedeemLicenseHelper.I.FinishRegistration(RegistrationOutcome.Indie); + } + if (!EditorCodePatcher.RequestingDownloadAndRun && !EditorCodePatcher.Running) { + LoginOnDownloadAndRun(new LoginData(email: _pendingEmail, password: _pendingPassword)).Forget(); + } else { + EditorCodePatcher.RequestLogin(_pendingEmail, _pendingPassword).Forget(); + } + } + } + if (renderLogout) { + RenderLogout(currentState); + } + } + } + if (_activateInfoMessage != null && (e.type == EventType.Layout || e.type == EventType.Repaint)) { + EditorGUILayout.HelpBox(_activateInfoMessage.Item1, _activateInfoMessage.Item2); + } + } + + public static string ValidateEmail(string email) { + if (string.IsNullOrEmpty(email)) { + return Translations.Errors.ErrorEnterEmail; + } else if (!EditorWindowHelper.IsValidEmailAddress(email)) { + return Translations.Errors.ErrorValidEmail; + } else if (email.Contains("+")) { + return Translations.Errors.ErrorMailExtensions; + } + return null; + } + + public static void RenderLogout(HotReloadRunTabState currentState) { + if (currentState.loginStatus?.isLicensed != true) { + return; + } + if (GUILayout.Button(Translations.Common.ButtonLogout, bigButtonHeight)) { + HotReloadWindow.Current.SelectTab(typeof(HotReloadRunTab)); + if (!EditorCodePatcher.RequestingDownloadAndRun && !EditorCodePatcher.Running) { + LogoutOnDownloadAndRun().Forget(); + } else { + RequestLogout().Forget(); + } + } + } + + async static Task LoginOnDownloadAndRun(LoginData loginData = null) { + var ok = await EditorCodePatcher.DownloadAndRun(loginData); + if (ok && loginData != null) { + HotReloadPrefs.ErrorHidden = false; + HotReloadPrefs.LicenseEmail = loginData.email; + HotReloadPrefs.LicensePassword = loginData.password; + } + } + + async static Task LogoutOnDownloadAndRun() { + var ok = await EditorCodePatcher.DownloadAndRun(); + if (!ok) { + return; + } + await RequestLogout(); + } + + private async static Task RequestLogout() { + int i = 0; + while (!EditorCodePatcher.Running && i < 100) { + await Task.Delay(100); + i++; + } + var resp = await RequestHelper.RequestLogout(); + if (!EditorCodePatcher.RequestingLoginInfo && resp != null) { + EditorCodePatcher.HandleStatus(resp); + } + } + + private static void RenderSwitchAuthMode() { + var color = EditorGUIUtility.isProSkin ? new Color32(0x3F, 0x9F, 0xFF, 0xFF) : new Color32(0x0F, 0x52, 0xD7, 0xFF); + if (HotReloadGUIHelper.LinkLabel(Translations.Miscellaneous.LinkForgotPassword, 12, FontStyle.Normal, TextAnchor.MiddleLeft, color)) { + if (EditorUtility.DisplayDialog(Translations.Dialogs.DialogTitleRecoverPassword, Translations.Dialogs.DialogMessageRecoverPassword, Translations.Common.ButtonOpenInBrowser, Translations.Common.ButtonCancel)) { + Application.OpenURL(Constants.ForgotPasswordURL); + } + } + } + + Texture2D _greenTextureLight; + Texture2D _greenTextureDark; + Texture2D GreenTexture => EditorGUIUtility.isProSkin + ? _greenTextureDark ? _greenTextureDark : (_greenTextureDark = MakeTexture(0.5f)) + : _greenTextureLight ? _greenTextureLight : (_greenTextureLight = MakeTexture(0.85f)); + + private void RenderProgressBar() { + if (currentState.downloadRequired && !currentState.downloadStarted) { + return; + } + + using(var scope = new EditorGUILayout.VerticalScope(HotReloadWindowStyles.MiddleCenterStyle)) { + float progress; + var bg = HotReloadWindowStyles.ProgressBarBarStyle.normal.background; + try { + HotReloadWindowStyles.ProgressBarBarStyle.normal.background = GreenTexture; + var barRect = scope.rect; + + barRect.height = 25; + if (currentState.downloadRequired) { + barRect.width = barRect.width - 65; + using (new EditorGUILayout.HorizontalScope()) { + progress = EditorCodePatcher.DownloadProgress; + EditorGUI.ProgressBar(barRect, Mathf.Clamp(progress, 0f, 1f), ""); + if (GUI.Button(new Rect(barRect) { x = barRect.x + barRect.width + 5, height = barRect.height, width = 60 }, new GUIContent(" Info", GUIHelper.GetLocalIcon("alert_info")))) { + Application.OpenURL(Constants.AdditionalContentURL); + } + } + } else { + progress = EditorCodePatcher.Stopping ? 1 : Mathf.Clamp(EditorCodePatcher.StartupProgress?.Item1 ?? 0f, 0f, 1f); + EditorGUI.ProgressBar(barRect, progress, ""); + } + GUILayout.Space(barRect.height); + } finally { + HotReloadWindowStyles.ProgressBarBarStyle.normal.background = bg; + } + } + } + + private Texture2D MakeTexture(float maxHue) { + var width = 11; + var height = 11; + Color[] pix = new Color[width * height]; + for (int y = 0; y < height; y++) { + var middle = Math.Ceiling(height / (double)2); + var maxGreen = maxHue; + var yCoord = y + 1; + var green = maxGreen - Math.Abs(yCoord - middle) * 0.02; + for (int x = 0; x < width; x++) { + pix[y * width + x] = new Color(0.1f, (float)green, 0.1f, 1.0f); + } + } + var result = new Texture2D(width, height); + result.SetPixels(pix); + result.Apply(); + return result; + } + + + /* + [MenuItem("codepatcher/restart")] + public static void TestRestart() { + CodePatcherCLI.Restart(Application.dataPath, false); + } + */ + + } + + internal static class HotReloadGUIHelper { + public static bool LinkLabel(string labelText, int fontSize, FontStyle fontStyle, TextAnchor alignment, Color? color = null) { + var stl = EditorStyles.label; + + // copy + var origSize = stl.fontSize; + var origStyle = stl.fontStyle; + var origAnchor = stl.alignment; + var origColor = stl.normal.textColor; + + // temporarily modify the built-in style + stl.fontSize = fontSize; + stl.fontStyle = fontStyle; + stl.alignment = alignment; + stl.normal.textColor = color ?? origColor; + stl.active.textColor = color ?? origColor; + stl.focused.textColor = color ?? origColor; + stl.hover.textColor = color ?? origColor; + + try { + return GUILayout.Button(labelText, stl); + } finally{ + // set the editor style (stl) back to normal + stl.fontSize = origSize; + stl.fontStyle = origStyle; + stl.alignment = origAnchor; + stl.normal.textColor = origColor; + stl.active.textColor = origColor; + stl.focused.textColor = origColor; + stl.hover.textColor = origColor; + } + } + + public static void HelpBox(string message, MessageType type, int fontSize) { + var _fontSize = EditorStyles.helpBox.fontSize; + try { + EditorStyles.helpBox.fontSize = fontSize; + EditorGUILayout.HelpBox(message, type); + } finally { + EditorStyles.helpBox.fontSize = _fontSize; + } + } + } + + internal enum PromoCodeErrorType { + NONE, + MISSING_INPUT, + INVALID_HTTP_METHOD, + BODY_INVALID, + PROMO_CODE_NOT_FOUND, + PROMO_CODE_CLAIMED, + PROMO_CODE_EXPIRED, + LICENSE_NOT_FOUND, + LICENSE_NOT_TRIAL, + LICENSE_ALREADY_EXTENDED, + UPDATING_LICENSE_FAILED, + CONDITIONAL_CHECK_FAILED, + UNKNOWN_EXCEPTION, + UNSUPPORTED_PATH, + } + + internal class LoginData { + public readonly string email; + public readonly string password; + + public LoginData(string email, string password) { + this.email = email; + this.password = password; + } + } +} + diff --git a/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs/HotReloadRunTab.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs/HotReloadRunTab.cs.meta new file mode 100644 index 0000000..22d43bf --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs/HotReloadRunTab.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 38d0877009d34a9458f7d169d7f1b6a7 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs/HotReloadRunTab.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs/HotReloadSettingsTab.cs b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs/HotReloadSettingsTab.cs new file mode 100644 index 0000000..3589f3f --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs/HotReloadSettingsTab.cs @@ -0,0 +1,945 @@ +using System; +using System.Diagnostics.CodeAnalysis; +using SingularityGroup.HotReload.DTO; +using SingularityGroup.HotReload.Editor.Cli; +using SingularityGroup.HotReload.Editor.Localization; +using RuntimeLocalization = SingularityGroup.HotReload.Localization; +using UnityEditor; +using UnityEngine; +using EditorGUI = UnityEditor.EditorGUI; + +namespace SingularityGroup.HotReload.Editor { + internal struct HotReloadSettingsTabState { + public readonly bool running; + public readonly bool trialLicense; + public readonly LoginStatusResponse loginStatus; + public readonly bool isServerHealthy; + public readonly bool registrationRequired; + + public HotReloadSettingsTabState( + bool running, + bool trialLicense, + LoginStatusResponse loginStatus, + bool isServerHealthy, + bool registrationRequired + ) { + this.running = running; + this.trialLicense = trialLicense; + this.loginStatus = loginStatus; + this.isServerHealthy = isServerHealthy; + this.registrationRequired = registrationRequired; + } + } + + internal class HotReloadSettingsTab : HotReloadTabBase { + private readonly HotReloadOptionsSection optionsSection; + + // cached because changing built target triggers C# domain reload + // Also I suspect selectedBuildTargetGroup has chance to freeze Unity for several seconds (unconfirmed). + private readonly Lazy currentBuildTarget = new Lazy( + () => BuildPipeline.GetBuildTargetGroup(EditorUserBuildSettings.activeBuildTarget)); + + private readonly Lazy isCurrentBuildTargetSupported = new Lazy(() => { + var target = BuildPipeline.GetBuildTargetGroup(EditorUserBuildSettings.activeBuildTarget); + return HotReloadBuildHelper.IsMonoSupported(target); + }); + + // Resources.Load uses cache, so it's safe to call it every frame. + // Retrying Load every time fixes an issue where you import the package and constructor runs, but resources aren't loadable yet. + private Texture iconCheck => Resources.Load("icon_check_circle"); + private Texture iconWarning => Resources.Load("icon_warning_circle"); + + [SuppressMessage("ReSharper", "Unity.UnknownResource")] // Rider doesn't check packages + public HotReloadSettingsTab(HotReloadWindow window) : base(window, + Translations.Settings.SettingsTitle, + "_Popup", + Translations.OnDevice.OnDeviceHeadline) { + optionsSection = new HotReloadOptionsSection(); + } + + private GUIStyle headlineStyle; + private GUIStyle paddedStyle; + + private Vector2 _settingsTabScrollPos; + + HotReloadSettingsTabState currentState; + public override void OnGUI() { + // HotReloadAboutTabState ensures rendering is consistent between Layout and Repaint calls + // Without it errors like this happen: + // ArgumentException: Getting control 2's position in a group with only 2 controls when doing repaint + // See thread for more context: https://answers.unity.com/questions/17718/argumentexception-getting-control-2s-position-in-a.html + if (Event.current.type == EventType.Layout) { + currentState = new HotReloadSettingsTabState( + running: EditorCodePatcher.Running, + trialLicense: EditorCodePatcher.Status != null && (EditorCodePatcher.Status?.isTrial == true), + loginStatus: EditorCodePatcher.Status, + isServerHealthy: ServerHealthCheck.I.IsServerHealthy, + registrationRequired: RedeemLicenseHelper.I.RegistrationRequired + ); + } + using (var scope = new EditorGUILayout.ScrollViewScope(_settingsTabScrollPos, GUI.skin.horizontalScrollbar, GUI.skin.verticalScrollbar, GUILayout.MaxHeight(Math.Max(HotReloadWindowStyles.windowScreenHeight, 800)), GUILayout.MaxWidth(Math.Max(HotReloadWindowStyles.windowScreenWidth, 800)))) { + _settingsTabScrollPos.x = scope.scrollPosition.x; + _settingsTabScrollPos.y = scope.scrollPosition.y; + using (new EditorGUILayout.VerticalScope(HotReloadWindowStyles.DynamicSectionHelpTab)) { + GUILayout.Space(10); + if (!EditorCodePatcher.LoginNotRequired + && !currentState.registrationRequired + // Delay showing login in settings to not confuse users that they need to login to use Free trial + && (HotReloadPrefs.RateAppShown + || PackageConst.IsAssetStoreBuild) + ) { + using (new EditorGUILayout.HorizontalScope(HotReloadWindowStyles.SectionOuterBoxCompact)) { + using (new EditorGUILayout.HorizontalScope(HotReloadWindowStyles.SectionInnerBoxWide)) { + using (new EditorGUILayout.VerticalScope()) { + RenderLicenseInfoSection(); + } + } + } + } + + using (new EditorGUILayout.HorizontalScope(HotReloadWindowStyles.SectionOuterBoxCompact)) { + using (new EditorGUILayout.HorizontalScope(HotReloadWindowStyles.SectionInnerBoxWide)) { + using (new EditorGUILayout.VerticalScope()) { + HotReloadPrefs.ShowConfiguration = EditorGUILayout.Foldout(HotReloadPrefs.ShowConfiguration, Translations.Settings.SettingsConfiguration, true, HotReloadWindowStyles.FoldoutStyle); + if (HotReloadPrefs.ShowConfiguration) { + EditorGUILayout.Space(); + + // main section + RenderUnityAutoRefresh(); + using (new EditorGUI.DisabledScope(!EditorCodePatcher.autoRecompileUnsupportedChangesSupported)) { + RenderAutoRecompileUnsupportedChanges(); + if (HotReloadPrefs.AutoRecompileUnsupportedChanges && EditorCodePatcher.autoRecompileUnsupportedChangesSupported) { + using (new EditorGUILayout.VerticalScope(paddedStyle ?? (paddedStyle = new GUIStyle { padding = new RectOffset(20, 0, 0, 0) }))) { + RenderAutoRecompileUnsupportedChangesImmediately(); + RenderAutoRecompileUnsupportedChangesOnExitPlayMode(); + RenderAutoRecompileUnsupportedChangesInPlayMode(); + RenderAutoRecompileInspectorFieldEdits(); + RenderAutoRecompilePartiallyUnsupportedChanges(); + RenderDisplayNewMonobehaviourMethodsAsPartiallySupported(); + RenderAutoRecompileUnsupportedChangesInEditMode(); + } + } + EditorGUILayout.Space(); + } + RenderAssetRefresh(); + if (HotReloadPrefs.AllAssetChanges) { + using (new EditorGUILayout.VerticalScope(paddedStyle ?? (paddedStyle = new GUIStyle { padding = new RectOffset(20, 0, 0, 0) }))) { + RenderIncludeShaderChanges(); + } + + EditorGUILayout.Space(); + } + RenderDebuggerCompatibility(); + + // // fields + // RenderShowFeatures(); + // using (new EditorGUILayout.VerticalScope(paddedStyle ?? (paddedStyle = new GUIStyle { padding = new RectOffset(20, 0, 0, 0) }))) { + // RenderShowApplyfieldInitializerEditsToExistingClassInstances(); + // + // EditorGUILayout.Space(); + // } + + // visual feedback + if (EditorWindowHelper.supportsNotifications) { + RenderShowNotifications(); + using (new EditorGUILayout.VerticalScope(paddedStyle ?? (paddedStyle = new GUIStyle { padding = new RectOffset(20, 0, 0, 0) }))) { + RenderShowPatchingNotifications(); + RenderShowCompilingUnsupportedNotifications(); + } + + EditorGUILayout.Space(); + } + + // misc + RenderMiscHeader(); + using (new EditorGUILayout.VerticalScope(paddedStyle ?? (paddedStyle = new GUIStyle { padding = new RectOffset(20, 0, 0, 0) }))) { + RenderAutoClearTimeline(); + RenderAutostart(); + RenderConsoleWindow(); + + EditorGUILayout.Space(); + } + + EditorGUILayout.Space(); + using (new EditorGUILayout.HorizontalScope()) { + GUILayout.FlexibleSpace(); + HotReloadWindow.RenderShowOnStartup(); + } + } + } + } + } + + if (!EditorCodePatcher.LoginNotRequired && currentState.trialLicense && currentState.running) { + using (new EditorGUILayout.HorizontalScope(HotReloadWindowStyles.SectionOuterBoxCompact)) { + using (new EditorGUILayout.HorizontalScope(HotReloadWindowStyles.SectionInnerBoxWide)) { + using (new EditorGUILayout.VerticalScope()) { + RenderPromoCodeSection(); + } + } + } + } + + using (new EditorGUILayout.HorizontalScope(HotReloadWindowStyles.SectionOuterBoxCompact)) { + using (new EditorGUILayout.HorizontalScope(HotReloadWindowStyles.SectionInnerBoxWide)) { + using (new EditorGUILayout.VerticalScope()) { + RenderOnDevice(); + } + } + } + + using (new EditorGUILayout.HorizontalScope(HotReloadWindowStyles.SectionOuterBoxCompact)) { + using (new EditorGUILayout.HorizontalScope(HotReloadWindowStyles.SectionInnerBoxWide)) { + using (new EditorGUILayout.VerticalScope()) { + HotReloadPrefs.ShowAdvanced = EditorGUILayout.Foldout(HotReloadPrefs.ShowAdvanced, Translations.Settings.SettingsAdvanced, true, HotReloadWindowStyles.FoldoutStyle); + if (HotReloadPrefs.ShowAdvanced) { + EditorGUILayout.Space(); + + DeactivateHotReload(); + DisableDetailedErrorReporting(); + PauseHotReloadInEditMode(); +#if UNITY_EDITOR_WIN + if (PackageConst.DefaultLocale == RuntimeLocalization.Locale.English) { + UseWatchman(); + } +#endif + } + } + } + } + } + } + } + + void RenderUnityAutoRefresh() { + var newSettings = EditorGUILayout.BeginToggleGroup(new GUIContent(Translations.Settings.ToggleManageAutoRefresh), HotReloadPrefs.AllowDisableUnityAutoRefresh); + if (newSettings != HotReloadPrefs.AllowDisableUnityAutoRefresh) { + HotReloadPrefs.AllowDisableUnityAutoRefresh = newSettings; + } + string toggleDescription; + if (HotReloadPrefs.AllowDisableUnityAutoRefresh) { + toggleDescription = Translations.Settings.SettingsManageAutoRefreshOn; + } else { + toggleDescription = Translations.Settings.SettingsManageAutoRefreshOff; + } + EditorGUILayout.LabelField(toggleDescription, HotReloadWindowStyles.WrapStyle); + EditorGUILayout.EndToggleGroup(); + EditorGUILayout.Space(6f); + } + + void RenderAssetRefresh() { + var newSettings = EditorGUILayout.BeginToggleGroup(new GUIContent(Translations.Settings.ToggleAssetRefresh), HotReloadPrefs.AllAssetChanges); + if (newSettings != HotReloadPrefs.AllAssetChanges) { + HotReloadPrefs.AllAssetChanges = newSettings; + // restart when setting changes + if (ServerHealthCheck.I.IsServerHealthy) { + var restartServer = EditorUtility.DisplayDialog(Translations.Dialogs.DialogTitleRestartServer, + Translations.Dialogs.DialogMessageRestartAssetRefresh, + Translations.Dialogs.DialogButtonRestartHotReload, Translations.Dialogs.DialogButtonDontRestart); + if (restartServer) { + EditorCodePatcher.RestartCodePatcher().Forget(); + } + } + } + string toggleDescription; + if (HotReloadPrefs.AllAssetChanges) { + toggleDescription = Translations.Settings.SettingsAssetRefreshOn; + } else { + toggleDescription = Translations.Settings.SettingsAssetRefreshOff; + } + EditorGUILayout.LabelField(toggleDescription, HotReloadWindowStyles.WrapStyle); + EditorGUILayout.EndToggleGroup(); + EditorGUILayout.Space(6f); + } + + void RenderDebuggerCompatibility() { + var newSettings = EditorGUILayout.BeginToggleGroup(new GUIContent(Translations.Settings.ToggleDebuggerCompatibility), HotReloadPrefs.AutoDisableHotReloadWithDebugger); + if (newSettings != HotReloadPrefs.AutoDisableHotReloadWithDebugger) { + HotReloadPrefs.AutoDisableHotReloadWithDebugger = newSettings; + CodePatcher.I.debuggerCompatibilityEnabled = !HotReloadPrefs.AutoDisableHotReloadWithDebugger; + } + string toggleDescription; + if (HotReloadPrefs.AutoDisableHotReloadWithDebugger) { + toggleDescription = Translations.Settings.SettingsDebuggerCompatibilityOn; + } else { + toggleDescription = Translations.Settings.SettingsDebuggerCompatibilityOff; + } + EditorGUILayout.LabelField(toggleDescription, HotReloadWindowStyles.WrapStyle); + EditorGUILayout.EndToggleGroup(); + EditorGUILayout.Space(6f); + } + + void RenderIncludeShaderChanges() { + HotReloadPrefs.IncludeShaderChanges = EditorGUILayout.BeginToggleGroup(new GUIContent(Translations.Settings.ToggleRefreshShaders), HotReloadPrefs.IncludeShaderChanges); + string toggleDescription; + if (HotReloadPrefs.IncludeShaderChanges) { + toggleDescription = Translations.Settings.SettingsRefreshShadersOn; + } else { + toggleDescription = Translations.Settings.SettingsRefreshShadersOff; + } + EditorGUILayout.LabelField(toggleDescription, HotReloadWindowStyles.WrapStyle); + EditorGUILayout.EndToggleGroup(); + } + + void RenderConsoleWindow() { + if (!HotReloadCli.CanOpenInBackground) { + return; + } + var newSettings = EditorGUILayout.BeginToggleGroup(new GUIContent(Translations.Settings.ToggleHideConsole), HotReloadPrefs.DisableConsoleWindow); + if (newSettings != HotReloadPrefs.DisableConsoleWindow) { + HotReloadPrefs.DisableConsoleWindow = newSettings; + // restart when setting changes + if (ServerHealthCheck.I.IsServerHealthy) { + var restartServer = EditorUtility.DisplayDialog(Translations.Dialogs.DialogTitleRestartServer, + Translations.Dialogs.DialogMessageRestartConsoleWindow, + Translations.Dialogs.DialogButtonRestartServer, Translations.Dialogs.DialogButtonDontRestart); + if (restartServer) { + EditorCodePatcher.RestartCodePatcher().Forget(); + } + } + } + string toggleDescription; + if (HotReloadPrefs.DisableConsoleWindow) { + toggleDescription = Translations.Settings.SettingsHideConsoleOn; + } else { + toggleDescription = Translations.Settings.SettingsHideConsoleOff; + } + EditorGUILayout.LabelField(toggleDescription, HotReloadWindowStyles.WrapStyle); + EditorGUILayout.EndToggleGroup(); + EditorGUILayout.Space(6f); + } + + void DeactivateHotReload() { + var newSettings = EditorGUILayout.BeginToggleGroup(new GUIContent(Translations.Settings.ToggleDeactivate), HotReloadPrefs.DeactivateHotReload); + if (newSettings != HotReloadPrefs.DeactivateHotReload) { + DeactivateHotReloadInner(newSettings); + } + string toggleDescription; + if (HotReloadPrefs.DeactivateHotReload) { + toggleDescription = Translations.Settings.SettingsDeactivatedOn; + } else { + toggleDescription = Translations.Settings.SettingsDeactivatedOff; + } + EditorGUILayout.LabelField(toggleDescription, HotReloadWindowStyles.WrapStyle); + EditorGUILayout.EndToggleGroup(); + EditorGUILayout.Space(6f); + } + + void DisableDetailedErrorReporting() { + var newSettings = EditorGUILayout.BeginToggleGroup(new GUIContent(Translations.Settings.ToggleDisableErrorReporting), HotReloadPrefs.DisableDetailedErrorReporting); + DisableDetailedErrorReportingInner(newSettings); + string toggleDescription; + if (HotReloadPrefs.DisableDetailedErrorReporting) { + toggleDescription = Translations.Settings.SettingsDisableErrorReportingOn; + } else { + toggleDescription = Translations.Settings.SettingsDisableErrorReportingOff; + } + EditorGUILayout.LabelField(toggleDescription, HotReloadWindowStyles.WrapStyle); + EditorGUILayout.EndToggleGroup(); + EditorGUILayout.Space(6f); + } + + void PauseHotReloadInEditMode() { + HotReloadPrefs.PauseHotReloadInEditMode = EditorGUILayout.BeginToggleGroup(new GUIContent(Translations.Settings.TogglePauseEditMode), HotReloadPrefs.PauseHotReloadInEditMode); + string toggleDescription; + if (HotReloadPrefs.PauseHotReloadInEditMode) { + toggleDescription = Translations.Settings.SettingsPauseEditModeOn; + } else { + toggleDescription = Translations.Settings.SettingsPauseEditModeOff; + } + EditorGUILayout.LabelField(toggleDescription, HotReloadWindowStyles.WrapStyle); + EditorGUILayout.EndToggleGroup(); + EditorGUILayout.Space(6f); + } + +#if UNITY_EDITOR_WIN + void UseWatchman() { + HotReloadPrefs.UseWatchman = EditorGUILayout.BeginToggleGroup(new GUIContent("Use watchman"), HotReloadPrefs.UseWatchman); + string toggleDescription; + if (HotReloadPrefs.UseWatchman) { + toggleDescription = "Use watchman file watcher"; + } else { + toggleDescription = "Use default file watcher"; + } + EditorGUILayout.LabelField(toggleDescription, HotReloadWindowStyles.WrapStyle); + EditorGUILayout.EndToggleGroup(); + EditorGUILayout.Space(6f); + } +#endif + + public static void DisableDetailedErrorReportingInner(bool newSetting) { + if (newSetting == HotReloadPrefs.DisableDetailedErrorReporting) { + return; + } + HotReloadPrefs.DisableDetailedErrorReporting = newSetting; + // restart when setting changes + if (ServerHealthCheck.I.IsServerHealthy) { + var restartServer = EditorUtility.DisplayDialog(Translations.Dialogs.DialogTitleRestartServer, + Translations.Dialogs.DialogMessageRestartErrorReporting, + Translations.Dialogs.DialogButtonRestartServer, Translations.Dialogs.DialogButtonDontRestart); + if (restartServer) { + EditorCodePatcher.RestartCodePatcher().Forget(); + } + } + } + + static void DeactivateHotReloadInner(bool deactivate) { + var confirmed = !deactivate || EditorUtility.DisplayDialog(Translations.Dialogs.DialogTitleDeactivate, + Translations.Dialogs.DialogMessageDeactivate, + Translations.Dialogs.DialogButtonDeactivate, Translations.Common.ButtonCancel); + if (confirmed) { + HotReloadPrefs.DeactivateHotReload = deactivate; + if (deactivate) { + EditorCodePatcher.StopCodePatcher(recompileOnDone: true).Forget(); + } else { + HotReloadRunTab.Recompile(); + } + } + } + + void RenderAutoClearTimeline() { + var newSettings = EditorGUILayout.BeginToggleGroup(new GUIContent(Translations.Settings.ToggleAutoClearTimeline), HotReloadPrefs.AutoClearTimeline); + if (newSettings != HotReloadPrefs.AutoClearTimeline) { + HotReloadPrefs.AutoClearTimeline = newSettings; + } + string toggleDescription; + if (HotReloadPrefs.AutoClearTimeline) { + toggleDescription = Translations.Settings.SettingsAutoClearTimelineOn; + } else { + toggleDescription = Translations.Settings.SettingsAutoClearTimelineOff; + } + EditorGUILayout.LabelField(toggleDescription, HotReloadWindowStyles.WrapStyle); + EditorGUILayout.EndToggleGroup(); + EditorGUILayout.Space(); + } + + void RenderAutostart() { + var newSettings = EditorGUILayout.BeginToggleGroup(new GUIContent(Translations.Settings.ToggleAutostart), HotReloadPrefs.LaunchOnEditorStart); + if (newSettings != HotReloadPrefs.LaunchOnEditorStart) { + HotReloadPrefs.LaunchOnEditorStart = newSettings; + } + string toggleDescription; + if (HotReloadPrefs.LaunchOnEditorStart) { + toggleDescription = Translations.Settings.SettingsAutostartOn; + } else { + toggleDescription = Translations.Settings.SettingsAutostartOff; + } + EditorGUILayout.LabelField(toggleDescription, HotReloadWindowStyles.WrapStyle); + EditorGUILayout.EndToggleGroup(); + EditorGUILayout.Space(); + } + + void RenderShowNotifications() { + EditorGUILayout.Space(10f); + GUILayout.Label(Translations.Settings.SettingsVisualFeedback, HotReloadWindowStyles.NotificationsTitleStyle); + EditorGUILayout.Space(10f); + + if (!EditorWindowHelper.supportsNotifications && !UnitySettingsHelper.I.playmodeTintSupported) { + var toggleDescription = Translations.Settings.SettingsIndicationsUnsupported; + EditorGUILayout.LabelField(toggleDescription, HotReloadWindowStyles.WrapStyle); + } + } + + // void RenderShowFields() { + // EditorGUILayout.Space(14f); + // GUILayout.Label("Fields", HotReloadWindowStyles.NotificationsTitleStyle); + // } + + void RenderMiscHeader() { + EditorGUILayout.Space(10f); + GUILayout.Label(Translations.Settings.SettingsMisc, HotReloadWindowStyles.NotificationsTitleStyle); + EditorGUILayout.Space(10f); + } + + void RenderShowPatchingNotifications() { + HotReloadPrefs.ShowPatchingNotifications = EditorGUILayout.BeginToggleGroup(new GUIContent(Translations.Settings.TogglePatchingIndication), HotReloadPrefs.ShowPatchingNotifications); + string toggleDescription; + if (!EditorWindowHelper.supportsNotifications) { + toggleDescription = Translations.Settings.SettingsPatchingIndicationUnsupported; + } else if (!HotReloadPrefs.ShowPatchingNotifications) { + toggleDescription = Translations.Settings.SettingsPatchingIndicationOff; + } else { + toggleDescription = Translations.Settings.SettingsPatchingIndicationOn; + } + EditorGUILayout.LabelField(toggleDescription, HotReloadWindowStyles.WrapStyle); + EditorGUILayout.EndToggleGroup(); + } + + // void RenderShowApplyfieldInitializerEditsToExistingClassInstances() { + // var newSetting = EditorGUILayout.BeginToggleGroup(new GUIContent("Apply field initializer edits to existing class instances"), HotReloadPrefs.ApplyFieldInitiailzerEditsToExistingClassInstances); + // ApplyApplyFieldInitializerEditsToExistingClassInstances(newSetting); + // string toggleDescription; + // if (HotReloadPrefs.ApplyFieldInitiailzerEditsToExistingClassInstances) { + // toggleDescription = "New field initializers with constant value will update field value of existing objects."; + // } else { + // toggleDescription = "New field initializers will not modify existing objects."; + // } + // EditorGUILayout.LabelField(toggleDescription, HotReloadWindowStyles.WrapStyle); + // EditorGUILayout.EndToggleGroup(); + // } + + [Obsolete(Translations.MenuItems.NotImplementedObsolete)] + public static void ApplyApplyFieldInitializerEditsToExistingClassInstances(bool newSetting) { + if (newSetting != HotReloadPrefs.ApplyFieldInitiailzerEditsToExistingClassInstances) { + HotReloadPrefs.ApplyFieldInitiailzerEditsToExistingClassInstances = newSetting; + // restart when setting changes + if (ServerHealthCheck.I.IsServerHealthy) { + var restartServer = EditorUtility.DisplayDialog(Translations.Dialogs.DialogTitleRestartServer, + Translations.Dialogs.DialogMessageRestartFieldInitializer, + Translations.Dialogs.DialogButtonRestartServer, Translations.Dialogs.DialogButtonDontRestart); + if (restartServer) { + EditorCodePatcher.RestartCodePatcher().Forget(); + } + } + } + } + + void RenderShowCompilingUnsupportedNotifications() { + HotReloadPrefs.ShowCompilingUnsupportedNotifications = EditorGUILayout.BeginToggleGroup(new GUIContent(Translations.Settings.ToggleCompilingIndication), HotReloadPrefs.ShowCompilingUnsupportedNotifications); + string toggleDescription; + if (!EditorWindowHelper.supportsNotifications) { + toggleDescription = Translations.Settings.SettingsCompilingIndicationUnsupported; + } else if (!HotReloadPrefs.ShowCompilingUnsupportedNotifications) { + toggleDescription = Translations.Settings.SettingsCompilingIndicationOff; + } else { + toggleDescription = Translations.Settings.SettingsCompilingIndicationOn; + } + EditorGUILayout.LabelField(toggleDescription, HotReloadWindowStyles.WrapStyle); + EditorGUILayout.EndToggleGroup(); + } + + void RenderAutoRecompileUnsupportedChanges() { + HotReloadPrefs.AutoRecompileUnsupportedChanges = EditorGUILayout.BeginToggleGroup(new GUIContent(Translations.Settings.ToggleAutoRecompile), HotReloadPrefs.AutoRecompileUnsupportedChanges && EditorCodePatcher.autoRecompileUnsupportedChangesSupported); + string toggleDescription; + if (!EditorCodePatcher.autoRecompileUnsupportedChangesSupported) { + toggleDescription = Translations.Settings.SettingsAutoRecompileUnsupported; + } else if (HotReloadPrefs.AutoRecompileUnsupportedChanges) { + toggleDescription = Translations.Settings.SettingsAutoRecompileOn; + } else { + toggleDescription = Translations.Settings.SettingsAutoRecompileOff; + } + if (!HotReloadPrefs.AutoRecompileUnsupportedChangesInEditMode && !HotReloadPrefs.AutoRecompileUnsupportedChangesInPlayMode) { + HotReloadPrefs.AutoRecompileUnsupportedChangesInEditMode = true; + } + EditorGUILayout.LabelField(toggleDescription, HotReloadWindowStyles.WrapStyle); + EditorGUILayout.EndToggleGroup(); + } + + void RenderAutoRecompileInspectorFieldEdits() { + HotReloadPrefs.AutoRecompileInspectorFieldsEdit = EditorGUILayout.BeginToggleGroup(new GUIContent(Translations.Settings.ToggleAutoRecompileInspector), HotReloadPrefs.AutoRecompileInspectorFieldsEdit); + string toggleDescription; + if (HotReloadPrefs.AutoRecompileInspectorFieldsEdit) { + toggleDescription = Translations.Settings.SettingsAutoRecompileInspectorOn; + } else { + toggleDescription = Translations.Settings.SettingsAutoRecompileInspectorOff; + } + EditorGUILayout.LabelField(toggleDescription, HotReloadWindowStyles.WrapStyle); + EditorGUILayout.EndToggleGroup(); + } + + void RenderAutoRecompilePartiallyUnsupportedChanges() { + HotReloadPrefs.AutoRecompilePartiallyUnsupportedChanges = EditorGUILayout.BeginToggleGroup(new GUIContent(Translations.Settings.ToggleAutoRecompilePartial), HotReloadPrefs.AutoRecompilePartiallyUnsupportedChanges); + string toggleDescription; + if (HotReloadPrefs.AutoRecompilePartiallyUnsupportedChanges) { + toggleDescription = Translations.Settings.SettingsAutoRecompilePartialOn; + } else { + toggleDescription = Translations.Settings.SettingsAutoRecompilePartialOff; + } + EditorGUILayout.LabelField(toggleDescription, HotReloadWindowStyles.WrapStyle); + EditorGUILayout.EndToggleGroup(); + } + + void RenderDisplayNewMonobehaviourMethodsAsPartiallySupported() { + HotReloadPrefs.DisplayNewMonobehaviourMethodsAsPartiallySupported = EditorGUILayout.BeginToggleGroup(new GUIContent(Translations.Settings.ToggleDisplayMonobehaviour), HotReloadPrefs.DisplayNewMonobehaviourMethodsAsPartiallySupported); + string toggleDescription; + if (HotReloadPrefs.DisplayNewMonobehaviourMethodsAsPartiallySupported) { + toggleDescription = Translations.Settings.SettingsDisplayMonobehaviourOn; + } else { + toggleDescription = Translations.Settings.SettingsDisplayMonobehaviourOff; + } + EditorGUILayout.LabelField(toggleDescription, HotReloadWindowStyles.WrapStyle); + EditorGUILayout.EndToggleGroup(); + } + + void RenderAutoRecompileUnsupportedChangesImmediately() { + HotReloadPrefs.AutoRecompileUnsupportedChangesImmediately = EditorGUILayout.BeginToggleGroup(new GUIContent(Translations.Settings.ToggleRecompileImmediately), HotReloadPrefs.AutoRecompileUnsupportedChangesImmediately); + string toggleDescription; + if (HotReloadPrefs.AutoRecompileUnsupportedChangesImmediately) { + toggleDescription = Translations.Settings.SettingsRecompileImmediatelyOn; + } else { + toggleDescription = Translations.Settings.SettingsRecompileImmediatelyOff; + } + EditorGUILayout.LabelField(toggleDescription, HotReloadWindowStyles.WrapStyle); + EditorGUILayout.EndToggleGroup(); + } + + void RenderAutoRecompileUnsupportedChangesInPlayMode() { + HotReloadPrefs.AutoRecompileUnsupportedChangesInPlayMode = EditorGUILayout.BeginToggleGroup(new GUIContent(Translations.Settings.ToggleRecompilePlayMode), HotReloadPrefs.AutoRecompileUnsupportedChangesInPlayMode); + string toggleDescription; + if (HotReloadPrefs.AutoRecompileUnsupportedChangesInPlayMode) { + toggleDescription = Translations.Settings.SettingsRecompilePlayModeOn; + } else { + toggleDescription = Translations.Settings.SettingsRecompilePlayModeOff; + } + if (!HotReloadPrefs.AutoRecompileUnsupportedChangesInEditMode && !HotReloadPrefs.AutoRecompileUnsupportedChangesInPlayMode) { + HotReloadPrefs.AutoRecompileUnsupportedChanges = false; + } + EditorGUILayout.LabelField(toggleDescription, HotReloadWindowStyles.WrapStyle); + EditorGUILayout.EndToggleGroup(); + } + + void RenderAutoRecompileUnsupportedChangesInEditMode() { + HotReloadPrefs.AutoRecompileUnsupportedChangesInEditMode = EditorGUILayout.BeginToggleGroup(new GUIContent(Translations.Settings.ToggleRecompileEditMode), HotReloadPrefs.AutoRecompileUnsupportedChangesInEditMode); + string toggleDescription; + if (HotReloadPrefs.AutoRecompileUnsupportedChangesInEditMode) { + toggleDescription = Translations.Settings.SettingsRecompileEditModeOn; + } else { + toggleDescription = Translations.Settings.SettingsRecompileEditModeOff; + } + if (!HotReloadPrefs.AutoRecompileUnsupportedChangesInEditMode && !HotReloadPrefs.AutoRecompileUnsupportedChangesInPlayMode) { + HotReloadPrefs.AutoRecompileUnsupportedChanges = false; + } + EditorGUILayout.LabelField(toggleDescription, HotReloadWindowStyles.WrapStyle); + EditorGUILayout.EndToggleGroup(); + } + + void RenderAutoRecompileUnsupportedChangesOnExitPlayMode() { + HotReloadPrefs.AutoRecompileUnsupportedChangesOnExitPlayMode = EditorGUILayout.BeginToggleGroup(new GUIContent(Translations.Settings.ToggleRecompileExitPlayMode), HotReloadPrefs.AutoRecompileUnsupportedChangesOnExitPlayMode); + string toggleDescription; + if (HotReloadPrefs.AutoRecompileUnsupportedChangesOnExitPlayMode) { + toggleDescription = Translations.Settings.SettingsRecompileExitPlayModeOn; + } else { + toggleDescription = Translations.Settings.SettingsRecompileExitPlayModeOff; + } + EditorGUILayout.LabelField(toggleDescription, HotReloadWindowStyles.WrapStyle); + EditorGUILayout.EndToggleGroup(); + } + + void RenderOnDevice() { + HotReloadPrefs.ShowOnDevice = EditorGUILayout.Foldout(HotReloadPrefs.ShowOnDevice, Translations.Settings.SettingsOnDevice, true, HotReloadWindowStyles.FoldoutStyle); + if (!HotReloadPrefs.ShowOnDevice) { + return; + } + // header with explainer image + { + if (headlineStyle == null) { + // start with textArea for the background and border colors + headlineStyle = new GUIStyle(GUI.skin.label) { + fontStyle = FontStyle.Bold, + alignment = TextAnchor.MiddleLeft + }; + headlineStyle.normal.textColor = HotReloadWindowStyles.H2TitleStyle.normal.textColor; + + // bg color + if (HotReloadWindowStyles.IsDarkMode) { + headlineStyle.normal.background = EditorTextures.DarkGray40; + } else { + headlineStyle.normal.background = EditorTextures.LightGray225; + } + // layout + headlineStyle.padding = new RectOffset(8, 8, 0, 0); + headlineStyle.margin = new RectOffset(6, 6, 6, 6); + } + GUILayout.Space(9f); // space between logo and headline + + GUILayout.Label(Translations.OnDevice.OnDeviceHeadline, + headlineStyle, GUILayout.MinHeight(EditorGUIUtility.singleLineHeight * 1.4f)); + // image showing how Hot Reload works with a phone + // var bannerBox = GUILayoutUtility.GetRect(flowchart.width * 0.6f, flowchart.height * 0.6f); + // GUI.DrawTexture(bannerBox, flowchart, ScaleMode.ScaleToFit); + } + + GUILayout.Space(16f); + + //ButtonToOpenBuildSettings(); + + { + GUILayout.Label(Translations.Settings.SettingsManualConnect, HotReloadWindowStyles.H3TitleStyle); + EditorGUILayout.Space(); + + GUILayout.BeginHorizontal(); + + // indent all controls (this works with non-labels) + GUILayout.Space(16f); + GUILayout.BeginVertical(); + + string text; + var ip = IpHelper.GetIpAddressCached(); + if (string.IsNullOrEmpty(ip)) { + text = string.Format(Translations.OnDevice.OnDeviceManualConnectFormat, RequestHelper.port); + } else { + text = string.Format(Translations.OnDevice.OnDeviceManualConnectWithIP, ip, RequestHelper.port); + } + GUILayout.Label(text, HotReloadWindowStyles.H3TitleWrapStyle); + + if (!currentState.isServerHealthy) { + DrawHorizontalCheck(ServerHealthCheck.I.IsServerHealthy, + Translations.OnDevice.OnDeviceCheckHotReloadRunning, + Translations.OnDevice.OnDeviceCheckHotReloadNotRunning, + hasFix: false); + } + + if (!HotReloadPrefs.ExposeServerToLocalNetwork) { + var summary = string.Format(Translations.OnDevice.OnDeviceCheckEnableExposeServer, new ExposeServerOption().ShortSummary); + DrawHorizontalCheck(HotReloadPrefs.ExposeServerToLocalNetwork, + summary, + summary); + } + + // explainer image that shows phone needs same wifi to auto connect ? + + GUILayout.EndVertical(); + GUILayout.EndHorizontal(); + } + + GUILayout.Space(16f); + + // loading again is smooth, pretty sure AssetDatabase.LoadAssetAtPath is caching -Troy + var settingsObject = HotReloadSettingsEditor.LoadSettingsOrDefault(); + var so = new SerializedObject(settingsObject); + + // if you build for Android now, will Hot Reload work? + { + + EditorGUILayout.BeginHorizontal(); + GUILayout.Label(Translations.Settings.SettingsBuildSettingsChecklist, HotReloadWindowStyles.H3TitleStyle); + EditorGUI.BeginDisabledGroup(isSupported); + // One-click to change each setting to the supported value + if (GUILayout.Button(Translations.Common.ButtonFixAll, GUILayout.MaxWidth(90f))) { + FixAllUnsupportedSettings(so); + } + EditorGUI.EndDisabledGroup(); + EditorGUILayout.EndHorizontal(); + + + // NOTE: After user changed some build settings, window may not immediately repaint + // (e.g. toggle Development Build in Build Settings window) + // We could show a refresh button (to encourage the user to click the window which makes it repaint). + DrawSectionCheckBuildSupport(so); + } + + + GUILayout.Space(16f); + + // Settings checkboxes (Hot Reload options) + { + GUILayout.Label(Translations.Settings.SettingsOptions, HotReloadWindowStyles.H3TitleStyle); + if (settingsObject) { + optionsSection.DrawGUI(so); + } + } + GUILayout.FlexibleSpace(); // needed otherwise vertical scrollbar is appearing for no reason (Unity 2021 glitch perhaps) + } + + private void RenderLicenseInfoSection() { + HotReloadRunTab.RenderLicenseInfo( + _window.RunTabState, + currentState.loginStatus, + verbose: true, + allowHide: false, + overrideActionButton:Translations.Common.ButtonActivateLicense, + showConsumptions: true + ); + } + + private void RenderPromoCodeSection() { + _window.RunTab.RenderPromoCodes(); + } + + public void FocusLicenseFoldout() { + HotReloadPrefs.ShowLogin = true; + } + + // note: changing scripting backend does not force Unity to recreate the GUI, so need to check it when drawing. + private ScriptingImplementation ScriptingBackend => HotReloadBuildHelper.GetCurrentScriptingBackend(); + private ManagedStrippingLevel StrippingLevel => HotReloadBuildHelper.GetCurrentStrippingLevel(); + public bool isSupported = true; + + /// + /// These options are drawn in the On-device tab + /// + // new on-device options should be added here + public static readonly IOption[] allOptions = new IOption[] { + new ExposeServerOption(), + IncludeInBuildOption.I, + new AllowAndroidAppToMakeHttpRequestsOption(), + }; + + /// + /// Change each setting to the value supported by Hot Reload + /// + private void FixAllUnsupportedSettings(SerializedObject so) { + if (!isCurrentBuildTargetSupported.Value) { + // try switch to Android platform + // (we also support Standalone but HotReload on mobile is a better selling point) + if (!TrySwitchToStandalone()) { + // skip changing other options (user won't readthe gray text) - user has to click Fix All again + return; + } + } + + foreach (var buildOption in allOptions) { + if (!buildOption.GetValue(so)) { + buildOption.SetValue(so, true); + } + } + so.ApplyModifiedProperties(); + var settingsObject = so.targetObject as HotReloadSettingsObject; + if (settingsObject) { + // when you click fix all, make sure to save the settings, otherwise ui does not update + HotReloadSettingsEditor.EnsureSettingsCreated(settingsObject); + } + + if (!EditorUserBuildSettings.development) { + EditorUserBuildSettings.development = true; + } + + HotReloadBuildHelper.SetCurrentScriptingBackend(ScriptingImplementation.Mono2x); + HotReloadBuildHelper.SetCurrentStrippingLevel(ManagedStrippingLevel.Disabled); + } + + public static bool TrySwitchToStandalone() { + BuildTarget buildTarget; + if (Application.platform == RuntimePlatform.LinuxEditor) { + buildTarget = BuildTarget.StandaloneLinux64; + } else if (Application.platform == RuntimePlatform.WindowsEditor) { + buildTarget = BuildTarget.StandaloneWindows64; + } else if (Application.platform == RuntimePlatform.OSXEditor) { + buildTarget = BuildTarget.StandaloneOSX; + } else { + return false; + } + var current = EditorUserBuildSettings.activeBuildTarget; + if (current == buildTarget) { + return true; + } + var confirmed = EditorUtility.DisplayDialog(Translations.Dialogs.DialogTitleSwitchBuildTarget, + Translations.Dialogs.DialogMessageSwitchBuildTarget, + Translations.Dialogs.DialogButtonSwitchToStandalone, Translations.Common.ButtonCancel); + if (confirmed) { + EditorUserBuildSettings.SwitchActiveBuildTargetAsync(BuildTargetGroup.Standalone, buildTarget); + Log.Info(Translations.About.LogBuildTargetSwitching, buildTarget); + return true; + } else { + return false; + } + } + + /// + /// Section that user can check before making a Unity Player build. + /// + /// + /// + /// This section is for confirming your build will work with Hot Reload.
+ /// Options that can be changed after the build is made should be drawn elsewhere. + ///
+ public void DrawSectionCheckBuildSupport(SerializedObject so) { + isSupported = true; + var selectedPlatform = currentBuildTarget.Value; + DrawHorizontalCheck(isCurrentBuildTargetSupported.Value, + string.Format(Translations.OnDevice.OnDeviceCheckPlatformSelected, selectedPlatform.ToString()), + string.Format(Translations.OnDevice.OnDeviceCheckPlatformNotSupported, selectedPlatform.ToString())); + + using (new EditorGUI.DisabledScope(!isCurrentBuildTargetSupported.Value)) { + foreach (var option in allOptions) { + DrawHorizontalCheck(option.GetValue(so), + string.Format(Translations.OnDevice.OnDeviceCheckEnableExposeServer, option.ShortSummary), + string.Format(Translations.OnDevice.OnDeviceCheckEnableExposeServer, option.ShortSummary)); + } + + DrawHorizontalCheck(EditorUserBuildSettings.development, + Translations.OnDevice.OnDeviceCheckDevelopmentEnabled, + Translations.OnDevice.OnDeviceCheckEnableDevelopment); + + DrawHorizontalCheck(ScriptingBackend == ScriptingImplementation.Mono2x, + Translations.OnDevice.OnDeviceCheckMonoBackend, + Translations.OnDevice.OnDeviceCheckSetMonoBackend); + + DrawHorizontalCheck(StrippingLevel == ManagedStrippingLevel.Disabled, + string.Format(Translations.OnDevice.OnDeviceCheckStrippingLevel, StrippingLevel), + string.Format(Translations.OnDevice.OnDeviceCheckStrippingLevel, StrippingLevel), + suggestedSolutionText: Translations.OnDevice.OnDeviceCheckStrippingSolution + ); + } + } + + /// + /// Draw a box with a tick or warning icon on the left, with text describing the tick or warning + /// + /// The condition to check. True to show a tick icon, False to show a warning. + /// Shown when condition is true + /// Shown when condition is false + /// Shown when is false + void DrawHorizontalCheck(bool condition, string okText, string notOkText = null, string suggestedSolutionText = null, bool hasFix = true) { + if (okText == null) { + throw new ArgumentNullException(nameof(okText)); + } + if (notOkText == null) { + notOkText = okText; + } + + // include some horizontal space around the icon + var boxWidth = GUILayout.Width(EditorGUIUtility.singleLineHeight * 1.31f); + var height = GUILayout.Height(EditorGUIUtility.singleLineHeight * 1.01f); + GUILayout.BeginHorizontal(HotReloadWindowStyles.BoxStyle, height, GUILayout.ExpandWidth(true)); + var style = HotReloadWindowStyles.NoPaddingMiddleLeftStyle; + var iconRect = GUILayoutUtility.GetRect( + Mathf.Round(EditorGUIUtility.singleLineHeight * 1.31f), + Mathf.Round(EditorGUIUtility.singleLineHeight * 1.01f), + style, boxWidth, height, GUILayout.ExpandWidth(false)); + // rounded so we can have pixel perfect black circle bg + iconRect.Set(Mathf.Round(iconRect.x), Mathf.Round(iconRect.y), Mathf.CeilToInt(iconRect.width), + Mathf.CeilToInt(iconRect.height)); + var text = condition ? okText : notOkText; + var icon = condition ? iconCheck : iconWarning; + if (GUI.enabled) { + DrawBlackCircle(iconRect); + // resource can be null when building player (Editor Resources not available) + if (icon) { + GUI.DrawTexture(iconRect, icon, ScaleMode.ScaleToFit); + } + } else { + // show something (instead of hiding) so that layout stays same size + DrawDisabledCircle(iconRect); + } + GUILayout.Space(4f); + GUILayout.Label(text, style, height); + + if (!condition && hasFix) { + isSupported = false; + } + + GUILayout.EndHorizontal(); + if (!condition && !String.IsNullOrEmpty(suggestedSolutionText)) { + // suggest to the user how they can resolve the issue + EditorGUI.indentLevel++; + GUILayout.Label(suggestedSolutionText, HotReloadWindowStyles.WrapStyle); + EditorGUI.indentLevel--; + } + } + + void DrawDisabledCircle(Rect rect) => DrawCircleIcon(rect, + Resources.Load("icon_circle_gray"), + Color.clear); // smaller circle draws less attention + + void DrawBlackCircle(Rect rect) => DrawCircleIcon(rect, + Resources.Load("icon_circle_black"), + new Color(0.14f, 0.14f, 0.14f)); // black is too dark in unity light theme + + void DrawCircleIcon(Rect rect, Texture circleIcon, Color borderColor) { + // Note: drawing texture from resources is pixelated on the edges, so it has some transperancy around the edges. + // While building for Android, Resources.Load returns null for our editor Resources. + if (circleIcon != null) { + GUI.DrawTexture(rect, circleIcon, ScaleMode.ScaleToFit); + } + + // Draw smooth circle border + const float borderWidth = 2f; + GUI.DrawTexture(rect, EditorTextures.White, ScaleMode.ScaleToFit, true, + 0f, + borderColor, + new Vector4(borderWidth, borderWidth, borderWidth, borderWidth), + Mathf.Min(rect.height, rect.width) / 2f); + } + } +} diff --git a/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs/HotReloadSettingsTab.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs/HotReloadSettingsTab.cs.meta new file mode 100644 index 0000000..00d31cd --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs/HotReloadSettingsTab.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: fff71bd159424bf2978e2e99eacba9b4 +timeCreated: 1674057842 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs/HotReloadSettingsTab.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Window/HotReloadWindow.cs b/Packages/com.singularitygroup.hotreload/Editor/Window/HotReloadWindow.cs new file mode 100644 index 0000000..8e782bb --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Window/HotReloadWindow.cs @@ -0,0 +1,393 @@ + +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Runtime.CompilerServices; +using System.Text.RegularExpressions; +using System.Threading; +using SingularityGroup.HotReload.DTO; +using SingularityGroup.HotReload.Editor.Cli; +using SingularityGroup.HotReload.Editor.Semver; +using UnityEditor; +using UnityEditor.Compilation; +using SingularityGroup.HotReload.Editor.Localization; +using UnityEngine; + +[assembly: InternalsVisibleTo("SingularityGroup.HotReload.EditorSamples")] + +namespace SingularityGroup.HotReload.Editor { + class HotReloadWindow : EditorWindow { + public static HotReloadWindow Current { get; private set; } + + List tabs; + List Tabs => tabs ?? (tabs = new List { + RunTab, + SettingsTab, + AboutTab, + }); + int selectedTab; + + internal static Vector2 scrollPos; + + static Timer timer; + + + HotReloadRunTab runTab; + internal HotReloadRunTab RunTab => runTab ?? (runTab = new HotReloadRunTab(this)); + HotReloadSettingsTab settingsTab; + internal HotReloadSettingsTab SettingsTab => settingsTab ?? (settingsTab = new HotReloadSettingsTab(this)); + HotReloadAboutTab aboutTab; + internal HotReloadAboutTab AboutTab => aboutTab ?? (aboutTab = new HotReloadAboutTab(this)); + + static ShowOnStartupEnum _showOnStartupOption; + + /// + /// This token is cancelled when the EditorWindow is disabled. + /// + /// + /// Use it for all tasks. + /// When token is cancelled, scripts are about to be recompiled and this will cause tasks to fail for weird reasons. + /// + public CancellationToken cancelToken; + CancellationTokenSource cancelTokenSource; + + static readonly PackageUpdateChecker packageUpdateChecker = new PackageUpdateChecker(); + + [MenuItem(Translations.MenuItems.OpenHotReload)] + internal static void Open() { + // Don't open Hot Reload window inside Virtual Player folder + if (MultiplayerPlaymodeHelper.IsClone) { + Log.Info("Virtual Player instances use the same Hot Reload server instance as the Main Editor. Use Hot Reload window in the Main Editor."); + return; + } + // opening the window on CI systems was keeping Unity open indefinitely + if (EditorWindowHelper.IsHumanControllingUs()) { + if (Current) { + Current.Show(); + Current.Focus(); + } else { + Current = GetWindow(); + } + } + } + + [MenuItem(Translations.MenuItems.RecompileHotReload)] + internal static void Recompile() { + HotReloadRunTab.Recompile(); + } + + void OnInterval(object o) { + HotReloadRunTab.RepaintInstant(); + } + + void OnEnable() { + if (timer == null) { + timer = new Timer(OnInterval, null, 20 * 1000, 20 * 1000); + } + Current = this; + if (cancelTokenSource != null) { + cancelTokenSource.Cancel(); + } + // Set min size initially so that full UI is visible + if (!HotReloadPrefs.OpenedWindowAtLeastOnce) { + this.minSize = new Vector2(Constants.RecompileButtonTextHideWidth + 1, Constants.EventsListHideHeight + 70); + HotReloadPrefs.OpenedWindowAtLeastOnce = true; + } + cancelTokenSource = new CancellationTokenSource(); + cancelToken = cancelTokenSource.Token; + + this.titleContent = new GUIContent(" Hot Reload", GUIHelper.GetInvertibleIcon(InvertibleIcon.Logo)); + _showOnStartupOption = HotReloadPrefs.ShowOnStartup; + + packageUpdateChecker.StartCheckingForNewVersion(); + } + + void Update() { + foreach (var tab in Tabs) { + tab.Update(); + } + } + + void OnDisable() { + if (cancelTokenSource != null) { + cancelTokenSource.Cancel(); + cancelTokenSource = null; + } + + if (Current == this) { + Current = null; + } + timer.Dispose(); + timer = null; + } + + internal void SelectTab(Type tabType) { + selectedTab = Tabs.FindIndex(x => x.GetType() == tabType); + } + + public HotReloadRunTabState RunTabState { get; private set; } + void OnGUI() { + // TabState ensures rendering is consistent between Layout and Repaint calls + // Without it errors like this happen: + // ArgumentException: Getting control 2's position in a group with only 2 controls when doing repaint + // See thread for more context: https://answers.unity.com/questions/17718/argumentexception-getting-control-2s-position-in-a.html + if (Event.current.type == EventType.Layout) { + RunTabState = HotReloadRunTabState.Current; + } + using(var scope = new EditorGUILayout.ScrollViewScope(scrollPos, false, false)) { + scrollPos = scope.scrollPosition; + // RenderDebug(); + RenderTabs(); + } + GUILayout.FlexibleSpace(); // GUI below will be rendered on the bottom + if (HotReloadWindowStyles.windowScreenHeight > 90) + RenderBottomBar(); + } + + void RenderDebug() { + if (GUILayout.Button("RESET WINDOW")) { + OnDisable(); + + RequestHelper.RequestLogin("test", "test", 1).Forget(); + + HotReloadPrefs.LicenseEmail = null; + HotReloadPrefs.ExposeServerToLocalNetwork = true; + HotReloadPrefs.LicensePassword = null; + HotReloadPrefs.LoggedBurstHint = false; + HotReloadPrefs.DontShowPromptForDownload = false; + HotReloadPrefs.RateAppShown = false; + HotReloadPrefs.ActiveDays = string.Empty; + HotReloadPrefs.LaunchOnEditorStart = false; + HotReloadPrefs.ShowUnsupportedChanges = true; + HotReloadPrefs.RedeemLicenseEmail = null; + HotReloadPrefs.RedeemLicenseInvoice = null; + OnEnable(); + File.Delete(EditorCodePatcher.serverDownloader.GetExecutablePath(HotReloadCli.controller)); + InstallUtility.DebugClearInstallState(); + InstallUtility.CheckForNewInstall(); + EditorPrefs.DeleteKey(Attribution.LastLoginKey); + File.Delete(RedeemLicenseHelper.registerOutcomePath); + + CompileMethodDetourer.Reset(); + AssetDatabase.Refresh(); + } + } + + internal static void RenderLogo(int width = 243) { + var isDarkMode = HotReloadWindowStyles.IsDarkMode; + var tex = Resources.Load(isDarkMode ? "Logo_HotReload_DarkMode" : "Logo_HotReload_LightMode"); + //Can happen during player builds where Editor Resources are unavailable + if(tex == null) { + return; + } + var targetWidth = width; + var targetHeight = 44; + GUILayout.Space(4f); + // background padding top and bottom + float padding = 5f; + // reserve layout space for the texture + var backgroundRect = GUILayoutUtility.GetRect(targetWidth + padding, targetHeight + padding, HotReloadWindowStyles.LogoStyle); + // draw the texture into that reserved space. First the bg then the logo. + if (isDarkMode) { + GUI.DrawTexture(backgroundRect, EditorTextures.DarkGray17, ScaleMode.StretchToFill); + } else { + GUI.DrawTexture(backgroundRect, EditorTextures.LightGray238, ScaleMode.StretchToFill); + } + + var foregroundRect = backgroundRect; + foregroundRect.yMin += padding; + foregroundRect.yMax -= padding; + // during player build (EditorWindow still visible), Resources.Load returns null + if (tex) { + GUI.DrawTexture(foregroundRect, tex, ScaleMode.ScaleToFit); + } + } + + int? collapsedTab; + void RenderTabs() { + using(new EditorGUILayout.VerticalScope(HotReloadWindowStyles.BoxStyle)) { + if (HotReloadWindowStyles.windowScreenHeight > 210 && HotReloadWindowStyles.windowScreenWidth > 375) { + selectedTab = GUILayout.Toolbar( + selectedTab, + Tabs.Select(t => + new GUIContent(t.Title.StartsWith(" ", StringComparison.Ordinal) ? t.Title : " " + t.Title, + t.Icon, t.Tooltip)).ToArray(), + GUILayout.Height(22f) // required, otherwise largest icon height determines toolbar height + ); + if (collapsedTab != null) { + selectedTab = collapsedTab.Value; + collapsedTab = null; + } + } else { + if (collapsedTab == null) { + collapsedTab = selectedTab; + } + // When window is super small, we pretty much can only show run tab + SelectTab(typeof(HotReloadRunTab)); + } + + if (HotReloadWindowStyles.windowScreenHeight > 250 && HotReloadWindowStyles.windowScreenWidth > 275) { + RenderLogo(); + } + + Tabs[selectedTab].OnGUI(); + } + } + + void RenderBottomBar() { + SemVersion newVersion; + var updateAvailable = packageUpdateChecker.TryGetNewVersion(out newVersion); + + if (HotReloadWindowStyles.windowScreenWidth > Constants.RateAppHideWidth + && HotReloadWindowStyles.windowScreenHeight > Constants.RateAppHideHeight + ) { + RenderRateApp(); + } + + if (updateAvailable) { + RenderUpdateButton(newVersion); + } + + using(new EditorGUILayout.HorizontalScope("ProjectBrowserBottomBarBg", GUILayout.ExpandWidth(true), GUILayout.Height(25f))) { + RenderBottomBarCore(); + } + } + + static GUIStyle _renderAppBoxStyle; + static GUIStyle renderAppBoxStyle => _renderAppBoxStyle ?? (_renderAppBoxStyle = new GUIStyle(GUI.skin.box) { + padding = new RectOffset(10, 10, 0, 0) + }); + + static GUILayoutOption[] _nonExpandable; + public static GUILayoutOption[] NonExpandableLayout => _nonExpandable ?? (_nonExpandable = new [] {GUILayout.ExpandWidth(false), GUILayout.ExpandHeight(true)}); + + internal static void RenderRateApp() { + if (!ShouldShowRateApp()) { + return; + } + using (new EditorGUILayout.VerticalScope(renderAppBoxStyle)) { + using (new EditorGUILayout.HorizontalScope()) { + HotReloadGUIHelper.HelpBox(Translations.Miscellaneous.RateAppQuestion, MessageType.Info, 11); + if (GUILayout.Button(Translations.Common.ButtonHide, NonExpandableLayout)) { + RequestHelper.RequestEditorEventWithRetry(new Stat(StatSource.Client, StatLevel.Debug, StatFeature.RateApp), new EditorExtraData { { "dismissed", true } }).Forget(); + HotReloadPrefs.RateAppShown = true; + } + } + using (new EditorGUILayout.HorizontalScope()) { + if (GUILayout.Button(Translations.Common.ButtonYes)) { + var openedUrl = PackageConst.IsAssetStoreBuild && EditorUtility.DisplayDialog(Translations.Dialogs.DialogTitleRateApp, Translations.Dialogs.DialogMessageRateApp, Translations.Common.ButtonOpenInBrowser, Translations.Common.ButtonCancel); + if (openedUrl) { + Application.OpenURL(Constants.UnityStoreRateAppURL); + } + HotReloadPrefs.RateAppShown = true; + var data = new EditorExtraData(); + if (PackageConst.IsAssetStoreBuild) { + data.Add("opened_url", openedUrl); + } + data.Add("enjoy_app", true); + RequestHelper.RequestEditorEventWithRetry(new Stat(StatSource.Client, StatLevel.Debug, StatFeature.RateApp), data).Forget(); + } + if (GUILayout.Button(Translations.Common.ButtonNo)) { + HotReloadPrefs.RateAppShown = true; + var data = new EditorExtraData(); + data.Add("enjoy_app", false); + RequestHelper.RequestEditorEventWithRetry(new Stat(StatSource.Client, StatLevel.Debug, StatFeature.RateApp), data).Forget(); + } + } + } + } + + internal static bool ShouldShowRateApp() { + if (HotReloadPrefs.RateAppShown) { + return false; + } + var activeDays = EditorCodePatcher.GetActiveDaysForRateApp(); + if (activeDays.Count < Constants.DaysToRateApp) { + return false; + } + return true; + } + + void RenderUpdateButton(SemVersion newVersion) { + if (GUILayout.Button(string.Format(Translations.Miscellaneous.ButtonUpdateToVersionFormat, newVersion), HotReloadWindowStyles.UpgradeButtonStyle)) { + packageUpdateChecker.UpdatePackageAsync(newVersion).Forget(CancellationToken.None); + } + } + + internal static void RenderShowOnStartup() { + var prevLabelWidth = EditorGUIUtility.labelWidth; + try { + EditorGUIUtility.labelWidth = 105f; + using (new GUILayout.VerticalScope()) { + using (new GUILayout.HorizontalScope()) { + GUILayout.Label(Translations.Common.LabelShowOnStartup); + Rect buttonRect = GUILayoutUtility.GetLastRect(); + if (EditorGUILayout.DropdownButton(new GUIContent(Regex.Replace(_showOnStartupOption.ToString(), "([a-z])([A-Z])", "$1 $2")), FocusType.Passive, GUILayout.Width(110f))) { + GenericMenu menu = new GenericMenu(); + foreach (ShowOnStartupEnum option in Enum.GetValues(typeof(ShowOnStartupEnum))) { + menu.AddItem(new GUIContent(Regex.Replace(option.ToString(), "([a-z])([A-Z])", "$1 $2")), false, () => { + if (_showOnStartupOption != option) { + _showOnStartupOption = option; + HotReloadPrefs.ShowOnStartup = _showOnStartupOption; + } + }); + } + menu.DropDown(new Rect(buttonRect.x, buttonRect.y, 100, 0)); + } + } + } + } finally { + EditorGUIUtility.labelWidth = prevLabelWidth; + } + } + + void RenderBottomBarCore() { + bool troubleshootingShown = EditorCodePatcher.Started && HotReloadWindowStyles.windowScreenWidth >= 400; + bool alertsShown = EditorCodePatcher.Started && HotReloadWindowStyles.windowScreenWidth > Constants.EventFiltersShownHideWidth; + using (new EditorGUILayout.VerticalScope()) { + using (new EditorGUILayout.HorizontalScope(HotReloadWindowStyles.FooterStyle)) { + if (!troubleshootingShown) { + GUILayout.FlexibleSpace(); + if (alertsShown) { + GUILayout.Space(-20); + } + } else { + GUILayout.Space(21); + } + GUILayout.Space(0); + var lastRect = GUILayoutUtility.GetLastRect(); + // show events button when scrolls are hidden + if (!HotReloadRunTab.CanRenderBars(RunTabState) && !RunTabState.starting) { + using (new EditorGUILayout.VerticalScope()) { + GUILayout.FlexibleSpace(); + var icon = HotReloadState.ShowingRedDot ? InvertibleIcon.EventsNew : InvertibleIcon.Events; + if (GUILayout.Button(new GUIContent("", GUIHelper.GetInvertibleIcon(icon)))) { + PopupWindow.Show(new Rect(lastRect.x, lastRect.y, 0, 0), HotReloadEventPopup.I); + } + GUILayout.FlexibleSpace(); + } + GUILayout.Space(3f); + } + if (alertsShown) { + using (new EditorGUILayout.VerticalScope()) { + GUILayout.FlexibleSpace(); + HotReloadTimelineHelper.RenderAlertFilters(); + GUILayout.FlexibleSpace(); + } + } + + GUILayout.FlexibleSpace(); + if (troubleshootingShown) { + using (new EditorGUILayout.VerticalScope()) { + GUILayout.FlexibleSpace(); + OpenURLButton.Render(Translations.Miscellaneous.ButtonTroubleshooting, Constants.TroubleshootingURL); + GUILayout.FlexibleSpace(); + } + GUILayout.Space(21); + } + } + } + } + } +} \ No newline at end of file diff --git a/Packages/com.singularitygroup.hotreload/Editor/Window/HotReloadWindow.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/Window/HotReloadWindow.cs.meta new file mode 100644 index 0000000..c9d5bf0 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Window/HotReloadWindow.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: f62a84c0b148b0a4582bdd9f1a69e6d3 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/Window/HotReloadWindow.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Window/ShowOnStartupEnum.cs b/Packages/com.singularitygroup.hotreload/Editor/Window/ShowOnStartupEnum.cs new file mode 100644 index 0000000..17f2f50 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Window/ShowOnStartupEnum.cs @@ -0,0 +1,7 @@ +namespace SingularityGroup.HotReload.Editor { + enum ShowOnStartupEnum { + Always, + OnNewVersion, + Never, + } +} \ No newline at end of file diff --git a/Packages/com.singularitygroup.hotreload/Editor/Window/ShowOnStartupEnum.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/Window/ShowOnStartupEnum.cs.meta new file mode 100644 index 0000000..5038590 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Window/ShowOnStartupEnum.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 809f47245f717ad41996974be2443feb +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/Window/ShowOnStartupEnum.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Editor/Window/Styles.meta b/Packages/com.singularitygroup.hotreload/Editor/Window/Styles.meta new file mode 100644 index 0000000..48002b6 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Window/Styles.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 83e25ceea0bb7cd4ebf04b724bb0584c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.singularitygroup.hotreload/Editor/Window/Styles/HotReloadWindowStyles.cs b/Packages/com.singularitygroup.hotreload/Editor/Window/Styles/HotReloadWindowStyles.cs new file mode 100644 index 0000000..4f4ede9 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Window/Styles/HotReloadWindowStyles.cs @@ -0,0 +1,777 @@ +using UnityEditor; +using UnityEngine; +using System.Reflection; + +namespace SingularityGroup.HotReload.Editor { + internal static class HotReloadWindowStyles { + private static GUIStyle h1TitleStyle; + private static GUIStyle h1TitleCenteredStyle; + private static GUIStyle h2TitleStyle; + private static GUIStyle h3TitleStyle; + private static GUIStyle h3TitleWrapStyle; + private static GUIStyle h4TitleStyle; + private static GUIStyle h5TitleStyle; + private static GUIStyle boxStyle; + private static GUIStyle wrapStyle; + private static GUIStyle noPaddingMiddleLeftStyle; + private static GUIStyle middleLeftStyle; + private static GUIStyle middleCenterStyle; + private static GUIStyle mediumMiddleCenterStyle; + private static GUIStyle textFieldWrapStyle; + private static GUIStyle foldoutStyle; + private static GUIStyle h3CenterTitleStyle; + private static GUIStyle logoStyle; + private static GUIStyle changelogPointersStyle; + private static GUIStyle recompileButtonStyle; + private static GUIStyle indicationIconStyle; + private static GUIStyle indicationAlertIconStyle; + private static GUIStyle startButtonStyle; + private static GUIStyle stopButtonStyle; + private static GUIStyle eventFilters; + private static GUIStyle sectionOuterBoxCompactStyle; + private static GUIStyle sectionInnerBoxStyle; + private static GUIStyle sectionInnerBoxWideStyle; + private static GUIStyle changelogSectionInnerBoxStyle; + private static GUIStyle indicationBoxStyle; + private static GUIStyle linkStyle; + private static GUIStyle labelStyle; + private static GUIStyle progressBarBarStyle; + private static GUIStyle section; + private static GUIStyle scroll; + private static GUIStyle barStyle; + private static GUIStyle barBgStyle; + private static GUIStyle barChildStyle; + private static GUIStyle barFoldoutStyle; + private static GUIStyle timestampStyle; + private static GUIStyle clickableLabelBoldStyle; + private static GUIStyle _footerStyle; + private static GUIStyle _emptyListText; + private static GUIStyle _stacktraceTextAreaStyle; + private static GUIStyle _customFoldoutStyle; + private static GUIStyle _entryBoxStyle; + private static GUIStyle _childEntryBoxStyle; + private static GUIStyle _removeIconStyle; + private static GUIStyle upgradeLicenseButtonStyle; + private static GUIStyle upgradeLicenseButtonOverlayStyle; + private static GUIStyle upgradeButtonStyle; + private static GUIStyle hideButtonStyle; + private static GUIStyle dynamicSection; + private static GUIStyle dynamicSectionHelpTab; + private static GUIStyle helpTabButton; + private static GUIStyle indicationHelpBox; + private static GUIStyle notificationsTitleStyle; + + private static Color32? darkModeLinkColor; + private static Color32? lightModeModeLinkColor; + + public static bool IsDarkMode => EditorGUIUtility.isProSkin; + public static int windowScreenWidth => HotReloadWindow.Current ? (int)HotReloadWindow.Current.position.width : Screen.width; + public static int windowScreenHeight => HotReloadWindow.Current ? (int)HotReloadWindow.Current.position.height : Screen.height; + public static GUIStyle H1TitleStyle { + get { + if (h1TitleStyle == null) { + h1TitleStyle = new GUIStyle(EditorStyles.label); + h1TitleStyle.normal.textColor = EditorStyles.label.normal.textColor; + h1TitleStyle.fontStyle = FontStyle.Bold; + h1TitleStyle.fontSize = 16; + h1TitleStyle.padding.top = 5; + h1TitleStyle.padding.bottom = 5; + } + return h1TitleStyle; + } + } + + public static GUIStyle FooterStyle { + get { + if (_footerStyle == null) { + _footerStyle = new GUIStyle(); + _footerStyle.fixedHeight = 28; + } + return _footerStyle; + } + } + + public static GUIStyle H1TitleCenteredStyle { + get { + if (h1TitleCenteredStyle == null) { + h1TitleCenteredStyle = new GUIStyle(H1TitleStyle); + h1TitleCenteredStyle.alignment = TextAnchor.MiddleCenter; + } + return h1TitleCenteredStyle; + } + } + + public static GUIStyle H2TitleStyle { + get { + if (h2TitleStyle == null) { + h2TitleStyle = new GUIStyle(EditorStyles.label); + h2TitleStyle.normal.textColor = EditorStyles.label.normal.textColor; + h2TitleStyle.fontStyle = FontStyle.Bold; + h2TitleStyle.fontSize = 14; + h2TitleStyle.padding.top = 5; + h2TitleStyle.padding.bottom = 5; + } + return h2TitleStyle; + } + } + + public static GUIStyle H3TitleStyle { + get { + if (h3TitleStyle == null) { + h3TitleStyle = new GUIStyle(EditorStyles.label); + h3TitleStyle.normal.textColor = EditorStyles.label.normal.textColor; + h3TitleStyle.fontStyle = FontStyle.Bold; + h3TitleStyle.fontSize = 12; + h3TitleStyle.padding.top = 5; + h3TitleStyle.padding.bottom = 5; + } + return h3TitleStyle; + } + } + + public static GUIStyle NotificationsTitleStyle { + get { + if (notificationsTitleStyle == null) { + notificationsTitleStyle = new GUIStyle(HotReloadWindowStyles.H3TitleStyle); + notificationsTitleStyle.padding.bottom = 0; + notificationsTitleStyle.padding.top = 0; + } + return notificationsTitleStyle; + } + } + + public static GUIStyle H3TitleWrapStyle { + get { + if (h3TitleWrapStyle == null) { + h3TitleWrapStyle = new GUIStyle(H3TitleStyle); + h3TitleWrapStyle.wordWrap = true; + } + return h3TitleWrapStyle; + } + } + + public static GUIStyle H3CenteredTitleStyle { + get { + if (h3CenterTitleStyle == null) { + h3CenterTitleStyle = new GUIStyle(EditorStyles.label); + h3CenterTitleStyle.normal.textColor = EditorStyles.label.normal.textColor; + h3CenterTitleStyle.fontStyle = FontStyle.Bold; + h3CenterTitleStyle.alignment = TextAnchor.MiddleCenter; + h3CenterTitleStyle.fontSize = 12; + } + return h3CenterTitleStyle; + } + } + + public static GUIStyle H4TitleStyle { + get { + if (h4TitleStyle == null) { + h4TitleStyle = new GUIStyle(EditorStyles.label); + h4TitleStyle.normal.textColor = EditorStyles.label.normal.textColor; + h4TitleStyle.fontStyle = FontStyle.Bold; + h4TitleStyle.fontSize = 11; + } + return h4TitleStyle; + } + } + + public static GUIStyle H5TitleStyle { + get { + if (h5TitleStyle == null) { + h5TitleStyle = new GUIStyle(EditorStyles.label); + h5TitleStyle.normal.textColor = EditorStyles.label.normal.textColor; + h5TitleStyle.fontStyle = FontStyle.Bold; + h5TitleStyle.fontSize = 10; + } + return h5TitleStyle; + } + } + + public static GUIStyle LabelStyle { + get { + if (labelStyle == null) { + labelStyle = new GUIStyle(EditorStyles.label); + labelStyle.fontSize = 12; + labelStyle.clipping = TextClipping.Clip; + labelStyle.wordWrap = true; + } + return labelStyle; + } + } + + public static GUIStyle BoxStyle { + get { + if (boxStyle == null) { + boxStyle = new GUIStyle(EditorStyles.helpBox); + boxStyle.normal.textColor = GUI.skin.label.normal.textColor; + boxStyle.fontStyle = FontStyle.Bold; + boxStyle.alignment = TextAnchor.UpperLeft; + } + if (!IsDarkMode) { + boxStyle.normal.background = Texture2D.blackTexture; + } + return boxStyle; + } + } + + public static GUIStyle WrapStyle { + get { + if (wrapStyle == null) { + wrapStyle = new GUIStyle(EditorStyles.label); + wrapStyle.fontStyle = FontStyle.Normal; + wrapStyle.wordWrap = true; + } + return wrapStyle; + } + } + + public static GUIStyle NoPaddingMiddleLeftStyle { + get { + if (noPaddingMiddleLeftStyle == null) { + noPaddingMiddleLeftStyle = new GUIStyle(EditorStyles.label); + noPaddingMiddleLeftStyle.normal.textColor = GUI.skin.label.normal.textColor; + noPaddingMiddleLeftStyle.padding = new RectOffset(); + noPaddingMiddleLeftStyle.margin = new RectOffset(); + noPaddingMiddleLeftStyle.alignment = TextAnchor.MiddleLeft; + } + return noPaddingMiddleLeftStyle; + } + } + + public static GUIStyle MiddleLeftStyle { + get { + if (middleLeftStyle == null) { + middleLeftStyle = new GUIStyle(EditorStyles.label); + middleLeftStyle.fontStyle = FontStyle.Normal; + middleLeftStyle.alignment = TextAnchor.MiddleLeft; + } + + return middleLeftStyle; + } + } + + public static GUIStyle MiddleCenterStyle { + get { + if (middleCenterStyle == null) { + middleCenterStyle = new GUIStyle(EditorStyles.label); + middleCenterStyle.fontStyle = FontStyle.Normal; + middleCenterStyle.alignment = TextAnchor.MiddleCenter; + } + return middleCenterStyle; + } + } + + public static GUIStyle MediumMiddleCenterStyle { + get { + if (mediumMiddleCenterStyle == null) { + mediumMiddleCenterStyle = new GUIStyle(EditorStyles.label); + mediumMiddleCenterStyle.fontStyle = FontStyle.Normal; + mediumMiddleCenterStyle.fontSize = 12; + mediumMiddleCenterStyle.alignment = TextAnchor.MiddleCenter; + } + return mediumMiddleCenterStyle; + } + } + + public static GUIStyle TextFieldWrapStyle { + get { + if (textFieldWrapStyle == null) { + textFieldWrapStyle = new GUIStyle(EditorStyles.textField); + textFieldWrapStyle.wordWrap = true; + } + return textFieldWrapStyle; + } + } + + public static GUIStyle FoldoutStyle { + get { + if (foldoutStyle == null) { + foldoutStyle = new GUIStyle(EditorStyles.foldout); + foldoutStyle.normal.textColor = GUI.skin.label.normal.textColor; + foldoutStyle.alignment = TextAnchor.MiddleLeft; + foldoutStyle.fontStyle = FontStyle.Bold; + foldoutStyle.fontSize = 12; + } + return foldoutStyle; + } + } + + public static GUIStyle LogoStyle { + get { + if (logoStyle == null) { + logoStyle = new GUIStyle(); + logoStyle.margin = new RectOffset(6, 6, 0, 0); + logoStyle.padding = new RectOffset(16, 16, 0, 0); + } + return logoStyle; + } + } + + public static GUIStyle ChangelogPointerStyle { + get { + if (changelogPointersStyle == null) { + changelogPointersStyle = new GUIStyle(EditorStyles.label); + changelogPointersStyle.wordWrap = true; + changelogPointersStyle.fontSize = 12; + changelogPointersStyle.padding.left = 20; + } + return changelogPointersStyle; + } + } + + public static GUIStyle IndicationIcon { + get { + if (indicationIconStyle == null) { + indicationIconStyle = new GUIStyle(H2TitleStyle); + indicationIconStyle.fixedHeight = 20; + } + indicationIconStyle.padding = new RectOffset(left: windowScreenWidth > Constants.IndicationTextHideWidth ? 7 : 5, right: windowScreenWidth > Constants.IndicationTextHideWidth ? 0 : -10, top: 1, bottom: 1); + return indicationIconStyle; + } + } + + public static GUIStyle IndicationAlertIcon { + get { + if (indicationAlertIconStyle == null) { + indicationAlertIconStyle = new GUIStyle(H2TitleStyle); + indicationAlertIconStyle.padding = new RectOffset(left: 5, right: -7, top: 1, bottom: 1); + indicationAlertIconStyle.fixedHeight = 20; + } + return indicationAlertIconStyle; + } + } + + public static GUIStyle RecompileButton { + get { + if (recompileButtonStyle == null) { + recompileButtonStyle = new GUIStyle(EditorStyles.miniButton); + recompileButtonStyle.margin.top = 17; + recompileButtonStyle.fixedHeight = 25; + recompileButtonStyle.margin.right = 5; + } + recompileButtonStyle.fixedWidth = windowScreenWidth > Constants.RecompileButtonTextHideWidth ? 95 : 30; + return recompileButtonStyle; + } + } + + public static GUIStyle StartButton { + get { + if (startButtonStyle == null) { + startButtonStyle = new GUIStyle(EditorStyles.miniButton); + startButtonStyle.fixedHeight = 25; + startButtonStyle.padding.top = 6; + startButtonStyle.padding.bottom = 6; + startButtonStyle.margin.top = 17; + } + startButtonStyle.fixedWidth = windowScreenWidth > Constants.StartButtonTextHideWidth ? 70 : 30; + return startButtonStyle; + } + } + + public static GUIStyle StopButton { + get { + if (stopButtonStyle == null) { + stopButtonStyle = new GUIStyle(EditorStyles.miniButton); + stopButtonStyle.fixedHeight = 25; + stopButtonStyle.margin.top = 17; + } + stopButtonStyle.fixedWidth = HotReloadWindowStyles.windowScreenWidth > Constants.StartButtonTextHideWidth ? 70 : 30; + return stopButtonStyle; + } + } + + internal static GUIStyle EventFiltersStyle { + get { + if (eventFilters == null) { + eventFilters = new GUIStyle(EditorStyles.toolbarButton); + eventFilters.fontSize = 13; + // gets overwritten to content size + eventFilters.fixedHeight = 26; + eventFilters.fixedWidth = 50; + eventFilters.margin = new RectOffset(0, 0, 0, 0); + eventFilters.padding = new RectOffset(0, 0, 6, 6); + } + return eventFilters; + } + } + + private static Texture2D _clearBackground; + private static Texture2D clearBackground { + get { + if (_clearBackground == null) { + _clearBackground = new Texture2D(1, 1); + _clearBackground.SetPixel(0, 0, Color.clear); + _clearBackground.Apply(); + } + return _clearBackground; + + } + } + + public static GUIStyle SectionOuterBoxCompact { + get { + if (sectionOuterBoxCompactStyle == null) { + sectionOuterBoxCompactStyle = new GUIStyle(); + sectionOuterBoxCompactStyle.padding.top = 10; + sectionOuterBoxCompactStyle.padding.bottom = 10; + } + // Looks better without a background + sectionOuterBoxCompactStyle.normal.background = clearBackground; + return sectionOuterBoxCompactStyle; + } + } + + public static GUIStyle SectionInnerBox { + get { + if (sectionInnerBoxStyle == null) { + sectionInnerBoxStyle = new GUIStyle(); + } + sectionInnerBoxStyle.padding = new RectOffset(left: 0, right: 0, top: 15, bottom: 0); + return sectionInnerBoxStyle; + } + } + + public static GUIStyle SectionInnerBoxWide { + get { + if (sectionInnerBoxWideStyle == null) { + sectionInnerBoxWideStyle = new GUIStyle(EditorStyles.helpBox); + sectionInnerBoxWideStyle.padding.top = 15; + sectionInnerBoxWideStyle.padding.bottom = 15; + sectionInnerBoxWideStyle.padding.left = 10; + sectionInnerBoxWideStyle.padding.right = 10; + } + return sectionInnerBoxWideStyle; + } + } + + public static GUIStyle DynamiSection { + get { + if (dynamicSection == null) { + dynamicSection = new GUIStyle(); + } + var defaultPadding = 13; + if (windowScreenWidth > 600) { + var dynamicPadding = (windowScreenWidth - 600) / 2; + dynamicSection.padding.left = defaultPadding + dynamicPadding; + dynamicSection.padding.right = defaultPadding + dynamicPadding; + } else if (windowScreenWidth < Constants.IndicationTextHideWidth) { + dynamicSection.padding.left = 0; + dynamicSection.padding.right = 0; + } else { + dynamicSection.padding.left = 13; + dynamicSection.padding.right = 13; + } + return dynamicSection; + } + } + + public static GUIStyle DynamicSectionHelpTab { + get { + if (dynamicSectionHelpTab == null) { + dynamicSectionHelpTab = new GUIStyle(DynamiSection); + } + dynamicSectionHelpTab.padding.left = DynamiSection.padding.left - 3; + dynamicSectionHelpTab.padding.right = DynamiSection.padding.right - 3; + return dynamicSectionHelpTab; + } + } + + public static GUIStyle ChangelogSectionInnerBox { + get { + if (changelogSectionInnerBoxStyle == null) { + changelogSectionInnerBoxStyle = new GUIStyle(EditorStyles.helpBox); + changelogSectionInnerBoxStyle.margin.bottom = 10; + changelogSectionInnerBoxStyle.margin.top = 10; + } + return changelogSectionInnerBoxStyle; + } + } + + public static GUIStyle IndicationBox { + get { + if (indicationBoxStyle == null) { + indicationBoxStyle = new GUIStyle(); + } + indicationBoxStyle.margin.bottom = windowScreenWidth < 141 ? 0 : 10; + return indicationBoxStyle; + } + } + + + public static GUIStyle LinkStyle { + get { + if (linkStyle == null) { + linkStyle = new GUIStyle(EditorStyles.label); + linkStyle.fontStyle = FontStyle.Bold; + } + var color = IsDarkMode ? DarkModeLinkColor : LightModeModeLinkColor; + linkStyle.normal.textColor = color; + return linkStyle; + } + } + + private static Color32 DarkModeLinkColor { + get { + if (darkModeLinkColor == null) { + darkModeLinkColor = new Color32(0x3F, 0x9F, 0xFF, 0xFF); + } + return darkModeLinkColor.Value; + } + } + + + private static Color32 LightModeModeLinkColor { + get { + if (lightModeModeLinkColor == null) { + lightModeModeLinkColor = new Color32(0x0F, 0x52, 0xD7, 0xFF); + } + return lightModeModeLinkColor.Value; + } + } + public static GUIStyle ProgressBarBarStyle { + get { + if (progressBarBarStyle != null) { + return progressBarBarStyle; + } + var styles = (EditorStyles)typeof(EditorStyles) + .GetField("s_Current", BindingFlags.Static | BindingFlags.NonPublic) + ?.GetValue(null); + var style = styles?.GetType() + .GetField("m_ProgressBarBar", BindingFlags.NonPublic | BindingFlags.Instance) + ?.GetValue(styles); + progressBarBarStyle = style != null ? (GUIStyle)style : GUIStyle.none; + return progressBarBarStyle; + } + } + + internal static GUIStyle Section { + get { + if (section == null) { + section = new GUIStyle(EditorStyles.helpBox); + section.padding = new RectOffset(left: 10, right: 10, top: 10, bottom: 10); + section.margin = new RectOffset(left: 0, right: 0, top: 0, bottom: 0); + } + return section; + } + } + internal static GUIStyle Scroll { + get { + if (scroll == null) { + scroll = new GUIStyle(EditorStyles.helpBox); + } + if (IsDarkMode) { + scroll.normal.background = GUIHelper.ConvertTextureToColor(new Color(0,0,0,0.05f)); + } else { + scroll.normal.background = GUIHelper.ConvertTextureToColor(new Color(0,0,0,0.03f)); + } + return scroll; + } + } + + internal static GUIStyle BarStyle { + get { + if (barStyle == null) { + barStyle = new GUIStyle(GUI.skin.label); + barStyle.fontSize = 12; + barStyle.alignment = TextAnchor.MiddleLeft; + barStyle.fixedHeight = 20; + barStyle.padding = new RectOffset(10, 5, 2, 2); + } + return barStyle; + } + } + + internal static GUIStyle BarBackgroundStyle { + get { + if (barBgStyle == null) { + barBgStyle = new GUIStyle(); + } + barBgStyle.normal.background = GUIHelper.ConvertTextureToColor(Color.clear); + barBgStyle.hover.background = GUIHelper.ConvertTextureToColor(new Color(0, 0, 0, 0.1f)); + barBgStyle.focused.background = GUIHelper.ConvertTextureToColor(Color.clear); + barBgStyle.active.background = null; + return barBgStyle; + } + } + + internal static GUIStyle ChildBarStyle { + get { + if (barChildStyle == null) { + barChildStyle = new GUIStyle(BarStyle); + barChildStyle.padding = new RectOffset(43, barChildStyle.padding.right, barChildStyle.padding.top, barChildStyle.padding.bottom); + } + return barChildStyle; + } + } + + internal static GUIStyle FoldoutBarStyle { + get { + if (barFoldoutStyle == null) { + barFoldoutStyle = new GUIStyle(BarStyle); + barFoldoutStyle.padding = new RectOffset(23, barFoldoutStyle.padding.right, barFoldoutStyle.padding.top, barFoldoutStyle.padding.bottom); + } + return barFoldoutStyle; + } + } + + public static GUIStyle TimestampStyle { + get { + if (timestampStyle == null) { + timestampStyle = new GUIStyle(GUI.skin.label); + } + if (IsDarkMode) { + timestampStyle.normal.textColor = new Color(0.5f, 0.5f, 0.5f); + } else { + timestampStyle.normal.textColor = new Color(0.5f, 0.5f, 0.5f); + } + timestampStyle.hover = timestampStyle.normal; + return timestampStyle; + } + } + + internal static GUIStyle ClickableLabelBoldStyle { + get { + if (clickableLabelBoldStyle == null) { + clickableLabelBoldStyle = new GUIStyle(LabelStyle); + clickableLabelBoldStyle.fontStyle = FontStyle.Bold; + clickableLabelBoldStyle.fontSize = 14; + clickableLabelBoldStyle.margin.left = 17; + clickableLabelBoldStyle.active.textColor = clickableLabelBoldStyle.normal.textColor; + } + return clickableLabelBoldStyle; + } + } + + internal static GUIStyle EmptyListText { + get { + if (_emptyListText == null) { + _emptyListText = new GUIStyle(); + _emptyListText.fontSize = 11; + _emptyListText.padding.left = 15; + _emptyListText.padding.top = 10; + _emptyListText.alignment = TextAnchor.MiddleCenter; + _emptyListText.normal.textColor = Color.gray; + } + + return _emptyListText; + } + } + + internal static GUIStyle StacktraceTextAreaStyle { + get { + if (_stacktraceTextAreaStyle == null) { + _stacktraceTextAreaStyle = new GUIStyle(EditorStyles.textArea); + _stacktraceTextAreaStyle.border = new RectOffset(0, 0, 0, 0); + } + return _stacktraceTextAreaStyle; + } + } + + internal static GUIStyle EntryBoxStyle { + get { + if (_entryBoxStyle == null) { + _entryBoxStyle = new GUIStyle(); + _entryBoxStyle.margin.left = 30; + } + return _entryBoxStyle; + } + } + + internal static GUIStyle ChildEntryBoxStyle { + get { + if (_childEntryBoxStyle == null) { + _childEntryBoxStyle = new GUIStyle(); + _childEntryBoxStyle.margin.left = 45; + } + return _childEntryBoxStyle; + } + } + + internal static GUIStyle CustomFoldoutStyle { + get { + if (_customFoldoutStyle == null) { + _customFoldoutStyle = new GUIStyle(EditorStyles.foldout); + _customFoldoutStyle.margin.top = 4; + _customFoldoutStyle.margin.left = 0; + _customFoldoutStyle.padding.left = 0; + _customFoldoutStyle.fixedWidth = 100; + } + return _customFoldoutStyle; + } + } + + internal static GUIStyle RemoveIconStyle { + get { + if (_removeIconStyle == null) { + _removeIconStyle = new GUIStyle(); + _removeIconStyle.margin.top = 5; + _removeIconStyle.fixedWidth = 17; + _removeIconStyle.fixedHeight = 17; + } + return _removeIconStyle; + } + } + + internal static GUIStyle UpgradeLicenseButtonStyle { + get { + if (upgradeLicenseButtonStyle == null) { + upgradeLicenseButtonStyle = new GUIStyle(GUI.skin.button); + upgradeLicenseButtonStyle.padding = new RectOffset(5, 5, 0, 0); + } + return upgradeLicenseButtonStyle; + } + } + + internal static GUIStyle UpgradeLicenseButtonOverlayStyle { + get { + if (upgradeLicenseButtonOverlayStyle == null) { + upgradeLicenseButtonOverlayStyle = new GUIStyle(UpgradeLicenseButtonStyle); + } + return upgradeLicenseButtonOverlayStyle; + } + } + + internal static GUIStyle UpgradeButtonStyle { + get { + if (upgradeButtonStyle == null) { + upgradeButtonStyle = new GUIStyle(EditorStyles.miniButton); + upgradeButtonStyle.fontStyle = FontStyle.Bold; + upgradeButtonStyle.fontSize = 14; + upgradeButtonStyle.fixedHeight = 24; + } + return upgradeButtonStyle; + } + } + + internal static GUIStyle HideButtonStyle { + get { + if (hideButtonStyle == null) { + hideButtonStyle = new GUIStyle(GUI.skin.button); + } + return hideButtonStyle; + } + } + + internal static GUIStyle HelpTabButton { + get { + if (helpTabButton == null) { + helpTabButton = new GUIStyle(GUI.skin.button); + helpTabButton.alignment = TextAnchor.MiddleLeft; + helpTabButton.padding.left = 10; + } + return helpTabButton; + } + } + + internal static GUIStyle IndicationHelpBox { + get { + if (indicationHelpBox == null) { + indicationHelpBox = new GUIStyle(EditorStyles.helpBox); + indicationHelpBox.margin.right = 0; + indicationHelpBox.margin.left = 0; + } + return indicationHelpBox; + } + } + } +} diff --git a/Packages/com.singularitygroup.hotreload/Editor/Window/Styles/HotReloadWindowStyles.cs.meta b/Packages/com.singularitygroup.hotreload/Editor/Window/Styles/HotReloadWindowStyles.cs.meta new file mode 100644 index 0000000..9c7385a --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Editor/Window/Styles/HotReloadWindowStyles.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: c06a986e9e8c3874f9578f0002ff3a2d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Editor/Window/Styles/HotReloadWindowStyles.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/HotReload.code-workspace b/Packages/com.singularitygroup.hotreload/HotReload.code-workspace new file mode 100644 index 0000000..c6653fc --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/HotReload.code-workspace @@ -0,0 +1,11 @@ +{ + "folders": [ + { + "path": "." + }, + { + "path": "../../../script" + } + ], + "settings": {} +} \ No newline at end of file diff --git a/Packages/com.singularitygroup.hotreload/HotReload.code-workspace.meta b/Packages/com.singularitygroup.hotreload/HotReload.code-workspace.meta new file mode 100644 index 0000000..f1d71a4 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/HotReload.code-workspace.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: c5fb35f04def51646a584aa23b72d056 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/HotReload.code-workspace + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/LICENSE.md b/Packages/com.singularitygroup.hotreload/LICENSE.md new file mode 100644 index 0000000..b9eb62e --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/LICENSE.md @@ -0,0 +1,45 @@ +End User License Agreement (“EULA”) for Hot Reload for Unity (“Software”) +Please read this End-User License Agreement ("Agreement") carefully before purchasing, downloading, or using Hot Reload for Unity ("Software"). + +By purchasing, downloading or using the Software, you, the individual or entity (“End-User”), agree to be bound by this EULA as well as by our Terms and Conditions. + +If End-User does not agree to the terms of this Agreement, do not purchase, download or use the Software. + +The subject matter of this EULA is the licensing of the Software to End-User. The Software is licensed, not sold. + +License + +The Naughty Cult Ltd. (“Licensor”) grants End-User a revocable, non-exclusive, worldwide, non-transferable, limited license to download, install and use the Software for personal and commercial purposes in accordance with the terms of this Agreement and the terms set out in the Terms and Conditions. + +The Software is owned and copyrighted by The Naughty Cult Ltd.. Your license confers no title or ownership in the Software and should not be construed as a sale of any right in the Software. + +The Software is protected by copyright law and international treaty provisions. You acknowledge that no ownership of the intellectual property in the Software is transferred to you. You further acknowledge that The Naughty Cult Ltd. retains full ownership rights to the Software, and you will not acquire any rights to the Software except as outlined in this license. You agree that any copies of the Software will include the same proprietary notices found on and within the original Software. + +End-User's Rights and Obligations + +End-User may use the licensed Software only for its intended purpose. End-User may not modify, reproduce, distribute, sublicense, rent, lease or lend the Software. +Each active license allows End-User to install and use the Software on a maximum of two devices associated with one specific Unity seat. End-User may not share the Software or the license key with any third party. + +You may not modify the Software or disable any licensing or control features of the Software without express permission from the Licensor. You agree that you will not attempt to reverse compile, modify, translate, or disassemble the Software in whole or in part. + +Once End-User's active license is terminated, End-User will not receive any new updates to the Software, and may not download, install, integrate or otherwise use versions of the Software released at any time hereafter, unless a license is activated. + +Termination +This EULA will terminate automatically if End-User fails to comply with any of the terms and conditions of this Agreement. In such event, End-User must immediately stop using the Software and destroy all copies of the Software in End-User's possession. + +Governing Law +This EULA shall be governed by the laws of the country in which the Licensor is headquartered without regard to its conflict of law provisions. We reserve the right to terminate or suspend your account, without notice or liability, for any reason, including breach of the Terms and Conditions and/or EULA. + +Limitation of Liability +The Naughty Cult Ltd. and its affiliates shall not be held liable for any indirect, incidental, special, consequential or punitive damages, including without limitation, loss of profits, data, use, goodwill, or other intangible losses, resulting from your use of or inability to use the Service, any conduct or content of any third party on the Service, any content obtained from the Service, or unauthorized access or alteration of your transmissions or content. This limitation applies regardless of whether the damages are based on warranty, contract, tort (including negligence), or any other legal theory, and even if we have been advised of the possibility of such damages. + + +Disclaimer of Warranties + +The Service is provided on an "as is" and "as available" basis without any warranties of any kind, either express or implied. We do not warrant that the Service will be uninterrupted or error-free, or that any defects will be corrected. We also do not guarantee that the Service will meet your requirements. + +Waiver and Severability +Our failure to enforce any right or provision of this EULA will not be deemed a waiver of such right or provision. In the event that any provision of these EULA is held to be invalid or unenforceable, the remaining provisions will remain in full force and effect. + +Entire Agreement +This EULA constitutes the entire agreement between End-User and Licensor regarding the use of the Software and supersedes all prior agreements and understandings, whether written or oral. diff --git a/Packages/com.singularitygroup.hotreload/LICENSE.md.meta b/Packages/com.singularitygroup.hotreload/LICENSE.md.meta new file mode 100644 index 0000000..e8d5657 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/LICENSE.md.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 0f0ed454ae8a66041bea966cdcee0f2e +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/LICENSE.md + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/README.md b/Packages/com.singularitygroup.hotreload/README.md new file mode 100644 index 0000000..1c30967 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/README.md @@ -0,0 +1,9 @@ +![HotReloadLogo](https://hotreload.net/logo.png?w=256&q=75) + +# Hot Reload for Unity + +Edit **any C# function** and get immediate updates in your game. Hot Reload works with your existing project, no code changes required. + +Install instructions on https://hotreload.net/ + +![Modify2dJumpingGameDemo](https://hot-reload-assets.s3.amazonaws.com/assets/hotreload_jump_demo.gif) diff --git a/Packages/com.singularitygroup.hotreload/README.md.meta b/Packages/com.singularitygroup.hotreload/README.md.meta new file mode 100644 index 0000000..4a80df0 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/README.md.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: bdb53603710c4ae3b491b7885e5ff702 +timeCreated: 1674514875 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/README.md + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Runtime.meta b/Packages/com.singularitygroup.hotreload/Runtime.meta new file mode 100644 index 0000000..2b0c282 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8026562867072c3409c904654ec3c17f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.singularitygroup.hotreload/Runtime/AppCallbackListener.cs b/Packages/com.singularitygroup.hotreload/Runtime/AppCallbackListener.cs new file mode 100644 index 0000000..77618a6 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/AppCallbackListener.cs @@ -0,0 +1,53 @@ +using System; +using System.Collections; +using UnityEngine; + +namespace SingularityGroup.HotReload { + class AppCallbackListener : MonoBehaviour { + /// + /// Reliable on Android and in the editor. + /// + /// + /// On iOS, OnApplicationPause is not called at expected moments + /// if the app has some background modes enabled in PlayerSettings -Troy. + /// + public static event Action onApplicationPause; + + /// + /// Reliable on Android, iOS and in the editor. + /// + public static event Action onApplicationFocus; + + static AppCallbackListener instance; + public static AppCallbackListener I => instance; + + // Must be called early from Unity main thread (before any usages of the singleton I). + public static AppCallbackListener Init() { + if(instance) return instance; + var go = new GameObject("AppCallbackListener"); + go.hideFlags |= HideFlags.HideInHierarchy; + DontDestroyOnLoad(go); + return instance = go.AddComponent(); + } + + public bool Paused { get; private set; } = false; + + public void DelayedQuit(float seconds) { + StartCoroutine(delayedQuitRoutine(seconds)); + } + + IEnumerator delayedQuitRoutine(float seconds) { + yield return new WaitForSeconds(seconds); + Application.Quit(); + } + + void OnApplicationPause(bool paused) { + Paused = paused; + onApplicationPause?.Invoke(paused); + } + + void OnApplicationFocus(bool playing) { + onApplicationFocus?.Invoke(playing); + } + } +} diff --git a/Packages/com.singularitygroup.hotreload/Runtime/AppCallbackListener.cs.meta b/Packages/com.singularitygroup.hotreload/Runtime/AppCallbackListener.cs.meta new file mode 100644 index 0000000..0d7b6ec --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/AppCallbackListener.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: a989a17330b04c6fb8f91aa41ac14471 +timeCreated: 1674216227 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Runtime/AppCallbackListener.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/BuildInfo.cs b/Packages/com.singularitygroup.hotreload/Runtime/BuildInfo.cs new file mode 100644 index 0000000..392ad0f --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/BuildInfo.cs @@ -0,0 +1,174 @@ +using System; +using System.Collections.Generic; +using System.IO; +using JetBrains.Annotations; +using SingularityGroup.HotReload.Newtonsoft.Json; +using UnityEngine; +using UnityEngine.Serialization; + +namespace SingularityGroup.HotReload { + /// + /// Information about the Unity Player build. + /// + /// + /// + /// This info is used by the HotReload Server to compile your project in the same way that the Unity Player build was compiled.
+ /// For example, when building for Android, Unity sets a bunch of define symbols like UNITY_ANDROID. + ///
+ /// + /// Information that changes between builds is generated at build-time and put in StreamingAssets/.
+ /// This approach means that builds do not need to modify a project file (making file dirty in git). For example, + /// whenever user makes a mono build, the CommitHash changes and we need to regenerate the BuildInfo. + ///
+ ///
+ [Serializable] + class BuildInfo { + /// + /// Uniquely identifies the Unity project. + /// + /// + /// Used on-device to check if Hot Reload server is compatible with the Unity project (same project).
+ /// When your computer has multiple Unity projects open, each project should provide a different value.
+ /// This identifier must also be the same between two different computers that are collaborating on the same project. + /// + /// + /// Edge-case: when a user copy pastes an entire Unity project and has both open at once, + /// then it's fine for this identifier to be the same. + /// + ///
+ public string projectIdentifier; + + /// + /// Git commit hash + /// + /// + /// Used to detect that your code is different to when the build was made. + /// + public string commitHash; + + /// + /// List of define symbols that were active when this build was made. + /// + /// + /// Separate the symbols with a semi-colon character ';' + /// + public string defineSymbols; + + /// + /// A regex of C# project names (*.csproj) to be omitted from compilation. + /// + /// + /// "MyTests|MyEditorAssembly" + /// + [FormerlySerializedAs("projectExclusionRegex")] + public string projectOmissionRegex; + + /// + /// The computer that made the Android (or Standalone etc) build.
+ /// The hostname (ip address) where Hot Reload server would be listening. + ///
+ public string buildMachineHostName; + + /// + /// The computer that made the Android (or Standalone etc) build.
+ /// The port where Hot Reload server would be listening. + ///
+ public int buildMachinePort; + + /// + /// Selected build target in Unity Editor. + /// + public string activeBuildTarget; + + /// + /// Used to pass in the origin onto the phone which is used to identify the correct server. + /// + public string buildMachineRequestOrigin; + + /// + /// Used to define which language the package is translated to + /// + public string locale; + + [JsonIgnore] + public HashSet DefineSymbolsAsHashSet { + get { + var symbols = defineSymbols.Trim().Split(';'); + // split on an empty string produces 1 empty string + if (symbols.Length == 1 && symbols[0] == string.Empty) { + return new HashSet(); + } + return new HashSet(symbols); + } + } + + [JsonIgnore] + public PatchServerInfo BuildMachineServer { + get { + if (buildMachineHostName == null || buildMachinePort == 0) { + return null; + } + return new PatchServerInfo(buildMachineHostName, buildMachinePort, commitHash, null, customRequestOrigin: buildMachineRequestOrigin); + } + } + + public string ToJson() { + return JsonConvert.SerializeObject(this); + } + + [CanBeNull] + public static BuildInfo FromJson(string json) { + if (string.IsNullOrEmpty(json)) { + return null; + } + return JsonConvert.DeserializeObject(json); + } + + /// + /// Path to read/write the json file to. + /// + /// A filepath that is inside the player build + public static string GetStoredPath() { + return Path.Combine(Application.streamingAssetsPath, GetStoredName()); + } + + public static string GetStoredName() { + return "HotReload_BuildInfo.json"; + } + + /// True if the commit hashes are definately different, otherwise False + public bool IsDifferentCommit(string remoteCommit) { + if (commitHash == PatchServerInfo.UnknownCommitHash) { + return false; + } + + return !SameCommit(commitHash, remoteCommit); + } + + /// + /// Checks whether the commits are equivalent. + /// + /// + /// + /// False if the commit hashes are definately different, otherwise True + public static bool SameCommit(string commitA, string commitB) { + if (commitA == null) { + // unknown commit hash, so approve anything + return true; + } + + if (commitA.Length == commitB.Length) { + return commitA == commitB; + } else if (commitA.Length >= 6 && commitB.Length >= 6) { + // depending on OS, the git log pretty output has different length (7 or 8 chars) + // if the longer hash starts with the shorter hash, return true + // Assumption: commits have different length. + var longer = commitA.Length > commitB.Length ? commitA : commitB; + var shorter = commitA.Length > commitB.Length ? commitB : commitA; + + return longer.StartsWith(shorter); + } + return false; + } + } +} diff --git a/Packages/com.singularitygroup.hotreload/Runtime/BuildInfo.cs.meta b/Packages/com.singularitygroup.hotreload/Runtime/BuildInfo.cs.meta new file mode 100644 index 0000000..64478fd --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/BuildInfo.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 39bb7d4cd9324f31b1882354b1cde762 +timeCreated: 1673776105 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Runtime/BuildInfo.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Burst.meta b/Packages/com.singularitygroup.hotreload/Runtime/Burst.meta new file mode 100644 index 0000000..f58389b --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/Burst.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: d10d24dc13744197a80f50ac50f5d1a1 +timeCreated: 1675449699 \ No newline at end of file diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Burst/JobHotReloadUtility.cs b/Packages/com.singularitygroup.hotreload/Runtime/Burst/JobHotReloadUtility.cs new file mode 100644 index 0000000..a0debd1 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/Burst/JobHotReloadUtility.cs @@ -0,0 +1,25 @@ +#if ENABLE_MONO && (DEVELOPMENT_BUILD || UNITY_EDITOR) +using System; +using System.Reflection; +using SingularityGroup.HotReload.DTO; + +namespace SingularityGroup.HotReload.Burst { + public static class JobHotReloadUtility { + public static void HotReloadBurstCompiledJobs(SUnityJob jobData, Type proxyJobType) { + JobPatchUtility.PatchBurstCompiledJobs(jobData, proxyJobType, unityMajorVersion: + #if UNITY_2022_2_OR_NEWER + 2022 + #elif UNITY_2021_3_OR_NEWER + 2021 + #elif UNITY_2020_3_OR_NEWER + 2020 + #elif UNITY_2019_4_OR_NEWER + 2019 + #else + 2018 + #endif + ); + } + } +} +#endif diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Burst/JobHotReloadUtility.cs.meta b/Packages/com.singularitygroup.hotreload/Runtime/Burst/JobHotReloadUtility.cs.meta new file mode 100644 index 0000000..887d007 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/Burst/JobHotReloadUtility.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: b9980b40e3ff447b94e71de238a37fb7 +timeCreated: 1676825622 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Runtime/Burst/JobHotReloadUtility.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/BurstChecker.cs b/Packages/com.singularitygroup.hotreload/Runtime/BurstChecker.cs new file mode 100644 index 0000000..995d1fc --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/BurstChecker.cs @@ -0,0 +1,39 @@ +using System; +using System.Collections.Generic; +using System.Reflection; + +namespace SingularityGroup.HotReload { + static class BurstChecker { + //Use names instead of the types directly for compat with older unity versions + const string whitelistAttrName = "BurstCompileAttribute"; + const string blacklistAttrName = "BurstDiscardAttribute"; + + public static bool IsBurstCompiled(MethodBase method) { + //blacklist has precedence over whitelist + if(HasAttr(method.GetCustomAttributes(), blacklistAttrName)) { + return false; + } + if(HasAttr(method.GetCustomAttributes(), whitelistAttrName)) { + return true; + } + //Static methods inside a [BurstCompile] type are not burst compiled by default + if(method.DeclaringType == null || method.IsStatic) { + return false; + } + if(HasAttr(method.DeclaringType.GetCustomAttributes(), whitelistAttrName)) { + return true; + } + //No matching attributes + return false; + } + + static bool HasAttr(IEnumerable attributes, string name) { + foreach (var attr in attributes) { + if(attr.GetType().Name == name) { + return true; + } + } + return false; + } + } +} diff --git a/Packages/com.singularitygroup.hotreload/Runtime/BurstChecker.cs.meta b/Packages/com.singularitygroup.hotreload/Runtime/BurstChecker.cs.meta new file mode 100644 index 0000000..075f40c --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/BurstChecker.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 20dfd902e9fc4485aeef90b9add39c0a +timeCreated: 1675404225 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Runtime/BurstChecker.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/CodePatcher.cs b/Packages/com.singularitygroup.hotreload/Runtime/CodePatcher.cs new file mode 100644 index 0000000..7f7999d --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/CodePatcher.cs @@ -0,0 +1,770 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.IO; +using System.Linq; +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Threading; +using System.Threading.Tasks; +using SingularityGroup.HotReload.DTO; +using SingularityGroup.HotReload.Localization; +using JetBrains.Annotations; +using SingularityGroup.HotReload.Burst; +using SingularityGroup.HotReload.HarmonyLib; +using SingularityGroup.HotReload.JsonConverters; +using SingularityGroup.HotReload.MonoMod.Utils; +using SingularityGroup.HotReload.Newtonsoft.Json; +using SingularityGroup.HotReload.RuntimeDependencies; +#if UNITY_EDITOR +using UnityEditor; +using UnityEditorInternal; +#endif +using UnityEngine; +using UnityEngine.SceneManagement; + +[assembly: InternalsVisibleTo("SingularityGroup.HotReload.Editor")] + +namespace SingularityGroup.HotReload { + class RegisterPatchesResult { + // note: doesn't include removals and method definition changes (e.g. renames) + public readonly List patchedMethods = new List(); + public List addedFields = new List(); + public readonly List patchedSMethods = new List(); + public bool inspectorModified; + public bool inspectorFieldAdded; + public readonly List> patchFailures = new List>(); + public readonly List patchExceptions = new List(); + } + + class FieldHandler { + public readonly Func storeField; + public readonly Action registerInspectorFieldAttributes; + public readonly Func hideField; + + public FieldHandler(Func storeField, Func hideField, Action registerInspectorFieldAttributes) { + this.storeField = storeField; + this.hideField = hideField; + this.registerInspectorFieldAttributes = registerInspectorFieldAttributes; + } + } + + class CodePatcher { + public static readonly CodePatcher I = new CodePatcher(); + /// Tag for use in Debug.Log. + public const string TAG = "HotReload"; + + internal int PatchesApplied { get; private set; } + string PersistencePath {get;} + + List pendingPatches; + readonly List patchHistory; + readonly HashSet seenResponses = new HashSet(); + string[] assemblySearchPaths; + SymbolResolver symbolResolver; + readonly string tmpDir; + public FieldHandler fieldHandler; + public bool debuggerCompatibilityEnabled; + public bool anyFailures; + + public IReadOnlyList PatchHistory => patchHistory; + + CodePatcher() { + pendingPatches = new List(); + patchHistory = new List(); + if(UnityHelper.IsEditor) { + tmpDir = PackageConst.LibraryCachePath; + } else { + tmpDir = UnityHelper.TemporaryCachePath; + } + if(!UnityHelper.IsEditor) { + PersistencePath = Path.Combine(UnityHelper.PersistentDataPath, "HotReload", "patches.json"); + try { + LoadPatches(PersistencePath); + } catch(Exception ex) { + Log.Error($"{Localization.Translations.Logging.LoadingPatchesFromDiskError}\n{ex}"); + } + } else { + PersistencePath = Path.Combine(PackageConst.LibraryCachePath, "patches.json"); + } +#if UNITY_EDITOR + // Unity event methods are not assigned outside the scene. + // So we need to ensure they are added when entering play mode from edit mode + EditorApplication.playModeStateChanged += state => { + if (state != PlayModeStateChange.EnteredPlayMode) { + return; + } + foreach (var unityEventMethod in unityEventMethods) { + EnsureUnityEventMethod(unityEventMethod); + } + }; +#endif + } + + [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)] + static void InitializeUnityEvents() { + UnityEventHelper.Initialize(); + } + + + void LoadPatches(string filePath) { + PlayerLog(Localization.Translations.Logging.LoadingPatchesFromFile, filePath); + var file = new FileInfo(filePath); + if(file.Exists) { + var bytes = File.ReadAllText(filePath); + var patches = JsonConvert.DeserializeObject>(bytes); + PlayerLog(Localization.Translations.Logging.LoadedPatchesFromDisk, patches.Count.ToString()); + foreach (var patch in patches) { + RegisterPatches(patch, persist: false); + } + } + } + + + internal IReadOnlyList PendingPatches => pendingPatches; + internal SymbolResolver SymbolResolver => symbolResolver; + + + internal string[] GetAssemblySearchPaths() { + EnsureSymbolResolver(); + return assemblySearchPaths; + } + + internal void RegisterFailures(MethodPatchResponse patch, RegisterPatchesResult result) { + anyFailures |= patch.failures?.Length > 0 || result?.patchFailures.Count > 0 || result?.patchExceptions.Count > 0; + } + + internal RegisterPatchesResult RegisterPatches(MethodPatchResponse patches, bool persist) { + PlayerLog(Localization.Translations.Logging.RegisterPatches, string.Join("\n", patches.failures), string.Join("\n", patches.patches.SelectMany(p => p.modifiedMethods).Select(m => m.displayName))); + pendingPatches.Add(patches); + return ApplyPatches(persist); + } + + RegisterPatchesResult ApplyPatches(bool persist) { + PlayerLog(Localization.Translations.Logging.ApplyPatchesPending, pendingPatches.Count); + EnsureSymbolResolver(); + + var result = new RegisterPatchesResult(); + + try { + int count = 0; + foreach(var response in pendingPatches) { + if (seenResponses.Contains(response.id)) { + continue; + } + foreach (var patch in response.patches) { + var asm = Assembly.Load(patch.patchAssembly, patch.patchPdb); + SymbolResolver.AddAssembly(asm); + } + HandleRemovedUnityMethods(response.removedMethod); +#if UNITY_EDITOR + HandleAlteredFields(response.id, result, response.alteredFields); +#endif + // needs to come before RegisterNewFieldInitializers + RegisterNewFieldDefinitions(response); + // Note: order is important here. Reshaped fields require new field initializers to be added + // because the old initializers must override new initilaizers for existing holders. + // so that the initializer is not invoked twice + RegisterNewFieldInitializers(response); + HandleReshapedFields(response); + RemoveOldFieldInitializers(response); +#if UNITY_EDITOR + RegisterInspectorFieldAttributes(result, response); +#endif + + HandleMethodPatchResponse(response, result); + patchHistory.Add(response); + + seenResponses.Add(response.id); + count += response.patches.Length; + } + if (count > 0) { + Dispatch.OnHotReload(result.patchedMethods).Forget(); + } + } catch(Exception ex) { + Log.Warning($"{Localization.Translations.Logging.ExceptionHandlingMethodPatch}\n{ex}"); + } finally { + pendingPatches.Clear(); + } + + if(PersistencePath != null && persist) { + SaveAppliedPatches(PersistencePath).Forget(); + } + + PatchesApplied++; + return result; + } + + internal void ClearPatchedMethods() { + PatchesApplied = 0; + } + + static bool didLog; + [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.AfterSceneLoad)] + static void WarnOnSceneLoad() { + SceneManager.sceneLoaded += (_, __) => { + if (didLog || !UnityEventHelper.UnityMethodsAdded()) { + return; + } + Log.Warning(Localization.Translations.Logging.SceneLoadedWithNewUnityEventMethods); + didLog = true; + }; + } + + static HashSet unityEventMethods = new HashSet(); + [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.AfterSceneLoad)] + static void OnSceneLoad() { + SceneManager.sceneLoaded += (_, __) => { + foreach (var unityEventMethod in unityEventMethods) { + EnsureUnityEventMethod(unityEventMethod); + } + }; + } + + static bool EnsureUnityEventMethod(MethodBase newMethod) { + try { + return UnityEventHelper.EnsureUnityEventMethod(newMethod); + } catch(Exception ex) { + Log.Warning(Localization.Translations.Logging.ExceptionEnsureUnityEventMethod, ex.GetType().Name, ex.Message); + return false; + } + } + + void HandleMethodPatchResponse(MethodPatchResponse response, RegisterPatchesResult result) { + EnsureSymbolResolver(); + + foreach(var patch in response.patches) { + try { + foreach(var sMethod in patch.newMethods) { + var newMethod = SymbolResolver.Resolve(sMethod); + + var isUnityEvent = EnsureUnityEventMethod(newMethod); + if (isUnityEvent) { + unityEventMethods.Add(newMethod); + } + + MethodUtils.DisableVisibilityChecks(newMethod); + if (!patch.patchMethods.Any(m => m.metadataToken == sMethod.metadataToken)) { + result.patchedMethods.Add(new MethodPatch(null, null, newMethod)); + result.patchedSMethods.Add(sMethod); + previousPatchMethods[newMethod] = newMethod; + newMethods.Add(newMethod); + } + } + + for (int i = 0; i < patch.modifiedMethods.Length; i++) { + var sOriginalMethod = patch.modifiedMethods[i]; + var sPatchMethod = patch.patchMethods[i]; + var err = PatchMethod(response.id, sOriginalMethod: sOriginalMethod, sPatchMethod: sPatchMethod, containsBurstJobs: patch.unityJobs.Length > 0, patchesResult: result); + if (!string.IsNullOrEmpty(err)) { + result.patchFailures.Add(Tuple.Create(sOriginalMethod, err)); + } + } + foreach (var job in patch.unityJobs) { + var type = SymbolResolver.Resolve(new SType(patch.assemblyName, job.jobKind.ToString(), job.metadataToken)); + JobHotReloadUtility.HotReloadBurstCompiledJobs(job, type); + } +#if UNITY_EDITOR + HandleNewFields(patch.patchId, result, patch.newFields); +#endif + } catch (Exception ex) { + RequestHelper.RequestEditorEventWithRetry(new Stat(StatSource.Client, StatLevel.Error, StatFeature.Patching, StatEventType.Exception), new EditorExtraData { + { StatKey.PatchId, patch.patchId }, + { StatKey.Detailed_Exception, ex.ToString() }, + }).Forget(); + result.patchExceptions.Add($"{Localization.Translations.Logging.ExceptionApplyingPatch}\nException: {ex}"); + } + } + } + + void HandleRemovedUnityMethods(SMethod[] removedMethods) { + if (removedMethods == null) { + return; + } + foreach(var sMethod in removedMethods) { + try { + var oldMethod = SymbolResolver.Resolve(sMethod); + UnityEventHelper.RemoveUnityEventMethod(oldMethod); + unityEventMethods.Remove(oldMethod); + } catch (SymbolResolvingFailedException) { + // ignore, not a unity event method if can't resolve + } catch(Exception ex) { + Log.Warning(Localization.Translations.Logging.ExceptionRemoveUnityEventMethod, ex.GetType().Name, ex.Message); + } + } + } + + // Important: must come before applying any patches + void RegisterNewFieldInitializers(MethodPatchResponse resp) { + for (var i = 0; i < resp.addedFieldInitializerFields.Length; i++) { + var sField = resp.addedFieldInitializerFields[i]; + var sMethod = resp.addedFieldInitializerInitializers[i]; + try { + var declaringType = SymbolResolver.Resolve(sField.declaringType); + var method = SymbolResolver.Resolve(sMethod); + if (!(method is MethodInfo initializer)) { + Log.Warning(string.Format(Localization.Translations.Logging.FailedRegisteringInitializerInvalidMethod, sField.fieldName, sField.declaringType.typeName)); + continue; + } + // We infer if the field is static by the number of parameters the method has + // because sField is old field + var isStatic = initializer.GetParameters().Length == 0; + MethodUtils.DisableVisibilityChecks(initializer); + // Initializer return type is used in place of fieldType because latter might be point to old field if the type changed + FieldInitializerRegister.RegisterInitializer(declaringType, sField.fieldName, initializer.ReturnType, initializer, isStatic); + + } catch (Exception e) { + RequestHelper.RequestEditorEventWithRetry(new Stat(StatSource.Client, StatLevel.Error, StatFeature.Patching, StatEventType.RegisterFieldInitializer), new EditorExtraData { + { StatKey.PatchId, resp.id }, + { StatKey.Detailed_Exception, e.ToString() }, + }).Forget(); + Log.Warning(string.Format(Localization.Translations.Logging.FailedRegisteringInitializerException, sField.fieldName, sField.declaringType.typeName, e.Message)); + } + } + } + + void RegisterNewFieldDefinitions(MethodPatchResponse resp) { + foreach (var sField in resp.newFieldDefinitions) { + try { + var declaringType = SymbolResolver.Resolve(sField.declaringType); + var fieldType = SymbolResolver.Resolve(sField).FieldType; + FieldResolver.RegisterFieldType(declaringType, sField.fieldName, fieldType); + } catch (Exception e) { + RequestHelper.RequestEditorEventWithRetry(new Stat(StatSource.Client, StatLevel.Error, StatFeature.Patching, StatEventType.RegisterFieldDefinition), new EditorExtraData { + { StatKey.PatchId, resp.id }, + { StatKey.Detailed_Exception, e.ToString() }, + }).Forget(); + Log.Warning(string.Format(Localization.Translations.Logging.FailedRegisteringNewFieldDefinitions, sField.fieldName, sField.declaringType.typeName, e.Message)); + } + } + } + + // Important: must come before applying any patches + // Note: server might decide not to report removed field initializer at all if it can handle it + void RemoveOldFieldInitializers(MethodPatchResponse resp) { + foreach (var sField in resp.removedFieldInitializers) { + try { + var declaringType = SymbolResolver.Resolve(sField.declaringType); + var fieldType = SymbolResolver.Resolve(sField.declaringType); + FieldInitializerRegister.UnregisterInitializer(declaringType, sField.fieldName, fieldType, sField.isStatic); + } catch (Exception e) { + RequestHelper.RequestEditorEventWithRetry(new Stat(StatSource.Client, StatLevel.Error, StatFeature.Patching, StatEventType.UnregisterFieldInitializer), new EditorExtraData { + { StatKey.PatchId, resp.id }, + { StatKey.Detailed_Exception, e.ToString() }, + }).Forget(); + Log.Warning(string.Format(Localization.Translations.Logging.FailedRemovingInitializer, sField.fieldName, sField.declaringType.typeName, e.Message)); + } + } + } + + // Important: must come before applying any patches + // Should also come after RegisterNewFieldInitializers so that new initializers are not invoked for existing objects + internal void HandleReshapedFields(MethodPatchResponse resp) { + foreach(var patch in resp.patches) { + var removedReshapedFields = patch.deletedFields; + var renamedReshapedFieldsFrom = patch.renamedFieldsFrom; + var renamedReshapedFieldsTo = patch.renamedFieldsTo; + + foreach (var f in removedReshapedFields) { + try { + var declaringType = SymbolResolver.Resolve(f.declaringType); + var fieldType = SymbolResolver.Resolve(f).FieldType; + FieldResolver.ClearHolders(declaringType, f.isStatic, f.fieldName, fieldType); + } catch (Exception e) { + RequestHelper.RequestEditorEventWithRetry(new Stat(StatSource.Client, StatLevel.Error, StatFeature.Patching, StatEventType.ClearHolders), new EditorExtraData { + { StatKey.PatchId, resp.id }, + { StatKey.Detailed_Exception, e.ToString() }, + }).Forget(); + Log.Warning(string.Format(Localization.Translations.Logging.FailedRemovingFieldValue, f.fieldName, f.declaringType.typeName, e.Message)); + } + } + for (var i = 0; i < renamedReshapedFieldsFrom.Length; i++) { + var fromField = renamedReshapedFieldsFrom[i]; + var toField = renamedReshapedFieldsTo[i]; + try { + var declaringType = SymbolResolver.Resolve(fromField.declaringType); + var fieldType = SymbolResolver.Resolve(fromField).FieldType; + var toFieldType = SymbolResolver.Resolve(toField).FieldType; + if (!AreSTypesCompatible(fromField.declaringType, toField.declaringType) + || fieldType != toFieldType + || fromField.isStatic != toField.isStatic + ) { + FieldResolver.ClearHolders(declaringType, fromField.isStatic, fromField.fieldName, fieldType); + continue; + } + FieldResolver.MoveHolders(declaringType, fromField.fieldName, toField.fieldName, fieldType, fromField.isStatic); + } catch (Exception e) { + RequestHelper.RequestEditorEventWithRetry(new Stat(StatSource.Client, StatLevel.Error, StatFeature.Patching, StatEventType.MoveHolders), new EditorExtraData { + { StatKey.PatchId, resp.id }, + { StatKey.Detailed_Exception, e.ToString() }, + }).Forget(); + Log.Warning(Localization.Translations.Logging.FailedMovingFieldValue, fromField, toField, toField.declaringType.typeName, e.Message); + } + } + } + } + + internal bool AreSTypesCompatible(SType one, SType two) { + if (one.isGenericParameter != two.isGenericParameter) { + return false; + } + if (one.metadataToken != two.metadataToken) { + return false; + } + if (one.assemblyName != two.assemblyName) { + return false; + } + if (one.genericParameterPosition != two.genericParameterPosition) { + return false; + } + if (one.typeName != two.typeName) { + return false; + } + return true; + } + +#if UNITY_EDITOR + internal void RegisterInspectorFieldAttributes(RegisterPatchesResult result, MethodPatchResponse resp) { + foreach (var patch in resp.patches) { + var propertyAttributesFieldOriginal = patch.propertyAttributesFieldOriginal ?? Array.Empty(); + var propertyAttributesFieldUpdated = patch.propertyAttributesFieldUpdated ?? Array.Empty(); + for (var i = 0; i < propertyAttributesFieldOriginal.Length; i++) { + var original = propertyAttributesFieldOriginal[i]; + var updated = propertyAttributesFieldUpdated[i]; + try { + var declaringType = SymbolResolver.Resolve(original.declaringType); + var originalField = SymbolResolver.Resolve(original); + var updatedField = SymbolResolver.Resolve(updated); + fieldHandler?.registerInspectorFieldAttributes?.Invoke(declaringType, originalField, updatedField); + result.inspectorModified = true; + } catch (Exception e) { + RequestHelper.RequestEditorEventWithRetry(new Stat(StatSource.Client, StatLevel.Error, StatFeature.Patching, StatEventType.MoveHolders), new EditorExtraData { + { StatKey.PatchId, resp.id }, + { StatKey.Detailed_Exception, e.ToString() }, + }).Forget(); + Log.Warning(string.Format(Localization.Translations.Logging.FailedUpdatingFieldAttributes, original.fieldName, original.declaringType.typeName, e.Message)); + } + } + } + } + + internal void HandleNewFields(string patchId, RegisterPatchesResult result, SField[] sFields) { + foreach (var sField in sFields) { + if (!sField.serializable) { + continue; + } + try { + var declaringType = SymbolResolver.Resolve(sField.declaringType); + var field = SymbolResolver.Resolve(sField); + result.inspectorFieldAdded = fieldHandler?.storeField?.Invoke(declaringType, field) ?? false; + result.inspectorModified = true; + } catch (Exception e) { + RequestHelper.RequestEditorEventWithRetry(new Stat(StatSource.Client, StatLevel.Error, StatFeature.Patching, StatEventType.AddInspectorField), new EditorExtraData { + { StatKey.PatchId, patchId }, + { StatKey.Detailed_Exception, e.ToString() }, + }).Forget(); + Log.Warning(string.Format(Localization.Translations.Logging.FailedAddingFieldToInspector, sField.fieldName, sField.declaringType.typeName, e.Message)); + } + } + result.addedFields.AddRange(sFields); + } + + // IMPORTANT: must come before HandleNewFields. Might contain new fields which we don't want to hide + internal void HandleAlteredFields(string patchId, RegisterPatchesResult result, SField[] alteredFields) { + if (alteredFields == null) { + return; + } + bool alteredFieldHidden = false; + foreach(var sField in alteredFields) { + try { + var declaringType = SymbolResolver.Resolve(sField.declaringType); + if (fieldHandler?.hideField?.Invoke(declaringType, sField.fieldName) == true) { + alteredFieldHidden = true; + } + } catch(Exception e) { + RequestHelper.RequestEditorEventWithRetry(new Stat(StatSource.Client, StatLevel.Error, StatFeature.Patching, StatEventType.HideInspectorField), new EditorExtraData { + { StatKey.PatchId, patchId }, + { StatKey.Detailed_Exception, e.ToString() }, + }).Forget(); + Log.Warning(string.Format(Localization.Translations.Logging.FailedHidingFieldFromInspector, sField.fieldName, sField.declaringType.typeName, e.Message)); + } + } + if (alteredFieldHidden) { + result.inspectorModified = true; + } + } +#endif + + Dictionary previousPatchMethods = new Dictionary(); + public IEnumerable OriginalPatchMethods => previousPatchMethods.Keys; + List newMethods = new List(); + + string PatchMethod(string patchId, SMethod sOriginalMethod, SMethod sPatchMethod, bool containsBurstJobs, RegisterPatchesResult patchesResult) { + try { + var patchMethod = SymbolResolver.Resolve(sPatchMethod); + var start = DateTime.UtcNow; + var state = TryResolveMethod(sOriginalMethod, patchMethod); + if (Debugger.IsAttached && !debuggerCompatibilityEnabled) { + RequestHelper.RequestEditorEventWithRetry(new Stat(StatSource.Client, StatLevel.Error, StatFeature.Patching, StatEventType.DebuggerAttached), new EditorExtraData { + { StatKey.PatchId, patchId }, + }).Forget(); + return Localization.Translations.Logging.DebuggerAttachedNotAllowed; + } + + if (DateTime.UtcNow - start > TimeSpan.FromMilliseconds(500)) { + Log.Info(Localization.Translations.Logging.HotReloadApplyTook, (DateTime.UtcNow - start).TotalMilliseconds); + } + + if(state.match == null) { + RequestHelper.RequestEditorEventWithRetry(new Stat(StatSource.Client, StatLevel.Error, StatFeature.Patching, StatEventType.MethodMismatch), new EditorExtraData { + { StatKey.PatchId, patchId }, + }).Forget(); + return string.Format(Localization.Translations.Logging.MethodMismatch, sOriginalMethod.simpleName, patchMethod.Name); + } + + PlayerLog(Localization.Translations.Logging.DetourMethod, sOriginalMethod.metadataToken, patchMethod.Name, state.offset); + DetourResult result; + DetourApi.DetourMethod(state.match, patchMethod, out result); + if (result.success) { + // previous method is either original method or the last patch method + MethodBase previousMethod; + if (!previousPatchMethods.TryGetValue(state.match, out previousMethod)) { + previousMethod = state.match; + } + MethodBase originalMethod = state.match; + if (newMethods.Contains(state.match)) { + // for function added at runtime the original method should be null + originalMethod = null; + } + patchesResult.patchedMethods.Add(new MethodPatch(originalMethod, previousMethod, patchMethod)); + patchesResult.patchedSMethods.Add(sOriginalMethod); + previousPatchMethods[state.match] = patchMethod; + try { + Dispatch.OnHotReloadLocal(state.match, patchMethod); + } catch { + // best effort + } + return null; + } else { + if(result.exception is InvalidProgramException && containsBurstJobs) { + //ignore. The method is likely burst compiled and can't be patched + return null; + } else { + RequestHelper.RequestEditorEventWithRetry(new Stat(StatSource.Client, StatLevel.Error, StatFeature.Patching, StatEventType.Failure), new EditorExtraData { + { StatKey.PatchId, patchId }, + { StatKey.Detailed_Exception, result.exception.ToString() }, + }).Forget(); + return HandleMethodPatchFailure(sOriginalMethod, result.exception); + } + } + } catch(Exception ex) { + RequestHelper.RequestEditorEventWithRetry(new Stat(StatSource.Client, StatLevel.Error, StatFeature.Patching, StatEventType.Exception), new EditorExtraData { + { StatKey.PatchId, patchId }, + { StatKey.Detailed_Exception, ex.ToString() }, + }).Forget(); + return HandleMethodPatchFailure(sOriginalMethod, ex); + } + } + + struct ResolveMethodState { + public readonly SMethod originalMethod; + public readonly int offset; + public readonly bool tryLowerTokens; + public readonly bool tryHigherTokens; + public readonly MethodBase match; + public ResolveMethodState(SMethod originalMethod, int offset, bool tryLowerTokens, bool tryHigherTokens, MethodBase match) { + this.originalMethod = originalMethod; + this.offset = offset; + this.tryLowerTokens = tryLowerTokens; + this.tryHigherTokens = tryHigherTokens; + this.match = match; + } + + public ResolveMethodState With(bool? tryLowerTokens = null, bool? tryHigherTokens = null, MethodBase match = null, int? offset = null) { + return new ResolveMethodState( + originalMethod, + offset ?? this.offset, + tryLowerTokens ?? this.tryLowerTokens, + tryHigherTokens ?? this.tryHigherTokens, + match ?? this.match); + } + } + + struct ResolveMethodResult { + public readonly MethodBase resolvedMethod; + public readonly bool tokenOutOfRange; + public ResolveMethodResult(MethodBase resolvedMethod, bool tokenOutOfRange) { + this.resolvedMethod = resolvedMethod; + this.tokenOutOfRange = tokenOutOfRange; + } + } + + ResolveMethodState TryResolveMethod(SMethod originalMethod, MethodBase patchMethod) { + var state = new ResolveMethodState(originalMethod, offset: 0, tryLowerTokens: true, tryHigherTokens: true, match: null); + var result = TryResolveMethodCore(state.originalMethod, patchMethod, 0); + if(result.resolvedMethod != null) { + return state.With(match: result.resolvedMethod); + } + state = state.With(offset: 1); + const int tries = 100000; + while(state.offset <= tries && (state.tryHigherTokens || state.tryLowerTokens)) { + if(state.tryHigherTokens) { + result = TryResolveMethodCore(originalMethod, patchMethod, state.offset); + if(result.resolvedMethod != null) { + return state.With(match: result.resolvedMethod); + } else if(result.tokenOutOfRange) { + state = state.With(tryHigherTokens: false); + } + } + if(state.tryLowerTokens) { + result = TryResolveMethodCore(originalMethod, patchMethod, -state.offset); + if(result.resolvedMethod != null) { + return state.With(match: result.resolvedMethod); + } else if(result.tokenOutOfRange) { + state = state.With(tryLowerTokens: false); + } + } + state = state.With(offset: state.offset + 1); + } + return state; + } + + + ResolveMethodResult TryResolveMethodCore(SMethod methodToResolve, MethodBase patchMethod, int offset) { + bool tokenOutOfRange = false; + MethodBase resolvedMethod = null; + try { + resolvedMethod = TryGetMethodBaseWithRelativeToken(methodToResolve, offset); + var err = MethodCompatiblity.CheckCompatibility(resolvedMethod, patchMethod); + if(err != null) { + // if (resolvedMethod.Name == patchMethod.Name) { + // Log.Info(err); + // } + resolvedMethod = null; + } + } catch (SymbolResolvingFailedException ex) when(ex.InnerException is ArgumentOutOfRangeException) { + tokenOutOfRange = true; + } catch (ArgumentOutOfRangeException) { + tokenOutOfRange = true; + } + return new ResolveMethodResult(resolvedMethod, tokenOutOfRange); + } + + MethodBase TryGetMethodBaseWithRelativeToken(SMethod sOriginalMethod, int offset) { + return symbolResolver.Resolve(new SMethod(sOriginalMethod.assemblyName, + sOriginalMethod.displayName, + sOriginalMethod.metadataToken + offset, + sOriginalMethod.simpleName)); + } + + string HandleMethodPatchFailure(SMethod method, Exception exception) { + return string.Format(Localization.Translations.Logging.FailedToApplyPatchForMethod, method.displayName, method.assemblyName, exception); + } + + void EnsureSymbolResolver() { + if (symbolResolver == null) { + var searchPaths = new HashSet(); + var assemblies = AppDomain.CurrentDomain.GetAssemblies(); + var assembliesByName = new Dictionary>(); + for (var i = 0; i < assemblies.Length; i++) { + var name = assemblies[i].GetNameSafe(); + List list; + if (!assembliesByName.TryGetValue(name, out list)) { + assembliesByName.Add(name, list = new List()); + } + list.Add(assemblies[i]); + + if(assemblies[i].IsDynamic) continue; + + var location = assemblies[i].Location; + if(File.Exists(location)) { + searchPaths.Add(Path.GetDirectoryName(Path.GetFullPath(location))); + } + } + symbolResolver = new SymbolResolver(assembliesByName); + assemblySearchPaths = searchPaths.ToArray(); + } + } + + + //Allow one save operation at a time. + readonly SemaphoreSlim gate = new SemaphoreSlim(1); + public async Task SaveAppliedPatches(string filePath) { + await gate.WaitAsync(); + try { + await SaveAppliedPatchesNoLock(filePath); + } finally { + gate.Release(); + } + } + + async Task SaveAppliedPatchesNoLock(string filePath) { + if (filePath == null) { + throw new ArgumentNullException(nameof(filePath)); + } + filePath = Path.GetFullPath(filePath); + var dir = Path.GetDirectoryName(filePath); + if(string.IsNullOrEmpty(dir)) { + throw new ArgumentException(string.Format(Localization.Translations.Logging.InvalidPath, filePath), nameof(filePath)); + } + Directory.CreateDirectory(dir); + var history = patchHistory.ToList(); + + PlayerLog(Localization.Translations.Logging.SavingAppliedPatches, history.Count, filePath); + + await Task.Run(() => { + using (FileStream fs = File.Create(filePath)) + using (StreamWriter sw = new StreamWriter(fs)) + using (JsonWriter writer = new JsonTextWriter(sw)) { + JsonSerializer serializer = JsonSerializer.Create(new JsonSerializerSettings { + Converters = new List { new MethodPatchResponsesConverter() } + }); + serializer.Serialize(writer, history); + } + }); + } + + public void InitPatchesBlocked() { + if (PersistencePath == null) { + return; + } + seenResponses.Clear(); + var file = new FileInfo(PersistencePath); + if (file.Exists) { + using(var fs = new FileStream(file.FullName, FileMode.Open, FileAccess.Read, FileShare.Read, 4096, FileOptions.SequentialScan)) + using (StreamReader sr = new StreamReader(fs)) + using (JsonReader reader = new JsonTextReader(sr)) { + JsonSerializer serializer = JsonSerializer.Create(new JsonSerializerSettings { + Converters = new List { new MethodPatchResponsesConverter() } + }); + pendingPatches = serializer.Deserialize>(reader); + } + ApplyPatches(persist: false); + } + } + + public void ClearPatchesThreaded() { + if (PersistencePath == null) { + return; + } + Task.Run(() => File.Delete(PersistencePath)); + } + + + [StringFormatMethod("format")] + static void PlayerLog(string format, params object[] args) { +#if !UNITY_EDITOR + HotReload.Log.Info(format, args); +#endif //!UNITY_EDITOR + } + + class SimpleMethodComparer : IEqualityComparer { + public static readonly SimpleMethodComparer I = new SimpleMethodComparer(); + SimpleMethodComparer() { } + public bool Equals(SMethod x, SMethod y) => x.metadataToken == y.metadataToken; + public int GetHashCode(SMethod x) { + return x.metadataToken; + } + } + } +} diff --git a/Packages/com.singularitygroup.hotreload/Runtime/CodePatcher.cs.meta b/Packages/com.singularitygroup.hotreload/Runtime/CodePatcher.cs.meta new file mode 100644 index 0000000..5a81267 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/CodePatcher.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: b6c8477b90c3f384f8124d62a5dc6e74 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Runtime/CodePatcher.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Demo.meta b/Packages/com.singularitygroup.hotreload/Runtime/Demo.meta new file mode 100644 index 0000000..d67b179 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/Demo.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 55206f9d10104e838249bf8ac177e332 +timeCreated: 1677091847 \ No newline at end of file diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Demo/Scenes.meta b/Packages/com.singularitygroup.hotreload/Runtime/Demo/Scenes.meta new file mode 100644 index 0000000..a16c17b --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/Demo/Scenes.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c895e9065d763824f9211fa8054f7c2e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Demo/Scenes/HotReloadBasicDemo.unity b/Packages/com.singularitygroup.hotreload/Runtime/Demo/Scenes/HotReloadBasicDemo.unity new file mode 100644 index 0000000..ca6a3dd --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/Demo/Scenes/HotReloadBasicDemo.unity @@ -0,0 +1,1079 @@ +%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.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 2 + 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: 1 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &19295889 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 19295893} + - component: {fileID: 19295892} + - component: {fileID: 19295891} + - component: {fileID: 19295890} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!65 &19295890 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 19295889} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 2, y: 2, z: 2} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &19295891 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 19295889} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &19295892 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 19295889} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &19295893 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 19295889} + m_LocalRotation: {x: 0, y: 0, z: 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: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &249270788 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 249270791} + - component: {fileID: 249270790} + - component: {fileID: 249270789} + 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 &249270789 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 249270788} + m_Enabled: 1 +--- !u!20 &249270790 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 249270788} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + 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: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &249270791 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 249270788} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &460271676 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 460271677} + - component: {fileID: 460271679} + - component: {fileID: 460271678} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &460271677 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 460271676} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 511172213} + 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: -28.681885, y: -20.492146} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &460271678 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 460271676} + 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.19607843, g: 0.19607843, b: 0.19607843, 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: 48 + m_FontStyle: 0 + m_BestFit: 1 + m_MinSize: 24 + m_MaxSize: 64 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Open Script +--- !u!222 &460271679 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 460271676} + m_CullTransparentMesh: 0 +--- !u!1 &511172212 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 511172213} + - component: {fileID: 511172216} + - component: {fileID: 511172215} + - component: {fileID: 511172214} + m_Layer: 5 + m_Name: Button open script + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &511172213 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 511172212} + m_LocalRotation: {x: 0, 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: 460271677} + m_Father: {fileID: 649153321} + 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: -256.6, y: 118} + m_SizeDelta: {x: 392.12805, y: 72.27574} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &511172214 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 511172212} + 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: 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: 511172215} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &511172215 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 511172212} + 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!222 &511172216 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 511172212} + m_CullTransparentMesh: 0 +--- !u!1 &649153317 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 649153321} + - component: {fileID: 649153320} + - component: {fileID: 649153319} + - component: {fileID: 649153318} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &649153318 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 649153317} + 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 &649153319 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 649153317} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 1 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 1280, y: 720} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 +--- !u!223 &649153320 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 649153317} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 1 + m_Camera: {fileID: 249270790} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &649153321 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 649153317} + 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: 1537524790} + - {fileID: 1847025553} + - {fileID: 511172213} + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!1 &700195177 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 700195180} + - component: {fileID: 700195179} + - component: {fileID: 700195178} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &700195178 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 700195177} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &700195179 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 700195177} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 10 +--- !u!4 &700195180 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 700195177} + m_LocalRotation: {x: 0, y: 0, z: 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: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &965437870 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 965437872} + - component: {fileID: 965437871} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &965437871 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 965437870} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &965437872 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 965437870} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &1101930858 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1101930859} + - component: {fileID: 1101930861} + - component: {fileID: 1101930860} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1101930859 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1101930858} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1847025553} + 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: -28.681885, y: -20.492146} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1101930860 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1101930858} + 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.19607843, g: 0.19607843, b: 0.19607843, 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: 48 + m_FontStyle: 0 + m_BestFit: 1 + m_MinSize: 24 + m_MaxSize: 64 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Open Editor tab +--- !u!222 &1101930861 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1101930858} + m_CullTransparentMesh: 0 +--- !u!1 &1537524789 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1537524790} + - component: {fileID: 1537524792} + - component: {fileID: 1537524791} + m_Layer: 5 + m_Name: InformationText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &1537524790 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1537524789} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 649153321} + 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.00000095367, y: 215.4} + m_SizeDelta: {x: 861.9848, y: 122.55513} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1537524791 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1537524789} + 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, g: 0, b: 0, 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: 64 + m_FontStyle: 1 + m_BestFit: 0 + m_MinSize: 0 + m_MaxSize: 64 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Hot Reload is not running yet +--- !u!222 &1537524792 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1537524789} + m_CullTransparentMesh: 0 +--- !u!1 &1847025552 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1847025553} + - component: {fileID: 1847025556} + - component: {fileID: 1847025555} + - component: {fileID: 1847025554} + m_Layer: 5 + m_Name: Button open editor tab + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1847025553 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1847025552} + m_LocalRotation: {x: 0, 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: 1101930859} + m_Father: {fileID: 649153321} + 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: 218.9, y: 118} + m_SizeDelta: {x: 392.12805, y: 72.27574} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1847025554 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1847025552} + 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: 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: 1847025555} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &1847025555 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1847025552} + 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!222 &1847025556 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1847025552} + m_CullTransparentMesh: 0 +--- !u!1 &2132145875 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2132145876} + - component: {fileID: 2132145877} + m_Layer: 0 + m_Name: HotReloadDemo + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2132145876 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2132145875} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 18.716805, y: 53.419094, z: 92.546875} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &2132145877 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2132145875} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5a2e4d3f095a9441688c70278068eee0, type: 3} + m_Name: + m_EditorClassIdentifier: + cube: {fileID: 19295889} + informationText: {fileID: 1537524791} + openWindowButton: {fileID: 1847025554} + openScriptButton: {fileID: 511172214} + thisScript: {fileID: 11500000, guid: 5a2e4d3f095a9441688c70278068eee0, type: 3} + myEditedField: 54 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Demo/Scenes/HotReloadBasicDemo.unity.meta b/Packages/com.singularitygroup.hotreload/Runtime/Demo/Scenes/HotReloadBasicDemo.unity.meta new file mode 100644 index 0000000..5d49715 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/Demo/Scenes/HotReloadBasicDemo.unity.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: ae744488364b34fcf8c80218eadc721c +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Runtime/Demo/Scenes/HotReloadBasicDemo.unity + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Demo/Scenes/HotReloadBurstDemo.unity b/Packages/com.singularitygroup.hotreload/Runtime/Demo/Scenes/HotReloadBurstDemo.unity new file mode 100644 index 0000000..9ad180f --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/Demo/Scenes/HotReloadBurstDemo.unity @@ -0,0 +1,9607 @@ +%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.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.18028378, g: 0.22571412, b: 0.30692285, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 2 + 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_LightingSettings: {fileID: 4890085278179872738, guid: 961e97ae3d4011b47a1198a930f5c30d, type: 2} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 3 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + buildHeightMesh: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &19295889 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 19295893} + - component: {fileID: 19295892} + - component: {fileID: 19295891} + - component: {fileID: 19295890} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!65 &19295890 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 19295889} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &19295891 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 19295889} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &19295892 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 19295889} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &19295893 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 19295889} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -4.19, y: 0.8224261, z: 0.0616778} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &40618803 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 40618804} + - component: {fileID: 40618807} + - component: {fileID: 40618806} + - component: {fileID: 40618805} + m_Layer: 0 + m_Name: Cube (48) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &40618804 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 40618803} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 1.73, y: 2.4375737, z: 0.0616778} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &40618805 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 40618803} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &40618806 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 40618803} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &40618807 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 40618803} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &53988356 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 53988357} + - component: {fileID: 53988360} + - component: {fileID: 53988359} + - component: {fileID: 53988358} + m_Layer: 0 + m_Name: Cube (75) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &53988357 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 53988356} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -4.19, y: 2.427574, z: 5.4483223} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &53988358 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 53988356} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &53988359 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 53988356} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &53988360 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 53988356} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &69029314 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 69029315} + - component: {fileID: 69029318} + - component: {fileID: 69029317} + - component: {fileID: 69029316} + m_Layer: 0 + m_Name: Cube (16) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &69029315 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 69029314} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -7, y: -1.6699998, z: 1.85} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &69029316 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 69029314} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &69029317 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 69029314} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &69029318 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 69029314} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &121342030 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 121342031} + - component: {fileID: 121342034} + - component: {fileID: 121342033} + - component: {fileID: 121342032} + m_Layer: 0 + m_Name: Cube (43) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &121342031 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 121342030} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 1.73, y: 4.92, z: 0.0616778} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &121342032 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 121342030} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &121342033 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 121342030} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &121342034 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 121342030} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &127719937 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 127719938} + - component: {fileID: 127719941} + - component: {fileID: 127719940} + - component: {fileID: 127719939} + m_Layer: 0 + m_Name: Cube (67) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &127719938 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 127719937} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -1.36, y: 2.4375737, z: 3.66} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &127719939 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 127719937} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &127719940 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 127719937} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &127719941 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 127719937} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &128004585 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 128004586} + - component: {fileID: 128004589} + - component: {fileID: 128004588} + - component: {fileID: 128004587} + m_Layer: 0 + m_Name: Cube (56) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &128004586 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 128004585} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -7, y: 2.427574, z: 1.85} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &128004587 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 128004585} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &128004588 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 128004585} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &128004589 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 128004585} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &132063619 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 132063620} + - component: {fileID: 132063623} + - component: {fileID: 132063622} + - component: {fileID: 132063621} + m_Layer: 0 + m_Name: Cube (4) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &132063620 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 132063619} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 5.4900002, y: 0.8224261, z: 0.0616778} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &132063621 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 132063619} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &132063622 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 132063619} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &132063623 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 132063619} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &133838188 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 133838189} + - component: {fileID: 133838192} + - component: {fileID: 133838191} + - component: {fileID: 133838190} + m_Layer: 0 + m_Name: Cube (62) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &133838189 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 133838188} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -1.36, y: 4.92, z: 3.66} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &133838190 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 133838188} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &133838191 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 133838188} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &133838192 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 133838188} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &181686442 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 181686443} + - component: {fileID: 181686446} + - component: {fileID: 181686445} + - component: {fileID: 181686444} + m_Layer: 0 + m_Name: Cube (13) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &181686443 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 181686442} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 1.73, y: 0.8124263, z: 1.85} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &181686444 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 181686442} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &181686445 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 181686442} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &181686446 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 181686442} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &218081520 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 218081521} + - component: {fileID: 218081524} + - component: {fileID: 218081523} + - component: {fileID: 218081522} + m_Layer: 0 + m_Name: Cube (66) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &218081521 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 218081520} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -7, y: 2.4375737, z: 3.66} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &218081522 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 218081520} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &218081523 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 218081520} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &218081524 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 218081520} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &249270788 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 249270791} + - component: {fileID: 249270790} + - component: {fileID: 249270789} + 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 &249270789 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 249270788} + m_Enabled: 1 +--- !u!20 &249270790 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 249270788} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_Iso: 200 + m_ShutterSpeed: 0.005 + m_Aperture: 16 + m_FocusDistance: 10 + m_FocalLength: 50 + m_BladeCount: 5 + m_Curvature: {x: 2, y: 11} + m_BarrelClipping: 0.25 + m_Anamorphism: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &249270791 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 249270788} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &249919994 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 249919995} + - component: {fileID: 249919998} + - component: {fileID: 249919997} + - component: {fileID: 249919996} + m_Layer: 0 + m_Name: Cube (50) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &249919995 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 249919994} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -4.19, y: 4.91, z: 1.85} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &249919996 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 249919994} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &249919997 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 249919994} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &249919998 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 249919994} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &262969854 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 262969855} + - component: {fileID: 262969858} + - component: {fileID: 262969857} + - component: {fileID: 262969856} + m_Layer: 0 + m_Name: Cube (30) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &262969855 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 262969854} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -4.19, y: 0.8124263, z: 5.4483223} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &262969856 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 262969854} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &262969857 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 262969854} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &262969858 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 262969854} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &266848583 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 266848584} + - component: {fileID: 266848587} + - component: {fileID: 266848586} + - component: {fileID: 266848585} + m_Layer: 0 + m_Name: Cube (21) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &266848584 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 266848583} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -7, y: 0.8224261, z: 3.66} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &266848585 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 266848583} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &266848586 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 266848583} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &266848587 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 266848583} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &280025523 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 280025524} + - component: {fileID: 280025527} + - component: {fileID: 280025526} + - component: {fileID: 280025525} + m_Layer: 0 + m_Name: Cube (8) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &280025524 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 280025523} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 1.73, y: -1.6600001, z: 0.0616778} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &280025525 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 280025523} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &280025526 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 280025523} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &280025527 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 280025523} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &282541332 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 282541333} + - component: {fileID: 282541336} + - component: {fileID: 282541335} + - component: {fileID: 282541334} + m_Layer: 0 + m_Name: Cube (52) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &282541333 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 282541332} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -1.36, y: 4.91, z: 1.85} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &282541334 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 282541332} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &282541335 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 282541332} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &282541336 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 282541332} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &297017159 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 297017160} + - component: {fileID: 297017163} + - component: {fileID: 297017162} + - component: {fileID: 297017161} + m_Layer: 0 + m_Name: Cube (5) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &297017160 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 297017159} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -4.19, y: -1.66, z: 0.0616778} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &297017161 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 297017159} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &297017162 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 297017159} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &297017163 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 297017159} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &297623418 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 297623419} + - component: {fileID: 297623422} + - component: {fileID: 297623421} + - component: {fileID: 297623420} + m_Layer: 0 + m_Name: Cube (76) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &297623419 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 297623418} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -7, y: 2.427574, z: 5.4483223} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &297623420 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 297623418} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &297623421 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 297623418} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &297623422 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 297623418} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &315895885 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 315895886} + - component: {fileID: 315895889} + - component: {fileID: 315895888} + - component: {fileID: 315895887} + m_Layer: 0 + m_Name: Cube (72) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &315895886 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 315895885} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -1.36, y: 4.91, z: 5.4483223} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &315895887 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 315895885} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &315895888 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 315895885} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &315895889 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 315895885} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &321495839 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 321495840} + m_Layer: 0 + m_Name: Cubes + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &321495840 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 321495839} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0.908883, y: -0.8224261, z: -0.0616778} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 19295893} + - {fileID: 323745810} + - {fileID: 582255912} + - {fileID: 1893598706} + - {fileID: 132063620} + - {fileID: 297017160} + - {fileID: 768601852} + - {fileID: 1931512540} + - {fileID: 280025524} + - {fileID: 1281233703} + - {fileID: 1927368435} + - {fileID: 2042268981} + - {fileID: 1682534256} + - {fileID: 181686443} + - {fileID: 351532142} + - {fileID: 1500025043} + - {fileID: 69029315} + - {fileID: 667369431} + - {fileID: 375087532} + - {fileID: 1124320615} + - {fileID: 927111012} + - {fileID: 266848584} + - {fileID: 2063974669} + - {fileID: 1010368909} + - {fileID: 1343033883} + - {fileID: 781926843} + - {fileID: 341472300} + - {fileID: 2136109399} + - {fileID: 677037662} + - {fileID: 1973025879} + - {fileID: 262969855} + - {fileID: 1399883246} + - {fileID: 743324179} + - {fileID: 1586797431} + - {fileID: 1123278460} + - {fileID: 928584462} + - {fileID: 1069134373} + - {fileID: 2014093030} + - {fileID: 792419466} + - {fileID: 1855770257} + - {fileID: 893274498} + - {fileID: 500782909} + - {fileID: 443249060} + - {fileID: 121342031} + - {fileID: 1130193477} + - {fileID: 523436227} + - {fileID: 1600668863} + - {fileID: 2053621922} + - {fileID: 40618804} + - {fileID: 738032838} + - {fileID: 249919995} + - {fileID: 835270569} + - {fileID: 282541333} + - {fileID: 519530843} + - {fileID: 1774902065} + - {fileID: 1019461522} + - {fileID: 128004586} + - {fileID: 1231537575} + - {fileID: 1965297415} + - {fileID: 589500252} + - {fileID: 1218495767} + - {fileID: 778191808} + - {fileID: 133838189} + - {fileID: 1983101811} + - {fileID: 387856195} + - {fileID: 2102038396} + - {fileID: 218081521} + - {fileID: 127719938} + - {fileID: 1555484938} + - {fileID: 1876148967} + - {fileID: 1228425737} + - {fileID: 801020416} + - {fileID: 315895886} + - {fileID: 1768551574} + - {fileID: 1850807847} + - {fileID: 53988357} + - {fileID: 297623419} + - {fileID: 1946060858} + - {fileID: 1380444550} + - {fileID: 643205569} + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &323745809 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 323745810} + - component: {fileID: 323745813} + - component: {fileID: 323745812} + - component: {fileID: 323745811} + m_Layer: 0 + m_Name: Cube (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &323745810 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 323745809} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -7, y: 0.8224261, z: 0.0616778} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &323745811 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 323745809} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &323745812 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 323745809} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &323745813 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 323745809} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &341472299 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 341472300} + - component: {fileID: 341472303} + - component: {fileID: 341472302} + - component: {fileID: 341472301} + m_Layer: 0 + m_Name: Cube (26) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &341472300 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 341472299} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -7, y: -1.6600001, z: 3.66} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &341472301 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 341472299} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &341472302 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 341472299} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &341472303 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 341472299} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &351532141 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 351532142} + - component: {fileID: 351532145} + - component: {fileID: 351532144} + - component: {fileID: 351532143} + m_Layer: 0 + m_Name: Cube (14) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &351532142 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 351532141} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 5.4900002, y: 0.8124263, z: 1.85} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &351532143 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 351532141} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &351532144 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 351532141} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &351532145 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 351532141} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &375087531 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 375087532} + - component: {fileID: 375087535} + - component: {fileID: 375087534} + - component: {fileID: 375087533} + m_Layer: 0 + m_Name: Cube (18) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &375087532 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 375087531} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 1.73, y: -1.67, z: 1.85} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &375087533 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 375087531} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &375087534 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 375087531} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &375087535 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 375087531} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &387856194 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 387856195} + - component: {fileID: 387856198} + - component: {fileID: 387856197} + - component: {fileID: 387856196} + m_Layer: 0 + m_Name: Cube (64) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &387856195 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 387856194} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 5.4900002, y: 4.92, z: 3.66} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &387856196 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 387856194} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &387856197 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 387856194} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &387856198 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 387856194} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &443249059 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 443249060} + - component: {fileID: 443249063} + - component: {fileID: 443249062} + - component: {fileID: 443249061} + m_Layer: 0 + m_Name: Cube (42) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &443249060 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 443249059} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -1.36, y: 4.92, z: 0.0616778} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &443249061 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 443249059} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &443249062 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 443249059} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &443249063 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 443249059} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &460271676 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 460271677} + - component: {fileID: 460271679} + - component: {fileID: 460271678} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &460271677 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 460271676} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 511172213} + 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: -28.681885, y: -20.492146} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &460271678 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 460271676} + 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.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 48 + m_FontStyle: 0 + m_BestFit: 1 + m_MinSize: 24 + m_MaxSize: 64 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Open Script +--- !u!222 &460271679 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 460271676} + m_CullTransparentMesh: 0 +--- !u!1 &500782908 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 500782909} + - component: {fileID: 500782912} + - component: {fileID: 500782911} + - component: {fileID: 500782910} + m_Layer: 0 + m_Name: Cube (41) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &500782909 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 500782908} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -7, y: 4.92, z: 0.0616778} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &500782910 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 500782908} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &500782911 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 500782908} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &500782912 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 500782908} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &511172212 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 511172213} + - component: {fileID: 511172216} + - component: {fileID: 511172215} + - component: {fileID: 511172214} + m_Layer: 5 + m_Name: Button open script + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &511172213 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 511172212} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.6553401, y: 0.6553401, z: 0.6553401} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 460271677} + m_Father: {fileID: 649153321} + 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: 159, y: 36} + m_SizeDelta: {x: 392.12805, y: 72.27574} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &511172214 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 511172212} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 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: 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: 511172215} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &511172215 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 511172212} + 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_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + 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!222 &511172216 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 511172212} + m_CullTransparentMesh: 0 +--- !u!1 &519530842 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 519530843} + - component: {fileID: 519530846} + - component: {fileID: 519530845} + - component: {fileID: 519530844} + m_Layer: 0 + m_Name: Cube (53) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &519530843 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 519530842} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 1.73, y: 4.91, z: 1.85} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &519530844 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 519530842} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &519530845 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 519530842} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &519530846 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 519530842} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &523436226 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 523436227} + - component: {fileID: 523436230} + - component: {fileID: 523436229} + - component: {fileID: 523436228} + m_Layer: 0 + m_Name: Cube (45) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &523436227 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 523436226} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -4.19, y: 2.437574, z: 0.0616778} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &523436228 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 523436226} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &523436229 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 523436226} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &523436230 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 523436226} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &582255911 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 582255912} + - component: {fileID: 582255915} + - component: {fileID: 582255914} + - component: {fileID: 582255913} + m_Layer: 0 + m_Name: Cube (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &582255912 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 582255911} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -1.36, y: 0.8224261, z: 0.0616778} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &582255913 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 582255911} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &582255914 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 582255911} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &582255915 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 582255911} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &589500251 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 589500252} + - component: {fileID: 589500255} + - component: {fileID: 589500254} + - component: {fileID: 589500253} + m_Layer: 0 + m_Name: Cube (59) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &589500252 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 589500251} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 5.4900002, y: 2.427574, z: 1.85} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &589500253 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 589500251} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &589500254 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 589500251} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &589500255 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 589500251} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &643205568 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 643205569} + - component: {fileID: 643205572} + - component: {fileID: 643205571} + - component: {fileID: 643205570} + m_Layer: 0 + m_Name: Cube (79) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &643205569 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 643205568} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 5.4900002, y: 2.427574, z: 5.4483223} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &643205570 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 643205568} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &643205571 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 643205568} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &643205572 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 643205568} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &649153317 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 649153321} + - component: {fileID: 649153320} + - component: {fileID: 649153319} + - component: {fileID: 649153318} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &649153318 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 649153317} + 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 &649153319 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 649153317} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 1 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 1000, y: 557} + m_ScreenMatchMode: 1 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 +--- !u!223 &649153320 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 649153317} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 0 + m_UpdateRectTransformForStandalone: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &649153321 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 649153317} + 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_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1537524790} + - {fileID: 511172213} + - {fileID: 1847025553} + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!1 &667369430 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 667369431} + - component: {fileID: 667369434} + - component: {fileID: 667369433} + - component: {fileID: 667369432} + m_Layer: 0 + m_Name: Cube (17) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &667369431 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 667369430} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -1.36, y: -1.6699998, z: 1.85} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &667369432 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 667369430} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &667369433 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 667369430} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &667369434 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 667369430} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &677037661 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 677037662} + - component: {fileID: 677037665} + - component: {fileID: 677037664} + - component: {fileID: 677037663} + m_Layer: 0 + m_Name: Cube (28) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &677037662 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 677037661} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 1.73, y: -1.6600001, z: 3.66} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &677037663 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 677037661} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &677037664 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 677037661} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &677037665 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 677037661} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &700195177 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 700195180} + - component: {fileID: 700195179} + - component: {fileID: 700195178} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &700195178 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 700195177} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} + m_Name: + m_EditorClassIdentifier: + m_SendPointerHoverToParent: 1 + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &700195179 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 700195177} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 10 +--- !u!4 &700195180 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 700195177} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &738032837 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 738032838} + - component: {fileID: 738032841} + - component: {fileID: 738032840} + - component: {fileID: 738032839} + m_Layer: 0 + m_Name: Cube (49) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &738032838 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 738032837} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 5.4900002, y: 2.4375737, z: 0.0616778} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &738032839 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 738032837} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &738032840 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 738032837} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &738032841 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 738032837} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &743324178 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 743324179} + - component: {fileID: 743324182} + - component: {fileID: 743324181} + - component: {fileID: 743324180} + m_Layer: 0 + m_Name: Cube (32) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &743324179 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 743324178} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -1.36, y: 0.8124263, z: 5.4483223} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &743324180 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 743324178} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &743324181 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 743324178} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &743324182 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 743324178} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &768601851 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 768601852} + - component: {fileID: 768601855} + - component: {fileID: 768601854} + - component: {fileID: 768601853} + m_Layer: 0 + m_Name: Cube (6) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &768601852 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 768601851} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -7, y: -1.6600001, z: 0.0616778} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &768601853 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 768601851} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &768601854 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 768601851} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &768601855 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 768601851} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &778191807 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 778191808} + - component: {fileID: 778191811} + - component: {fileID: 778191810} + - component: {fileID: 778191809} + m_Layer: 0 + m_Name: Cube (61) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &778191808 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 778191807} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -7, y: 4.92, z: 3.66} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &778191809 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 778191807} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &778191810 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 778191807} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &778191811 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 778191807} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &781926842 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 781926843} + - component: {fileID: 781926846} + - component: {fileID: 781926845} + - component: {fileID: 781926844} + m_Layer: 0 + m_Name: Cube (25) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &781926843 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 781926842} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -4.19, y: -1.66, z: 3.66} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &781926844 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 781926842} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &781926845 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 781926842} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &781926846 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 781926842} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &792419465 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 792419466} + - component: {fileID: 792419469} + - component: {fileID: 792419468} + - component: {fileID: 792419467} + m_Layer: 0 + m_Name: Cube (38) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &792419466 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 792419465} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 1.73, y: -1.67, z: 5.4483223} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &792419467 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 792419465} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &792419468 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 792419465} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &792419469 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 792419465} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &801020415 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 801020416} + - component: {fileID: 801020419} + - component: {fileID: 801020418} + - component: {fileID: 801020417} + m_Layer: 0 + m_Name: Cube (71) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &801020416 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 801020415} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -7, y: 4.91, z: 5.4483223} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &801020417 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 801020415} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &801020418 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 801020415} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &801020419 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 801020415} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &835270568 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 835270569} + - component: {fileID: 835270572} + - component: {fileID: 835270571} + - component: {fileID: 835270570} + m_Layer: 0 + m_Name: Cube (51) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &835270569 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 835270568} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -7, y: 4.91, z: 1.85} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &835270570 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 835270568} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &835270571 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 835270568} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &835270572 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 835270568} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &893274497 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 893274498} + - component: {fileID: 893274501} + - component: {fileID: 893274500} + - component: {fileID: 893274499} + m_Layer: 0 + m_Name: Cube (40) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &893274498 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 893274497} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -4.19, y: 4.92, z: 0.0616778} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &893274499 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 893274497} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &893274500 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 893274497} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &893274501 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 893274497} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &927111011 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 927111012} + - component: {fileID: 927111015} + - component: {fileID: 927111014} + - component: {fileID: 927111013} + m_Layer: 0 + m_Name: Cube (20) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &927111012 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 927111011} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -4.19, y: 0.8224261, z: 3.66} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &927111013 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 927111011} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &927111014 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 927111011} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &927111015 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 927111011} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &928584461 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 928584462} + - component: {fileID: 928584465} + - component: {fileID: 928584464} + - component: {fileID: 928584463} + m_Layer: 0 + m_Name: Cube (35) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &928584462 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 928584461} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -4.19, y: -1.6699998, z: 5.4483223} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &928584463 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 928584461} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &928584464 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 928584461} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &928584465 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 928584461} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &965437870 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 965437872} + - component: {fileID: 965437871} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &965437871 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 965437870} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &965437872 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 965437870} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &1010368908 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1010368909} + - component: {fileID: 1010368912} + - component: {fileID: 1010368911} + - component: {fileID: 1010368910} + m_Layer: 0 + m_Name: Cube (23) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1010368909 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1010368908} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 1.73, y: 0.8224261, z: 3.66} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &1010368910 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1010368908} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1010368911 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1010368908} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1010368912 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1010368908} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1019461521 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1019461522} + - component: {fileID: 1019461525} + - component: {fileID: 1019461524} + - component: {fileID: 1019461523} + m_Layer: 0 + m_Name: Cube (55) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1019461522 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1019461521} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -4.19, y: 2.427574, z: 1.85} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &1019461523 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1019461521} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1019461524 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1019461521} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1019461525 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1019461521} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1069134372 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1069134373} + - component: {fileID: 1069134376} + - component: {fileID: 1069134375} + - component: {fileID: 1069134374} + m_Layer: 0 + m_Name: Cube (36) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1069134373 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1069134372} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -7, y: -1.6699998, z: 5.4483223} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &1069134374 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1069134372} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1069134375 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1069134372} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1069134376 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1069134372} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1101930858 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1101930859} + - component: {fileID: 1101930861} + - component: {fileID: 1101930860} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1101930859 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1101930858} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1847025553} + 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: -28.681885, y: -20.492146} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1101930860 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1101930858} + 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.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 48 + m_FontStyle: 0 + m_BestFit: 1 + m_MinSize: 24 + m_MaxSize: 64 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Open Editor tab +--- !u!222 &1101930861 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1101930858} + m_CullTransparentMesh: 0 +--- !u!1 &1123278459 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1123278460} + - component: {fileID: 1123278463} + - component: {fileID: 1123278462} + - component: {fileID: 1123278461} + m_Layer: 0 + m_Name: Cube (34) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1123278460 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1123278459} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 5.4900002, y: 0.8124263, z: 5.4483223} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &1123278461 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1123278459} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1123278462 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1123278459} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1123278463 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1123278459} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1124320614 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1124320615} + - component: {fileID: 1124320618} + - component: {fileID: 1124320617} + - component: {fileID: 1124320616} + m_Layer: 0 + m_Name: Cube (19) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1124320615 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1124320614} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 5.4900002, y: -1.6699998, z: 1.85} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &1124320616 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1124320614} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1124320617 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1124320614} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1124320618 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1124320614} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1130193476 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1130193477} + - component: {fileID: 1130193480} + - component: {fileID: 1130193479} + - component: {fileID: 1130193478} + m_Layer: 0 + m_Name: Cube (44) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1130193477 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1130193476} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 5.4900002, y: 4.92, z: 0.0616778} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &1130193478 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1130193476} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1130193479 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1130193476} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1130193480 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1130193476} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1218495766 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1218495767} + - component: {fileID: 1218495770} + - component: {fileID: 1218495769} + - component: {fileID: 1218495768} + m_Layer: 0 + m_Name: Cube (60) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1218495767 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1218495766} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -4.19, y: 4.92, z: 3.66} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &1218495768 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1218495766} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1218495769 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1218495766} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1218495770 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1218495766} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1228425736 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1228425737} + - component: {fileID: 1228425740} + - component: {fileID: 1228425739} + - component: {fileID: 1228425738} + m_Layer: 0 + m_Name: Cube (70) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1228425737 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1228425736} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -4.19, y: 4.91, z: 5.4483223} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &1228425738 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1228425736} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1228425739 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1228425736} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1228425740 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1228425736} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1231537574 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1231537575} + - component: {fileID: 1231537578} + - component: {fileID: 1231537577} + - component: {fileID: 1231537576} + m_Layer: 0 + m_Name: Cube (57) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1231537575 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1231537574} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -1.36, y: 2.427574, z: 1.85} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &1231537576 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1231537574} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1231537577 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1231537574} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1231537578 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1231537574} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1281233702 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1281233703} + - component: {fileID: 1281233706} + - component: {fileID: 1281233705} + - component: {fileID: 1281233704} + m_Layer: 0 + m_Name: Cube (9) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1281233703 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1281233702} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 5.4900002, y: -1.6600001, z: 0.0616778} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &1281233704 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1281233702} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1281233705 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1281233702} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1281233706 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1281233702} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1343033882 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1343033883} + - component: {fileID: 1343033886} + - component: {fileID: 1343033885} + - component: {fileID: 1343033884} + m_Layer: 0 + m_Name: Cube (24) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1343033883 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1343033882} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 5.4900002, y: 0.8224261, z: 3.66} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &1343033884 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1343033882} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1343033885 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1343033882} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1343033886 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1343033882} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1380444549 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1380444550} + - component: {fileID: 1380444553} + - component: {fileID: 1380444552} + - component: {fileID: 1380444551} + m_Layer: 0 + m_Name: Cube (78) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1380444550 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1380444549} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 1.73, y: 2.4275737, z: 5.4483223} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &1380444551 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1380444549} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1380444552 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1380444549} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1380444553 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1380444549} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1399883245 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1399883246} + - component: {fileID: 1399883249} + - component: {fileID: 1399883248} + - component: {fileID: 1399883247} + m_Layer: 0 + m_Name: Cube (31) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1399883246 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1399883245} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -7, y: 0.8124263, z: 5.4483223} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &1399883247 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1399883245} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1399883248 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1399883245} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1399883249 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1399883245} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1500025042 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1500025043} + - component: {fileID: 1500025046} + - component: {fileID: 1500025045} + - component: {fileID: 1500025044} + m_Layer: 0 + m_Name: Cube (15) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1500025043 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1500025042} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -4.19, y: -1.6699998, z: 1.85} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &1500025044 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1500025042} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1500025045 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1500025042} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1500025046 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1500025042} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1537524789 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1537524790} + - component: {fileID: 1537524792} + - component: {fileID: 1537524791} + m_Layer: 5 + m_Name: InformationText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &1537524790 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1537524789} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 649153321} + 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.00000095367, y: 253} + m_SizeDelta: {x: 861.9848, y: 122.55513} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1537524791 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1537524789} + 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, g: 0, b: 0, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 56 + m_FontStyle: 1 + m_BestFit: 0 + m_MinSize: 0 + m_MaxSize: 64 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Hot Reload is not running yet +--- !u!222 &1537524792 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1537524789} + m_CullTransparentMesh: 0 +--- !u!1 &1555484937 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1555484938} + - component: {fileID: 1555484941} + - component: {fileID: 1555484940} + - component: {fileID: 1555484939} + m_Layer: 0 + m_Name: Cube (68) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1555484938 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1555484937} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 1.73, y: 2.4375737, z: 3.66} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &1555484939 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1555484937} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1555484940 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1555484937} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1555484941 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1555484937} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1586797430 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1586797431} + - component: {fileID: 1586797434} + - component: {fileID: 1586797433} + - component: {fileID: 1586797432} + m_Layer: 0 + m_Name: Cube (33) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1586797431 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1586797430} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 1.73, y: 0.8124263, z: 5.4483223} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &1586797432 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1586797430} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1586797433 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1586797430} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1586797434 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1586797430} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1600668862 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1600668863} + - component: {fileID: 1600668866} + - component: {fileID: 1600668865} + - component: {fileID: 1600668864} + m_Layer: 0 + m_Name: Cube (46) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1600668863 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1600668862} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -7, y: 2.4375737, z: 0.0616778} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &1600668864 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1600668862} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1600668865 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1600668862} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1600668866 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1600668862} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1682534255 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1682534256} + - component: {fileID: 1682534259} + - component: {fileID: 1682534258} + - component: {fileID: 1682534257} + m_Layer: 0 + m_Name: Cube (12) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1682534256 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1682534255} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -1.36, y: 0.8124263, z: 1.85} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &1682534257 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1682534255} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1682534258 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1682534255} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1682534259 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1682534255} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1768551573 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1768551574} + - component: {fileID: 1768551577} + - component: {fileID: 1768551576} + - component: {fileID: 1768551575} + m_Layer: 0 + m_Name: Cube (73) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1768551574 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1768551573} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 1.73, y: 4.91, z: 5.4483223} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &1768551575 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1768551573} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1768551576 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1768551573} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1768551577 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1768551573} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1774902064 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1774902065} + - component: {fileID: 1774902068} + - component: {fileID: 1774902067} + - component: {fileID: 1774902066} + m_Layer: 0 + m_Name: Cube (54) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1774902065 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1774902064} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 5.4900002, y: 4.91, z: 1.85} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &1774902066 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1774902064} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1774902067 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1774902064} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1774902068 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1774902064} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1847025552 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1847025553} + - component: {fileID: 1847025556} + - component: {fileID: 1847025555} + - component: {fileID: 1847025554} + m_Layer: 5 + m_Name: Button open editor tab + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1847025553 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1847025552} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.65534, y: 0.65534, z: 0.65534} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1101930859} + m_Father: {fileID: 649153321} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: -153, y: 36} + m_SizeDelta: {x: 393.12805, y: 73.27576} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1847025554 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1847025552} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 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: 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: 1847025555} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &1847025555 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1847025552} + 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_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + 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!222 &1847025556 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1847025552} + m_CullTransparentMesh: 0 +--- !u!1 &1850807846 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1850807847} + - component: {fileID: 1850807850} + - component: {fileID: 1850807849} + - component: {fileID: 1850807848} + m_Layer: 0 + m_Name: Cube (74) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1850807847 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1850807846} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 5.4900002, y: 4.91, z: 5.4483223} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &1850807848 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1850807846} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1850807849 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1850807846} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1850807850 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1850807846} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1855770256 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1855770257} + - component: {fileID: 1855770260} + - component: {fileID: 1855770259} + - component: {fileID: 1855770258} + m_Layer: 0 + m_Name: Cube (39) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1855770257 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1855770256} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 5.4900002, y: -1.6699998, z: 5.4483223} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &1855770258 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1855770256} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1855770259 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1855770256} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1855770260 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1855770256} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1876148966 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1876148967} + - component: {fileID: 1876148970} + - component: {fileID: 1876148969} + - component: {fileID: 1876148968} + m_Layer: 0 + m_Name: Cube (69) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1876148967 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1876148966} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 5.4900002, y: 2.4375737, z: 3.66} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &1876148968 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1876148966} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1876148969 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1876148966} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1876148970 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1876148966} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1893598705 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1893598706} + - component: {fileID: 1893598709} + - component: {fileID: 1893598708} + - component: {fileID: 1893598707} + m_Layer: 0 + m_Name: Cube (3) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1893598706 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1893598705} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 1.73, y: 0.8224261, z: 0.0616778} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &1893598707 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1893598705} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1893598708 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1893598705} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1893598709 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1893598705} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1927368434 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1927368435} + - component: {fileID: 1927368438} + - component: {fileID: 1927368437} + - component: {fileID: 1927368436} + m_Layer: 0 + m_Name: Cube (10) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1927368435 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1927368434} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -4.19, y: 0.8124263, z: 1.85} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &1927368436 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1927368434} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1927368437 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1927368434} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1927368438 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1927368434} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1931512539 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1931512540} + - component: {fileID: 1931512543} + - component: {fileID: 1931512542} + - component: {fileID: 1931512541} + m_Layer: 0 + m_Name: Cube (7) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1931512540 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1931512539} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -1.36, y: -1.6600001, z: 0.0616778} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &1931512541 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1931512539} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1931512542 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1931512539} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1931512543 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1931512539} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1946060857 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1946060858} + - component: {fileID: 1946060861} + - component: {fileID: 1946060860} + - component: {fileID: 1946060859} + m_Layer: 0 + m_Name: Cube (77) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1946060858 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1946060857} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -1.36, y: 2.427574, z: 5.4483223} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &1946060859 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1946060857} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1946060860 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1946060857} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1946060861 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1946060857} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1965297414 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1965297415} + - component: {fileID: 1965297418} + - component: {fileID: 1965297417} + - component: {fileID: 1965297416} + m_Layer: 0 + m_Name: Cube (58) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1965297415 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1965297414} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 1.73, y: 2.4275737, z: 1.85} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &1965297416 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1965297414} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1965297417 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1965297414} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1965297418 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1965297414} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1973025878 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1973025879} + - component: {fileID: 1973025882} + - component: {fileID: 1973025881} + - component: {fileID: 1973025880} + m_Layer: 0 + m_Name: Cube (29) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1973025879 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1973025878} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 5.4900002, y: -1.6600001, z: 3.66} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &1973025880 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1973025878} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1973025881 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1973025878} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1973025882 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1973025878} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1983101810 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1983101811} + - component: {fileID: 1983101814} + - component: {fileID: 1983101813} + - component: {fileID: 1983101812} + m_Layer: 0 + m_Name: Cube (63) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1983101811 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1983101810} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 1.73, y: 4.92, z: 3.66} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &1983101812 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1983101810} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1983101813 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1983101810} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1983101814 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1983101810} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2014093029 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2014093030} + - component: {fileID: 2014093033} + - component: {fileID: 2014093032} + - component: {fileID: 2014093031} + m_Layer: 0 + m_Name: Cube (37) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2014093030 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2014093029} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -1.36, y: -1.6699998, z: 5.4483223} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &2014093031 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2014093029} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &2014093032 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2014093029} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &2014093033 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2014093029} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2042268980 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2042268981} + - component: {fileID: 2042268984} + - component: {fileID: 2042268983} + - component: {fileID: 2042268982} + m_Layer: 0 + m_Name: Cube (11) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2042268981 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2042268980} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -7, y: 0.8124263, z: 1.85} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &2042268982 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2042268980} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &2042268983 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2042268980} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &2042268984 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2042268980} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2053621921 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2053621922} + - component: {fileID: 2053621925} + - component: {fileID: 2053621924} + - component: {fileID: 2053621923} + m_Layer: 0 + m_Name: Cube (47) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2053621922 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2053621921} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -1.36, y: 2.4375737, z: 0.0616778} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &2053621923 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2053621921} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &2053621924 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2053621921} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &2053621925 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2053621921} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2063974668 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2063974669} + - component: {fileID: 2063974672} + - component: {fileID: 2063974671} + - component: {fileID: 2063974670} + m_Layer: 0 + m_Name: Cube (22) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2063974669 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2063974668} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -1.36, y: 0.8224261, z: 3.66} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &2063974670 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2063974668} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &2063974671 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2063974668} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &2063974672 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2063974668} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2102038395 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2102038396} + - component: {fileID: 2102038399} + - component: {fileID: 2102038398} + - component: {fileID: 2102038397} + m_Layer: 0 + m_Name: Cube (65) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2102038396 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2102038395} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -4.19, y: 2.437574, z: 3.66} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &2102038397 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2102038395} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &2102038398 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2102038395} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &2102038399 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2102038395} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2132145875 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2132145876} + - component: {fileID: 2132145877} + m_Layer: 0 + m_Name: HotReloadDemo + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2132145876 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2132145875} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 18.716805, y: 53.419094, z: 172.31} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &2132145877 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2132145875} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e09948cf1f317d04fbaf410dbfe91656, type: 3} + m_Name: + m_EditorClassIdentifier: + cubes: + - {fileID: 19295893} + - {fileID: 323745810} + - {fileID: 582255912} + - {fileID: 1893598706} + - {fileID: 132063620} + - {fileID: 297017160} + - {fileID: 768601852} + - {fileID: 1931512540} + - {fileID: 280025524} + - {fileID: 1281233703} + - {fileID: 1927368435} + - {fileID: 2042268981} + - {fileID: 1682534256} + - {fileID: 181686443} + - {fileID: 351532142} + - {fileID: 1500025043} + - {fileID: 69029315} + - {fileID: 667369431} + - {fileID: 375087532} + - {fileID: 1124320615} + - {fileID: 927111012} + - {fileID: 266848584} + - {fileID: 2063974669} + - {fileID: 1010368909} + - {fileID: 1343033883} + - {fileID: 781926843} + - {fileID: 341472300} + - {fileID: 2136109399} + - {fileID: 677037662} + - {fileID: 1973025879} + - {fileID: 262969855} + - {fileID: 1399883246} + - {fileID: 743324179} + - {fileID: 1586797431} + - {fileID: 1123278460} + - {fileID: 928584462} + - {fileID: 1069134373} + - {fileID: 2014093030} + - {fileID: 792419466} + - {fileID: 1855770257} + - {fileID: 893274498} + - {fileID: 500782909} + - {fileID: 443249060} + - {fileID: 121342031} + - {fileID: 1130193477} + - {fileID: 523436227} + - {fileID: 1600668863} + - {fileID: 2053621922} + - {fileID: 40618804} + - {fileID: 738032838} + - {fileID: 249919995} + - {fileID: 835270569} + - {fileID: 282541333} + - {fileID: 519530843} + - {fileID: 1774902065} + - {fileID: 1019461522} + - {fileID: 128004586} + - {fileID: 1231537575} + - {fileID: 1965297415} + - {fileID: 589500252} + - {fileID: 1218495767} + - {fileID: 778191808} + - {fileID: 133838189} + - {fileID: 1983101811} + - {fileID: 387856195} + - {fileID: 2102038396} + - {fileID: 218081521} + - {fileID: 127719938} + - {fileID: 1555484938} + - {fileID: 1876148967} + - {fileID: 1228425737} + - {fileID: 801020416} + - {fileID: 315895886} + - {fileID: 1768551574} + - {fileID: 1850807847} + - {fileID: 53988357} + - {fileID: 297623419} + - {fileID: 1946060858} + - {fileID: 1380444550} + - {fileID: 643205569} + informationText: {fileID: 1537524791} + openWindowButton: {fileID: 1847025554} + openScriptButton: {fileID: 511172214} + thisScript: {fileID: 11500000, guid: e09948cf1f317d04fbaf410dbfe91656, type: 3} +--- !u!1 &2136109398 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2136109399} + - component: {fileID: 2136109402} + - component: {fileID: 2136109401} + - component: {fileID: 2136109400} + m_Layer: 0 + m_Name: Cube (27) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2136109399 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2136109398} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -1.36, y: -1.6600001, z: 3.66} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 321495840} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &2136109400 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2136109398} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &2136109401 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2136109398} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &2136109402 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2136109398} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Demo/Scenes/HotReloadBurstDemo.unity.meta b/Packages/com.singularitygroup.hotreload/Runtime/Demo/Scenes/HotReloadBurstDemo.unity.meta new file mode 100644 index 0000000..20570d2 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/Demo/Scenes/HotReloadBurstDemo.unity.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: fad9aa54ab3335844b5a35b9eb6ae286 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Runtime/Demo/Scenes/HotReloadBurstDemo.unity + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Demo/Scenes/HotReloadBurstDemoSettings.lighting b/Packages/com.singularitygroup.hotreload/Runtime/Demo/Scenes/HotReloadBurstDemoSettings.lighting new file mode 100644 index 0000000..3c301a1 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/Demo/Scenes/HotReloadBurstDemoSettings.lighting @@ -0,0 +1,66 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!850595691 &4890085278179872738 +LightingSettings: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: HotReloadBurstDemoSettings + serializedVersion: 6 + m_GIWorkflowMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_RealtimeEnvironmentLighting: 1 + m_BounceScale: 1 + m_AlbedoBoost: 1 + m_IndirectOutputScale: 1 + m_UsingShadowmask: 1 + m_BakeBackend: 1 + m_LightmapMaxSize: 1024 + m_BakeResolution: 40 + m_Padding: 2 + m_LightmapCompression: 3 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAO: 0 + m_MixedBakeMode: 2 + m_LightmapsBakeMode: 1 + m_FilterMode: 1 + m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0} + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_RealtimeResolution: 2 + m_ForceWhiteAlbedo: 0 + m_ForceUpdates: 0 + m_FinalGather: 0 + m_FinalGatherRayCount: 256 + m_FinalGatherFiltering: 1 + m_PVRCulling: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVREnvironmentSampleCount: 512 + m_PVREnvironmentReferencePointCount: 2048 + m_LightProbeSampleCountMultiplier: 4 + m_PVRBounces: 2 + m_PVRMinBounces: 2 + m_PVREnvironmentImportanceSampling: 0 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_PVRTiledBaking: 0 + m_NumRaysToShootPerTexel: -1 + m_RespectSceneVisibilityWhenBakingGI: 0 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Demo/Scenes/HotReloadBurstDemoSettings.lighting.meta b/Packages/com.singularitygroup.hotreload/Runtime/Demo/Scenes/HotReloadBurstDemoSettings.lighting.meta new file mode 100644 index 0000000..68e5ea1 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/Demo/Scenes/HotReloadBurstDemoSettings.lighting.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 961e97ae3d4011b47a1198a930f5c30d +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 4890085278179872738 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Runtime/Demo/Scenes/HotReloadBurstDemoSettings.lighting + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Demo/Scripts.meta b/Packages/com.singularitygroup.hotreload/Runtime/Demo/Scripts.meta new file mode 100644 index 0000000..f542db8 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/Demo/Scripts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 30c72b28fb747184ba79468d3571dea4 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Demo/Scripts/HotReloadBasicDemo.cs b/Packages/com.singularitygroup.hotreload/Runtime/Demo/Scripts/HotReloadBasicDemo.cs new file mode 100644 index 0000000..316c503 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/Demo/Scripts/HotReloadBasicDemo.cs @@ -0,0 +1,217 @@ +#if ENABLE_MONO && (DEVELOPMENT_BUILD || UNITY_EDITOR) +using System; +using System.Collections.Generic; +using System.Text; +using System.Threading.Tasks; +using UnityEngine; +using UnityEngine.UI; + +namespace SingularityGroup.HotReload.Demo { + class HotReloadBasicDemo : MonoBehaviour { + + public GameObject cube; + public Text informationText; + public Button openWindowButton; + public Button openScriptButton; + public TextAsset thisScript; + + // // 1. Adding fields (Added fields can show in the inspector) + // public int myNewField = 1; + + void Start() { + if (Application.isEditor) { + openWindowButton.onClick.AddListener(Demo.I.OpenHotReloadWindow); + openScriptButton.onClick.AddListener(() => Demo.I.OpenScriptFile(thisScript, myStaticField, 13)); + } else { + openWindowButton.gameObject.SetActive(false); + openScriptButton.gameObject.SetActive(false); + informationText.gameObject.SetActive(false); + } + } + + // Update is called once per frame + void Update() { + if (Demo.I.IsServerRunning()) { + informationText.text = Localization.Translations.Common.HotReloadIsRunning; + } else { + informationText.text = Localization.Translations.Common.HotReloadIsNotRunning; + } + + // // 2. Editing functions in monobehaviours, normal classes or static classes + // // Edit the vector to rotate the cube in the scene differently or change the speed + // var speed = 100; + // cube.transform.Rotate(new Vector3(0, 1, 0) * Time.deltaTime * speed); + + // // 2. Editing functions in monobehaviours, normal classes or static classes + // // Uncomment this code to scale the cube + // cube.transform.localScale = Mathf.Sin(Time.time) * Vector3.one; + + // // 2. Editing functions in monobehaviours, normal classes or static classes + // // Uncomment this code to make the cube move from left to right and back + // var newPos = cube.transform.position += (cube.transform.localScale.x < 0.5 ? Vector3.left : Vector3.right) * Time.deltaTime; + // if(Mathf.Abs(newPos.x) > 10) { + // cube.transform.position = Vector3.zero; + // } + } + + // 3. Editing lambda methods + static Func addFunction = x => { + var result = x + 10; + Debug.Log("Add: " + result); + // // uncomment to change the operator to multiply and log the result + // result = x * 10; + // Debug.Log("Multiply: " + result); + return result; + }; + + // 4. Editing async/await methods + async Task AsyncMethod() { + // await Task.Delay(500); + // Debug.Log("AsyncMethod"); + + // // silicense warning + await Task.CompletedTask; + } + + // 5. Editing properties (get/set) + public static string SomeString { + // edit the get method + get { + var someStringHere = "This is some string"; + return someStringHere; + } + } + + // 6. Editing indexers (square bracket access such as dictionaries) + class CustomDictionary : Dictionary { + public new int this[string key] { + get { + // // uncomment to change the indexer and log a different entry based on case + // return base[key.ToLower()]; + return base[key.ToUpper()]; + } + set { + base[key.ToUpper()] = value; + } + } + } + CustomDictionary randomDict = new CustomDictionary { + { "a", 4 }, + { "A", 5 }, + { "b", 9 }, + { "B", 10 }, + { "c", 14 }, + { "C", 15 }, + { "d", 19 }, + { "D", 20 } + }; + + // 7. Editing operators methods (explicit and implicit operators) + public class Email { + public string Value { get; } + + public Email(string value) { + Value = value; + } + + // Define implicit operator + public static implicit operator string(Email value) + // Uncomment to change the implicit operator + // => value.Value + " FOO"; + => value.Value; + + // // Uncomment to change add an implicit operator + // public static implicit operator byte[](Email value) + // => Encoding.UTF8.GetBytes(value.Value); + + // Define explicit operator + public static explicit operator Email(string value) + => new Email(value); + } + + // 8. Editing fields: modifiers/type/name/initializer + public int myEditedField = 4; + + // 9. Editing static field initializers (variable value is updated) + static readonly int myStaticField = 31; + + // // 10. Adding auto properties/events + // int MyProperty { get; set; } = 6; + // event Action MyEvent = () => Debug.Log("MyEvent"); + + class GenericClass { + // // 11. Adding methods in generic classes + // public void GenericMethod() { + // Debug.Log("GenericMethod"); + // } + // // 12. Adding fields (any type) in generic classes + // public T myGenericField; + } + + void LateUpdate() { + // // 3. Editing lambda methods + // addFunction(10); + + + // // 4. Editing async/await methods + // AsyncMethod().Forget(); + + + // // 5. Editing properties (get/set) + // Debug.Log(SomeString); + + + // // 6. Editing indexers (square bracket access such as dictionaries) + // Debug.Log(randomDict["A"]); + + + // // 7. Editing operators methods (explicit and implicit operators) + Email email = new Email("example@example.com"); + // string stringEmail = email; + // Debug.Log(stringEmail); + + // // Uncomment new operator in Email class + Uncomment this to add byte implicit operator + // byte[] byteEmail = email; + // var hexRepresentation = BitConverter.ToString(byteEmail); + // Debug.Log(hexRepresentation); + // Debug.Log(Encoding.UTF8.GetString(byteEmail)); + + // // 8. Editing fields: modifiers/type/name/initializer + // Debug.Log("myEditedField: " + myEditedField); + + // // 9. Editing static field initializers (variable value is updated) + // Debug.Log("myStaticField: " + myStaticField); + + // // 10. Adding auto properties/events + // Debug.Log("MyProperty: " + MyProperty); + // MyEvent.Invoke(); + + // var newClass = new GenericClass(); + // // 11. Adding methods in generic classes + // newClass.GenericMethod(); + // // 12. Adding fields in generic classes + // newClass.myGenericField = 3; + // Debug.Log("myGenericField: " + newClass.myGenericField); + + // // 13. Editing lambda methods with closures + // // Uncomment to log sorted array + // // Switch a and b to reverse the sorting + // int[] numbers = { 5, 3, 8, 1, 9 }; + // Array.Sort(numbers, (b, a) => a.CompareTo(b)); + // Debug.Log(string.Join(", ", numbers)); + } + + // This function gets invoked every time it's patched + [InvokeOnHotReloadLocal] + static void OnHotReloadMe() { + // // change the string to see the method getting invoked + // Debug.Log("Hello there"); + } + + // // 14. Adding event functions + // void OnDisable() { + // Debug.Log("OnDisable"); + // } + } +} +#endif diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Demo/Scripts/HotReloadBasicDemo.cs.meta b/Packages/com.singularitygroup.hotreload/Runtime/Demo/Scripts/HotReloadBasicDemo.cs.meta new file mode 100644 index 0000000..7b8918d --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/Demo/Scripts/HotReloadBasicDemo.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 5a2e4d3f095a9441688c70278068eee0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Runtime/Demo/Scripts/HotReloadBasicDemo.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Demo/Scripts/HotReloadBurstJobsDemo.cs b/Packages/com.singularitygroup.hotreload/Runtime/Demo/Scripts/HotReloadBurstJobsDemo.cs new file mode 100644 index 0000000..03f29c8 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/Demo/Scripts/HotReloadBurstJobsDemo.cs @@ -0,0 +1,63 @@ +#if ENABLE_MONO && (DEVELOPMENT_BUILD || UNITY_EDITOR) +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.Jobs; +using UnityEngine.UI; + +namespace SingularityGroup.HotReload.Demo { + public class HotReloadBurstJobsDemo : MonoBehaviour { + public Transform[] cubes; + public Text informationText; + public Button openWindowButton; + public Button openScriptButton; + public TextAsset thisScript; + + TransformAccessArray cubeTransforms; + CubeJob job; + void Awake() { + cubeTransforms = new TransformAccessArray(cubes); + if(Application.isEditor) { + openWindowButton.onClick.AddListener(Demo.I.OpenHotReloadWindow); + openScriptButton.onClick.AddListener(() => Demo.I.OpenScriptFile(thisScript, 49, 17)); + } else { + openWindowButton.gameObject.SetActive(false); + openScriptButton.gameObject.SetActive(false); + } + informationText.gameObject.SetActive(true); + } + + void Update() { + job.deltaTime = Time.deltaTime; + job.time = Time.time; + var handle = job.Schedule(cubeTransforms); + handle.Complete(); + + if (Demo.I.IsServerRunning()) { + informationText.text = Localization.Translations.Common.HotReloadIsRunning; + } else { + informationText.text = Localization.Translations.Common.HotReloadIsNotRunning; + } + } + + struct CubeJob : IJobParallelForTransform { + public float deltaTime; + public float time; + public void Execute(int index, TransformAccess transform) { + transform.localRotation *= Quaternion.Euler(50 * deltaTime, 0, 0); + + // Uncomment this code to scale the cubes + // var scale = Mathf.Abs(Mathf.Sin(time)); + // transform.localScale = new Vector3(scale, scale, scale); + + // Uncomment this code to make the cube move from left to right and back + // transform.position += (transform.localScale.x < 0.5 ? Vector3.left : Vector3.right) * deltaTime; + } + } + + void OnDestroy() { + cubeTransforms.Dispose(); + } + } +} +#endif diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Demo/Scripts/HotReloadBurstJobsDemo.cs.meta b/Packages/com.singularitygroup.hotreload/Runtime/Demo/Scripts/HotReloadBurstJobsDemo.cs.meta new file mode 100644 index 0000000..fcf90c2 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/Demo/Scripts/HotReloadBurstJobsDemo.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: e09948cf1f317d04fbaf410dbfe91656 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Runtime/Demo/Scripts/HotReloadBurstJobsDemo.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Demo/Scripts/IDemo.cs b/Packages/com.singularitygroup.hotreload/Runtime/Demo/Scripts/IDemo.cs new file mode 100644 index 0000000..ca2034a --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/Demo/Scripts/IDemo.cs @@ -0,0 +1,29 @@ +#if ENABLE_MONO && (DEVELOPMENT_BUILD || UNITY_EDITOR) +using UnityEngine; + +namespace SingularityGroup.HotReload.Demo { + public interface IDemo { + bool IsServerRunning(); + void OpenHotReloadWindow(); + void OpenScriptFile(TextAsset textAsset, int line, int column); + } + + public static class Demo { + public static IDemo I = new PlayerDemo(); + } + + public class PlayerDemo : IDemo { + public bool IsServerRunning() { + return ServerHealthCheck.I.IsServerHealthy; + } + + public void OpenHotReloadWindow() { + //no-op + } + + public void OpenScriptFile(TextAsset textAsset, int line, int column) { + //no-op + } + } +} +#endif diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Demo/Scripts/IDemo.cs.meta b/Packages/com.singularitygroup.hotreload/Runtime/Demo/Scripts/IDemo.cs.meta new file mode 100644 index 0000000..bc74171 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/Demo/Scripts/IDemo.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 04dccdcced0245f1830021fdcad1d28a +timeCreated: 1677321944 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Runtime/Demo/Scripts/IDemo.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/HotReloadPrompts.prefab b/Packages/com.singularitygroup.hotreload/Runtime/HotReloadPrompts.prefab new file mode 100644 index 0000000..85d6761 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/HotReloadPrompts.prefab @@ -0,0 +1,2942 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1013787301382345451 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3597930498506735329} + - component: {fileID: 5263297665501092759} + - component: {fileID: 8191138318542799492} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3597930498506735329 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1013787301382345451} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 8361365728969909008} + 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 &5263297665501092759 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1013787301382345451} + m_CullTransparentMesh: 0 +--- !u!114 &8191138318542799492 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1013787301382345451} + 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.11320752, g: 0.11320752, b: 0.11320752, 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: 22 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Cancel +--- !u!1 &1057795414473985365 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8361365728969909008} + - component: {fileID: 9109116132926969505} + - component: {fileID: 6961214002816918688} + - component: {fileID: 5585168207715079851} + m_Layer: 5 + m_Name: ButtonMoreEffort + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8361365728969909008 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1057795414473985365} + m_LocalRotation: {x: -0, 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: 3597930498506735329} + m_Father: {fileID: 6484505723585156786} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: -423.1, y: -64.9} + m_SizeDelta: {x: 141.6914, y: 45.0679} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &9109116132926969505 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1057795414473985365} + m_CullTransparentMesh: 0 +--- !u!114 &6961214002816918688 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1057795414473985365} + 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!114 &5585168207715079851 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1057795414473985365} + 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.9622642, g: 0.9622642, b: 0.9622642, 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: 6961214002816918688} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &1335534115928082901 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5505278863775282652} + - component: {fileID: 882497356905571160} + - component: {fileID: 6369210938302316831} + m_Layer: 5 + m_Name: TextSummary + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5505278863775282652 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1335534115928082901} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6484505723585156786} + 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: 30, y: -39.233} + m_SizeDelta: {x: -105.96521, y: 54.542114} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &882497356905571160 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1335534115928082901} + m_CullTransparentMesh: 0 +--- !u!114 &6369210938302316831 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1335534115928082901} + 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: 0 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 24 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Editor and current build are on different commits +--- !u!1 &1390084864838268853 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1221019002237951643} + - component: {fileID: 8358362994993817161} + - component: {fileID: 1980611848569999305} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1221019002237951643 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1390084864838268853} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 7107734678944665722} + 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: -35.811356, y: -12.790634} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &8358362994993817161 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1390084864838268853} + m_CullTransparentMesh: 0 +--- !u!114 &1980611848569999305 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1390084864838268853} + 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.103773594, g: 0.103773594, b: 0.103773594, 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: 24 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 21 + m_MaxSize: 28 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Continue +--- !u!1 &2338911661825597671 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4216036513099635638} + - component: {fileID: 594918778888372109} + - component: {fileID: 2127224386387722146} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4216036513099635638 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2338911661825597671} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4911193491485015256} + 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 &594918778888372109 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2338911661825597671} + m_CullTransparentMesh: 0 +--- !u!114 &2127224386387722146 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2338911661825597671} + 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.103773594, g: 0.103773594, b: 0.103773594, 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: 20 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: More Info +--- !u!1 &2557231470263189725 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6280529082113425347} + m_Layer: 5 + m_Name: Information + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6280529082113425347 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2557231470263189725} + m_LocalRotation: {x: 0, 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: 3344052376368028088} + - {fileID: 7593666350427564864} + m_Father: {fileID: 4967086678334773008} + 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: 30, y: -13.59} + m_SizeDelta: {x: -106.39874, y: -142.43198} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &2582527480827036942 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6528462525361087078} + - component: {fileID: 5585154964765544786} + - component: {fileID: 5675038352245823804} + m_Layer: 5 + m_Name: TextSuggestion + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6528462525361087078 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2582527480827036942} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6484505723585156786} + 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: 30.217, y: 6.0687} + m_SizeDelta: {x: -106.3987, y: -145.1455} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &5585154964765544786 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2582527480827036942} + m_CullTransparentMesh: 0 +--- !u!114 &5675038352245823804 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2582527480827036942} + 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: 22 + m_FontStyle: 0 + m_BestFit: 1 + m_MinSize: 21 + m_MaxSize: 28 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1.17 + m_Text: 'This can cause errors when the build was made on an old commit. + +' +--- !u!1 &2945586050721362106 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7593666350427564864} + - component: {fileID: 4488835628498483499} + - component: {fileID: 6495855994796430067} + m_Layer: 5 + m_Name: TextForDebugging + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &7593666350427564864 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2945586050721362106} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6280529082113425347} + 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 &4488835628498483499 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2945586050721362106} + m_CullTransparentMesh: 0 +--- !u!114 &6495855994796430067 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2945586050721362106} + 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: 29 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Make sure you're on the same LAN/WiFi network +--- !u!1 &3342967049223911331 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3344052376368028088} + - component: {fileID: 4147603110869920048} + - component: {fileID: 116564040413298098} + m_Layer: 5 + m_Name: TextSuggestion + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3344052376368028088 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3342967049223911331} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6280529082113425347} + 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.6499987} + m_SizeDelta: {x: 0, y: 11.300002} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4147603110869920048 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3342967049223911331} + m_CullTransparentMesh: 0 +--- !u!114 &116564040413298098 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3342967049223911331} + 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: 0 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 23 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 275 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Make sure you're on the same WiFi network and Hot Reload is running +--- !u!1 &3751191164850618597 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3751191164850618611} + - component: {fileID: 3751191164850618616} + - component: {fileID: 3751191164850618560} + m_Layer: 5 + m_Name: Logo + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3751191164850618611 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3751191164850618597} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4967086677765351015} + 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: 46.1, y: -43.161} + m_SizeDelta: {x: 54.687653, y: 54.687653} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3751191164850618616 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3751191164850618597} + m_CullTransparentMesh: 0 +--- !u!114 &3751191164850618560 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3751191164850618597} + 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: 90cf8e542151548c6aa3cba26467e144, 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!1 &3751191164850618600 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3751191164850618614} + - component: {fileID: 3751191164850618595} + - component: {fileID: 3751191164850618571} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3751191164850618614 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3751191164850618600} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4967086678661718217} + 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 &3751191164850618595 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3751191164850618600} + m_CullTransparentMesh: 0 +--- !u!114 &3751191164850618571 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3751191164850618600} + 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.19607843, g: 0.19607843, b: 0.19607843, 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: 22 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Hide +--- !u!1 &3751191164850618601 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3751191164850618615} + - component: {fileID: 3751191164850618620} + - component: {fileID: 3751191164850618564} + m_Layer: 5 + m_Name: Prompts + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3751191164850618615 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3751191164850618601} + m_LocalRotation: {x: 0, 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: 4967086677765351015} + - {fileID: 4967086678334773008} + - {fileID: 6484505723585156786} + m_Father: {fileID: 4967086677379066171} + 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.00024414062, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3751191164850618620 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3751191164850618601} + m_CullTransparentMesh: 0 +--- !u!114 &3751191164850618564 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3751191164850618601} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d92cdbfacafd433ca77184c22a384a6d, type: 3} + m_Name: + m_EditorClassIdentifier: + retryPrompt: {fileID: 4967086678334773011} + connectedPrompt: {fileID: 4967086677765351014} + questionPrompt: {fileID: 6563246299181214611} + fallbackEventSystem: {fileID: 8054601594198067103} +--- !u!1 &3751191164850618602 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3751191164850618608} + - component: {fileID: 3751191164850618621} + - component: {fileID: 3751191164850618565} + m_Layer: 5 + m_Name: Summary + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3751191164850618608 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3751191164850618602} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4967086677765351015} + 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: 42.160004, y: -43.00023} + m_SizeDelta: {x: -109.740295, y: 54.366207} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3751191164850618621 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3751191164850618602} + m_CullTransparentMesh: 0 +--- !u!114 &3751191164850618565 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3751191164850618602} + 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: 32 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Connecting... +--- !u!1 &4116732687138738479 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8252921096633957241} + - component: {fileID: 4733576179552229060} + - component: {fileID: 2012827545077904779} + - component: {fileID: 3158748587153539730} + m_Layer: 5 + m_Name: ButtonMoreInfo + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8252921096633957241 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4116732687138738479} + m_LocalRotation: {x: -0, 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: 5758986847798381115} + m_Father: {fileID: 6484505723585156786} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: -99.72, y: -64.9} + m_SizeDelta: {x: 141.6914, y: 45.0679} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4733576179552229060 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4116732687138738479} + m_CullTransparentMesh: 0 +--- !u!114 &2012827545077904779 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4116732687138738479} + 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!114 &3158748587153539730 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4116732687138738479} + 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.9622642, g: 0.9622642, b: 0.9622642, 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: 2012827545077904779} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &4279783835045373039 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8141605075363586685} + - component: {fileID: 1129507980982577600} + - component: {fileID: 3409363427364332004} + m_Layer: 5 + m_Name: Text (Legacy) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8141605075363586685 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4279783835045373039} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 8150310283045374484} + 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.5} + m_SizeDelta: {x: -20, y: -13} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1129507980982577600 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4279783835045373039} + m_CullTransparentMesh: 1 +--- !u!114 &3409363427364332004 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4279783835045373039} + 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.19607843, g: 0.19607843, b: 0.19607843, 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: 15 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 0 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: +--- !u!1 &4471505415598507920 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6235104375140882572} + - component: {fileID: 4057252686040207820} + - component: {fileID: 3554294960250654513} + m_Layer: 5 + m_Name: TextIP + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6235104375140882572 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4471505415598507920} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4967086678334773008} + m_RootOrder: 6 + 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: -248.5, y: -66.756} + m_SizeDelta: {x: 65, y: 61.4766} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4057252686040207820 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4471505415598507920} + m_CullTransparentMesh: 0 +--- !u!114 &3554294960250654513 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4471505415598507920} + 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: 0 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 24 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 'IP:' +--- !u!1 &4803576491919660416 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8857299115396528434} + - component: {fileID: 2155891017074897053} + - component: {fileID: 462332990179851889} + m_Layer: 5 + m_Name: Suggestion + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8857299115396528434 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4803576491919660416} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4967086677765351015} + 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: 42.185, y: -30.900002} + m_SizeDelta: {x: -109.78961, y: -97.906265} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2155891017074897053 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4803576491919660416} + m_CullTransparentMesh: 0 +--- !u!114 &462332990179851889 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4803576491919660416} + 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: 24 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Edit code to see changes on device... +--- !u!1 &4967086676766916185 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4967086676766916190} + - component: {fileID: 4967086676766916188} + - component: {fileID: 4967086676766916191} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4967086676766916190 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4967086676766916185} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4967086677112779038} + 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 &4967086676766916188 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4967086676766916185} + m_CullTransparentMesh: 0 +--- !u!114 &4967086676766916191 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4967086676766916185} + 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.103773594, g: 0.103773594, b: 0.103773594, 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: 24 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 'Reconnect + +' +--- !u!1 &4967086676871555599 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4967086676871555596} + - component: {fileID: 4967086676871555698} + - component: {fileID: 4967086676871555597} + m_Layer: 5 + m_Name: ImageLogo + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4967086676871555596 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4967086676871555599} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4967086678334773008} + 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: 42.06, y: -39.16} + m_SizeDelta: {x: 54.687653, y: 54.687653} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4967086676871555698 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4967086676871555599} + m_CullTransparentMesh: 0 +--- !u!114 &4967086676871555597 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4967086676871555599} + 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: 90cf8e542151548c6aa3cba26467e144, 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!1 &4967086677112779033 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4967086677112779038} + - component: {fileID: 4967086677112779037} + - component: {fileID: 4967086677112779036} + - component: {fileID: 4967086677112779039} + m_Layer: 5 + m_Name: ButtonRetry + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4967086677112779038 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4967086677112779033} + m_LocalRotation: {x: -0, 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: 4967086676766916190} + m_Father: {fileID: 4967086678334773008} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: 45.1, y: 34.638} + m_SizeDelta: {x: -465.6686, y: 45.06787} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4967086677112779037 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4967086677112779033} + m_CullTransparentMesh: 0 +--- !u!114 &4967086677112779036 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4967086677112779033} + 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!114 &4967086677112779039 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4967086677112779033} + 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: 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: 4967086677112779036} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &4967086677379066170 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4967086677379066171} + - component: {fileID: 3499838185132214990} + - component: {fileID: 3499838185132214991} + - component: {fileID: 3499838185132214988} + m_Layer: 5 + m_Name: HotReloadPrompts + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4967086677379066171 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4967086677379066170} + 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: 3751191164850618615} + - {fileID: 8564535462043123833} + 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 &3499838185132214990 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4967086677379066170} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!114 &3499838185132214991 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4967086677379066170} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 1 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 1280, y: 720} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0.5 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 +--- !u!114 &3499838185132214988 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4967086677379066170} + 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!1 &4967086677533727706 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4967086677533727707} + - component: {fileID: 4967086677533727705} + - component: {fileID: 4967086677533727704} + m_Layer: 5 + m_Name: TextSummary + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4967086677533727707 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4967086677533727706} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4967086678334773008} + 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: 30, y: -42.7} + m_SizeDelta: {x: -105.96521, y: 61.476562} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4967086677533727705 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4967086677533727706} + m_CullTransparentMesh: 0 +--- !u!114 &4967086677533727704 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4967086677533727706} + 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: 0 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 24 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Auto-pair ran into an issue +--- !u!1 &4967086677765351014 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4967086677765351015} + - component: {fileID: 4967086677765351013} + - component: {fileID: 4967086677765351012} + - component: {fileID: 235867154863528169} + - component: {fileID: 7034300310699233304} + m_Layer: 5 + m_Name: ConnectionDialog + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &4967086677765351015 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4967086677765351014} + m_LocalRotation: {x: -0, 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: 3751191164850618611} + - {fileID: 3751191164850618608} + - {fileID: 8857299115396528434} + m_Father: {fileID: 3751191164850618615} + 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: 8, y: 160.00003} + m_SizeDelta: {x: 603.4334, y: 152.50421} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4967086677765351013 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4967086677765351014} + m_CullTransparentMesh: 0 +--- !u!114 &4967086677765351012 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4967086677765351014} + 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.039215688, g: 0.039215688, b: 0.039215688, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &235867154863528169 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4967086677765351014} + 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: 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: 4967086677765351012} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &7034300310699233304 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4967086677765351014} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: bb1cc47c374f478e861f2c3dade07e1a, type: 3} + m_Name: + m_EditorClassIdentifier: + buttonHide: {fileID: 235867154863528169} + textSummary: {fileID: 3751191164850618565} + textSuggestion: {fileID: 462332990179851889} + pendingPatches: 0 + patchesApplied: 0 +--- !u!1 &4967086678334773011 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4967086678334773008} + - component: {fileID: 4967086678334773014} + - component: {fileID: 4967086678334773009} + - component: {fileID: 3727107046497244783} + m_Layer: 5 + m_Name: RetryDialog + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &4967086678334773008 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4967086678334773011} + m_LocalRotation: {x: -0, 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: 4967086676871555596} + - {fileID: 4967086677533727707} + - {fileID: 6280529082113425347} + - {fileID: 4967086678661718217} + - {fileID: 4967086677112779038} + - {fileID: 4911193491485015256} + - {fileID: 6235104375140882572} + - {fileID: 8150310283045374484} + m_Father: {fileID: 3751191164850618615} + 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: 8, y: 160} + m_SizeDelta: {x: 603.4334, y: 203.0878} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4967086678334773014 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4967086678334773011} + m_CullTransparentMesh: 0 +--- !u!114 &4967086678334773009 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4967086678334773011} + 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.039215688, g: 0.039215688, b: 0.039215688, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &3727107046497244783 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4967086678334773011} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7a69f8e8e50a405a84ec22ac7c2f4bdc, type: 3} + m_Name: + m_EditorClassIdentifier: + buttonHide: {fileID: 4967086678661718222} + buttonRetryAutoPair: {fileID: 4967086677112779039} + buttonTroubleshoot: {fileID: 6672458751395352801} + textSummary: {fileID: 4967086677533727704} + textSuggestion: {fileID: 116564040413298098} + ipInput: {fileID: 7429817927027686359} + textForDebugging: {fileID: 6495855994796430067} + enableDebugging: 0 +--- !u!1 &4967086678661718216 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4967086678661718217} + - component: {fileID: 4967086678661718220} + - component: {fileID: 4967086678661718223} + - component: {fileID: 4967086678661718222} + m_Layer: 5 + m_Name: ButtonHide + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4967086678661718217 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4967086678661718216} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.8, y: 0.8, z: 0.5} + m_Children: + - {fileID: 3751191164850618614} + m_Father: {fileID: 4967086678334773008} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -45.7, y: -26} + m_SizeDelta: {x: 95.76041, y: 46.033897} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4967086678661718220 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4967086678661718216} + m_CullTransparentMesh: 0 +--- !u!114 &4967086678661718223 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4967086678661718216} + 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.745283, g: 0.745283, b: 0.745283, 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 &4967086678661718222 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4967086678661718216} + 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: 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: 4967086678661718223} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &5487644203504871490 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4911193491485015256} + - component: {fileID: 3977274743991914834} + - component: {fileID: 2696062604266108078} + - component: {fileID: 6672458751395352801} + m_Layer: 5 + m_Name: ButtonTroubleshoot + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4911193491485015256 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5487644203504871490} + m_LocalRotation: {x: -0, 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: 4216036513099635638} + m_Father: {fileID: 4967086678334773008} + 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: 200.54193, y: 34.638} + m_SizeDelta: {x: -447.021, y: 45.0679} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3977274743991914834 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5487644203504871490} + m_CullTransparentMesh: 0 +--- !u!114 &2696062604266108078 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5487644203504871490} + 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!114 &6672458751395352801 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5487644203504871490} + 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: 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: 2696062604266108078} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &6563246299181214611 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6484505723585156786} + - component: {fileID: 1661502203157216626} + - component: {fileID: 5891534192019788270} + - component: {fileID: 2310985356733911194} + m_Layer: 5 + m_Name: ReusedQuestionDialog + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &6484505723585156786 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6563246299181214611} + m_LocalRotation: {x: -0, 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: 4288889589057652595} + - {fileID: 5505278863775282652} + - {fileID: 6528462525361087078} + - {fileID: 8361365728969909008} + - {fileID: 7107734678944665722} + - {fileID: 8252921096633957241} + m_Father: {fileID: 3751191164850618615} + 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: 8, y: 160} + m_SizeDelta: {x: 603.4334, y: 203.0878} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1661502203157216626 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6563246299181214611} + m_CullTransparentMesh: 0 +--- !u!114 &5891534192019788270 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6563246299181214611} + 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.039215688, g: 0.039215688, b: 0.039215688, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &2310985356733911194 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6563246299181214611} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ef31038a0ed84685b779466bf22d53a9, type: 3} + m_Name: + m_EditorClassIdentifier: + textSummary: {fileID: 6369210938302316831} + textSuggestion: {fileID: 5675038352245823804} + buttonContinue: {fileID: 5265040605375167127} + buttonCancel: {fileID: 5585168207715079851} + buttonMoreInfo: {fileID: 3158748587153539730} +--- !u!1 &6697092821899816264 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5758986847798381115} + - component: {fileID: 5463465806778337131} + - component: {fileID: 8072588694671228428} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5758986847798381115 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6697092821899816264} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 8252921096633957241} + 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 &5463465806778337131 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6697092821899816264} + m_CullTransparentMesh: 0 +--- !u!114 &8072588694671228428 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6697092821899816264} + 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.11320752, g: 0.11320752, b: 0.11320752, 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: 20 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: More Info +--- !u!1 &7506156204490477245 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7107734678944665722} + - component: {fileID: 677914236431176414} + - component: {fileID: 9047087872360317623} + - component: {fileID: 5265040605375167127} + m_Layer: 5 + m_Name: ButtonContinue + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7107734678944665722 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7506156204490477245} + m_LocalRotation: {x: -0, 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: 1221019002237951643} + m_Father: {fileID: 6484505723585156786} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: -261.41, y: -64.89999} + m_SizeDelta: {x: 141.6914, y: 45.0679} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &677914236431176414 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7506156204490477245} + m_CullTransparentMesh: 0 +--- !u!114 &9047087872360317623 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7506156204490477245} + 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!114 &5265040605375167127 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7506156204490477245} + 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: 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: 9047087872360317623} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &7769261099572506218 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8150310283045374484} + - component: {fileID: 5348576082586449480} + - component: {fileID: 6647422777320841469} + - component: {fileID: 7429817927027686359} + m_Layer: 5 + m_Name: IpInput + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8150310283045374484 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7769261099572506218} + m_LocalRotation: {x: -0, 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: 8207283617714762719} + - {fileID: 8141605075363586685} + m_Father: {fileID: 4967086678334773008} + m_RootOrder: 7 + 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: -125.62808, y: -66.75602} + m_SizeDelta: {x: 180.7402, y: 41.1} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &5348576082586449480 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7769261099572506218} + m_CullTransparentMesh: 1 +--- !u!114 &6647422777320841469 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7769261099572506218} + 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: 10911, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &7429817927027686359 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7769261099572506218} + 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: 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: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 6647422777320841469} + m_TextComponent: {fileID: 3409363427364332004} + m_Placeholder: {fileID: 8746367729340876900} + m_ContentType: 0 + m_InputType: 0 + m_AsteriskChar: 42 + m_KeyboardType: 0 + m_LineType: 0 + m_HideMobileInput: 0 + m_CharacterValidation: 0 + m_CharacterLimit: 21 + 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: 0.85 + m_CaretWidth: 1 + m_ReadOnly: 0 +--- !u!1 &8054601594198067103 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8564535462043123833} + - component: {fileID: 7768483217031697610} + - component: {fileID: 1047141224289122821} + m_Layer: 5 + m_Name: FallbackInputProvider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &8564535462043123833 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8054601594198067103} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4967086677379066171} + 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: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &7768483217031697610 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8054601594198067103} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 10 +--- !u!114 &1047141224289122821 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8054601594198067103} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!1 &8201367103125407330 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8207283617714762719} + - component: {fileID: 2716239957931866459} + - component: {fileID: 8746367729340876900} + m_Layer: 5 + m_Name: Placeholder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8207283617714762719 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8201367103125407330} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 8150310283045374484} + 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: -20, y: -13} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2716239957931866459 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8201367103125407330} + m_CullTransparentMesh: 1 +--- !u!114 &8746367729340876900 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8201367103125407330} + 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.19607843, g: 0.19607843, b: 0.19607843, a: 0.5} + 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: 2 + 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: Enter text... +--- !u!1 &9029651609518542122 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4288889589057652595} + - component: {fileID: 1714143093284739457} + - component: {fileID: 3128017247211677084} + m_Layer: 5 + m_Name: ImageLogo + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4288889589057652595 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9029651609518542122} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6484505723585156786} + 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: 42.06, y: -39.16} + m_SizeDelta: {x: 54.687653, y: 54.687653} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1714143093284739457 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9029651609518542122} + m_CullTransparentMesh: 0 +--- !u!114 &3128017247211677084 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9029651609518542122} + 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: 90cf8e542151548c6aa3cba26467e144, 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 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/HotReloadPrompts.prefab.meta b/Packages/com.singularitygroup.hotreload/Runtime/HotReloadPrompts.prefab.meta new file mode 100644 index 0000000..8313f8d --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/HotReloadPrompts.prefab.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 0dc8d7047b14c44b7970c5d35665dbe1 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Runtime/HotReloadPrompts.prefab + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/HotReloadSettingsHelper.cs b/Packages/com.singularitygroup.hotreload/Runtime/HotReloadSettingsHelper.cs new file mode 100644 index 0000000..b4f837b --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/HotReloadSettingsHelper.cs @@ -0,0 +1,43 @@ +using System; +using System.IO; +using System.Linq; + +#if UNITY_EDITOR +using UnityEditor; +#endif + +namespace SingularityGroup.HotReload { + + internal static class HotReloadSettingsHelper { + public static UnityEngine.GameObject GetOrCreateSettingsPrefab(string prefabAssetPath) { + #if UNITY_EDITOR + var prefab = AssetDatabase.LoadAssetAtPath(prefabAssetPath); + if (prefab == null) { + // when you use HotReload as a unitypackage, prefab is somewhere inside your assets folder + var guids = AssetDatabase.FindAssets("HotReloadPrompts t:prefab", new string[]{"Assets"}); + var paths = guids.Select(guid => AssetDatabase.GUIDToAssetPath(guid)); + var promptsPrefabPath = paths.FirstOrDefault(assetpath => Path.GetFileName(assetpath) == "HotReloadPrompts.prefab"); + if (promptsPrefabPath != null) { + prefab = AssetDatabase.LoadAssetAtPath(promptsPrefabPath); + } + } + if (prefab == null) { + throw new Exception(Localization.Translations.Errors.FailedPromptsPrefab); + } + return prefab; + #else + return null; + #endif + } + + public static HotReloadSettingsObject GetSettingsObject(string editorAssetPath) { + #if UNITY_EDITOR + return AssetDatabase.LoadAssetAtPath(editorAssetPath); + #else + return null; + #endif + } + + } + +} diff --git a/Packages/com.singularitygroup.hotreload/Runtime/HotReloadSettingsHelper.cs.meta b/Packages/com.singularitygroup.hotreload/Runtime/HotReloadSettingsHelper.cs.meta new file mode 100644 index 0000000..7dc9408 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/HotReloadSettingsHelper.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 4bff36678f3d4a2bb24c477d28f96888 +timeCreated: 1765129558 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Runtime/HotReloadSettingsHelper.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/HotReloadSettingsObject.cs b/Packages/com.singularitygroup.hotreload/Runtime/HotReloadSettingsObject.cs new file mode 100644 index 0000000..b94e469 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/HotReloadSettingsObject.cs @@ -0,0 +1,112 @@ +using System; +using JetBrains.Annotations; +using System.IO; +using UnityEngine; + +namespace SingularityGroup.HotReload { + /// + /// HotReload runtime settings. These can be changed while the app is running. + /// + /// + /// ScriptableObject that may be included in Resources/ folder. + /// See also Editor/PrebuildIncludeResources.cs + /// + [Serializable] + class HotReloadSettingsObject : ScriptableObject { + #region singleton + private static HotReloadSettingsObject _I; + public static HotReloadSettingsObject I { + get { + if (_I == null) { + _I = LoadSettingsOrDefault(); + } + return _I; + } + } + + /// Create settings inside Assets/ because user cannot edit files that are included inside a Unity package + /// + /// You can change this in a build script if you want it created somewhere else. + /// + public static string editorAssetPath = "Assets/HotReload/Resources/HotReloadSettingsObject.asset"; + + private static string resourceName => Path.GetFileNameWithoutExtension(editorAssetPath); + + public static bool TryLoadSettings(out HotReloadSettingsObject settings) { + try { + settings = LoadSettings(); + return settings != null; + } catch(FileNotFoundException) { + settings = null; + return false; + } + } + + [NotNull] + private static HotReloadSettingsObject LoadSettingsOrDefault() { + var settings = LoadSettings(); + if (settings == null) { + // load defaults + settings = CreateInstance(); + } + return settings; + } + + [CanBeNull] + private static HotReloadSettingsObject LoadSettings() { + HotReloadSettingsObject settings; + if (Application.isEditor) { + settings = HotReloadSettingsHelper.GetSettingsObject(editorAssetPath); + } else { + // load from Resources (assumes that build includes the resource) + settings = Resources.Load(resourceName); + } + return settings; + } + #endregion + + #region settings + + /// Set default values. + /// + /// This is called by the Unity editor when the ScriptableObject is first created. + /// This function is only called in editor mode. + /// + private void Reset() { + EnsurePrefabSetCorrectly(); + } + + /// + /// Path to the prefab asset file. + /// + const string prefabAssetPath = "Packages/com.singularitygroup.hotreload/Runtime/HotReloadPrompts.prefab"; + + // Call this during build, just to be sure the field is correct. (I had some issues with it while editing the prefab) + public void EnsurePrefabSetCorrectly() { + PromptsPrefab = HotReloadSettingsHelper.GetOrCreateSettingsPrefab(prefabAssetPath); + } + + public void EnsurePrefabNotInBuild() { + PromptsPrefab = null; + } + + + // put the stored settings here + + [Header(Localization.Translations.MenuItems.BuildSettings)] + [Tooltip(Localization.Translations.MenuItems.IncludeInBuildTooltip)] + public bool IncludeInBuild = true; + + [Header(Localization.Translations.MenuItems.PlayerSettings)] + public bool AllowAndroidAppToMakeHttpRequests = false; + + #region hidden + + /// Reference to the Prefab, for loading it at runtime + [HideInInspector] + public GameObject PromptsPrefab; + #endregion + + #endregion settings + } +} diff --git a/Packages/com.singularitygroup.hotreload/Runtime/HotReloadSettingsObject.cs.meta b/Packages/com.singularitygroup.hotreload/Runtime/HotReloadSettingsObject.cs.meta new file mode 100644 index 0000000..887f361 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/HotReloadSettingsObject.cs.meta @@ -0,0 +1,20 @@ +fileFormatVersion: 2 +guid: 324c6fd3c103e0f418eb4b98c46bf63c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: + - PromptsPrefab: {fileID: 4967086677379066170, guid: 0dc8d7047b14c44b7970c5d35665dbe1, + type: 3} + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Runtime/HotReloadSettingsObject.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/HttpClientUtils.cs b/Packages/com.singularitygroup.hotreload/Runtime/HttpClientUtils.cs new file mode 100644 index 0000000..0dc3779 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/HttpClientUtils.cs @@ -0,0 +1,16 @@ +using System.Net.Http; + +namespace SingularityGroup.HotReload { + + public class HttpClientUtils { + public static HttpClient CreateHttpClient() { + var handler = new HttpClientHandler { + // Without this flag HttpClients don't work for PCs with double-byte characters in the name + UseCookies = false + }; + + return new HttpClient(handler); + } + } + +} diff --git a/Packages/com.singularitygroup.hotreload/Runtime/HttpClientUtils.cs.meta b/Packages/com.singularitygroup.hotreload/Runtime/HttpClientUtils.cs.meta new file mode 100644 index 0000000..dcda117 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/HttpClientUtils.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: b40f5d8cac104565b0aaa1d1e294ff8f +timeCreated: 1700069330 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Runtime/HttpClientUtils.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/IServerHealthCheck.cs b/Packages/com.singularitygroup.hotreload/Runtime/IServerHealthCheck.cs new file mode 100644 index 0000000..a6915fe --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/IServerHealthCheck.cs @@ -0,0 +1,9 @@ +namespace SingularityGroup.HotReload { + public interface IServerHealthCheck { + bool IsServerHealthy { get; } + } + + internal interface IServerHealthCheckInternal : IServerHealthCheck { + void CheckHealth(); + } +} diff --git a/Packages/com.singularitygroup.hotreload/Runtime/IServerHealthCheck.cs.meta b/Packages/com.singularitygroup.hotreload/Runtime/IServerHealthCheck.cs.meta new file mode 100644 index 0000000..62e9191 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/IServerHealthCheck.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: bcb0ff221290427182643b815685ea97 +timeCreated: 1675232020 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Runtime/IServerHealthCheck.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/InstallQRDialog.cs b/Packages/com.singularitygroup.hotreload/Runtime/InstallQRDialog.cs new file mode 100644 index 0000000..8b60cbc --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/InstallQRDialog.cs @@ -0,0 +1,25 @@ +using UnityEngine; +using UnityEngine.UI; + +namespace SingularityGroup.HotReload { + class InstallQRDialog : MonoBehaviour { + public Button buttonGo; + public Button buttonHide; + + private void Start() { + buttonHide.onClick.AddListener(Hide); + + // launch camera app that can scan QR-Code https://singularitygroup.atlassian.net/browse/SG-29495 + buttonGo.onClick.AddListener(() => { + Hide(); + var recommendedQrCodeApp = "com.scanteam.qrcodereader"; + Application.OpenURL($"https://play.google.com/store/apps/details?id={recommendedQrCodeApp}"); + }); + } + + /// hide this dialog + void Hide() { + gameObject.SetActive(false); // this should disable the Update loop? + } + } +} diff --git a/Packages/com.singularitygroup.hotreload/Runtime/InstallQRDialog.cs.meta b/Packages/com.singularitygroup.hotreload/Runtime/InstallQRDialog.cs.meta new file mode 100644 index 0000000..079ae57 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/InstallQRDialog.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 03d3be3b485a4450b112f9ea3af4fb66 +timeCreated: 1674988075 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Runtime/InstallQRDialog.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/IpHelper.cs b/Packages/com.singularitygroup.hotreload/Runtime/IpHelper.cs new file mode 100644 index 0000000..685a3fa --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/IpHelper.cs @@ -0,0 +1,62 @@ +#if UNITY_ANDROID && !UNITY_EDITOR +#define MOBILE_ANDROID +#endif +#if UNITY_IOS && !UNITY_EDITOR +#define MOBILE_IOS +#endif +#if MOBILE_ANDROID || MOBILE_IOS +#define MOBILE +#endif + +using System; +using System.Net.NetworkInformation; +using System.Net.Sockets; + +namespace SingularityGroup.HotReload { + static class IpHelper { + // get my local ip address + + static DateTime cachedAt; + static string ipCached; + public static string GetIpAddressCached() { + if (string.IsNullOrEmpty(ipCached) || DateTime.UtcNow - cachedAt > TimeSpan.FromSeconds(5)) { + ipCached = GetIpAddress(); + cachedAt = DateTime.UtcNow; + } + return ipCached; + } + + public static string GetIpAddress() { + var ip = GetLocalIPv4(NetworkInterfaceType.Wireless80211); + + if (string.IsNullOrEmpty(ip)) { + return GetLocalIPv4(NetworkInterfaceType.Ethernet); + } + return ip; + } + + private static string GetLocalIPv4(NetworkInterfaceType _type) { + string output = ""; + foreach (NetworkInterface item in NetworkInterface.GetAllNetworkInterfaces()) { + if (item.NetworkInterfaceType == _type && item.OperationalStatus == OperationalStatus.Up) { + foreach (UnicastIPAddressInformation ip in item.GetIPProperties().UnicastAddresses) { + if (ip.Address.AddressFamily == AddressFamily.InterNetwork && IsLocalIp(ip.Address.MapToIPv4().GetAddressBytes())) { + output = ip.Address.ToString(); + } + } + } + } + return output; + } + + // https://datatracker.ietf.org/doc/html/rfc1918#section-3 + static bool IsLocalIp(byte[] ipAddress) { + return ipAddress[0] == 10 + || ipAddress[0] == 172 + && ipAddress[1] >= 16 + && ipAddress[1] <= 31 + || ipAddress[0] == 192 + && ipAddress[1] == 168; + } + } +} diff --git a/Packages/com.singularitygroup.hotreload/Runtime/IpHelper.cs.meta b/Packages/com.singularitygroup.hotreload/Runtime/IpHelper.cs.meta new file mode 100644 index 0000000..7409e29 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/IpHelper.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 4d3a24a25ced4eae8b7e0b9b5a0d5c9d +timeCreated: 1674145172 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Runtime/IpHelper.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Libs.meta b/Packages/com.singularitygroup.hotreload/Runtime/Libs.meta new file mode 100644 index 0000000..192e762 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/Libs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 053fc5684eb47f54e8c877cb1ade54d6 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Libs/EditorOnly.meta b/Packages/com.singularitygroup.hotreload/Runtime/Libs/EditorOnly.meta new file mode 100644 index 0000000..d961c60 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/Libs/EditorOnly.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 520640393141aab41bd6d6b1f43e7037 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Libs/EditorOnly/SingularityGroup.HotReload.RuntimeDependencies.dll b/Packages/com.singularitygroup.hotreload/Runtime/Libs/EditorOnly/SingularityGroup.HotReload.RuntimeDependencies.dll new file mode 100644 index 0000000000000000000000000000000000000000..48765eff8b92dbd39a518040aab4d6067b73c52d GIT binary patch literal 3047424 zcmce<33wF6);~Py?&;aGO_rJLQ!EMNOcEdwX$;7spe!OFVloJ!*+HQ(gKWbfh=L#> zpeQ1XxPT~vvIv4GB7)!s=tTtt#Rd1}x}t*L?^N|969n(Q|L1+aJgKg#Q>UsQr^l)uH(o*^qrujMZf`W`J$yu%jj1t) z)##(xAbs>`V=Nmugw@yE`nFRQ_M*n^A#cv7p?p z6n?1G@;ou(+`pZrmc(;m|4p1(ENDUPpB?e5YGW2l>DVC?#v~G{+5;)XiDGsGtCR`DVnZSSW(wkW=-=Z^+!|ewHR0~`5y=x5{`}&T3dSQB^uW|p5 z)c3p4)|Y_v3w$f$jS)^nzV>jv(GO$bP67T5(tYsL5$^{A2JJ!@UmtVTcbxxCzR95_nO-tnht+twUHtdKvuTfN8CPqo>WaB^3XN6edq4)mKwI)b#t8RzQt+*YPi#3yYfS+HYrpZug}&wX<#i+BB7Fn0CkDFHysBq&OVD+`&3k z@of8Pe}-7gti9Li+HRzn`BDcTS{fhE zqIe?v?!~;RA-47BXYSLr3CLo1+a1f@c4V?6wWi(Yw}sf{X+P3xPKywG@rQmN=-P5X?QZAY=+}h8u5Op!+wDXXiDwhn{M;zSlKU^bUf0I+ z`t#gs-XeP*uP5KF<}b46^KgM%Em&kP5OsFGeqCvZU6%39DP3zv*%I04KF;q$%zI7s zDqSn#CHWH3)5kr&`gLNp1{BvHng-M4fNv434L|k(Sc-L z`wURG%@4BGsgOYh$tmvUH-*^j58d5$Z7(G|&=3a_UYTQG6JncRyz^^aTZaV5OCscj z?X7O{jkb(16<=y)I+gLro}caxvG$W*59!);UIrJsHLYJ>N<#PNLxF7&x)DfGb3$`5 z020z|$aZE}>dX-P$~kYau63hqst5mz>>kmaG$*?;#1_u|`3bb2C;L*+;1o1CMPNj` zH5w3N$F5zJp=&N+_)_OmkEE+8JhS&Z4~N)}J4b%2Yv27r%y6&{^Kbh?JBbLFaE@De z067#tnBjy>b5J63EB>_;L#*lH)SbHa3^HKUITxk7;spNCQr7L>{O#I3Jk{p_We!m0 z5Iy5W)QPB5L|urw5OoQ<*X-%w4zZKVnmwj#*HV6Eq&gaUVCwokCx~Hr`s91TFbzrI zdiFp*N>?nt^@DFohU)iJ#l4-wdwtM znyw8Yb(I9*&{Kn~A@=<3q4B!b1HfD^8Hqg2_gXL%Vy(A3G1x9fnnSfaavW6#bf&X1 zi9P;glsFErb2JnMscfZV1{w#j;zWVS(UEZRJRp^ zp^P+gL4(;JKcE}XYPa73OurKk!-YqyUEn2azU97&Y;fhKOVBNLUwZ$J>44H~LS4`W zIS;}A4bG161h@eRUjj!nO+WPXash&cGj_-Q9_J*r1!6VA$->Xo|bSnlk%|C zC%2B#E+>f1g!~pg9nhKsBI;QnJa6TKf`J1>IID7jFEtj)MkH(C0C3dKrtH2m8S3@O zpne#c;I_n2Oxx$r1gwI^rN4w& z+N~$MikV5xLJM|PcIrwk81>+qFuK~#zFIf=9(46=WR0=IBs4dU(7bp;^G!mn$lmYY z#rKEU+4Xns*R@V4;{es}PXQ+ltnr*~tKSU|+6Ek*_FhVeW&QN+KwZlPs_H4Vvu7Uf z!-$^ANjC<;Q5kTFRVQuig`x18ak-vqk$eS%oydM|M&Dy0_T;;}Fv%Z-s{fyunur3f zY&a(`#PV(#7uK~0X|AxdrG;M>huH1Ml0nj)wPhAml9p9+s{Cox1hrNsY^l#*9bymq z=6BJxs#54v z*1vTB{&@LUkunFlmqQGGhhKsC+wgT%_9*<$@Vf){3Vd31O(GcFUbs>s2#&@N5vPp> z!v9NOx9oKJqapUo*tbVxWdcI};~2^~^yQoo+x|o3L0!8D8EVJM%h6V!X&Ifrbi7vd{>wT@`ge4_@3RoQG-7R}Ys*l8 zsV4;IE+oRMn_dFC=6*D(x`Mv*uoQe-^==MU<$o2W&Cs<%U;%W+;;#pW*u6g|&DFIufFRM^ zr#I`PsR+k-#a`^NI#K(HWa95b;-lRIFAXt$bA!EN9uPI>RQ}fr{2w~6VdXlk8!z5f z4SH!Dh_cTaVs&Gqn>6v75WDHN@#DliP&?Fr8}mvJ?c&-3{#%LtkGf^@OC#P1F?Q+o zSo!`7!lh=RGvB}Xft#r_zaRdGjKR1A@Vfc%wZ3gyhS=DCUwd`!5u`}WxOwxo5W8)} z)%S}*Ht5$e5O+DiUe~p0z=%`k-ZQP!LTt|Pp{sOlC{;&e|Mdq7C8|#PAh#!1CHIZU zxEQLWBM?Z)Nyd*r(9S30D*$H~&r5xQ@uHg7C{o&w)>?Qf&YN|D!nnUrG>b<;V}Q7w)}rvCegUoF;wZ%Nf(4 z&E|gl5q4pa4bII5)dSxnZob|8_%w9hCxHJ)DcJhM`u9WZx-UEYsB0UMp{}?0>r4L~ zVt4h}34we7DHvQIe7*drHWy)xy)~yNm4w(c%`;_Pn*>nYT*KE%Q@@xUCStaoPD&Cs>ofg2|l|LQZy5@JX1UNA-1%8~Rxv76NLbFBva5Mn*Q+TKvt{tdA??=Z8o zEw8`7J;YZ26@FLOUL)}%)iv+aXLk~fw_M(OAsDu?HhVpFj!F(~uwgP;aDU}6U7HIm ziS5Yw3B$EP8>3^~3Tx7qHXSjB^L{@pWV}`fu>;K)X}yuLc2xUaT@Pv<0IAjGYandr zlk+W*M0WJmU!Gx;Pg>S13742-WskG;$gUDkmDY3C*k(P>40hQY1_2` z?goTu3_O7`ptVFswC=fW%1&Dn9aoy+6!Ot^uE8w~5sMsq@p7|Ff}nUYV&=&Dq~9 z!%n7qr!abdJY<4EZ*V!idu87pA=ahy{6=wd z%F6a&<6D_uHBr}A#Y^RqtIzzR-Ae`1@F=w|yq*etZtrfPonKwofCjC1$0Ww)K(}46ovY&=1PD7mb zpye0_*TG$k@MNSt2)70CZonN2e<B0}bzyd^spYwb}}oLR=S6H563J*w%CC;4SC}E2YHjU88OdJriQfx;BFW;cN7=+rf=kZ=AjM z6Ux$IWa+oaa)?sYICG(T0rOrW`{>k>Ehw<@^ljLa@oaGxKUjZ+|D603Q8Q}wlog=n3Q9?2Zwwo-E5wHUH5Q7tIY9NSZ2P)7+d-by(>vioLlA?G!^PipN+1k4t8fQUGWPh9teuE~u`}EPZ ztw=U)%EIWI$hLL=3CZK`kM6-d#dFs)@O}AEb4+7ZRr&icPw`~mIfk-D_w4EtVm}9V zkI=PBjuB_Hg|Yd{%yHPX_}8`3wN{k;pY7Ar*A6=glAJTv=$b0(tY=gOGhaOYYlz+4 zvn>YjCon3aO-W?;?AC1H!`j;bpx^4*oMDm#C}x%vM%RsR?fW9cwtUhIgs$8GI%bMC$` z#9rU|9VopN>2)g~S2?F*ypq*7UrEEv+pb`YL)W(RBH}FViOjRR;m#1d z=JiPz>Dp3CPGlR0eKR-2N;VHo(Y09s;m9K1Wc$vUw#`E9M5CiHx{gG$KLfR8oK;~- zQ^S}god%4XWYTVU{AaA+Pkp=WPhD#d#F*ihz4)(>=Oqbq{qL<8!f1K(SN}e&Yx%q` zqPcp?7VPl+U;c@aVgt0!hQ0cxDcw=I{SrUq|94LA?QQ4m53$tlsj#>n0Vt5(OtSQV z7J~k9Pa!TCUJxW3S$O)h@hEP|F1~A?mtA~x_z=C&nccr5uq+=!%|LHifNTk7@{9qM zofa(#`Ylq$tVl5^#o}>pC$Z`ZmP^Dm?9D#LHF|ZwV9vToOn2o)r zzx!&4ef!XRLv(F0HCs?Bp1Fgoc$;i2*nRaSICLnw>JnXR1GIB1y#LRou*NJXzAF`- zN9nvuwWXaUM*gys0`z`1J-@KX#vT zGHm3VzTH~VwGEWOo6f+K1XNd=@-(*|zcKQ@6!G)^a!Ihj1^=n%H?!0HHVbgOTf1YZ}*f?egYVx5BuduBt7KoUT z4><~Zv?6(BpRal#P3ck;25TjTHxYOwFJ32`+HHlxUS6}j0R$wse@Bvq_o!ds(|q0t zj*bO_-PF-uDMF=Ekt3mi5`OI)B7$b@^md2wV4D=7DpWf2lE|*Ds@_T`YkSF&X2In) zHl}#yq{Ow8}!5fxdQz!4q&;0}N$S|fLa z!)USuZx+P3?9AV!(_$DVn}7YG9^7GP)35p>H^iDXo3&jJu2a1O_b)7;JuuN8c~E$n?0dUOIRvU#ge?v#8F>7iwj@yOR2?Ak@I4O=3O?mY zbSvz=w+3J{`N7eTFV}+)+8lQ3fdMW|5R~}Mgb6U??kdUnx2{D{piH-WpFpcY4h;l#eea64UXlS-T%-AJ@}m63PNsm+oD9s7rU;qLQ)>( zjXJ$&-)kZE{@%~;(t``nZPakK=vavD?pJe%uGOGsP`&HMriCFk`P<#!=~^{FlB`y8 zSyOnY)-mq;&re^$l?Js-=Bq+9z%9v92&KZ-e^BmY&kZ@GK;X@OqBfDBk&rcoPeL{o zZX{fAib`i!2R>fjkeaZ6-|yqmgcqbtKB_%V8(UL4BPqnLKGo5q2UkfRQ_;OS_1|Mc z>`;ZWMGwx$Ag57Z0AVB=;#DHs(4gI5?MBp0!^OsyeBK-@nopuG%-M9r!u39N02IDk z%HVC_?HX^wf_>QZElm%welw1Ik0~Xme@9?ijv*_}MAWP@xM25xpaDsw$4zz44o!XJ znc#W>W5}CuF-8@tp!PrQ|7kYbzd*?U983zx=@z(7_EFCtRaQQ5ML7h=>Pzn5k*1m^ zK)Mh93AlA|u_=eP!L&`Nfolv$W}E$R67V;Ge2w-34sTTw8@Q)>Sa7vkFc3#7?3eK@ zJ;ZkQ`}ih3cn{+HU(9cZ3kCh(IG_io+tezbZ*aPTlQ+d%RbAx*LTT%1Sg$2ESUk!U z9Nrg{GIdDx&9FZx2b#ldg&J+=bP(aJPtL}%;g0<^0bOeV9EYcwon1XPv6#4V<8PME z7+DU$?cRZ2w^B7A5qZA*M5+m~wXHk1#!`W1f+PShpLeJ|#3cRwDqVXIKnwyaD|mi+ zuMq1saxiSnF9WE02RqqsHGfRjHdBm&9mM@M%l2ndeILFxs0|D%~EwiBf=L1O+ z6P0A+f@geb;%#6*9{4JYJ#%ZX%jdI1+v+KwXGeP;2M9* zo)QB?$O#Quu4^LHhq7Wc1Q}=?we2FLQQO42!YM_l$5o>M7*d2f&J3&Gswl`a*Bi1W z5qyT?15c=50Wh_;lB@`bbU{RJD`k2I65HI1|#5L zN3>62XS`-n*{|4Xp?Eb13%t+YnO#Nl)A_d*&%V26%*q*g5Me2fJzb8El4bysiTTb1%@S%)ZI}v=AHc$|CG4$s(-g4762Z zr}e~w0oo&o+oT9}OADA@+dO?G)pPY>+W^!v1BnjylaYy8_r>6uk-9dPvSUVaus=RI zfemQO$JbyjPL>8KLgPP<9tUeM_m!DA2p_fr%W=AwB}GVi)I+%}%i0F(>$~P-xMcC# zF1n}JBO#W%aO=<5Y4c2^9O5#u{YF_=?W;4iY+(bf_U_sVgv|kbHw|4ssu9b~HLb5p z)^_q_QdM!KI9U6BXMPW{4Bv~e_0Z{`5L?5Cybd;NjPi1bP5J%KPjqc6Pb4`u6F*;E z^k;}w?6p6HF^)uBu0kKJ{cdh!;@!E(cRKv^XKc;H?@d?|1qMjBZYHz2+N z{xrmC=-mL^gK&G1UqQXgkUj@~Ib27;_QHQ2c-nJFfOwM10*lvtbfbk>e6~^cP)v9! z?8C+RQA~KBLr&;U4F=}q(XV|;C=ZT3xe~qbCYK;mDMGQ>j51JQG{*zkFY<0$7Gj-W z^5A~aqrkK$0r=*|zGc{CE_^Rj*Y2i*mGneMy237Rw``|21pr$n&beastQoSE&bWsH zo@Vj45aqTxx)W>N6N}pJ#|<^gk(ecl=6KS`t8lbPp#z-HB>iA$N(Lg@OsIsjW5l@BV_bqg{`aC%}&PAyba@ zM3l6#cqcCLr8K(jH7q2!K=MHvfnHU(q7nr0r7{XUJYeHGDscLn{%L5`0^~q#Sd9_0 zZY#cGH*QGoS$Ubbp-4PQ9remdZ6wf;{+I0%?BTa=h#Iim%^PsC2iC0E2(lXzhSfWgE{dkGC)Uci?z8HH={U%>BL#$Lf{?Fo z8&MKsANI{dso%m%Wy8%o7d!O?jGFl~h2Yaj1ld}-09^g)EKs&;It`{)>AUn0`>ExoMY`63=ipPoc^g2t$)5kI$-`91!o!bj zMtD^ge7QzxnXS z>AJQDDai`%TtQ1fkxcP^&K1d(k6vZra?m+@{1uRc6+kl;h1+E`LpiMLrau;FGdY}3 zA?GC>>>0K4X)ap+(Ay1pkt3h{>?#!5jc27f-jpKiC^wc!BpaqODx#)1K=9O7OCuq+ zdg_i{x|WG-9@r!mz+b%Pa_r21Eio{Uo;eNpNIpW!Cv|x$#FEBt1#dqC7;STn7K7)T z&d*_UbA@$FCCpZo1j)|oa}Z|N4O?!9%^e^?g4@BxlQr=)TBxn$V4AZ2K@y-QCSP?o z=bkGlwdGBH^4Hl@(NrDzp{!}Xwz-q4yj5n4ll_odwUWk{Z^y|8LhRPuEG(wV1YuXt z{tTA17pgaHh1rTgNiKH#FSF)pX`(n<8@iKostlBil}n||Cgw|1)S%E%G<&|!#uM6y zzfrs5MfqGMM`M2f7mt%s`EDY=7JC+XT^Ud}mvCPdD`nhdz; z6>S_auvLSu-hC7YE~gyJHlh7gSQ5KxnRkbF9WR1<*=Pz11-Fe-9;6l-C|#_d70Z>F z>A-cj>{;M*^mDRaT`$H-;IZGse7|ho!u<@>;?r=LzbwPyPQyJ2cN^T*a9F`v_P}j3 zr)7Q%SF)3R8B))>_8w)$b*i41zN!Zw!9_k;>K>4uy^O}%(zkCY#U5y`L&jFMa)DbZ z2$9ajec3lGNyE6IMY5@WEXb*#XI?tIHN-ad$~*}*N9$LIA4?-jS+wD^q7Zv|`W&1X zwLuE@+H}v`$_n+lr*SA;uo;@MF%oc9*UG9dY97Q%)uO3ObS;H|9Cdc#Tv-2a@$Md| zYo{^wahCKg%0*MMS`UgO-^@B|F{h?rBnHdu7yP^yXK|s zZ-?~YE(xah?5*vyL+rPmo4T$* z#7x1D?T5jqdV@oRb;tGB$Wyq4ym940J-AznVB@5y*>zh{8#~%>@xBmKl6&5Q-cx0o zM9<B|51#blyBE0v%j07aMPEXe)Y8juLU)W<&?OoZiV;=qlVG%kpnER-*IFR6{4{qc{Oxck!=gQl2knMG_uq>dIeqDFs~&vT#uju* zJOmTz^*6!Dwc2b>{e`)WeOJ&19l7c9Po9K*Mw;A!h{4o=o$aT;Mp}i~qNZO!1crhN zvt@M!u(_3Ert@oM(qtBEgpKv<`y>`!+nVLTR9}jG7<1HWX!~cH%EyRT+A4mGPA|T2 zTN&LVs^f*Q0$=(j+Qb@8oZf)lS@Y8@>&(%X8-6CM;HJ0W8H=o;d8&S|U?{lQn(*){a_` z7rf)%0|KR6`ALS2fIcuBDc5g`=_YYcUru*M)O zw||rU4}FO-(Fkd+h-vIEW9D7#@ZrsG!;l|4ak>!+)8R;ry1|ibehTkCIO1#?;&cMl z68`Im6PGo*(kMj=QLuvbLdn53I`Qha@i`+3i*SFi_f0y6>mn)A7#K1zZb+$MYFpKs#TxiF$hQEIOThXj9?kG%<(L_h2X<04&MqA9bLD2Kg`#E zmfWjr-_yEYiBdaYO_)9TS{#&3?)Rpyy-Nw4akjguOuruj#2V)JI-@<0Bs*JhcmOuY zzkZfDL)V@F1m_P_ifC~qX>KR3><;fUD8!myv|y;N-2o&n?`yz6>X-B6VCApQs$stj z8{f9>pap83Ybn}f4uK;>8aQO>0v8;_xijm5*;eAt?Y^{PXrUME?48eRoFVqbpC6X! z!S%$7=`A~~gn@qhUF&rm_;5Z{joJJQu9$Z|{e>R9t6p0#qPEU_xT(VXCniq~P$B7Z zS&C2(Rf`5wOO*laNWm@ac28-l6MxMcJmy7nKd3mm$s*x+wvo^x&nnV8sKE@e|-L{;7gzj!w$pY zSmsBAiLUz`2O5)ZT78}MQ;fHV)I;Da*#ZlJ=M?pR_1ED|Z0ZxXlVrDZ_U{NVSDc&S zld{|k_c7cfa5un#Tz-i6GKkWSBckLF@>aVP@4!Q;5_@lLi-p0bFGOa|k()mVE<~z* zfYWBjus`F7b|OLto!;1|u*kt4y5hP9rV|mkW?l^(Bjr`+3*0ppFImpK0fcn8ZI^q&%LVW%) z4{th5`H3gU|0#wfXBl`Vaa*sD!(udAE*;2>Xqyt&YR-=;)+?sKK>uC{;mgi;>-!dNr4AJM&hxlLtcl)c+4t{x<{b;s4ix^ z>?L1tk=b`sQ7os!PwP~+$vC!&{W-kTPjy6K4QRn;j1xix^h7v#4GKdEsN(YLzi$v? z-&JgTNe{kaR&0`?vZ0$k!5xatqaMNu&EpET5!W5N;X~rd659e?N>bUx-47pzEX~1~ zv+`Sxf)-jnv)(6nY+y|)lA-Nm*CU7)8Z~rHBIv;xn4qEi(XE&Z`+jj?K_)(DeFUGzixlBZixAJMoGka$6W6g(oz_=k?3l-bqy|Y;r^8Wa zG=QTSONY}I;Gtp;@7%3f3u@cIHjm?M)5coooj!%OZHg67%*Sww3?9I*B^cj6*o4qJ z_j!5+(B_&F~z4a2R3qgjDiQURwO!9(%Dn0(RVS05uDyu9bsH0ZE(IC{f4Zn$B_lHkLV zpSsn~qS-01@>D-@coSM3Bf!pfU-$7I%G&pXtFjFD>1q4zGptRAmdygJ|hl8 zO?HS@x-iFZ!N*RNj|#kb>|C&vO)z?&;cr5FP(t~@`Ljao%)x!Q?_p-M~+JE5j|-KxBlH6Jzo4feF{vQu?x z_cCN6kp;`eo}=|S6?bg;6u+NYvH79|l83inT$v1c*ecj%V?Q?gbasgS-tI&O#xS4L z$JWwO+mGyv#Dh1m%Bxp4uB(|8J=NSAt}$Hj(mG~8va``I)Y{Qkjro!)oimC-RR(v| za@@wgo^a!~5c52F;tW==CSMm^aBj4t0zP&2$b`Wnu%rSx40;sYx3v(~W5bL4ibcEK}*y#1Y=nq_KJX5f8 zJYH%ekeJ&tK?ZMwC^o+(Y7Hjj3#yPt?K}^TE0|DF56AQOa$rjFIbujOCpcp`yaoAZ zt$_l`k7c(r&|mnHcP}AOY*ohCqRahshjEsVK}3ie!zJlb5VS(PQwfQA`T()hOn5__iq4 zjPUJIjr)!$W-P>AQOFlQwU3m-dZ0zRY0c^bYU%Bw+Sd_9-`}Z@<7)egj84H41qM0ppXf( z);sGX%@Rnn30hN&beDk6A7H^)wyIbJRCl7RB?t^cQF66!%y@&g@ z=)K&xM;CG55yfN)JZJQN?z^Ikxt|z)fcr_&CEQPrJ_tXsp|;Yc1XiNU$g@V5b0j6Y zg8SC!L+}HKYLQnGScyJNo;8XUCa3UG?pvdeabJzDf*-g~iV!w77aT3Zks=%=LI~j= zBu90fu$nR}(Z|WNM%R#s#yLbZ1k{=a2N6x7$5i&(O^J@4hwDyu=yazST;#TS{3Wl-E zR&2K^1}Jg{)LWp(5)$pj`C$~`EVOfQl0zg*vO`o<%N7iA(CQ2{l)Pb(MFEcpTm}|H zV>;0-t%>A=DnxJWflktIDwuQn7)h4B&^A!WER6^INr4!*}D~ z>P%K#*2G{BAT(`ZOSU%6lOjZztUf~Y%Qo&AP})vUvkb*9tF)Nnz()xom7M{Cz#!+yKJ3d) zZ1U@{DRw^WD@<(i>#!+yKJ1PrHu-hf6sw0VzMm281UNNcu0-E8%OxfesE$b#;~9^q zq^mVm=oYscz7oJm87}`-@Le|5=nVgONs%Yr7Vd&zq1WgNFWfCYSuOIW+m7R_CB@R& zoZ}W-pgof5&kpxeg2l2A4myeq7YJD_-{1-L#=p3s!greRBPQM#@S%1r7}^OWZ$BcO z0eOR*<^5N3*8Bo;78BSsOSTXNk}5SqPY;AIt#ZLq5rg#l+_kYRE|?3JlKi={2PHx% zMfP^ch~ph0efD#OFC&SwG09=FF|X)vJgiN#;6?!Y!7BQ}D*C|Ih?mgHek_5=B**81YWSJNrxI7qEi}w9IXEZDG{)6JXDv*xCVuSi|yde8{zV0 z*eW@9678P6rFL)DQhTni@ltz%uh&w1tH*aOo=#tTJYBx#OKsT${S#4s5Ak0*^xzFiX(f$QeSF1PF1Ow=8Z_V2EBH-LZ8GkVYmcPg}bo}mb$H;W}o;n2u`#V z0$DA@+fV$9I38p|kj6R%klRj64y;d{ff}q|C{U(`d%~L}MS8)Lxn9O1O7>q%QGrt) z!@-@q-T<4p3fJjaS@5j$Mg&I7o-&7-r)eyY?7t3K0!|O+K-ph~FrPT7|8g;xH-b-p zW{sGB9;2DU-xr9-6N`?^MaM1S8xWZklM9c}d#%Y4!eTI2A9OtlvzVf~5`>y#l`Z`DecBpU+(6!SG_nP|R; zK2qnz6il#rBchziD2Mj`2=n<@a5IKdZj-#mV9I2&%osuuUI5CW0=RvE0;LyC`i?irsb-c-9*js; z(;L_(88_9E8f*6`f_QijoI`dW(I$@!ix_9oXrPk)+iGcu`m?Bhp1`};rxn>E0STHM;<2Q&{{sjNU7~BvW&k2DTWwB9eQbwO_3yL9w zmgHhDR|sG9ix`(sC#!}8%bX*nmpd(^! zJRdC$G03oZb3)OEv2&+2JNM^cF_25zcNzg_NdDX4OOfe#dYY->+u=h8Q=(9hqhXn# zEZ8H=AWWH${OC-CF{Z7SJ~5uf7u1x73@=lPP%hq2O)r9g@ffKlgsD!hStuY@?oq1P z8^En}P7rN9Iei`;5BwquD9M#>CYpF#{C6UYF$<6IY&<|b(Pq{}>Z#Oh6*f{CybXbc zQ|eR*Hn@;E_SIRj^2aK?ZdBJb(iug)f(=;kyyXBu*Qm`II#KZ%IO1@fHh| zd6E*Rr7?!7`5r|KIYlVw9KrZfsTiw$(xF~#tH{2!kZ^fC0Dpic_yl1kFVOZl*( zJqq=ji%)9>B&;>Om3}Kw5T!_!NR-5w75bk9O3Luxi*msLTo+dYlCcP}%<>G$xDNrz zxSuNZgcrj@;sZP}J3dk5h+%Nu-ocauSu%`7TnRUpAe-^C%cA!5I)k|as@6f}9;FZx zvA^Ltj0cgS>|J{KFBftJT|?v1jRO~X3XJ|r&wyg!H9*zraj9tu{-wZ{drZNpx>70~ z@2L2(P*sZq(5O?o0ajSzEt=95fwO9Mf<+C(`r<5{N-2g42K79iZkBr7X)9J$Kg=@D zW5lNfC>aSW-tGgrDbun?79}^4r72g}FBl(oQNt^E!IWayP%t+{(zs}cvgpqw%nv)w zlm8T2{5V3FJdyp{Mz40C8sFw(4?0l^H_W;_f$V?6-H zk~csH)YvjS0$AC{WDF(y1lCA&+~JmMj$++lJc`7kx-y#JeZfSz=0t6h94mAc3KiJ# z#U7ArKCZ5lQvwi^uRKRLp0Hx3u0jXp5i#kiBi~#jUulkvMl<9GviBgPY%7hJd zwdbrHC{v0RNgjZ8z|d+ARA`-J#RvreqfMbCr5cHsD#cb{9^|M8$=p>vQW*{G{?=k_ zvWHe5lblV!x zop^44+KpovFGfQL@X^s<)s`WfDSzwdCs0h;({jzvwWyH41U@h3k^Gfp7QiZS*3%ke z#CQ_OVwXeXhUhJapU>s=GBHqtIiPJV(I(sd5Hz*es@QwhO6yZp-3LlWPY5i@Yg6PG zb9^~OS}LJg1ZJjrBS=-iSdt85iL5TDQykb_eeK1fnlA3-%KXW5@(|B1QjB$|iRy^6 znadp0=!b5X`P081NX1mAflrJ9NKg9wVUU+(RC6Fb<1h^lq^JJ_w2v^oe9VGHmIC5M zr`W^isq-tB{s>J39T5AajKZ08Z!ZQ@s*q{@-*=S(rJ@gMTe<}s_XMX}qE6Wk%z$bCG<*Vdm>7}P@eB_I_}r4;&#DqkSfTOV-d74!8$@A}yr zQ1)FsJEhQThO|C-8ITMzrqr$vTA&TsAE6C+7nsipxfrp#ftP4EZpN%xg6{_7H6`5V z6w8EHkW_X|m@|-<`lB`cB3{NgltFW(WQ;dU%R^~Ff3*9?GMQwD{e0pcQgYA zkE|-6>k=DG-c{Zfyo=UBF=77UgB*5g9;x{h{U8~SLeKbLMOM^A;lMcIE28)$fh;QH z%PLOiP|(?g=!^_kNU!=*s`%F=oq&_W@_@ToJRTNHBR>X@$D^?7YhP+reI03b@B}(x zx&`@#(Awc0pm7ppM&{=je$K1dJeNglCz|Mb%02veQ7nE<#%H+`GN0v$*9w2>6IEdj zZ3#&fvkQfc7Br7gb^)VdRg880lr+EAi*M~AvxN{j@zMA_JhK30yYCqsl=v+&(N$V8Nb7$jmq3Xz;=l^ zREPlcQzjeEKfG1y!?y4rlm!*KMTI1%8rl-%Z8?oZl2a@U@u_zC4rdcw$L*4890Y)h zGs{c2WctO=T9BNKLwQg{u)TL#z@{QnU6Mp$r!05zR`w3|rHHRxbqSWKz_=ARKC1Cm z0TnSE2Mr*!ETCP?Q`=H1K1v-+rjJ$gFwVFN%pi`vc&?nv-el|`e!qnMWGT_WKYoA+ zf6ws__$RRFazICShFcAH5bh7SLK)X?;pW2~g|ngw+63g3vj#im?CL~&M?m?#D=0*M z7@<`mnIR&%v`%I)!KGE0!CaSy#mYbB&o(g?m!_IQyG#26HB+fxm-an^axUt}gYcLDuG=3fQ5PYovET6+^ z^g<{@Ky_*KO*aaHuF+-??HXhT(b`Hg2x{p)R>F0-v<_y_>C##v=t28UNU}>SG=peW zjv35wX(?vV?b7JQR4ORPrJV++DF_aJYX+H1``8RNa%u0G!6KLTh8b+)(sr3aze}U9 z-BAevm$udn7Q3{SW-#c|?n6+CqWfj1H6g=K)gvqv?7 zEA&b(1;N3VW)Nf-Q~qq!luunq-FLn&)ROAT`5od&<$&kknL#k+6Eld?-#3Hc&zlII z+m2mkGWfgR41(*Ao(FTWnT#^;FoWp4N$0^FZ6<>^ed{vyAj}K%rj?0_Zlcd1Q=8Cv zxn>YOmP+|!yvZtc*t5|MvY8H|zE2RjKon-*xT+v4oQ*Um!iLW6&l-KM6GFG$%mki2 zZ3a;*R#X-SOfYo`g6HyVo|%kpjF>^xKZY>t#vgXI=k2@;jlc20zZGsK+}&`nQ1Nej zt%koI4hvNaR&IPOLeW~@g*yRv3hp~N?KeCa97y@p459;$m_am!axplNz1s{zWU<)g zP>e}zA$brSd;~$TXQ>Inm|S26AssW!V1_F=g(2*A1;>$};|h)@Ki3r;N_oob6}*i6fGcrP)zhZ%+yvW+({8@9)sWqd+L&(5$sV%PHenJb6tyQZ86Pi!~ zEWhF8a>kKkwK5l+Wy9u!Rm>MVv2~p)WPS% z7%dkN56Kh{)f5i~@$j6}1T$;)IWq66KB+*bwbnW4=Z?Te<_Ih@ zYiR;LeTxwt%N92R&*f7*VcRK-*>sbzb8AXyk!mY$$eEW=TBOZF4wI8&05?L-^m`TY zH4`T<(9W33pmw&2%VwgVJLYpbyc`=6_7>Ohilr6}Y^@%O4eW%9X|bSGF$qEKR4lGk z42%WU3T)K{-S&z~!g?tdPd10YqvDDf$XU@Q7EG?Vl(6rK#WTzS?XG}TL=>1&!3c%s zLQbEz0y`>`M-|v)STt@61UqgcF|Sy!;)=@_V(s~}EEvx*gj4QrjKtK6)stYS_r zsA2}8&?1>vJqE%=0;y78dxDmlopQ z4ia&1Cj(EH&y8oI4_SOksH)JH?88sr_)>h0@J#g;;pz4@!86V0$1~j*z%#>FjAy1V zi27H8bgwhZtX`1j((VGZj$mpF2+KmzV(FIc%ssc6$e9hC9Nyk;^$I0Qy}Yp(*Mn1A z(JYsiUk^+)t8M4i> zz`)iL_c0AT6Y=TpBnONmWuMu-zEt`)VD-Q~S4)=i@ zu*l;-5*3EdafY!5g0%xDv}ZH>BE@FB3xKTF;D@@#9DotZ{6VSr03A!wo{Cz7k6ny0 z-UpaZXPtfrhv_gyE&~ z0QN~D&?FZ4i_BMqg9Ba>D2)Z0#sbY_0sIc88t9}%CZhshBSUgx+QKyvT%71bRpNR@ zlm`H~J_g`{(b8l}@E-+5C5h5x0`drqXqTC}aF3efLKLar+QToWe)Hqwl4^0esDoSR z!R}ms(pIw(OcHg~PY@-8 zOG^P`yfq1IsWF(wfHkdt5Y5=qOW2p8e-vjrV` zs&R+dxQ0Ycu<_~>VU_eyTR98kjbdweB64NMDpeeN8?(Ap}pHEtH9fG?`MQDb;xL z>k<7CIIH4lK@Fb-(S=hf#mIyl1O%=({4v4JvOYmL!w<_Di3zU+gi|drql(%(L!sby zC6CBP7m6*EA~yg92a?=3K1Crkj&S{lvikRtZW<>N3ro_ABxy3?o2mOL6-D$jiy+_l z?3^NgH;bS|vj_^BMf^dj;2GI6Xc9IHH{wdU95ZpX4 z!7|HPb_!?pa@YlEpJl-AyP$0Pqx--6AWr7}U&Qe3Iy0vDe*iU#@dxr| zm*X&zQo5t)Nq9@*c9hG{0}3VM65iF4e->c=E)=0VtFvokWs)Dav*MC)!N`o^1b~hb z3UOBnni*%9$Qdr6WX#bjE>wx$QH=S3)%M&1iq!VpLJ>3b^{AikUP^?>%Ik z$AS>IEg`WyD*G`btI>EAPkj_mJW3~#jajg`5oiO=k~rwRs8}JMiwaOYY6mGY7PO(4 ziv;_gfbJj&$|jFKZ4`vk^$#V+WkheGB$GQNuU5r18x&W}2ozJCRlg~t z>e44uBpKhKVkjyY^-XmYrlIJ>o4Uh5T%pHT zyv+C>I4)13M!O=LeTe~0=1j7eB&rSrqhIA;?Q+y+Xd^P<(^&Y3K^EQ!d84*$x8hl1 z{2RIPQ9HHfE5OA`WCO(hsEsv2%%#NAT5F3SI`k3jCE*{D)xdUL)uzQ@yaPlj90y$j zD#sWDfEDadx$xaNE9axY>VnUH@m6Q`wK1}z z`+r6VzW|PRA8c;iv?DZh&|9&tYI}-4jX|o1WSh_BJOIG>7=Q-=;ChW_dmg|QQd+%A z{4%CcNenG(6kdlpUZ5N|-vIDqUc%{Klq)+WPKSA-R2f&E@%f;pp{HO0Hmi`s-J!js zlL$9LPbK=31Zw->8a73Zb-;$M_TNUi_?+1Wq`fL5A0*zWPC)^=M3a2h21CZSe2awL{Q0o7*LZT}ABqV37D@dHA|YIqJEYpcaq;&bIc zBa>`=19(Y_D&bxgSZvHddN2un#S@H~h~lNtED2Y;egvj*Cy21}9zJ1|Qe|;qZJa>sna+S<4~4$@m1?)+eV|5!Eg4PV z;hg^>j3DC|2v=PiPW59zTx-fQGkAqRN%oeiGLDaM)h;{}ya`C*CFF^<1SG@jpF(lm zvZmfOpJ&wv01W?%iVTQyQ1rLNf90(m^|um*LIIQ7fUIJdY|ym{|7pmwY_vB)9qK@B zO;Ec!5Pm>|_Or6liD0u)n`~TZqFoh3gWS&NDYO8BM3I1Im&$4h*5xWsf_FEO55Doa z13uVF?_okFRes0C4@(ID1~Y2diw2c_CdR>B;L;x|nae8~i`5LK8`+O5hQOs;Gn_)Y zG-FbTD@AH?s%+H2pEDAjX0~|}!71wko^?Vjx{ybw#G?1|=;T;*5u(UL4S+{2jkTi) zbhYPla0`&>PN*BNks7~&e2!->V!?3U96qkwAx{UMC!H>gBm`swA3)}r8zL_j)pU92 z6~{G&Rl1-Btrfq{>wTT z_s~Oho0a;%6$oA)Qt%bgTgfj6X6P(@xl&Od^zmCaB{Q|61!25Vz zG4c!43aJ#Kj6~djKe~aB1SDWp&|nnz9hQBqj)GJ9Sb+`{e6E4nN2(&a_7!BifSeiru&aGftGE=8&OI zD|-psFU3C%wUH)=F`IvnA?y4)eHoJDbb3QGr^!R;4*rK1f@rde{093-rn)HRVkPh}iKZ2ZJS>^BHG@-x3MSdxMH^#cU6Dx>6y{S(Ymc#%dmhEsVo z4)f2OS2eL^fe0MJ^_>S-QcL8lpsGg35KmSTtAT5^_<`H)Z!{(061+88@f5mx+j<97 zeET3-F-8zA%T3~c0;wRJH-y4<sDKZ%#|86Z zrKBjfOURZe%1|S(qa=KXDznj6A_Y%IHKoklBu~kuw zA&3^^$E~nUA$o)Om;i!f2nonUyBpsw9LbW0NVSYL=S{+$-ui&#p@9dVCk zLM|wo%LVimNn02<>_M!Mj+|QQ=t3K*dVPC1vuPZWN_p_pCUi@MoAxv8f&hINb|cwFF`H?;3!|LCGT=tkA zqV?AGoZnn$a!RmBg!yYpA%A6oFIf#*kdNKHAGs7^Pf}5^)5aUWqd+A6pTjI$N($p7)0Rf!0&q@ ze48B31a<(6Ny-)W-~mHiFi*lZz>A3gHMAtjQEan0cozwI=g8Dc#B$ldO*fUUnREFc z2>*sUev&BgIqaf(?4tu#XOt2}A!<0A07C$v{TftC9vHp`l_#2hlH{=aUj{&|Ih%io z`Bl^(Cv>ppV{H{QJ_SVr4DvolM2yWG(AJM=BZlRmLJZ1Wcut&~;bU;uMO>B|Kb$+(mM2XUKq~5V{c=r8P6mx1`LY__^)c@Gyi0O?Klb(Pxjs zLWE>26G+AR_v2yQi1O_C(o&9pFQU_RIfD`&gQ#_w*5H6bm)Z~%kBm?S&+ z3Jjl=sY|l*Bo4=Su7VXp^+Ab?fP*ivMvDwqgO-3Jt44^$mRVaORvujcrCDrI++4oWis2)F7?5pfaz6E|Ju@?0fB+;r0xQ0AxN$SM zga|{#2qPSy%V+>-k%=jAL~hhc^Y0M&7)Q|QwKZ{>PN^@`4N(eI0ujPhLa9)>G@J2R z&1#Brx@yBOf@9GYZbZ~H#-nz9^*TR|b3>z##hwv^nAV~#P(Q|1J)J8XN6?or6Ver1 z+5bA2Qg6|P_s&Vb(BV?N6w6#U1=g8O830OU9=y#=o>daRxjpQjMEHExh_7S62&0Jnu1nA4lyJ% z!X+Rhwi-%^8?&NGn2J6?U1?J7sv@Dh95GsR%B2irj)o}~J~-f|Ax?`v?8JEE$TY@* zt{@FgT76)dZR1+N4SVt9C>Sg3e{s)v3Z9q}Fd6t4pnUo)6z9P>v}-8Zh1-au?w)&lZikuK-3i;XxrZ>rrF&+Uon>J`C1()H>>?Q@EXc*_ zT@;$Z6%iBc8bAb*7ZHqzIVThYX2C4DVnP%Zb9ViH|5J6l?*w?m_dVY{PtUD7bt;{z zI(6z))hWim=DcA>UgIG=UFZ?SjG6lOENJcWhUr*XCW_K1Pox$vuIA-^1CcY^JbMZQ~o;jRsBkD5jyV&B)I;!y;=1SQQ zffqka#+iA@H)HbxlHnXwvKyt5Ko;8V*!V|abB8HpUez%sYb!%dR)IJY(!TLFaFUa$ zbD{PF$BYs7ucmKgg#8mF>`xG7c(Xzh`esJhcl_gI(Ix!d^sX>E)-1J|AgcJ0}chi8;k zC|1@5bCy-X|GTp8NLeqjvOYptT|vYTf6w5s^?;2=-AGs8DA*prbDszwcCZFwwAjHO zc)WZSCVwDB&o&tSo?`~p{w!PAor7mt|7cspIBlP3T*62rtuDR7*E5z z-3pzwGG}>3R&MT!3XOlG5pc|6Aj2%O3}UV72E8QHvF4Mh{}K}NLJZ2t8Gl--31%h zERRemW;(p$j8xZE9g^jno?`L~;3Leek^>qmnNKB|m6C)0BuwDYIwPK25}! zvn?-4+j8L?ZK=Q+ZMm>IIHN6pGrKLfbmVkr8ovK{t1X+)C9%vDz_8ngQaP?a2|J@r z_65*gT(M>cB&CB{oY|pD7NI#7+__iqEv^_JSlflCSY0r_wpbk+U*>L9VC_=W{x#W! zQ;*Wg);Op{FL#BdEg`d~ zGz4T|oL7zc4vz0$e^#29N~CsbK1McU-DuqQr$kfod0?0v0HnT88bkR=Qf|J5tccO+ zV#w!#K1R2jZc~k@&5|>SoE%8fEY?KW+BIGzc4hU)5(C?M3*(*Wr_(SvfZz@r1h(N9 z>IozrD9{>f4{G^5+Lyhxowz%H5UFE{WIGxW4oTNE*5VIBmQhBHH!OBAC==gu3A%oW z%$|F``iPqjRB+?<(^N;5#vw#xUQ)2}`jxG9;xa!k122 znA904@gJeC`Tn8p#g2i-rsx!g&C`8*+Mf$Q@5&Y zgWLP31a}&jq(k-nvg4nH+!X0uru3RpN@V28!$E6JAV=Wo3YKQs&gx)U);pUE{fz=l zpCKy2QuKN7AO$s!B+Ym@%Y)MSnzmaRgqnIYj zcIV36~gJcJqnca$H1>Z?F;oa#mOm(Eo<+Gv23<+|XlOR7Y2~xq1K6!f*=5pxM zxRho{_l&0A2!_|hCOrhC?k?xnLN&RQ+-(&UWq4oIVttW~EiWkt;j$IRyVw!46^tIG z{1>UXE*K?0Cb6PbakS#pF+Hqr;=c=}WGa_w5_1&aNGEr72<;3IEDJqkKC=>76|Bg5 zIZaV!A>csKx-kAHX}fdij;Ty0GiT9dvuboh&Yy}-DZ#{#L zSDtCFHEJFM!1h^POC&m)6g7_pO2Log)97N9JKA;HxiQ9G%43wY@t9@P=epyG2ai#3 zv1_oW{`3})S>aeqXAr-IO7wF9VZ?ErLSJV~=@G47B(Jm{vZ~x$Xq=!@p2$BZDX)4L z1rlG8jB};YB!E(0IDrIzq~n?V8Se@_)knLv@C%*@9~no6_*ya!Pp~87SPG3_6Cm9* zYtG`EKErSe3vmZYJ63^0{}(NJQM$s-%A;BfGac7@>d}r6BWY);b{jqLYw+b8KW!~J zecZ_JrkY;2kbIi(PEO!J33sZ(b@I1irq^-(hHnw`Q3BZ3(G;_BGBILKdvd%R3|nWs zoN~TUXrATnk(p!scV75rMoDR7DqqqS0aaHaxBky8cEKPW+lmM=2ebWNk> zzgo0Bovc$@=A}QB&IevK2Y%EzL#>4VjZfoD{-sJE=(o%?U}pi0d&z3!7uCpT<8>p= z;Je@}8kk*s}q0v5mO*IlMcS_rg<~2&SFFvdX15n12 zN^y5e!f4eeXA)2;L%?0s8UHN;a-io0bd50i7+Vi*-^b-M9=3{dU!!tYrE<071$V&= zjDy=srrh`_qLtpyu*sE!wjajt`$i}or>uv}89$@##89KwLCe!>MYjCWP76ju3yo_z zk*h7zg+-?qZQRN+D{aX-mb;;F@x;%y&l8v>pqG-LFRZrV*`R8^kV=lSAk{Za)OG;1 ztBkH%W246l%c=G|zh=2xWOa-`!#RTSr#eS|{Mh>QoU^=Uz&WDvLp@~tu=**^xpchh z9QE;iczDt6EU8r^(+PKBA1aE!2`#%&^I)Z)GIiC5a1EHNf@_hvkYD18xm1;+lT1oB zq@^zmazoJgWukFr-#JXS(Y~!ckbdGDEL?jV=g_WIdRe_?RfefeaXD;#tc-T~1LBu?PSc~XrR$2Odl46&3r&{;OAGsxY<(9K z0D%W0vj(hP53R|fL$4Swp)fu5K65WKx38tGQOgRdVUlTvT=ILNdU{w#&<|zUYYvOZ>lAM>aN9`hhxwhT2xFK@wO~-(zvN6dy zIK1c350N;9R=+uh*lY zH813Uydw$KULIEGjd$}N&3I>6UADRmr_0AXDMTxzo#h~Z_lDDJls}5xz78h6J1JW+ zy|P;zJY#S*tMm2U@kPo2`{+wqP2I-h9ZD&cN1x*ei#f_FX@v1Odp;p%j*scG|F9XbeaP{YP?aU^3wZrD5<1(2CtLe3vo;yE#du9 zpIh=5^2#nrR~K|jvD{Pd?F)6$t=ykSs*UfUw*t5Xz}O?(=Jkc!E1Ys!+A^VNcUl5w z<`q}jPKLFs#`X;=Z?${Yx?pz%k+(x;ZV6Y*=4vxzmXyZ4^2I{qJ52n^bII1E{|%vu z{}*%mnY7h+cHsM3@~B9~!s@E9RYJ01@wB{5q+)h@;uoHGhPJnVqtWn_wo8gRrb=q8w*O0#~O&#~v3d!5n>n=D>kZ-D7N4?-iuqYQv((t#lt zaxFOdl4P1fV#ob^qOf4A!z;c|s^JxE=W&V@w6xBrk?&2)*Nub? zzQKs@qx&O%Iw501z{vXHP;?M7}d)teX8>qK*tcC89>5FY0(}- zOt6_T^w&AYkowDUl=)^W^Bnk*8RSjJ(DNwUj4`yDJZ6ufzp0D(K5;bZzh3EA=gsQ# zW9cGziSPQpn-~1~rN%Q+JS5L2+v%PCK1(~yT}axukapPo92yiRFe7SL!KTcD&6BUH zj*pjk8zBEKz2F!G_HR_HSi>n7i)Gj`Q0{xnJ$??u^V zi^jxLf9#dcs<9wh;Wne|NGch%q)9tM<+U_vi%V0c1Mtf@ohU^a8%=jfdDc2#WXz+G zupq*Qv^xmh&2)K{YH58qGE0w4R4MP;l=80Krtz-p(An#_r-DsBIp4D^Sl3(O+niLk z6Z0^9=PyVsk_Is$O4MI0lm^%L78^sX@rL1S{q~KL<@PNkgZhe$yOrE2!V@tv+&V$J ziVIw#kLIu2Rn~ZK5)G=W!sKmGw}*+ay=W~|8ZV-LTpQTUbPwrDqA=D9iQ=aczuRxm z6_ZQxL5|k^^`;g*!h~nt5u9!9#P~iE%&C(oo5wHbz}4N`lzt>-%rgF~X0z%@8ov5xhZ8lP$Ji9v&w6*hd(AK^jhmynvlQO|e2^JAW z5erdN78)-m7rmHTPdX4=TZ)#gj)rGbUbIEf@M)r9e4zeYLXvbi9bt7H5T9L*tdd-# z)b<033+ee%SA9vL$)&=4Dc%7J4}@rr;uJjP|*-LQ8oxKiIwPyf6s}QTz7t!P!6P%{8x0<)wUX=MJndQ})I@QW_4M z*Al-`!98^tB=CT+c^%+&4t}`cLsWSpY_enO4oXd_GjnHlD}c%#gDJVqp9D~R3hNzQ zuYM)rCMZ?*cm~(6Ti(X22$n`aW( z^UGoLHSNTYBk`8EalI0Mx)Sd}N8v-1cxhdH0Eug@(0kIDBr5eM8iwx92Zjzy5;c zVNFDNTVP;RL6#P5kp>d;-xMl>>{=Q1f#z&lMbcKiX zjSqMi+tuE+aCLs5n@jS}Ybzo+e`B|l-n(b$-NT{%HoaN7iq}3wY2Pk-J0^oX?DkpK zWI0-N9b$Pfr9fEPX(=lkY3xTnZhl--a5JnLHrr6>F^b94KqK!%X|d#W>R3+hek7AA zyH~~AtwTqv{!1BX+047GdCpmT&Z)^q^7BY<=jc!-Dt8Q=j|oS^EZLXrQmHDMxJP@& zdh)0oA3_1lrv;_+X&pKQ4W4)%ns2Q6#s{e*ul=DQjzJsP1d8%>oR5GLCfvn{ zde**kMhd#wpGgiq)wB${>o3S6cm;50y)82VWe0YI86<8_%q{WuT=Pt_9 znPYm+-EHMQqE+suQfldIl$^;hTP|q40XNgTSul@^TQ6WDY~Bj&%FR$Z{x4jk&tm3x z0k`2bIj*PiMw|@0ol3^sWMRg+WVFTYk*=c|liNY_{rF{}Zelj!}_&dV6|lI0}WMYYL+ha&%8&zko{gxJt0}n_h`) z(n^djDWtU%0fWXlqKs-@-;f4awO`tbv1`Ft(e#=VBTAU!%8d(K3GCWRS}DxNZycVY zBI&;clp%__XPPU*dPXQom(KhC>EF7*cQpJ^GW)R2iZ%zDtrpIG$r5~9Cu}Xj;Vw;{ zOV)Q6#^xa@YRarMkZH>`39A4_7Rx1@7ce-1cjS(u~CzcTl(R?}2R(MJK{OiSa z!qEs5GF|n)DB($tsJlL&YZvD5i^(WigqQb-3h^mKp!sEWB>5*KooFZHpw0?O?PwnB zYuBvtGnU52Yu%f$?@@W2=@OSrSA9VgG=2h>9RP50=Bi&4#bk!ne3uX>Oa@etQpgL| zRupbS0+2?K__6I0+zov#{)Wzrb@NYi=G3vzheoBdzMzCcAbym%xALC$I(4~{@S>zf>dCt(MWsKgZ|W;- z*E4HN`-<)hbK7#k%C0_c2uIh)?*^?mB7>C^y@mb~YK9y7%Y7wphqSND$Ke7D!1oBb zyl!xPL(%%#%~V#Hy(%_h<;jFjVw43As!h$SZBJIMj!F^)1d$-tMrnMenq9t=am1&| z2c0@|55qm*Cpsfp3_-IY{KxzseiOufI=?=C!~EXQ@45WG!Ee;3x0dfg-n|d-0o>2# z`x$<(;)JWax6u3F}!6!o*kNO>^>bc+#8{8#*o+X`*z;%|=pzAoX^BMW8z1usoIru&( zG5S-KnDsh0GFd2bWUgdY#Nd=#O|>mi#1jch&IFRWwZoLUpPO-CoN*`S4r4a)9bfn< zbfsMw6Y3J>h@-=!J>g(7#(;{dKRV+9K>In+N&|fg5NAYI;R!c=k*44t!Qw*l7W{7e z4=GKZtzf%tye4qQ=yF$i?gMBMZjW4{flddn3q)GmgCrc8liMMul;SQ2TOzVZ3X6?z z(Nx3z(bOl9K6=@#W-?%j~Alq3F6W`+YYFwK0ogr>0T{XX{?xS9VQDuYj77Doe1}481-~J> zc;eBp;9`jX?nnOmo0DQ;=$6#W&}WA+n-~$-{ap1e-D{O@J1t0UZ^^k>Y@tJ(d8=bb zs9NZj&i`pGcrh`f=GojAUvzGga))j%|vfvUQ`WHoO0G}{tU&obtEc1G}Vy|NPjQ!|6c zVvyUBa-2;$!Z?7RqgMJbVJ#yT95P1sw^88v!Z`RJwsI?P+juEE&dH9d2`~3YSKQ0q zOLT>HU}Ehby1c^Nu^qV_OL%xZ=T*hym+#icLkmy2k2F>H=dIOj9937?8xT>oHr^9e zM=f}5A0drvV6pHZajwyBhLVz*VhxLk)PhNVnmT+A7;DB^cxd19g<6C6c2H3JG>RC! zRJz9yR;)E{6kAWj;Ov$@@^mXLU{;P}ft6~Fo59yra4S$xD!ok|Pbe3E8(Rr>&CuV; z4uQKjUAXeYjEOpPQR5>xrj7!6*kMgQ-MK~WsiQM+Huv-FLrsxh4I7;r<&MARbCb|h zd_J%ZI=7qiDpLinUf{)Zf38LL4pbrL9skCv!;aRuxLYn*<>7ACmPs%&MWIhFa>rz> zkAyZ(*%zChe|dV&jfZn?mvgrwrtYHAA}5wUO5I0Xfv`ovyqTa)~xV7IbK{zS2F&**Q~(y1H%%TI$fH&$K-i zR&M>BYbBAm*hsLQl~v1nqcM!Jt4PxlUHg6zk#X1gaUk2Sn8h?odoLm}R;F3v2Gp0G0{<C%?z34aLj(`V`PPC1avEH&-L;zZ25DF|C6wi{D$TTgDXCdzxf6JC6~}@ zDd0W$%Q&lD$tFuP8}JpS?6S&& zznX&Wz(>&h8vcp9l;78JrTN|2%FiArB+G9Q8f`_sTiU!|Njz?~%7Pyd*k_o*{^s0Z zv~cB0TI>w^w}CH78m>AS_;-LWGq^AKcLD5s4!lccXPMM0`^l}c*AJ)QoM@upO%l;4V$Cd28BK_|ySsN4U+UXuax--Va(zI`7;7>LrG7W7*;+>|moRP=xt?VyS+5dnu zrBep{N5F$=)*1Mpgr3Rc&-f?aiS5y*Vql|`|GEHJRwX%E;c0hDyN*ZAuH&LKqZxJN z6!2_*U;{r>0;}aaR06S(y#0^==1cH*D}m!Z`?t%mdUpFQPP3ZPe%Z=e^LGCNF+&Kg1arv5uRi@rncc4T|5StjG?hAf@BfK2>ch3ZzJ6z9NpoHeuC{)xtJ zbs)=vto1)LCyjelhOKPaE^W@knbJ4|o-eRxe;M!sz|%MccVR?h%HD_T|4rEkpQ!9J zcxFHOL|b2}va@B{DtiXJP+(v747eh2rh5+JcRX_uE=Q*s^ZjB1qOGq{UP~0)&mI}@ zQowF{q?s~sE>Qp%H}HLAIRNH+#-f7q_CH>MQ?%nSyrbQJ$9MevJcI8nPX}WLF1F*~ zz5t%@INmaMpUg}szEA#d`mb=MEAsNvIS^!sdPQ3~hOo4`1J0Cw88D~!nK(Vy%)oaN zx^Ke_cxS-XX=85~2)1*ftCGsw|9Awa=(>x(Dwp(GDi^1aw0kyn9r7?T-5h-Ne=*)k zQ~I2n`RWhRGA6&~uKe?TeI{UZCSYtPU|ayl^IW1U1yFBJv!x^{#T>?} z6d+1W;PJYGUr<&rJAKoN-CRvzw3T`+ZSJl}zME&jYvu;;F*kV6xxs4%_Ix{&_Fe+J znq*7DLCmy1S@2Wl2BU45Hn^XLf8QOv{Iw4rH@;`^5>6UYadz96HuqBkzHk}v{sQ}c zm;rNqZCZ8*;&;3R&56(JDU2j<3zA(+T7gZM|J}LPg!`*ctFibAwL?%rz0u zmooV5;7VzqtG^?JxL=D_^$7@->4zCDNfs<|b{6G7_dgiFZQ^D!nKQMt9iO~kv;?gg$xYKwOydVL zq`GVZRl{hlA>a-WoZF*x-mL<>H5xX+#L!$~Uv-{L-R zb)UDn&)fBJkBNm-TjUAiKcJ7BdX?PysaNaMIrSQS=H;ih8b;&CO#M?g$=!INoSgK- z`2smPl85sZa^7Ojm&o}BbKWH9t>(O5&i|4VE1(z3bDKQe3PodApL&OR7R6)o+-066 zF?&(+AjTE0H%`|49{M9Vi2ua%E|P5Bnad&$R+j(mgh-tv9K`Ig2{ zk&lfIh1KJy%7>Ca-*_ig=5R>kxr~gd>lNOZl=B8TJ@~cG-4OgnL)j?j>*Ulmkf$j% z^uO}0iaEtnpZcWpO~mX|*QY+^e5+$dU407mu`qX!nIq~`XmsUU6VvPKQlHAVN6gx< zF1@FGd&URJhr*REvWcu4mnwgBnku3d3w@`%W4dd{|CfERajtrV?}FCn{?9$C@p>io zMpvW%UuovsxWUfg97OZHSM#<0I9c~fl~I=<@?)z4U9<3S@$T$A_F_isxi<%Ee4Sk* zi&*=h(QFt6wZ+^Oz5LKoG|G5bsdubMo(UCr8~v~q$*H(Febv->3lq*4)N7}w_MBzH zRHGK-rXEWJH%wkC-|1oVA(k(?F&s2Cbi?EZ2e&6G?G8-X&{IC~U!>9hS`h!8ugl4$ zn_NePDGuCFQRSapj^8^kRa(qPc{}&DpZHlNK7`^8n-(2qzg0{(!QwxOLuta87PLx1 ze^!v#yvMhP-JILM?p9)JCy4)HMYAOBi8(<3ZiDPSIY8UnAbWKV(0|$>drl5epbeWi zum4s^pV1D{=!!_D1NH1y6tfcK?!(h0tSP$?()Vw@DWYj z4)K@+yLB(vy=UX7WAFI7%`d%hb13BFsv22F$yxkQSPhr&_wE}rZjM&8;5RwT(pzpBn=QpeFA_Zfn#9U4qOkK@cKP)Z zAw}OQK3qk2m2#Ge(;B)Lac-kXoJYT%7NTxTO)0UqVdK!+r6f~FzFkV~c7YPl6Wl1!6a}u}Uw>2@qCh)gXhH9R z+hanWDDR|%`yPjU_{3GxBR?9WopvVa(`}mQ$|f{f5+C84bDSz4$0&66CYKbl?UGDU z5SKlj8IuR=x;ahyLa-;k=wzDC+;=JDXWHrOsYlX}<0D=AYwvbcy^@rA`tp@havl2K=>TOl3pjx)t}i%huVm)H;6klrnK;^AJvzy8ihs( zW2ZlebA;LD&A1P8PHAOX9}!k*BhzCb<7rWHnJC>3_Z>=`xtqaHyWIxhvT0ZY2`nJ{Puy(s`t_iEjAm zCZ}#j-bGjIE-KX}CHP;igYHhr&y#Du~yGl8Y4PQ zZDqp<4QG@&n^S0--sIEnH2yW7IqB6<&SVC0Clw6he*0hHKOIx+VRpZBpKsGsZ;R^u zw>_Q-yc|d1xAac#{uTMj?xu3kyS%ApD+zAk~Co9ydMaxb)>8VRqEJ@=p~ zN#35$2(OSq&Y&ro-T{)fB_dtCdwX#78T7H-p<&BgJ;rJarUx;w$NRKbA;e zwDe_ViS+GF6f;hmO+QChRr*|xG)h?dBFXIZJH$`EQu|EEQKyeUI=YyS0FQE>;$)qr z3S%%hhy;bYppcHv@*Hs5&byMym(owJU&645LfekXD*6YnR-Y6+eEh`U$zuBXwpOtq}@+LGlui z-R+4!0=mim1`vxpn-j+Kfnb40V-tRHM>+&>&jZKJ)-NT#_2t0MMtsF+zKmdwM;Hyn^y2 z*Ya;9Ocses8c`gpVSu$>^Ic?KXVIR}#pZ1dPM(6#4$i81TMzc`V&2w+y*2Y*MbRuH ziHu>w1vclE$mpL9Rxy^y>j!qqo8DvXS)u7Qu2~IewaCEy2cxZhxy9d}`LWt9(mA@^ z*NEqko7YiWI;SEwx8UxIDuu>bCQ1blog`T*iSWUQFk$wd6DK z@%#DS!R>iAbe*kk~-JKw1n~ z#61zF#mFbFa{cdO68XB--`*6?8gfOzd^$57J*C{kJL9Ef2k5?zCpt6ape6sX{V&;^EzJ5FArGyHdmz6 zqvnQq84Z`603I>=MRvBE4I%j68yIDDKk0eGWF2&$Hiqf;`;mmP;?+Wvt?iw+)Mhx8x%`iRxlE;|goSEW`$Q#ACP@39jg6i@Zu3itC z(sa4ZlB*E2=B7#QwLx`344G+?V@U7`ury{xt8W>tY~D+0rFkwMq6nT=HkmnE741IL zw~baeJ6hdsh0^Q3W32YM2qV>8nEXTqOu7MwNtypM3AsP%8zF zBgZRE`DdDO{we zMDflbj?N1zETg5&i-#>28M4wf8M9-h(KO5zz_+QBmRyY9fDw5=r$AegY=jo8i_;}c0!#oU`Sm9qGk89~c^9>wGqlCY)xawke_TDGY&9Z+uo zF!2e@y(QmQdEQ5TN2@{demrA?fxU-4Ha|%8R5m?6`8Zz=A)2hVkuv2eQ)k}L!yxa{ zkT~49RT=#k|3>md;PFnKHNG99R4;IAovEu?nB^^1nm=zNCU2P`CJ^wD%A^sKcQ11b zM_<0xbh1aVkufjF$ohjNAySgD17&AhIeBNZ|7TemK4>(wx5Jb&~Zo>`ZCc zsry=kjce7AnHl6s3JC7!+pebEn<&KNc! zYwoS4a&)kowao7pey{vr{fgph0=ehdV5=WCnBaQs&2T8Tj?GD1jd4lwkXCoe z@cL5x7UKKi_j6K2p0hmB&*UDqJh6XdvizRpxm|e%P3=)(tDb;xiRZG#_|R7RZ&P=C zySk%K_z@+1kI8;Jk?xO0*Dzj91OzSZGHFGdE-a&XcLKT!wa+u&b-mWc_)=Go?5dI^ z4rt}+mz9)##u}I$wE6ag>p*2cV;!i@{u5WmJzW{K`=v6zgG!~V?mY_`g`1Xo3Xezc}bSHO_0^%8#zF`lU30Uj=y;`-=JjJ1b#@RsB9!~G`Q)`b`6ES`8 zDBO4>eUj?{Ye5|51ny(BCib5;C?0z(A0X$@R{z`;AcuX@9Gtf$fI08Jtx%_H+7~+f zOmwj1%h7U6o+;;@6fgNBS!szU3!m?$fs@;0Ame<}uvT|i6F-h>C;8$nbERWptkP|m z3B8uF>w@<7L1FT2VN(AfCmu=v>gx5wdho+Fjjy!m8srY5OuuNC3G2OU%HiljS@B(5ABJbIU$jR7 zOTOzDtr>)!{f_+W3#0r-7)?j=9BNoEAopC1L-K5p+kHlQ&2Q7}*bWJk?}L;4S>>-q zgLaStV4{eq>ss-pjn0;*c^|@;#XntjR{T2GV{ET#7{P1N$`bKkKzs@kCRbWQJb+=H zFie&)W|OM`)()BEy5J>2d^i22!J-|-kIGAX$ksgbQ`FcB^zxwjaZ1dbYTqz9LXpEw zpKvWbFS18XT>-eH8XrzDc4noim0aA`)Rx!mUK}FvU`?NWJH}6O{_$h#ljh2gA7bBV zd>{Lk$B(P8GuNPxGcdlh^N%m9JDjEC0|u#$JAH6{ytlq{0nM8|rEABR zaHFYn8+kJv*o`4+nGwvJp+Nci@Qv|GjtmE;p>=rWbtE`F&icl?#7f@Hzp^a{Cj7S0 ziJ&6VtIGL=dwrrK+3v@DixBQ0Tq%R_J;*-cz_*(4uSF|MT;R*p%&kGXQ3fxKts_>e2dr%8saYiZU2eC-&jI&%qQ z<=8#2rkGX^wGHLa#}`29Cm&V;USo8~=g@WJeog*iGD?`ALAtmUE9UG)tF{HcXNAc) zXm?%$2Z}#JI>VLgyN3s_?-^cneSdy<@%7aO=RDBgx%m1GL!`U;;xj56wujE7x~T-5 zmA*3{FqX>dS;s%w@Uagp)V?*JYuj4iGM_8Tp^pB7jM9FTtdl<|a*Z8rGo0XXOc+l7 zY9U77k5i7{SpD{=;I@1}KozZYtwn@X6SKCGW!Hm%YCDFF7X~oDaemMAKZ$JOj*^Dz z>x&zoi!jMp#jsy;2=Q!hGd>xL$zWS?<0QfH@$#;gccZ+=$-A?>o8&z~-i7jBD({K% zMvaeAugkr#^l{w#o~lhc$uc*Q^KVs;ji0A@$xZMq7XotDOWOT>m$G5I9M0F+`&)U8D5d7N^4y1YmxUilFQGiiXUKgKOTVe}@d~zW5x6><~jn)FeG37loOgU}ucahfbNvl#0lYNM( zDa;%;OEApBtpO23yfbAVtyT_`mm<-(HBs@=Y$Ysosr)1_xQ zV#&inQ-{5ZeW8=WaoAi}>oehdja`goRU#dF{BDud;d5jINQw+^2y+b6+#e`AGC4Mj z^44>l6D^c8DhY;}LD`QlyAEdJ;Kh8U+Cg<_=9+ZRxG8Ij@hQ~8QmK(7`#O2sk56Y( z3z-{NCK;3SG>jB3JB{tM=87>3X|8xrRD`*3=cvJ~JpNa8nk#m@mPc^Qi+&qgmo@I` z`cu&q5>BSk@jmp$94x~`-iZd!+A`PuG>I>ML zA*h{Dx}cDGwJ*8%bxxr?y(&-T_`oS@o*2yzbm0DDoh{Ed1;|FVD^;G`5^-#o?EOWaNx5uA>yz#yKgOlh~ zq1}Z-?326VpRAM{8TyOrB*vC4wBSRv0E*1Ef?LOE9rqWbPiB*`oX>7K@__Ve#2D>K zV&Flao?>adSS;=4@9akfcYA*y%%?smt`&+}m@A-9YW?ZPhubUHS)Gu#lFYP<3(X8C zPMvJIAXX=$AFA;5-O%<{|7vBVBeO4nF4-U5 zoc40f*kL!8Q;4|0B2J_T&JdZcnRx=#N(Ej4g_9Mfd>~(7@7-csIh#tkA3Z42LmYWX56YB zq%?g_Xu3=h+2WQQny6I^H@=q4IiOfw>H?WPO?MJ*{F(wf11K6_=ulDX1TvDCjG}zy zCNY~7o9HN3~&3wZ1}ldE&aOigVcv23VD~_NX>>l*a=OI6Uo9^cN5H%|X3uCP=sUOTyB73yO3aJjRP0~Jg zQi^Xvw8N@aD`%$KM?FtDiFEZhcNrW7d2?$QpYNSYX+ePR6Qs7F15!N?N2{zs=n>-v zV4ufnr2p?sdyMWRn|_Blg&*%YPUH9tmuD&JEK`5%i#mnWMg=R!OU;pYjYS^Py&b?8 zEk1fws3kq>ZoHaOC?uam(+9KHXYBWdcnjniU08@;!k0R{kdz8`a&Sb$U0y4DU}uvV z#%*1m-%WWdZE3qE$a`jJPg3*o~u z$@4cKg66m*maai)&zI---gCJ;f0xHqHhCFi)bH464DUqg&lXLd#Kv9TcL3oh;QvSX z&Z6crXHc`N#g7Y)9jhbN(lI+aFQVJ+9#oIDaX-5|l!EFpE-0v;=vlC9I6u^#46~HH zwI&SX%Sav>;(nu=ok0!b%dMf+Z+7!|m2!}L7AW}#$ro@WU!|q7MV5Rnh2GbOMzs&} zlCA{=)#F2p5I6CM9zCd@fPH8H2DLtw&keQmVt8u%`DI_}{WpKHzRK)uj@p#hlc#FlG zwdP9m{4jw?NzJ1OHS=!q{WR2A!IqCa)^&vfwpT7>9GHnh*UbyM)1FV=+%3pkzb2h$ zr108E5PHUHGTSN8zZ3c|EHC8U<}0>H9ii<6D@aJ|X~9QVKvG*f1TI@isCY`r&63t2 zO7drx*>(tXd{;M2kn6P&>@OD4-@5@6Ak4KA<^AwdWz|lQF?o!*K0%%xQ<4T+Z<*Ic zY4bZu=952x&XuK#arL!ZXnGKS2awON`K*_TyW|fJ@LL1$c9yFOh84?t?o8vY&T-Cy zNn%lD*cK#@VmiDPX;`%0(9_U@^ZJPBv@A}SX-i#wlGjt2eZRiljE2cPPF~xB z5734z_RP!X+7|_;JqF?}>Pj1e$tcQQ657^TKK`adPLX&541hLxxyZ}9=-cw`o%+6m zZv<9qyazci7unbsYV*5U*@;Ya-wZm0jlTm-UMJG2-YhQZpGE2r#*aXNe2lIVLB>@& zpWFl@vJZ--P_L?DT`{yvOjnMRS>p;I!=~{~F2T8=;~Qno`192#AEI>05BX=;w7RbR z5)sC_2aTq~mBQ`yMT=VQ;laY>anvI&Ax+=Tb(6D5Exwt&N9VHxFufS35jOct2;dY# z2)p_C^{ryc_g@*`w8*ZVMzKJumSGlqNeeSQ}NIi6!1#&*ohC z61+ifpWLZ8+qs+Es{^~IHnt?Ndun6cPPl>08QgYHt+KrXqlm=T-0}$hp=@z<6jhWz5wf-zMYl@8O&DO=dCKWxq{-KE2T&H*LJyHvX}J7?gr%G>fXZS z)oIV@TFVBH4_UNY$3cm`R4CWBQN9dHVUpLMU2p1I%T(jzED`E0?U36DnY;skG(46c z8K`%{Q^+OAjceZ_d z6(%|1n1HnG8*Ay-8fY9D^XOs*|Dp9SSa3%;!Gt&h|9-D-F{lc`X?eor|+OPxie`_e8_3j zjX18nZ?y7;cF=J?N~ z-YCcs8AzDu0gP4*A=Q>x69S9xrXqF{sFlifN@a=GS-za^W?fo^sgsd(ZL9{SdRUOQ zM;U@xYHvnRa8zbd`~w)OqbR4yok@}g3^$q*JzOb==!LzN_SwGLH9`DQiWQD^P4fE2 zB@MJ3I?m)MxJBj1^v_4Y;M;^d=JoxCz9)t8Z^#f4P+%;b7?jZaJ=Oyr>lY47V6Y4d z)^`+&CT_|cR9{~^E~y-J08HoZexSCu=RD$5VCp2M3JlAI1%Y9@b4m$;Y?UI>3siF1#loSZ?jCNM?utsp-{1>CuTYHsvM zCm-pZ*b}TatgG4i(T1oa#kK=|Gs~R0IzaMg(sXSnklHX|Hx7^*L?C?~$kBLPuBQC- zw_ri;zw=ip$?fc#AI?O?q>Kv1^k9G);1{F2bnM!y-Wz@M8fkZDTZYA(Z+NP}x4(rcmjtB-iLK zXexsGs6`B9`#G;cqi+MTu3QVQP;9d}Kgv$1lJKAol1@HCT^wTLYS39HD1E7F_2<(k zL8Tx6QdRPqkf)VCn?BpJbERKPleY175$X1czR3s3aCB9`wbfktf}RrV6m8e&aWVF) zBAyguh0Wc|-p=(2QY!EDRCfCXF9r4Ng#~=wwa{y_nns zR16XE-?2+`Oa{$I0f=(?GXA!!cRG)lszJeGJ!V+?wy?}2EOUVME03jb3(GvhGRJ#^ z=3~N|@4j|{rh@hPG-n0IXELP4qJQ9#DW2fdki<0wwAUF2;85!1(Zc)?$$Z}jsK!c*~a!;#lWu$!p=BiM;s2U6a(5dH_*77>D*7;TC=hRkn6Yp zBCe0Fv!mu1C9)jX(LJM7dyOq{?WLC$tVM!tPepe_fyaVv6H##GZ$L6W{c9ZC$yR-z zQ82t&A<5asP>ZZUQ-NXxTG`#8E(7kNUR;t2&{PP7#+u{PR@EZPBSYTW8Ix}V-kuDT$Lm}WaPGuxqQ z*{10YVWMezdO))2G04@TLz@|e@%?IX@q-p9jM2IKMo&?5C|YKq3N$CGSjY5Kb*XAj zR78!LsDS1~9h!{_D2sZ8uLIDWr_{M=y$qJ60m7(NSOKKdk#i)wG#kO-PZBA3f=B_y zYLA;13E7dGSy@2Y8njTEJ!hfr{hb`lrs2Nt^h7OA8gF9F~-b-Jul@u=3eTtB3M+Lk(MI=H>s18(YskZR=1BM zCB|BR=qSOIU^O>k&X(4Fgkam#0*4Y@*$2K&IlVZxM=z(8jnJkXg(T-N#5iHn!^D11wvA2w`%>?23ELY{mPDoT>OL+7(xbtGJ>~tGKK8j=4iGaP_8Q z!qI6mb5Qvctnvok&FlcmS^H!lOa3OQ>D$7S2c4Cv@~7l+c(pAM!o1FJ_O760e3eqK zOj(*tePyL}We~rE<{zEU=79j|0Tz<5@GXc@^Odv{vY6#*9RaRfMMvA-p%&VQ6-i+J zDTN?r#ix*!Q>+<8O=Av(xGqp6DC+x!LYxA<5GSY4-GsQ)gXRJyq2A)*Ul;2}7!cgY zlGBHNL!l~xVA@Ag#hBv1E4Ze3=MUrW0dTcWkp^cVF~!eDS~LTRDSkH6;u%Ox@w1VZ z%s^s_pN+J11`<>JY@}r~keK3UAu-#U44jfcbFB%$*6^MLOrg_}hUP-rZwAtSStOXb zQgpLyOX_Zc=0cq=pc|?{bD}aiwFPvC3TRGLO~}&=;3njDt<$pRHqS-{G-s-k2xg>e z5V@>*M_yt!^FnVlAXqoUT4a~gjdgG0k;oB^ZYEn3BQ+hA5EqVbHpa(33 z?raXkaee0&$4~Kr?-GOOjXQm@Vu8Bi-MDN;QqHVMZf!~LU8(f0v}fU+ttGt5+==BO z6Z1P0n_&?1uLq2R%eVzMOWYm7AUR!g7kqh<%9<)-rFpdwZatr`t&nmX1XMo-fzoR~vTl+nMs z7)s0OU)@s4yR+%FRkYFMZxIycQrF%c48$ihy9Z8RtE^oTlYdf-JJpuerBgcXSSt_I zkdhaJ5$jpR!_8(Iqn~D!(eK@AQfaq6+F{q^sZ(e}Ppxp&e$lUwnel?qE$jLWxu`uR70A zIXlz5*O728)+zXJC(5_ij{!eDgZ>3=lUZGNHZZZder2_C>=D*AJ72We0 zy;T*Urciwoj#fH7h{d{Mi3l(Rn#!;5 z6N&%|^pm-qelj-^V0+LMU7Ua+S29R32gecB<+F35ZsWuQ& z(8hMHhRbme*ka?>^VQHcYME@+0TyS366g2Rw)Kt_DI=5^QYw^8L&^vxhLj2=hQtn% zzDwM+bsU8^ubSdYTb6&wDc{LSb22nl)ZMO zdqHsaa--LRaev+RG@tMc;itDvRQ-6rsqy=1ZbX)lRg>bI<7+`P z2B0CVZ+i$ghw<8Z`@o!T(ZI;kW`Ww~$h2)7<_<0aacm{jcq5b@h)a%J2*TP=xJab^3& z;>wYY`(pB~Q0M%n$5b2H>B5jyK}F7Q(oGx=i~uUckproo-9>?lanXTp0>t~&fJ$+v z1F>SWW2mExIHth6#&)2LqlZT^ie2s=+%<`LuuB@NVhQ)d@dudoh}Jz%V>9r+DA_dY3#?QmfPoKA(b0covmm})}_$U1kW)t zS!qgoC{owj*MQ1)=R7>z#ow92jV+7}K?G3CCUr`qddNq5TYV>Y@s^3G^J7{-r z+R6wA?jM2D^xgihm&g4nP$L1)y}PFI0oE-zemu%s+tUKnt8`#!bRSL#waDLJsP}V^ zO2l`asB^HtxQ)lYt@2|(qvnNd&ABDC2};B59lOfLXh$_7;po;%u(Pk zxLwO@oC&IAH+rU9Lh6jFw?c)k$LAjy-(E61|5e%isOM+=uO-?P+@2aUmH4-u~UQkn4(FCU0`3PxMLWG*}m}I)Sh^a14R1c zJhxA${HKUrvon+*jE_>d&O&H#vPR+z?MZ;fN-V^W#vx9GX%=BQ0VP=oaf7Ck&=m>- z!lVMIF-}2w6+2!B$Rv_5K1K;(U^7ex!N_-7Znika#1STr0h+yqk3rjHKJmk3F)#)Z zmJV^mXOe&&`Au|iGhUCE^}0jq!9a$PJHtWxUPW;1y_PwrpDfS9kuF!@Py5c*)Kh<9 zf^ppEuI!DOm+n5_@u9aQSC$(mwP^nQG|-e zIsePZ&YjIvUp~hbCpW(%-k)%W8zt1M^*a-7Kvqe~ZhnXJ$H#*bBqIRhgOyrfly&F3 z9GWN{pU_4-RA?^ENr!ErPG@h8={76x4qS6B%OXixA7qf6y}FwAYS}@}EmwaFlU>L% zU$Mq5yM|){yyb$%r{Lc3xDWB^na{#eY(S@o2TK9`{ANdTW6)arT$&>3k@yQ@bN)VA*ejevL2a<$3hxD= z`^u-P=W^C$SEZoq@H$fN&IF$#T7f70v-qx{e(p?p5OT-pnFPCISq02D*mYoawOfdj+pc};x$*U`eU1o{3GjmitAFKW zcmApUpq0-q1IvW>!%CV0*Yj8Rk3pz{{G_B+zs@ii1 zvy+XOS=-O~q(f76j3lnhS{1u6rzrH%d4=Iby0xWeBvPtjUV@@Be}~B)IE*39XF^d| z4mZ7)uGw8E4#ayBHpcOBre1e-ps&-hV9t|@uW+TMm|!t2C7})rhRI$4n2)5Q(^;6P zzGE+sg!D!?CwsS08=N$ZlJ_F=q}QEwivGJy3~HGIC+yop#hsytn+3V|=3csYhm95W zW%cRzsBhW*es!xw81lQ>vGRu2qHSyKp@yKwkyV^F6f^bXNaOx_q_unSF8Wu|LYx zkkR7$+JU)UFLHeiZOqe1JUpYaJ*-`vp0muyhm*fqH0$t_+;L(2xUG0ySbQo7itxJ( zFpZ$XLp14`4yS+WuiDqxhkStH(pSTabAk za&rq(@sNvKkhIpXZ$Z*(ms=25tIcA)vxJfT1Qe}1?Rv12K{{ZTjs;w-rf_dcgr+76 z^nk5oj}3%4?V^`G;%^(o-k0c?)FDwRA78+K8!hRh3J59B0p=LLP87!%;zG&gJ~-UR4%uQ-+X?Enc>DmfF&0x7E5522OD58s*UV?1a?o!okKJXXYk9b zSFN7!Aeo(v=eaYGN16gJ5N{GGD;l?ioe|dPt8sbnw%+m4l51Q_4W7n_RC5KncKCLgZX|7YU_6~ zzn3!lir$~X)9(!)x0mm2;G7OFYtWYrvr`IVvf#RC z4H6JU7e3C4@vfFD{|vR-7#CI+NGq7z=x4m~^1NidEh% z0EDb>??BtUiZ4NX4jF*84)hLqRA;mPQzR5_{JM(At;s_2RpuiXQN9dezC!?*-w-A@ zDT~Q>GnmehiO=w1hbfguKQ>3EkxGQ`F9RFJF&g%kYq)CycJ-E>0}~m^yO{DS{R`{$ z-mcz-&W=Z=x4W-mRy_F7hoVNzzvPE>uHJ=IY+>)h-Y&Be%y^T|az zfd1azUSl`tCro~yA9#Q*0CCG4P;A1ukI~oLmwXjqI|gwa$kwa4Esn|g;T6)1Z?CLm zU1;|}S~jC4>mAJq@UmW;<&|fObsCy8#X70ZdyY+^=-o0+!|}Cx0|@&wtF(L^8tJ&}5euO;QzAYOfh%oRl#iUqV$(9^!Dh z1R>V)`q;(Fr7Bl`R)6ysCyUloCmt-+5Mq9lkymVP6L6Yjlc+fWW+fZTT{|rMLkxWn z&{tYwa~z;mzCWpM05A?sG0cG~*z1waOZZ`FxH$kEo&wAP;D{7p4gg1{0CU`|=Y235 z%*NokQ%Z#G4n^go2z(5Uct@r2%mLu(DZm^6j!psQ0Pu_yV2%+zAf&8R^<&Z?a~vSk z8&-HFhI z{j@}UfCAW5I#A!G=yX=nuV8W5**pkPx!#S8!2DS@4BUs{9(xSUU2b~?(ZuU4QyICC zTRh}+blTHBh_v)KAN^)QxWgiRQ-xXGQJV%G?V7~W;U#9o`EpbbhU8<7h=%*j&kbb# z5a>kJ{?-2Y)Br+}0L~~xs?i9i3<>0uQc{@%fZg3vXEX=ez;$2@AkaJAme%h3*!snv z3)iweS*Q0#N z_xsPUU$3rv&U2n~&U4Or&ijJlvGet;k6F}Dw3>7?Vn@l*0qD~81} zYmHV6qJL5q4Q~dvh2ivZWQuHLEvp=VDlfX*sIxfkwDf54nJ_b67= zAE&^aaBGS$*2+qb*sWId8{b2ytSI<>ZSn~6i+Qb>$PX5q@vo`xH!u=?_d1wfu_ z$}M>k8$agx2c>6|zy4A?FSfGJqXo$X9S5Curh3sg0P$Vo7Y@zU<*Gq)Sc-8cX}HG3 z_zRA4NE)JTi|-lZI~CH<>7}khIp*b8#W9d{?}e^`Ph9Tj%;!Lx*N?Utwr~sm7EZg3 zv??Y714Xvr^I&)9B}pqFPh;cf8>|^@N8lPpIoY;8`BJM5QM^eqz|&!95(lm>-F}rP z*9U3gv|I5VNPM>y+bxq)WxDNiwUhDZy+RiD>=i*eUghJR*^tI;l_zDKa)}xt?Cgy*}+|#JH&cKsA#vs23GS(v|xM2htqq0i7>Utq1fBfd+d(&lPB>2Xvi4 z!#$vv3$&!Cycq7jtXb~?-7ZjX9ehrp-b%PnptXgFwX3h9vN@2wL=q#}n0*HP!LE@p zK#gW*lzds%$1>|_Y$}=gFo> z2Afx0`GWQ{GuTrFlP_pLD}!Amn0!I|*%@q3F!_Qu=U842gUJ`PlMHs8@Z<~Hm-WEp z3);`gV5bRBzMwsy!Ojs(zM$R8V3vn`LHqIyX7wUpu=_96qVzwUXUh3J!+dUriDK+p zN4}u_{0wHbCEw&#VdL20kSB;w#&`WCJ2$XAaZlLTc4IeqdofrZ3uZ}f?yhmP#vJXtJrFNk%aGjPE&UO72i zOpc(Sco{*PbL3r&mplRZdIgBTdlI0-SppVNPM(-1umCUNF^VUk&d`&gvg-JGvht+K zE=X7Xeqp*96MD~%BUV8wmU-*$g)Y&zjW4{&ej&L2lE${dsYgeZXxrF%b3;M(#^Lfz zb)YTF>r>G{TL$P?ltWZ3YTB0EI_h77pG`3-JUf;92-@gMBO7uO~nP;x{WsDj+_LRU|4U z1J*kV3>y1ZbcCIPb=qN(khs=q$K^{|elfS|j5SgHY0l0vU^ceBarz`)Cm;KL8=v9( z8~A@DS(8lv2ORsNHZ)0DSULXw><6ZX~?zk!cSCtU1r@(@nvV#Op|^-Z`e=}|I( z43)h!Q(!8bE@vv7&W1=W(|$vmguV$|gPtTllP00SGzmG2^6j+8n*gQjj>l3r`t!yd z*OR5~Gbd!eartJw0mrot-##<$zQ*>My1Q0yN6E4^@hUEj`&gD}eX4y8&yeU#Zy~ev zI3OOQ&TQZ5qW`eDNa;QS5N@#hpZG0Q^e$EOMOM)YNuEhX^8~_DiAy%MDAs@^HxxLTQNJMUQ=3gjJM!GuI{dt<|%1S#c3(^HTatw9}80>y~Z^~CI<)>N73P~$vh5a?n7hfT{Kdnhy17t{rK4M5&AL&6Vu)iT?>|aD$ zU0{E~S7+?sgH(7KWk@Le_;1FCP7$fd*@EYsZAjFaz6M@W%C(2rp&$Zk7i#t9(ls z>oJ@jBfp_1@M9T>u_^_v&Op?93R;(exR^5#SBc9Uh7lDWiD$s^97t&mxHpK=Y#dF` zaDS&Sr+!+k&i{y$8&mu{!>NoxFhk%F4i@c}N~#D0dIIyyJ2`Xld$HT~I{H-#DR~+=y8Dt=X)Z}2r^`91rS=bx^KAZu} z0pKGUz#J!HtqVYmsGChkFLA%t8G;9`FS2GGjgfQHBqWfn=lV*kDdZ-tyX+LPmOlQm zyD^ELAf8Long`?Oc9WK0N!$F``Y{KsqcV=9qy_SIN}tL6A`wK|dik8*r?@6c))hf% zIe8buk+%>1F*N17T?uKGZVtmg9{gpb*Sg=1(}Vaxk9=JVRQ_W2tF&YKV%E|*lXS+l zZ}S9nIVlB!`r2YEJ?_`Btxmutu(=A+to(33$uLvl-`gN(k6QMYvxQA%6Md{`_j7aQomP3r?*U9#Plhqv0z% zB=_fGp?!F77FMQrAd%!o(o8nPj_+Me!<@=M66~zWCAyJHY&b&d=_a2EwL7lG-}ouC zRZ|coV)c=EFjA~;`3VfM`(tA2TI&*4YkTD0{qX`oZe4t?H#9CkcY+pd8Zo5QYc-kO zcp6@U6{yOV@rZ zPaf<%o80cRoV%oC;D#&w?pw>cyL46G<382bpayU!eaT*T>-+#+m+4)KM2Cvpap2b1 z>z;*oan@|LsUw}{!hO@C3#f9=9E)zCKI%^qGZCbWiL!e!-6tO-es-qf^_9#07|-h- zd0l1vYq$Jy?YYhlsa>bdu;SccDkUkFayI!=g|07Au2={j&!-Am0K;3L7Ik@^#G zhQ6QDSL2mA-j97lvCq0-m%bkC$gMBfP>i&&#!H1t6Tq8QZ+q2Yk8w|!d_%r0=zTpw z|56P4N>9*NNIoc_l)8F8AKD+zXB{Wc{&V|7`nLs0|1N))><8q@*G8PVp*iT>JRqPw7%%-4-* zML96h3SC6>{}athDQGrxn(xhMHV1{cKLeNpz?Ud>A@XZWh4glZC0I6dv{-e0(Ntr}dM@2&8aF)QgGJJE8 zz_&AiIRJbo1DFHAcQb%F0DLb4m;=D~Gk`e&{2&9E1Hcb6fH~+5oRQa1^Cc?KPC?&| z_d$0s{#e!@9m{BEL1R8>JmX?yjbUT!8$ZetGzU5SI0Kjiz)v!OIRN}L1DInT?Q{S* zjcNZ(-x@mW_)5A>>QW47oll_xDAWMv0HEjwFb9BNW&m@rpLzhmDpx;7uzZGZ4ge2k z0CTW3-v>bJXMKa#i|Bu&F>ggQ9|$BWN?3{FC2rV}gZ-C2@o%Y=&Yx2Z`wBx2F!Zr% zvnWafwZl$`IRK!6)dA)J5M}^#0QggycsUC&$0RCF2~eHk{B7z4T~6hMI*IZm1w&xY z3Z`$+I)f2$G``XcCXi5uQxtuJ)-w#{Dn}7Wdk5);mh8+bjZeFNM;>jg5Y}d9f;LZG z%dE$9wcV|6piDS!6Tc(8qKdmhOcHgu;d*KHk$xt7bI|@h5oX4MUHS&`7I?Gu5hG`p zlOwn&{)6ynEqzfYXRXz76oI4>Zz*KyU{T-X9k9IX8`edEOn|BKnujEPHF(F znWYA0%Lox=`X<+KD7qiYR_B!Y`Er*wiw$l17HN||*v(_%B5kh`ZI>Hu3W@hPZNhC` zVYFT2v{`DDU1!U>qtai{<~6!es&8^lezt7&u{o{7*eIPjEC_bK zNQmlN-@L7DA=4SZHiPJ3Yl}PIYII zDU-g%GRYt8<|$#ZOs`X!o^NGRNPL}_$#7fWM2>GXexVo2l7orR0bqsF*JLX9!$gO5 ziR-Oziwtf07HN||*v<3CB5ha{iCR}0Z3>BBwnovh!;VH}!@a zz&Jw@wFY{5R@V4&LPfi@(8Bh&xWMgb!omF=+;MEdZ4?xhI~xCi|6Fbj{kXp;w?=*3 z-F)@j|$5mx7qz$f=PlgfU9XiA0{ z?Rp^zEPEHhcqIQ-=e?NfMF7n*nq!4x~=A-M)AhkNi5ekW4EbhBE zr6JnATVyiyjQ7TRgJNB6u@n-&q&L={G}gmyvrz>6Mw*8(eO4qCH&6U1QrjK1fKoDXJn=5_FybynDj{lq--&{9llKpnUsrRdS)Z?7AWOT3Q z&T2h$P;;8rtH@K!RstMRbi)9l_96 z4~0_gk<*ww-)UrG)99@wjJ|F3DcZWf&Q`Mv(df|nGoloTgS7@}b6!IKSv&vh#4j3; z5qd1~(1bH~jVz(rgluWb;uhu|9^p@#+92`2Q2XO*P;= z08X;rB5YF%{6!Hf5rbOe=JJE0vtg;zV*krN9)TX)ln3Irt>!XaV334YWBH0_5MX}^1lxJo*Fhh~%nH~x1K|+tO zt=^XWhR-sz6(Y-BZk?|lSEGd;H*}vwY!VfiT#vUA|23p& zArR>?cxo#}CJ{VxzZ5beH4j z>t=9c;1OT0h&N^n6Mynd>#E1@x}P4~{ty)r#;+8b#&XNeeAk9XFqXR^GAB-Sr&-Ll zUQMh$S`baHD<|&~!F>NE{k}i_{%iXEVER4QE-uT-yXAj82B}^~<%aF+`AzOjaqdaK z>r&iFeWj&xM2@TSqpU;8o4QogzvHK~UbIj@Iu~HA>~|7vVb!AM1GD95Y*VeYmlMug zp&a8}zSqYP>WWeYbi40DM_%b9>mQ0YSg|*A3VjU!xA0%DeVsF>60cq@`+Dba@HT%$ zAT&sD1t2g)}TYc`jXi`dKM<@;rRDh)Q0rqD?7s z^8t&k;~)8xR}g}Trl&lXrp#23;-y%e4Ay2o?}erpT1ul%nNf<01ax(ZW~bask$ejJ zPdc1uO7)tm3|o!SeK6t490r%6U4KicEB#yL;lDJi6eCZoc_Z^kbqD5iReOOn%XDtuPjJYtUvhVY95hg@b}ZCU#`N z`I9hGouhIV>9_+rcuU%5_mSElD8&DQ0*SA{G`^h0_;(3KHL3tcineN~;Zh&c#B1JE z=))>6MH%ZwL4w1CJ&Gs=eZB%C(Xj}nAc7*4OrNi%vc)qmO3?_OOVJq8X^v!)rd`n( z1sSNAWsVBFEJOuVM17L)E)nXvo908DDJ&)Otz}2aQookSxlGM=6Xh39%~SJRo7ZNUnS;!3%mC&9@VX3O4tP|U z1vWNs+QgO!+@E*4-g6Xfg>@W z>^CRi2aeQ#fJnfLkxof#=SW5fD~-%_sWeR>`$rsKgg9PA%xj5x%}104wUogR9EpKs zVSz0Y@M5I-e5E6T=>Xzm%qQrK(16$Fz70){qYgWa0L>b97K+FC~`>2<+d z_-eDLZ($lUv28!}ey#_mBGtkxzAj+$Ql1k0)|YILB-_-Z0mYzTi3(xqn`4jcT15tB2jfHlKf1+khn~`Y_@nlo|6RPx$cSg;_Q*6sPUpuIpBvZPXq!|TNK3h99 z3bG=4kMvB+(DOE>Z$FPxj9WMdc1BrfkMlOtwuA0}!m%$piX2-EH{6yfB>6i!Mei#X z-$RX-9=pT$#IvnU#Mz_hwq^T;?d5{@+YCUPo8u`=;x65|Bs1D$aFn)eA-dSb2Df__ z4Q^e?!oh7>KDfOr%gY?h`|r*G=3r9S_n?9)O!udD|9X%LrZ5eON&QPqyB$O7N>wN) zn#Q1H_|YswbDS8oKL#K-*!?2+>*`1FUSr#WNS5~F3u4Hx82a|c5TqdKWLZMPX9QL+ zGY6z@7yGpD036?t4sJIWp-Nq$t($1@(U=<~?KB0EoY<%MYS7Zxb^6pZ?KEi~l>ZY1 zGC>KaAaWuC*!g~1(C(aO(7Hj1`AG$ef4PJGOTPL;C=I9va|`88of1sLy2>U~-{lk` zJ_jt={W*S(e?N<3Uvwc6TCX?$RY>v*%G5nWGP!}a$dXvE64#NmmvE8YZ=qrLo0d`O zg596zw~*6C%IRjyNg>HA$tf*!@h~;jQ{OC|_SCGuTtLh{BG>G5t7yql*@4H=ax7%@ zlXFIIaD;=+UN?rfEWA5t3sQIhX$bJbm=MJa=3wtU#6qFxIi>&$pJNUSiFVM~LU~G$ z(4O5MaiP)~gB&EvXRXrqxnQvwLgBE%uVHD%T(iO6GaWbBy&j0w-~^6+(Wg~|Z?GCv zNb)LbkkgI!8v%J<)%Kg@R!aM+(}~i>FZMdUBWNq%`Vj-3ZEB?PQZmRwm>`u*-K{k? zWUtYpY=qh5V45$Y+uq;cszh@T!%|QTIr10=bqkLMR}6E&+r>9>2N6k25Pg$BFah{w z`P(@%?%G2-jKD%2eMWV}l8W(IA<3)7&r&6A{pKRR`tvl^Z+rMaLi>xiPV=xZlO`zy=gy*YliTNZ^Juq>7~ zWzlz0Sp*DrPxhvarmU#-7AuQFlGl1!47Y``69%^%y)2gIN3k0Pn&{WJupG2{TN>=r z>t}n}Eak=i4z*j?78m;TT|}RN!R{%33$6Hh(Z`~Vx>iW?I;YQYTaPySE^zuRP3Rj3 zP4ww&x|s^~3w?T(eL(swF7)ZUh&};>-P8OQ=(|(&-D>nHB)Q4yGu#%6rKrExJAIbs z0$z9+QADf0Nk7;HT5~&JGrc)}q00*jIUp}s+LT4#MP(6?3ycTB-SSS_82%%0Y$2Ew1Rl(*akbzR;*gdGFzD1}4?H5&hNACLk8KR|Hvc2Oy zz&gFDYVWuJ)%K42K^+%c3pxUid>q zD%wIXM#^oW3#gaFX<*S7dJZas~F@DoCn} zn@nCe$nBTp;Zj!_%fgpLqYmPG`JY*#X)zw74b7f~%yAui`LOhgd{nk}wY=0r)`@(X!n3@Sj%Y>i+e=GRM7{5g1?K996L-9Lj|n_3D_bC6LR#Bz%8@N%G0oB4sO zF8&#@TwH<#{M@HfT6;*QyEx4E?JjUOjdX^|thGhYR)_M9wIP|0wSx6y$lh&7srD1N}^G zrA)j05~QH5qz5bUEwJ>=7-x=4D%Bg)KtEVSO7bT`)KQkaKbPJj(R?s8GmoJY@CiY4 zNAfQew-&A3Bz1sX?IrKWkN6)s7{~l8Ue}qqJdLNZ?dJqDo`m5U(cBX(-TqRWaMUBE zXQ)%m0ak16Eo7hEPVZ};ziA1J2>B5?(1$`8jspi7hYVaX^z>-e@PoE${fMzeX~w^X zlId5b@3zmFA0OnoTYMcvuk@ETd#4uU>3JPE!G9y}%;&63LFpjM6j7$p+SKrJPVm*d z@tdjepg9%)R+aF>X!4$(BoAFgW4LKqZ?UC5U^WQO4CA+u)LCh}a0pO(l;ySg8#osw zGgxV^pPj5UCueJw=6SOxZ2nha_0;F`(#rU)B)OS=&Z3~^J`cNgQP`rah6l)H-9Yon zn>H-Wp!tBMGIi3zfQG{lLu$7y_LDAmtD#>lFI6opXg=8>>!&m;7TWcsWeA$2{2rFB zgg&;x)OitScI6@}sRSj|JkL{QRy!v1po2ZA#y?eS-AaAPdS{k-M%Q{Iun4!gFWmUa zJUpeNTzVFCoB({*$wD@#oz9zmSf%;o*|oiOR4mTMPkX#HoybM@ zY}^_r-^Y+|=;C?OvEBL!IU<_ZNK~Y9{AYf_Eo&`Ox>#eF4AX>+K{KNqQxYR!un+LZ zB^#K+_yI++{?CTD#Jf7_)ZPbhSt)F5_^CzlKTuWE0oP1}Q&&cnSHcAkY&$gsz0Us- z{{jC~>w=byuPiG~of()ZK3t~-W~v3(3GTw89I~BJY9ORMwZ{FjxOF1w@D~2-j0pMT z`^qaf?yW8>`9g$Y>ly|tl}~qPk5gT=HCjUAKc*xGn8-1sAlzB~D=)HjW3>vs!S7&E z77g53w<kqJ=Z%LYX6qh+&w z^mx@>IufT73npsItr=>1sA}eos&OA4AEAc_Y=oW;s-~3SP|Iil%X;CcMVY9Y*&|{q zPF5o_tMy-1TXTxuw~JnTu-qMdX{D7I(o;sQZ|PC`lQ;wL8e|pcW4+dae_{2fDa9FT zC`e8~3?P`Z~}i z-7^_AnT%FO%tpE7etmMFmd{DwEk~Hd`&OFud*K7qr(x2t(@lRS=$4sUkd>mXO3`%w zR(AP5wS%q{TlW*D-Vw$XC@kvmI2!uT5}ww)6RdeP4^h=NYYc?V^L>&DtN!)cvuS?g zJyaq5(qH;3zGo{9)2=^}YCw?yaJ}C$44YHwTxBYDnUYnenPq4UkDw=n&+P8d+RtHS zTa2R%Tvz9=(>WdhH|URRd{{iqhhgcmg!!SiJ`7^CD@X1T4+o`_py?c=Nd^mQt{E6x z1yN;ecFEMisXBjEU#h&nVD8GG{sh9xH_KM}36|DlNy`;YQ&@S5l$n<5p{ndaRmeT! zpI%h@cHv(us*CuqHV>LzIT@{~D92{1n-v-k=l>(fN(t6^j@1~(3|4k^ z>fP5=dT;zu*nD!H5a-dZpL;NmD5W1~kCeH2&7)(&GGT#Klc_p0=w8x)8Q6wQo1%;9u*G-=$l_gJh}RKjH{MefPa76< z&>FILp*5e)6KyS_bvK|d_cl^t;Fd2`E3A1priw0+>-U!&8=!u;dqSWV#E8H$Dkw94AhKtFYZ=JeAkhA$-oM1v6!eO&nq z$*fQ^E4n$omSkLKemOqIb6O{qbq|TMOeo7X9g-3AV+||HCp6n~y;&|5^3pEy_qxcr zGpDa9~VK!{H>En^6R|2)7W)|J75ikVN99LrF-NcaE#k^Z; z5N-e~Z?Xr6i8eP2r)VVR*4}c%Zh2y-DzQ_$#b6B2%A7m%Vw^1Gle@^j?jq;T6xmlO zsiBk)Fsfm=xnPSR5y;jL#(k()5)%%W$2MJDwLv*G5u=gFoIcvY0cr5DTDEX&6D3dP zXTan10t-=O7ihrE^l0%gSsjoy245HL=4&>*Q@vInW&Pw98;onsqSmlol;#ZN8By zklf>R7-JTAQnks-X1&jZ6`SfjlDnNeVWkVhdv%V9PHOrx%SEPnbz9y?tlac?H^;$x zTA3778a119T3xTJx`rcPZx2{jhBY^2bF{;KqWn@--F(xuPxmrDv@p@Mm#^qw-XH%5 zY%%8@I-b#76g9$%fsug% z%7CeTnwy-zHJ=J1#)8#Bx9b<{Vd7kfT&m!_vloL8S8#LFRNy_lhMmN`CYw{|I`sh6 z-&5M?*TT2XJcw1qF8&c2{-AZ~9RE~hpLfz?_D3uGlNFqI%VO~H3SP5maK1Xsw8y&~ zSudAG2-8)SDX&tW=_;@KAPvJIn3-!q;N}FdC!I@L510Fl;0mq6Ts2$kB!M{NTtjDL zCVr-7vaa`8@^+6;70U6cLDd&o)BlNe=wHHp7n$(4l+sHGCdJ-Byq4#wPY zTdY3K>6O08a$+*E(1_ErMch^gP@ujG0>dk`qG54<%6`&_(lqFhi_<6sM)9LXTzG{R zS9a>_PK0dP>HsCN?lClV(DEVg*u(I%6ESRM z_1-t+omxZ;6+89FAVkP8({z3QSq!hKalm)-^v*57%0yzx-;ZwSn>;V$+xPcP-tX=+ zyor4{^^w%}`4@@V`SXQ@>2Ekg1xpte3;;nU3F*s~X|BD*OEWolrCg<%)aLAzBNu@! zzq33$^7|P0jZMdn`~55N2IbEX|4_-sd%UM-O~%KE3SUGB5- zXwRvy4Mn*}b5riIy<>)EJJrmi87oIK<$Bi!qoaOn8g`UyFixS?6mCtks4|vVn4vBe zDdz@pneM=juQjjWpmmi#>f72AZd2cG3v;2cV|eCte|YBb-oyR+xSX6vyrF8pNo$7H zi52CuM#{rQ!NmcX!tc?Rl#V>nWfzstng2)m9I?NAsxcB*(E)PH@;c^`o)=qVI|9`C zfcEP=Jx4F*AZ*N;9y?yEk0{xt^0Q%0DD=e4s8kZkIq#OO;`0^EOA!FZm68|W@9W5y`mc`=REhn zm#xi1pW6+UbKY!^<)P2(hRQi_cE~)G>Uh3|T6M@d|9Dbv4&=dCc7x@dr<$-&mIq(e z4VH8M844cEgWKI;Ip^JOSsuKr8!YF%+c3+6JKbP8=iO3S9=y97Ea&{^ly_R)6zuA5 zu$=QRSMU;VNrLxugXNre%V?gsZkV^JO&LqV(l|Wj^DqjhflkZ}Fk6=6D{#Bzj?B(y zx%32Z_2*pImQo`#RWq|J?QPPC5K|2ts*5i(%{bt*m4P{(sWqbit=*&uAhI>_5uuGm8Ax4dD zX-KP$x8}!{$y0E1|J)(H7>RAxE9pi8f#0b#9Wo+dMM%iYdf9BoMMx4PSsy49ongQD!rbD4uSqM(8$&zD-coTeZXy zT#3dQ+5OMJrX%}Iws;wUCB~1kx|site!fuV$Gq&DP!V#Q+KpEbAgx`}gJfPIHHt`& z71CV(W8O>g_M~*1!att>nD;vik$x&lj$F!*(exy_7SVLMpxu^&**f5z-rl z)XmPki?X{tNBW6e=9R0bbdOp_(6jO%^DfHneG2aqZr(*mcl08ecM;Negw!ScH}Wnb zygCAOT0iIO=UV+NLb|aR=>z*k`lO)U?7q5Rq+bb&LqRo}BBbjL zNqHLK=3PY7jY6`vvmf&=8pLiDQkM(NyC}Q=?nN^1BBW(wDqT*Kc^A>NUPxV<%)5xD zBZbuE0`o3vyT|t;nRgM=<-OUNcTsk`h4k@!95?TxlwO{vWaGGb7qRbKgk%kDNDpf4 zUxf7j-jvL{2VPpP|u_Im(o ziTN(Ri54@d@ioD@;T`9;ue9LDRwZlX5lBITKI%~apoK|eu`+V2CDE>UF@LF?A2 z{oWj?tE(LnkBPX=--6A!_aFGAH}EkAT7%mkt?L=qf{%!bjD~M`sv(w9IrV zAUrytG+CgDk;tq~b|f0kNm(U+HF)bs`u#9X_Z*KKsrV6AjaxpQRQdVwAQd?1=f^{w zZ7E=6$Pcdu{peT~I9NP79^n|9#J;K$43y6tDUS@a?xaGJFYuGr#uf?aEv^vbw+)r# zE-+UNPc2zK9N&#IJTv|q=*4#rzL_5qad=<-_j!{Yl%4aAmJZ#Vo$X#$+VG~#{lvaQ zuguQK{-gA}_hjz7`quo|-I8CPqk`F}aMrqo+~{z+P3-d0;MAc=XNi~4w`c5>=vZ<% z%-TEj_U?1WQhWCm87qCOJ6788Xs2rpd#taK=S7S1yi)x8MRFS4{3bC*U;HIy>wCKK zr?Gc}0<%J72cyqp(=a@+DjDWm?YXl!D!;QB*w3AX?k;p`VdYqSw*E0n&~tM!kUWeW z$YQH1hN`MjcC;MSAn?B+aLYN~sucSVdE?MFYqdLjQt9Ns&)Q?G^uEuzTe3&v6!Bu! zf$_F6>J^d}VMM7#ZEcoNa!+p;ZVTL}8m_iy&BL}g{2o)I9QZ4-@&eOKrQ_S7Q7QKc z!F!ACCwy2r(mT#jb^gRvsc6m2>gxR2xo5aKZ%;UM)9WHPHwLyP9IvqB+-?>~J!^Hq z`R5WbxtBVyF)1v)gDolTG!javxvec@jjO)xNF=+o6KZ8jR7+_S|4-+i_pzmS^ZyC{ zH=ji0V8V0L>D`Xx5{kDuE`m?a!MY*{QraH;(}NFgZ#X`%oHQwJt(hctBB7woUx$U# zIL&<&W?7b6Fn=v2@tCFt#_`{AApFg*=m~K`Ir7*K{b5^M<>braL}cA#=H&!%dDrb5)WA20vE^6$veEF5d8Dwd69yXvAhezmx?;c!fDDFp zyfo!+E=-vjdONo(DHH91tDGsgAl}YA?Qojj8jPcgk5C9$w{-F@nvO5>(vnvy&GWSj zGTef{7yl#q{%!&MX8iNOmw{Bom;OWDu1+t2pN{_!@OKvAI;*}7+^1XrmQO+mbPwMMYRui`oBl4}^!M2{!#V*QR(&%ShLVSQW7mC?;q9~Q}8#fvO?$5UpkkD z`|4dT71Lxqqw~3g)u#LxdEmYHjb|3XZ^mytLp2xiu^n!_$NfPM{5tUKz-}zSbuRn} z;Lm_(itEchTVGB$Dz<9$6{L^+;c4o{6TC8n|B z5cpsxWvg=v9whTDO;{mmQ*_)lfox7}QqLm@CS3tbA3mX?(zVNH@`qSuUT)W(TH*nqxYV zSK4*%#-D|)J*?*ig;An9wSjwSn_UncTAXfe(-Pz}ZWguu4aWVjv7$l*n^!)`V182I<>tF`R0 zfOQK4)}{fP5|=Rb>5P5V4qGj2Hq%QImk}(U6&if1 z(|gMuw@&XZaojq+_xZ`v3Rwl0O3YEVpTCaH6w+}fohS}$Y?=)cF4&@J#P4i?sjW`e zrqiPp<3_|OYSs9aVvnGaHS@J<=9|>aw|cedMxe1twWE82ajP9FVH+Mwb`Bp~ORtBP zFD@w8*#xRwLV|u>F<3mWi?DPnah?tRnV`3GaK!3FJwu&g9E`r%L3gZ~jiyeB2B)?} zF7u_OxV-^L9t%2!m$YDW`KCH%PSwS-gglY5)YJK16@ft;j$ANmIa*;Dkfw=dyWn!+ zY#?Y1SE@Fe>poob!&9J$MI`T^ZXq{Dv4qnCRBlnWX!qMy!VB@Ihc_#u_)Q`$*rhX@ z%4qyHm${bDwAfV#ZbY^i!4zFkxfVNa&wiNliq`XVo-{8sgXPJ`FI47?4!o4Uafk;Z z-`3okU%&lGcWzNh>m~Zjhz-U@Tx%D^)#i2C(De__>nySBADY(@UDrQ6uhY1$e+75C zoQxF!{XxP$Dw;l>mqS59lSU})*9f4+i#|NJ8R_5sPUxRlQS|_X4l3@dEI^(*)sms) zmW=N8NJbw|<{fD=7GTMk%aSP|uYK8R+BwvtTP7NnTPDV;w@j=WxMgDXNconDH6#7E zNG2*MVIZ)?q8}doj%KB)b`wFDT;92Q)_jsJlk>;D@6dAmbBPSW>=*oPyuwErdj)obOE93nVlVE)T6A}CJoAW&yF0*_5Te5rn zJ?h?8;`E09O?imM4=e_R9Ub0s^{q7{m*-kW>hfG`MZG4`5wP@t{~Oot<1c_h%! z==JM?lIm9bV3=cMe%Ttm1y?6|DSKM%u)hr_Yy5dc1}=+#L>tCG=4Wza-K^N``F9bl zwQ7GUA&uv$ePRfqQ^{UlG}s)fTz|=&RoYOcUNvvLoTHj*qj~5})zzzSs;(K|L)4q9 z>%hF{rfPG5@4AcRs^MxbGv}b3V{#%87O^06y$Vc#nO=qSFLD_zm4^+3Y@jpl>ya21eg>t@;Db1%A#i6s`3Xf?AC&9m>n}-owq7%tHO+6&FO;M8Q?MrHXQ_bXXE;%5 zAVADIzcyH;g}1U9E#rq}vT0H2PSU$leX+f?A8rkkv(ZK|7`0d7<2}b&_=X4C-=HE9 zOT3OmuPRq}4z%|Ih}w0Kwp}`R$rBu7MY;70GGEa@UK%fztX5Yu3aSM4 zyksK?`&Z)sq`*P72UtF%y3OGu<(-YR9)um3;g9keBjvfB+b%Jby+b1yt!H#Q658(L zH0sx6Lz{b9pHVvd1NP3DKH6_@t2t;JnHu+6?T>#0asq4BYCMpNtd{$uZOg*``jOa^ zkPQ0_^>dZg_x*H5UX0%X_GGZC(J-?hFw#fVbPH-a%YUpi@UX0|%cZTP)g~>grCPU= z2Ca@FuOd_=vSDEitfd94Ri`=ewcImWaW(`?c@Tv0k~OUAqXrDG|>$Ed^RGHYLKyhe2tN~zC8 z2So?nz!__E>yCSFiq=KzZfKsg-FlDwt>3C)jtP?Asm@`$+9il;nlE%?EqS07-gH&) zj-rO5sT3<^g&c5c+DEi@&^mJsU$t-8*tV=Mh(Aulu-FXe!l!MIw#A=T&pIPW?jlY9 zZ9OOuB>ldJB>6IuBmnmZ5soAIW9Il%=J<2wcp!7^%N!484u-B8b^}A}Gl>v!t3#O^ zIoi-0CiG_M6FNn9DzYL|zQD%8k#6}ur}AaRQ!8U+BmM$Ff0w=Sm$DyCozwzj+K!qZ zyG^Nhl{KHkUY)`0aiSR9;OII~liYMXB-1-jJdj zsJM79G(Fw$`%RW#{1c|^V_A5@5o)l+N4@z(va>2W9O;Ilr!jZKx(j#Qokkc-2_wgE zlH)UM?&!)PK4cojRLACSXfC^OM-j9N&=?@6VRf1j^0wb5BU{U@g!dRom|q0qGFP8V zo8uQom+sJ;)$a;1<xmmKiYrJOcU{h6 z#$%6xR_8JCpJ#aeC7UWiBmN`gq!f7DbXhOF$syR`Cf0_bG;L>QOLu2ax?^)$${Q*H zX0{(9<$Fll*lAIoS{Xb6&{XjU2s%0uz+yg#XCG82u)69dx{o>&9RHE*XH50XAvbJZm+-S%f=q{ zCH;l908d;B`n)6YOd`2 zB-K%1>z`|Ee*Q6O>TJW$v)U^maewDoqh7bikY8^+6ddRn(-J>+dFrUP$4F=HsN%zd zFO!7zQMFGm&FI<*x`qQ=pMv8ivH~QZ5&!9)=XBy-E1J8gwt!~{M;+R$E9HQrA#%`9PL78&p3q|f&+Bc+2kiCsloV0p+LG>?q?NOR`+ zpt-?a8-nIWcO4cqH@WMepm~(LRs_vs+=WK4W6i}w{EeP*T!jp@aE3-ftnvjdHZxJ@ z&yW?g^&56XqPxqTZ{p^0lGqQqsndtnkXtShXP9xglc77%}?~k;r z@$f;HC|ph~29K5c#C7{^*zcHrEs09!+j)sOsvjYs^Q{~*(D@#2)~uE*3Q5Mbn>V#L z;n-|{*c{lzZL8}#2ueJ{FI{K#V8tB_N~L{$IjMqmzHg*XJE>_IEZ_%uo}O3dhlaV# zFhhr(la~IRfP2AajGDg9#f0L|QvS{_EZ*4SfL~fb8Y6Jz2L#)t-*_L9r?bXcXVK{@ zHYRN0`$Ec9uZ1srIs*o0kb&M1Ap|x(RADJSSF6503OD{JSQ)LJYyNrrT)M?%fNc$d zmyRtuzkX3M9rlq3^B@?xv>M&Oc1n`I?!|;0l)k46p0a#y>+|^%+hk~}!jV(Vb&G;$j zoN-FteNqxU+aP&6)#%mm9VMMMe@|c8rS!c2YLsT6%33?^2tOg*cFvV}6$mz~MH_$V zMQi_o&}q8SxGKP6*rX!R8bIO|oe?1jRQhYtZz#LObk16=71U*S55o_wKVdex^CP^N zlJ~R>(F)s*XtQ8*?RhUlC{azmSqF4T0j}JEe>t5&rS2TZ`EKsnl6sb?vmIaboKQr2 zc+qoW(Q{JK!y9m(eh*dKa!e0Y+d{1$p*h@+5n6p%`n?6kjCQ^993@jH&92q2!TDFIN3_n=|w|)p>p{ zJ8AAImHS04Y@q>cLrx1D*=>=SV) zboN9v6OI3R^rKHWdIgU1Pd|Ou>_I7H_OS}P@^^2!VD=~+FJ1o1ch5d?a$tV5PM#$J zG9%xKx$ks*kIa2%<9kx>dlJ42bKkl6F3o*U!S~$UcOh#KaZt7OUP{x^iU#$s4;mAt z0q<16Z;Fto3-Uij$W4O$t_b-TL4I3=yg?8#ystMlQ$H_Jo%{Tz^E#&clyTK-d~M_H zj&)SH(oubyw|>2xcKe&WUs%`C4qxOSAfdHBgxf$n$oAd_s~}k_&i*_D7*n0O@6=%C zoyhv=Bk9A(7Xa0Jk~dPG=|iIS7eKB4?FsarLU{WML0{F;y3qQ3bIZmLqY`H#8n`EU zpJFyV=77iap;g#+;SBb@X=eWSA9L-Gx(q5Uvthp|1aWS_qI3l|33ad$^U=z|4aV+;3pR0CU>-n@A3Sj z$FXz)|1JLE*V1eGe=GkV;{R*>f1Cdw^B=J=sq>Ew>e71tvBXq*IRB^dkK(n`Gx)!X z{}=K9I{s1hQ2IFkU*`Y&{O=CC|NHO{;BWAM691?1|2Y27fE^% z)y>br7w{H*9o0}7Gtg52t(Kb;TY=}8#1FFXTK^Jli=sIg-?S$=pajPi;)wW`<6Bpm z8<=B?wlsi=!qkiJ7x-3J6!Uw6j~QB)Gtj#PUE}nT4v^b{jM4v$HiNv~V+x>UXE)## z3RqArb-?v&{`CZFm#$9Fl0=$AV@sLh)guL-EeMlC2~<_wTga{XMxa zm%F*;W$F>eIciDdvyn%=Ih&5Y?y@#oV_vWP!`3i0Igu>o*T&u2 z-W81DjB~a4H;iwU)-qQy zN0Y-5)EK`Q?wehkdL&6QyEF^AO}o;mzD8$QaZ~7H=`j2HI!gqK4~6_7p0MA?>NjXB zzy*8m?x5w#b)4#cNb+`sYB~`vqzstANtLVb)*)a`Br(4bqx0OOphYuwFu#Y@ zXjpC-N@y*SJQcj!g!4({41%d0((FixfVE0gx}NxU*3?#BC~lq5>%_L|u`%cM83gk$ zC+(oEhP5IlBmSE7|jr- zhWl+z-0w$l-hD_Q3%7cj+~}9nb}5bV%<(it`}y4Myb_d96jge;c*Ty6;(OFsFuJgYVhPzmD&9OK66H3ime>%2*#z7fw~l$Pf+`Rbsp zW|969YaVYxdDWC~zOj>?$E;$N1L-;=NNYt$O^`PTd3kBAGxTF}Gb^$Zu=dDmNcqf! zb?(Y7OAGVtQmAtF7VN1WW76ibst@BRjiTV;GrSnWnW&1#K-E z($r93o}KZR)I^0S&MOvswHKhizfW4RQK6Vt?n(|w^NeR97A5e;&y|JzoYja`k;eL- z@&@sSj2$w*n(6YD7j9Ms!E}^SJg)1X%()-v)R7B{y_LrUSrvevyGb*3r^R3|Z#l$A zLJ`DhxM(g(wu`=dRfWba47KjC(t3;(ppI;SDTa7Ur1x_rOFH2`ZMeUMOY}-dG4nJfo*S`#8~8nk})P z>dqVjx#R7DHZ?F@ZL&|zt$T5*m2KVYEvFST%J z%7zWvB5CyOpea=jE&aix%4P0m$}KMik{*^IBe77qbPI^e_C1} z&HMWr%EgEnfThW$#^PE_mP@-SzwXB?X<6dqtXXa9 zTn)_n*itXrW(Cz_`!pZrl|7aXuo`(1X@Y8OkOqNzJ`^j3wZ*;=A5S_SJDonJh?W5~ zH|@GbbJKgMxD2X9Rux#?30qTuEbcfC8HKn$`p%#-+kSDR$;qeK|Abx~?y}q)sV2QRQ7B@cCLTx3^if*u)#4vJ7WX=8ctfP0l;PW2Hpg2@hpFoNOB^%pN@*_$;)fIL zk&XI;tgU+T@Tjyt*sjrzHTxQ;ypK4~_K|k`$yhDDjDX*==0+SgK z6SCg0R=SxgPOc-|R^4^3;SK!y{e$1Ie=xiA@^sjM73Z{A(l{oWSw=b5)#4{!n~((; zw%R#7CaW78uludeY{&`2$H)*C5{f@(SZd6z(j5kmZ;!O`2dW06?>T(+7aWw9_>Ghyek5502v%Di+>}F_7{ShK z%aNKa&hnZ{L9A~Kq*_Wr9OxNHHDsX4OUu($ukmSBhO?t{c}CmMpzAf_xq^`7!f95n(>@7O+LG%bG_mCnAu#C;yBCI3*#UsS^upkl5L!|5#Dqt%5h*`9}&j2 zS}oG<#hLW86-|Je_kGexw_qAw)BdJ2lYaF#Uj?Ldi&f7us|oDt`EJ6p*Xm=IBkG_z z&a5?F`URqnGFj+#GUVR^zLC3()#Q;Jd(2g~8A3`L{i&~Xa@KC~l=@ISW4}k(??(IG zqF-Oc5dLWM*~$gq8S*8|wFM&`_32RvWClsck6M(CSDIC9N1E@KmT{J!oKFG~tzex^ zGmPP^bNK2Mp3gLnzYtpAfFfQ?Kx09)+Nv$tt(4aU@tJ(nc=6+K^ZeG16pjjYKHiudk@qR}4&@Q|JOCys(q9d-dQIgUh8;*?QVEhxv@F z9reVK8VZ#k1c8IJH24yZ-;mPh=&v%uHHlR77ZRmk-82IB941AED_N;+W;`B<5wv0` zYAzWWs<*z#gQMihDs6M=0{^leKN7PZ6+1>p&SBqd>0I*{+lL3L+nQ_UR+Ou}6rjr& zn8%oHaBQUC2K2cpjsZOm7naQ>;P>P`&_l|yk^UflJXCdYSl9NKevc2@}OJz6kFb>3v>Yo-&1IN<*bN(o}jTfu3ZFQ$cSsnjCtQ zX%;7m=`1_V7`=F?!Yov(^~hjtw+~9&jQ=%9Lz^+@nnQEV(QHcZ&h+Kxkf!S9vMi`O zt(Tj0r+gJ)^Lh%haV998MHZTCos{+iY{OU0a`b4GFDoKunxyM>OC!(r_dgAGJkl$} z1cH6P@eNXGwQX{I4{7S^O{0~sGbf)i{u+ROJ_40GQEA5K&e;QnC(y9)Kv2?H!O_}C z*c?i}&QKU8l0o-hn;!?6U!MrJ-+&{W?{ohni1%v6Tb)KT@$t|kC*JAd)9 zIxMXxO%5VtbHZ|px+pyWB|ax9LCeyS1oLzPyPx!QcumMQ^kNmp&T4q%ZSPBpF?9m8 zD5<$Dt%ISdTfXKpD?9~MEK72mmu-&6AkC4NsZ1S_<${jJXE!T*jWy?x7IVi)IK4Dv z%kUh~uD_(QZRdvcWs=G*AP>uy!RUjWr8!QtEkmi;4w89OWA?4{aNke}Dw;sB9?;HWDJb$5*Q3yP# zJm*p78H-;?`8f5Tk+a=dZm*`O7YlXpE!@GES8vir-S|D1%Rd{ITLgR(Bl@R5nw4`9*S0C_O2H(Z9z3k{$G%Oa`p29MM3zpR>EYq57$cx!gyj%+88lJNNmb<%BdQ~QHV zVc3~3_}aG1YOBC0GzX+*e>nLwQy~|v^hCpyy*-~E_v~$vrY5df6FbmkN-{C0jbF&d zfTxg_-u%esvk^q4l#>^bJ9XITh^wN;j(f6D+wf(n~jp! zldV6fKiTOF&ti^7t>PGM5|()SS|SPTr5+T&Q(Yr!|D5q%8{*Z{F*23xp;9ID(YKn# zgM|6H;A(RXTDEBfL79#IzzMBP9-dAx*b52gQf9Px6&LF_sTt2@<0pcu&sPV-q+f&U zCZCc@>GO6V{)N~ublG?24&`0&-iMbdk$bzqhDD1$=`VaFI(~N08fD?$IhJzkd_}{G z&x;z@{0u;0yt_?Sf@l_r+JYo?yznoXy;v+^z>sTA!0PHt`{K{=0MrR%7850neStFF z9mH1<)EZOHo0W6J$20GPp1=Bm=PwN9zbemPkYsh5f7`-Q0c085+vN`v7v5xiQ&@bx z=o_`1CX%%l%`TT~QN4b%8KWIc4gx$h)#8$B9WE&%X!7Nqd>D_*!J1fAyCOnDXLa&0 zK+{L2NOe1_i2s&cX4azLZ6u0^I08vSlY_x+%x$}w#{deuSters4%{?+kSq@YW#&4x z0if5jzb`W~pXr-9vb5)2t_$Fdpmivy6RnpMKbgSE5I3st>O3oL(( zk!1Cs4sOQF&!cWw8jjFDDq(GDU|)c0=gOKE!6B+f4|amq`I`%LPKV^+?ft%AnR zZOqv#9#gaM$S}31D^uI#7ByyPs?G6@{nh5~4Ttb^%ZEx_3yeW3=vlGjxR0%UMpb{LdFNJ2#-SXx~Z* z?W;`Y&x~!kVVLK39~}Fe;;uX z^mn#caJh55efv8n*f;7toNqeUoJM`{Lb9()0f+B%(rbzY$^7RI(5wzc11Ks)*&&?S-?b8ibro$OIW zP$yfsPW}%%Kc}6^yI@MRt7x1+4V_1el1CHE<_v%PKVoxsI9N&7%hemui7MfLuBoPe zVk46;g|Qqrtc01gBq!>#RH&`w7evpSPhcU8+-J5V7BDLa9Q%2^Jshj|mhV)rp?s33 zxQOpt)JCij#OCSx{?g{Yo!g&{O1Y!b;#bDbxAzJ|(XbtVa-zXo1?FjsHE=`vOFIpXen*6Q2X%_}E~ftOOCEnm6L#KC_~cjN*mvRx z+VX~-J)ouuILIQ0NdrY)Nk1hrL2w2)!yk40(1BLgz}{nN4?-3EyV?lZrx$b5)cI#+ z6WK1Sd*=W2ZY%6ns88|ZcGi5I3;UHhDBddB7Kxoa@Y~mu$K<;#qpsCZyX09aOm&AM5 zt{Q5Wamp$Ma?dDI$L+M)<)o;#JGNqLPm;DUgE3@S^6;SW{PUlSGOVYDwz$wkkP-oU*16IWoZ z&xXji-SdyzTmO0h3(KotpC|tYyYyg<3aeiSAaHK!o4HSw`Lg=@s$Y?arQKHCQ&PP~ zJDu}9m+v*PdlUTnzYPCN{J+LO+IPbfu5M^O!@pKj$MCO~{5}33=6{jQow++D6yn=t zy*D@v4efc$nSEO|fOIf`utvL@;d$(mWV<97eXcOT1H)Ey#Tq+T5daC#5sE>6U1eDP z4oVna1ru5ASiEyNgrx}TiRU8gC6N$)(3pm`N7Ec&`)F}kZ| z`QcM+MNIgfj(yg&qv@h1ndcHX&LLvv**B3r=Gg=JaQ!CYHEqR-3fDo@p;iu~ zmPY#coxbphBKv1*beD_O;ZI54+Th^p9QY*c8qHFpJ%8DG`_QU%5I;XyK}OFbqL=d* zTa>kBmZmZfFTBxT7Rx!;knPaLuJ1$JC@qW16rDkB`QaTZCfQTFJeu#7>W7wbx|fR4 z!cFovKOa<=uBksmyan7Tt+e888(dI858rb*vk%F!^;XUq22W;}gN1%MH^6s3LBi#g zaOI)6;AdUj*X#}N&Dho-i^zZFPGUii60Nv)|zL(y{`vCfj4)3Uai}aNPAK=vYAgq z<0^PmDJ?o1XEu5>DQEx5hJNhEbAB7JRApwsA=I&*l zYiSPvcIukwdn_r+w!#b8q*8O;B!6_>Bv-Zq3TV@#`2i&xT{@ zPlk6#T{hnVSh-n15Zw%U*?beNiMY{{W(65ubc=HFL%+T-dmtI{3T}`kojhovt>miareM`Ge^ERu?^^D_M)0_^qFWk?Gj7gLnCe4ovPOH)!v6eXy)KIl8Ob z{H_Zzqi7*OUKk4&n!&zx>ox1y^OP#h7G2Cw1G zLWbW^$K+vVMzY3r=A6)`egnT7k0qC7;fEjo3Kn5ZwEjgckJ-FOL-1=rrNOEn%|yWv zJ|hGd@EZl#xk|0_!t3ZeNDpaC>u3}~De+Q?2DlXsa;BBDjQBvZ<{Ns$8l?!Jc#bY^h5iNSdJT2G@bNsdq zw|IK5t?G=j@eUb^G$WUu} zWIrTxgYxK@(D%xvcKqiOY14sfYzGN|5+ouYR z;$t^gu%Sinn@Tvv1P3*BgRvu@;zr>1S?0!V#jC6RGU`8Og0Zziyz$Wn{o90_>4Qb{A@gk*w%@;*=XOOF3rmE;fopqyIG%p4wBV{?b@^YywX%g2jsgX@l6iWoT&F;zDwF}y{>mNGZv)>8)-;Mie{ujZ5OyML9%*~>t@s^-(3nX%-vW@iuu8wh&I$Pu8}z9v}Rph zs#g+F$C`2=h>lYY)8?d17S*RWeDWmXGi#1!lTnPmd|7bYiT_P zXdzR9A3d(?36L~L+}AXxj5hlk+W;El`gWT?$MyZ;-njpExZXbuMjedVY&=)pxZ&Q) z_&zkGX>1nH_1G3G8t)aLL+jFRtHRwlQt+5RUxAqzN*El(s_`1>V}gdt8zA>s`Ag+| z2k&g5dHfTY$<5@#=)H~-=6b+(?sC?YyK%Ybn39Dh z9hosWuMlksiXZ-wWCl4_F}LYUhr|oy!=NzwEp}u%D&QYDocC*o13Ab)(5psA;IcgU zcK%jtE&o6c5go`J868RBkk1&LLp0yV?9naZILlv2G!5|ydleW#f8pc!?3-R7hNOktQ|%h1tfyzgKP!3+(MVF_mQlOU;OT;Fxa8#D=nF|2lB-ST zqFA0Q7W=XX`b_VZ`2wb@k)op#hq9ak( z7p~&VDk6>7vv6gcLjrkhFZ?-Lz@hG#(ifrBH$D>h{yx>EOM-|~9y~9KFNin}5=2*$ znWan8$l<~!GG~Z_`teM|)rHg3DB}ya5KcfWI5}wQgQczV+u} zpudAJW3w6PPrilNKRy1+pAHjz>c94C23)!H=~=o&pPBl=u=_Fg;NIv<=;%B3-{Mma z#peT$J=5RaDjvt8m+N%a1%gOzx33#JM&Umx916uCTyKpe2>)fJRXusO&*t=ZgG-pR z)n|ABK`Od@v^l@wYar_hs=Rfae6-bMptNb#h244UNDikN#iV1;ax!{pg|Q23R5p<^ z$W1Qxi-|kT;Ig&G+o7Yr>hB-eDiX5fJTw3BLbqui7u?g0-rEchH-I7G# zkx3G!hFK!Haly;X2Ir0x&Q2*Dv>nk6_!FJV4&c7oaJ5#FZ2KV=PTJz`$n+D|ObF94 zL8z5CZ|VpW*%QQIU@s@MbJRjI`|`2(xPwhv%(-KbE8Wpn7jAddopY(RCuZIH-O$s~ ztA;s7+1&;ZKBE$C$7<|XI2r;8*S^9v2e|hN_ty#TZ-gt5aP2ExbAWrFaDSWNJ}X>- zglk{nngiVXh5KBB`@C=k60UuPn*bhAfB@zIk@!D0Q@2Wm;=C53BVi^2Vcxf z_|pnso|toQ$V($VLk#()f@b^SaPY4vh__iVx3(I-zW40rE_6tjFJtXVu}mjuTXMuqQ21D7~Qu2nQr^PqdP9T zDq<~hoRm0DP8_Esj`t=G%d=ux_7;1z=261JLxh0wdqNgY@oziDzs(f?c2oS@Px0?C z#lL8ZfAJLmj#K``DDMfE5oza%@ zdCHyTV550$#$DlWv?%*3x7R7`-xiv-a4@{0iHz|Xn937^m$=}i3SPVMblyQaNd_#p z16TgX!X&JIr}D?BXGK0%9(um5mNcxH1AsIHHqMy?fTUvsm;=CX5`Z}X{5AoYsnjH{)3DHba=R1G|iF;=;W~zYPK`U;}b1h}QBL@whz!O0u zJp~pg$1)LH2Bn6u6bFw^Wx0iopx$C-K{4nXij&V5*BGAd_wcyT=u?9uLEoGtb4D$C zkx88_$I!vHIF%Ug@_CUrK1z3p%iyn4UApIzj-%x`@W3h4ow{ch*F_hr^Bka#?se6U zrT7Eu)O_FA?C~*fU+YLEakfm3=eu~;h2ETw_eIF{g&-d>kw}dEm=gI@J{e?U%Dw+n z8W!!?bQ)@D)&D7)Wo>+FG-_>9`QxnJniO-!NRQ{VEmxDs&}3XY(BcX{5n*9l9Knvh zOo<@njEit~oI=l(^zAUrWE9=#O;wR^XJH)5`AI&@Q*or7*GGd3{}A_z@$IQcwjEJdw*HXy2wW-QM>_3)X|wJG49M z?U^{De=tzgZsx60nQ@twkG_r51r?&d6BcoX!kPR}MHqb~51|>vA1(yZfC%P;8fJu1 zop`l-(AMb;>MWu&pT!kdTR;v4UIqgJzpOm&f}&`7%8&Hc_?!gty<&%#t#*YMD&_$= z$GUy<_}vamXCkD1zMb;9*O~B%X1guLvM3&g_KQQy)7Sl=;B16qY z;8QcNBsFtF%5UM>% z!DJ(g6?8dLU5*B?J;XG!b~=+o@a&-|6`d5}IDt}f2u24H@>Ar&^Ye3u zy?Kt9?~>qSf*8DWZ?68-_#ysU^K)%)1(m6`XD43N3;Q|8u|{3*chGfe^o267bRzuY zdW%_CvV$>?xIUiC>_ge_m`WR(I>K@Q5=)0yY5b8?_5G859hWL=8n5ClV0YWPfS=`b z(;9J$Uh}ZLKZ*WnWkl#{jYG%>3$W*`4#9P$1eTz<4TKh}X$M1m{BHA9 zR!qG!i!EqUWXw38&TjR}_OjKpi^Z0j9YQ^X@yY7>KjxK=s{F9;mSo7rwd1G&w&{}X zxMqINoygC2tM|}(=upDp8mXuj<2AkFh`lp0+d(u(??{M@22Nm*tUNrGW`Rc^kJ8_; zz~=Qo^oJc==#XjfOFq*N<7&&f1sA_i1|?Y}&MGDcD{H^SoR?hFQ8C-Wv?&`)Sx44VKNOVS5`amrKL; zF<20!Vfz{^pHIW~GgzUJhV5^#VlfRnz+k14VAJAqyvblKEos<+25W6i!wxc7TU#3T zW`ni21M5u6d$7T#Pd8Y_@nDI;X3P*QN%s(gmCL|7lDLN&tfRwVaoo2Utdl2Wr*$N8 z#|+lhW%beP(pYM+?r!jMnK+1tHBPoaOM)d!yzn}7Y3GAH)+iWvn zex~YpaIC@R%mG%;^f=gY2HSjdVEN2U2Rq(ibGHDNo7U}M%M3PeuEFBAvD{!=&hz?n z*`(dS%V6P_g3a2*#eKKIwhDn264-kTHn3HmG-k#0Rv2t>Ak#l>dO|NU*wCO4%#ZO- zFxc==8g`<=Mur9RV!UyK%^yj_Y6jbSej0X?!4_UDL1+8f^F7(y$L1 zY>(a3urm$zx;@gc4;$?DuS>%|Vz515PuWUIdCxM~UVEzj`Ema}+hA|lD-AoxU~haw z8g{P1_I_g;cAmlZ**gt8-(dUhlZIVju>JNmSlo|3YOwwHOXFQ=umkotSlqWRGT56A zFj(BTK4!23-(;|OY`WNB2OTI_F0Qwa8|=*orD2~i*uig3!#-)SB?qTrpEB4XO9TsI zdY?Afp@#@oh+%6C_Lf5hE5@+T7;NkKqEltBNG1%dUrD2~p z*b#@PVP7!Vkw>IqUo_ZTk4(eX8tkaIreT*F?C7J?u*(egwxiRq%MEtS+tRQr4EFY8 z(y%WX>>Y1U!@g{=cfLcgX)zDJVz6W1nTB0yu;Y$3SllMBGT8CQrD0baY}xT?*jEj< ze3`-GcJ(!by=%F_;x_bkgT4D*28-L!H3oanyVLZpHQ0*xr0HE}uxN$X?>EQdZy4-^ zDA(_|CT;DT20QTt!Th+q-!j;_UJU!T!A`0vZYhS{V6c-hFWzv{IbE?;C8@`wbSyy~$vW zm4dazac?%*>bhWw9C3@mPF-cNIPMP&c3MNQM2@)CV5hGJ)|!p!{m@`%oSNqSj|}#K z)6%fp4EDj()3DnO_MtNj7T5WY4R+=S(s(~H*oQxuhW*rFANf!kc89^vIx|i0X9hd_ z!)d%b4R+2)(y+S>cJ5igTBpVJcDKRKJ6q-TW7s_gJO3PDxulNnHP{8`3J+U*Hb&fM zu#cW6yaaZ?!7e;M4ST>~7hRBsJ!r6xeKZYw$Y2*=n1(%Uu#aDqhCO1iPkhW^F;5>g z*e5SeacVurFRB*o+wVjKS7^Ua)cu`<1~i z{Q|Jo*0_KC+F+M`QLqH>HwL?Wtzbz%`mMpfacR13JZrFTUY3SEXRvQwo`yYduPs;WU%|MNyA<>*aO$5VShH*gV&{De=*oY z-$=v$YOsgDDOfUx{>@;Id@Bw6yTKm4J`MYa!G8YjH0+-Sd+dfZ>@|Zu{+%>zy}_Qi zQ8INRJO0aHPkvYOWJlayIDdz%x9)qAvlAGPWs`JE2Fu?rSTZ)X z7_9hXVC~6x-)gYZPYf34ugzdBKNTz)@7oR5dIzw!B<^&Bwf)RsaoiaOYrj*lByQPY z)9(V-lutVhR=!*Hk;t)~2J5&d+n=40)KQngI`0M6tha81b={YSRSedBzxr=NuWGQ$ z1G#?migEq+7_9oB@{*5XGY!`BP#V^2u$d1Nx0#n&2J3x9^KU|L6N7E?C~;d8-fwEK zO@A(WN!yrhu-T76uNk)w7`m~n*)m|qojW+FYl3XZK03dxm>3Ml(fgtJ4?@oN4F(am z1-R`c<T^iX42F31%@ZdIB~E3{ zf-JiW{XjW&u$g`ACQd_fpzb2qKCf4G6nCJvc9*H3On<&Fs-Jt%L3wqfP!|C+gNfN9 zj$X<-uFgr@qsk7)UjHnFHxPnJ!0<-CocgSewd8eh_z`Z8NVj!7bnlgp&8+3tcZO__ zy`60)b4#H1^~^`}7F5FTK%xK52fzMcg~x`CT7uqu1w&;Vtu5uvoRL=_$Gi*gbjQ#R z&Mf{Jvpa>5l9`F33weBf?84c{9PRl%V;A<#kYgqeZs-hPuE1Dh+;i?|U+fPwx_BHU z(TC}d%zespjg$R$BJq1l6wcSFUXTLRW{+3FW zYVAtxCg`XK-*u%tH-X%x<-~^BV5YcDrUc2%TV2b<{7{Y7&1S3L*g|FPtv#-^F%TiI zAANh0@4NDGghye~E%KAJkXPgO8-OjUVM{!I=&Ii8_&4 zLK#&w4kl&z7+CHusVmgPqabmWsofbL%qnL~Wx3g@nIjV;Llylx)1YjCEiY%yDrjr6 zVW5Llk6`mpwoY|(Y+jyCuAyH2x=6g$khm?iWZy~=AD~R$gl+kW`iQIMv+aHb(s zv8nosRvNq1O)THhDfpB69fC)Xs*k4T)!GkWO37v~hP0ni8z&vkXvSNEwI@_<6KC+Y zf+n4FfDhg4M+$_V_FjL%_vglY1x61Mr0v|Jq0@npVb_Z|$lUB@v0J^YP_i7fZz3 zI@^Lm>aTVZE%UTNf@>$sHH2&Yn>tR!?a$I_!}6|gdPn4a$%4zntWsJwDW*j?Z%} zr%VQv#&4MnXc;eUHYrN$_>xJ0fn!&TKiug)1rDtihuElpuX^-e-fD5k#1LJ8saSvL zg0GLMomCeG7Cz9CamE{ift$S5Vq!Cfw^~e$y*&foYB4eP&W!1WX?lu1;PpUR5i!q( zOL0Os*Bk)0O#tQquw4Q$2Y~GpfH^p-rKtTc{$YJa`?B)5 zNVYEv{=x*`9BbVyty9jIs2c5jHrDbgh;kGf(&r^|rmdYTSMOwGKk`y^E!?BY!rLWvLF?F)hq-sxLgNu76vH&U*74pRs3_9MiM zvBWXtR}6h?b&K&`7ef%m*k3W2ER(~1@+*eEwN(~_rx}%oAmW={C+VjNj;3ym-0Fqx zRFaNbUX!jls}Pk~mX6$UkcO34?f7Vj=IXnV))Mr!`%PRJd=qZXQY8YM=MLtn=9@5v zJIr;%CZ3pD(W*{VHVDxn0Sg&8TWm;ODexPL;0UenW=5NZxyUXD^lMlLDm9db@_8^{ z?C7MDH(;E+s4BkQ{!x!N2hHP9 z0>bf$<{`hDhrYGrSjKgQHP<`@VF}<)`&Fq7(R+)4qGt{OV+p_27r!5n9LW=TwWlu5GMW%QV?@D`Ux zL3Ap4C0}9aI~hX|TaV79cAqpEvJPnO@br0JZFgwREj0uP21>mH$9St(;dU8{XCBMM zlz^t0w8=5L-CSic_87lCkws1uO>wfJuQ+KA0J14&0CTKPD$9`(5~HR~e-`fAxa_{J zQ#s-}%ns2xOJ+22$t&+fEXI;mJmAJrO?D6ueqlV2l{Ci#7Bb?209wVbJ`IO4U|^5& zt~s%Mb()}v>h%xs9cEQ^tg5X3K|y7XS`G~VD|ADw4<%S~Bv_?cTcUJ^CeG*8MI_n}{ea1Hy5IMdl~*}4Wz4^gw7--J7(H1{ zA8_Rf>Zi(`&h;MS$23`@ysK6}tgmX-9HmWI0I&WCu%uiD-edflW<&)l;#vCc;@Mf( z@COrJ@@(L0%=*?&vo6W`YjsIM6!RQ?m83ZUoSOj5VRgNjvfKSy>yH`>*;;5yRShL> zy>o#deT575TI*iL!pMwbxEa8;w>LsZ^RyS*;anNSEOCq2@)D%Z=Gw%{6_HdxG9N43 z&V1cZx~P|I<{oH1O}*4kr*v5G5oJyP%9I%~8s-|Xqh#@FXMm@RMZ2K|5w+q(!qEo^ z8{T}wfJvAi1j()+rKpZx7pEv=OLni+7T?2p%>9@Z4=YkfF8UCWhh_u`nA7BE0!h~4 z1$R^Lr@_Gau4XXa{b9lfs^`6fo~Y%Ys%dTbK1w;TOW*q1N*r^&#>apFUI19WJT6nz#EO-2Va7%ag-tX|E8DdqH>k!pav1PD5U(_2Hr6KI2X4lPh2i%A6 zOP_Af<_`)6%Gm*TmbaQ&xQ|;~P6(|RkPk1sfcZT7C_jx0<9vCx*08#-3#SzHy*9$r z9Xy)5F3%r;|{B0OXLPVu-Z=M$h%DX!P@UnxELDj%=AVTo57 z7lXHmKA`7$FT(BB1&KZa9~&Q+->d7>_^8}fi&ZT>$z_Hn4GVY2sNWr9+hJ;ByYaE{ z2}SOE&0?!N$#0h$IAQH5_r#Rf9hTt5Sh_ece3vUU(wkB0ayhe{V%!I#b;`5Lxhq9< z7WvP>mcx;auoKBWBl!Rxi$;$B^+Q7g( z={wJHplZm0*7PlwPbv?(Z}JuL@N4qm+vY>mf+}c;0m6?s!4(Ykrj*-5ZKlwH=nu5G ziZ@%Hf~!L#u?HqF2sqt0_B>7FQ3)?1X_T;M@+qy`W!^dp*al)~Q9EZ&4xdf9S6B9i z%H!)9aI@jpNTT);Vz2D7Ym=F2@SZn0GBcKC{OvfWo5{RCGvh4hR+(l3`OUvA)9iGa z%C1b-VUuz_kMNoeU(j!KH+5FZnqnTa8?q0{N=AC5{yh%fXOD%=vP#82kRM;XIU3nN z5Ny`#T4UU*ofzJf!RJE5D4Y0Jx_>0gc-Yn)gw9_!`b2T4tI4nrQ{>Lvx;Md*yxEzK z$!*qk#i_4tKJVE*7j`w77vpX|!M)1(yU9!i1t7MP&ZQY7EX2+++;cpBEl$=eKH`=uwlZ~Fw&`#6=RH@;T&{4ueEU8)QD&g}|6uJp>|w-6MVR=)NL zAS=U9@_W)sm^Sd6S$3>^Ze_f*Mdkz)h>oRe=k^%S*3O+dJ+r>D8dSS0yLN6bdW%mH zojZ8dk*qQ>K8KhC7-|_GFb5i_@lm;AGgl@zY)js)Pe=xwJ!5X;u;=y{uw37EZr>?~z34MwJCN(< z121~D&jM>)rZUz(C+FqnyhP3`J3SdF4g#74I`8u~QWwcg!PI<0>odEWwYNMooNcfdWxEvb^zbXlrL*cWKKkq^wd0t~hb2N;;L{8ZpR$WBv zsbJh+ZMu1f$+mVfLYjCxnrcy1#nIvjPf$`<5z&`Hr$u6TQuUILzJi}U_b8;K@pViE zL{|bIeJmz6L4H}|Wnj7PIF^@d3FM`Oc8s-MhZBAIuwrqeSFxTWrR@63U@DezAeCuX zjJmSEv~i0SU@A)ECxD%?L*onrwOHdvLnM{#QpG$p-aNV?Z{lP`X=&r98&BpoOD4dk zqIDl`rhe0ssVW(Cg}M=z>RF@zJ{eJ3+PHn=$=qtmy(*Bkie9-lHOWouW`gZ=O(jacAn|8YlT!ry5e{a+5}e(h?gG&K0SR7?_! zostI`K@@1RVM}u`8Yz$O#>D5uuiBR(u`=iz9ob_16repOl+CRKW={b*pl{T<9AbWG zyYYKL>z#_0kMVmF{JAqL>4;w7CZc>p;~pz0Wh}O&Y-f2I-I);hj; zZsvqS?JLTuSNk6I)wo8;weQP$El#&i%w%@VJW-w2Cb?U4s?P4%ep_@Ch~vw=_(*~m z-HgAoCc1?Wwgi6&VJ7UE)!GjLgg=s3a;E107gR6dt$;WZQdb_s`y}{vk1r=v)tC+5 z+L({b>a|-GA5lfQudDSnJ!+s$kJ@n4qh{Xpr~^u>(VU{MQq@-klQzRvOXl~QW2$D- z$I=q{1&Ks#3{IpgkBLH;dq0cdi(NDDeC#;iN@<6fm&3c^ds#1p6t;`_e?nGb%==?uj4 z9Vpj};`!wKhquGj^FD|8sVQ%U-U8t$Bmmqlk% z%lHOm7|K0)DS=+?cCy(JBp#QplXIe3n2buLPi-eZ0nN1zR*>7pJstH$Z7Y}{lh-0y z&emrY^@)CL%n)rn5-pt`E&Q?a`-2quf;FRb8?rGO1rjIXGGDvSwIQvscP0C;Y{;W@ zNyGaf@3Nwr{t4;ME3gooXrL^_oKCAFv)RH4+J`{8^AXZ{^*^Um z|0Yz2clBy_K(-+dl{`n<@vid|GQAcL}ykQ=>{GUf&b>o}KD4p>#f+Gxfk;uHDZQc7OEi$IITL~a> zyG26X!nM5GYqS#vGm#AHf7Y+9ND{?JJT_{?9=$70(Uv8&r2(fqatyfFP~cjF$Q-t5M``t%hW z_vveEzVIHRMfdVk3a}6r^q)qgk#@S}-Qe^b-O$JAc^Ncc_Q$gM-_k>3mt@h9_>{P9 z9TCG#B#+%DdBtvxjtRa=pfTKJw%Dy1Cc!abIEJf#C2)-{iQDAz7{}zq*lhxA>^7-2 zcAIb+yRCq++qf3HjdQU(W(~adGA}#UWLS-<=*c2ZMNix+dg4~m6Ss<dbTV}1VOJZhQvM=FDh>AqiL(av2T`FSCL~M&n2qRu@9}YiXHoq zfmHC=*H`rFD!cQVvPE`Pr4XouPpKD;;_J@Eo;?)Q-7VEb__RV_Y3hZ34i)wWAJQk+ zcvv6av3FAueOeipY{Ynu3nrSXN>{AC6u+_k#6T>)6D_g`^)|+rJl7s zILJut*P{2N=v~z0#yY%k;}`nm8c*p1H=Y)f8+R}ZleyaV>}E-x^c#x7yFk!F=g2Wq z7s){!o!BiRdO--x#xHSWMgFLvS=p$a@u?+is;{{wSLBzE*>rD8Jz);qPR~qgl;5QjTL@Q%9l|`=}$Oa_+~OL{WNTu5}`eIuiAC ztsF+_p9KcLp3^7Sc%Bb-SK>mtFjL(*gc$Cym@S21*~Kji(S5K2w-8)0t{A_8th-Q$ zZy9hX)urYM?IAeT2gb)o zwp5uF8kbgq;qR0OCGaPFB=9Pqi3AK7C+0#(K)@sc0UcA%9Dl1NpwKu01v+M0Di?XR z2ViRBFMz$;gL3{=&iGtJL$W|TZ=OgS`-^0f{}{tDLD5_mWoEzItBby0dznTZJwzhT z+WzQo9ga4o!BN6~?N#AC430_2`O)9%VPK1%&DCB?2*iD~pFI85Me@e(Rw)q*w|C_~E;?d6)|I;qM0K|XH;?H7k{2aJ{2N!OucnPv&wx~K29ZR(4l*~~yp$NcNSZiS8){sI?D zNI(3u=y>5%2_0{JWxFOFjhEV2@z^=pbgx8bb7E%G^PT&!@$;=gr~s}NXlrkvG&^;l z>K}yB=>Dk>r+&XhdX2xyQ*Hc9pW4$T-B^#4cg^bpO^A1|$%mHPwDj_Lb^SX1JC7?F zI`93|MV&hb?TF8@$HuXRKKdp3VMVMp(SyYQ zr{Ygig8f}taLLp&tjA&wTV|bFP)^gX=}j#Sy)NHFJGyTq#WA}g=oX|nZuJWjbby)u z_!(zRY(jrbippQ~3^8Jw=KmG`w!tboZ<1%xrO+b014$s-r}(QHh;kv!>aVUA;QF*6Pz~%o@T)?_zbK_9H&FA|t=n ztcT{FM_n}13rs5^OKIIL@GLZX1n#vKCiZuhwK{A@N*l$| z-r&DdajY5UE2j1th}+v2z;}8e2Y|%0M&gQQb$T>px~Z=Z-SnGcpc*&bG~i=0qJ+e- zi((F(fmj%JsM8?iWQEqAYvlCJH3~vU=#-Z{s{XGaj|?JH`q4BHXlP2(CNQrqN<4uS zUtM&BjSh?Fy6DE*#!~n^G89i`1<`Yq!%|*nucEjsAM0k!YZ6g5)@cPI;t@&@Z6gVo zxbwKB&YxDj-%Z!an74PP`>k%>DIMwj<(U~Jg48#x*T*|jDn%mn>m1cZ6m^=)n#_5Q zv#z5UN8^s7h)#Ml;cZ#TdAzy;T!ZnDh_rz@x5X+ZZ@iUxH#?2s_|xh7I8h2I4&2hJCk-fTd9^FYxm}~3aYIEJII@NxP_5nUNh6zGpIf z?wQGn?`MwRU~`RF7z-a_R7&`uI7J||IrWPrYIFQ0^Q zTF~9!Xcfe41bTJ3mwI&}9o}f;SHe`-uhyS!Sc@6cU z>UmX%$$_3bdHeF@N@vU9JL1SKYdTxYt+p!d9_hvPC~><-X5dmLh~#XMIsX!C8h?SFo9z0OgLB#GpBC@^xCE(Q z9l=_3tjq(`oYdoXT1&pz5nj4yLA{uN*3EW$VrRZ@P5o;m8a!gdZ1L`Ww+P0oY^;P< zTNn92if%nQ)`tI&Y9mg5$l?7J-ZE3VdVq^?KalY-{C5RNvb*$tn290Nc$^?EiWYT? z1a#!sSldSPcp?d4-}d(~(ngbJaWV>THpL{FwFA#P`aF`jppW@bX;s!7 z1mEOphAmyg{U3j|G%p8b-KU~iXmgPC-9ld-Kr#olsB!zJeCxU!0H&tX%Dd2Ik34e41z9d}B-datYqP#fFkVxhx*R23K^G&Ks@} zmWtP2YAEmRK{!bF_x$#twi%AbRsb0}zD6CiGmMNi%$1YCgHG@KWgH;x-+E8B2X|`E zdi0FqfGwzl(I@QGOfY)OKTkB+&#jo4iCoasZ@E#vlmayv(uiFMw~|rS29z3y4^8 zu*VyvMQc#J9|XOi_9fW8vS|9hVE$z9f*D0?+bu4bb+q&67v$prXUUi(zl3_zT4iNH z!K;l)a7_3{`p6vm>;1a=pq+4(8a8u>B$hj5+>m>hs&wXE4^#hmP=9=0+z(HmuRs)rMlqa-P4eg@vt~ud~vP z2*^eDZ1g;2lWm#&=x-*|vPNH5JB(?`dH%B2Y$2wlr%^4uoV#ER6`c+LE_(6PsD;sA za#xxtL$fE-RR>~}P*5!RtCdEY=sG1)49+ieNN0`KP;OpbSiY_}*<&ry~2)TG6iGn%8mGKqhxS+K1Si($A`Syo`&>SKvptWMlw zRpM6h61S2vw^YURNo}4NZtXq`+-KB%7V4w1Vis-aa=ry?LmDI|t&mk5JtM6zhXYRa z>MG`Nt_u$e5#evJW^OK-g_^7^43(C*F}{SGlN%d4;`OT=+mb}n8;&-uQO2PWpy<^6uFJlfl*`Y2 zkKDCvyj<%3Dwn>L>tj|9wR~4DPF+)v|GD0TyI0VKa=n ziPz8EQ*--OP6ZLib;73+h$SfzaZa|ejF3@5qUgZB0D&wjq{DDWj)KwWjlO3ubGK0+ z464eOO$4|_IvG4gI&q8A`OD1b$TBJpVoha@W+QF?I5C7-;CBO;jDHz^Il7LbaRlQA z5HY9QbTPT?O~zqbZtZ2LG=rmz)sMyqsIcibg+0+>iZGR%Jr18^j)p!n z_Hw9Sba}~Ek>WsZR*AMw{9ECp8&p3||2a;1%T@-lGWrYoEDd(Bee+jb4nI1E$Uy!E zWcb%^Lx*K`{E`Ucs#;a}cS7yXi}UyN*x^eKB3qLA=w{Niu`o6#M*7o2t)5#meS=Q7 z&r3R)wl`$_5>3qzFOu8ZoG5g*dGQ7nUXW?F?WDQz!aH>p`lHq3R8n zD#y~>9Zh~at!{P&L%U7?0;wU7izHAc2S^mW@CYIf``w)WHfMbuSu5qZZBzR#xuYr+ zGavDa0L4_4eB|M#&sa!=5i5>+KL@Vshx19l%hDI}Fq(VK@|2{RVFSd((A;A?kuG?V zBc}sTN-)COCcNYXoB0Bz*fp?%H%elnl6xR3Z&~0tH=6kbeVUYjn?y-}R2&5&~+ITJO>zIfEgUN2x>zUW}F?`#a);2E09#Zx)>>}e=MjP?}D zF&M*)?9D+N+ZHqYfgSbh(K&!$S%FUf|Oe6geNg z5l?L;KP61+C{7S{63NOBtgGxuqB9A zgAo<@(VoMuh022dY~kW8FBe_Bu#ziWoHJKzJ3#({jvzHDF#vhO6;O#@M|@KRAZGBg z%XXM~SPZBkM8%&cnY$Z%BE;f)uL3{mOIC$-m7;rO0T~F76GpzS z0)-pL&ez{eU_(EFIsK>yTJvZslrzX&&v(}Ui}V*Z9JzZXm%6K|GnL0Zm=LMsINK^t zb-~Ew#%l#_7RZVdNxR5iN88}!eXB$iOsm&7oLzGx=ZH*`(5Go}488I9P5LR6I$DZ9L_yWA<+-f-&=bKMrW6^KI3`SXY}u6vww)qAbSY07+pk$CK9z?<%_n&E0mv?)v&^6~>gt)KhmbN#4WWH!ak0ANV@Xf`-`- zGtAYq@Mt3>CIZqqz6pv3(qX;{noPGg+g8WQxwXC-)i4VWM9DHmr1sQ0r#C=ITl-LVIN1n7)MbmWbwZ#0M4##wiqd%92eD9aQL z8B0wf_Kl9Xm-iBX-rm?td|S_msabBIHH*~FA+_PNoY+n4h{f*8Kp{S-k_PPckV}EU-Ytb+b-iDoZB}3{)k)S zjP=wJsoxCDVYX$(CX8qvP}626o?huQ2i}~F6VKW>QTq&Ni~!%|RMyH* zG)Iats3p_eQn_n=8ZHh~BE7XU6-VQD&UEjaS-UNfGuo|C)NcFZcI(v@Kj`wKO+XlG zbze+U&lq89X7Uy|dIJ<0goRo#X`oR1G9a3`(c_g-*ThNF*`S+4nqBJt`yu_TVPb1# zkg?|`F9|pwQixuKZ1_27lyU^TfbWuap}b@+!Co|1fa?{xYy{vKCA3DbYR?A;(Ju>` zJE+IaRX($FQ@ct8{V0O*v^?Rq7Ff6!&Rfnj)aE{&+4!4_zd`)va#fN24E8+Ac`kBZ z0xef$HaEY7rxMuw-C3-3VneT7ES5_b$3Zrw5Enq8pPYX3{8S<>tja7|v_V}M{i*9s z=-`~g55Le%#))#LAW~ckEPlKaMC&=(a4kR^i;kzvW~<8T!*wGW8d5ikB%;jwPb6HC zCLXrzAlC4V3BRad=E_DMCpD^0`$<#l3#=4%V8=bWmiCwpzer+c9ng=i12Fn)vtM!~ zxLde3C)(2nd}ljw4sE0~I7Ci2$3^|jA=s=b4kLG{)zQN69TaVfbYe7f_z^%fmmjY0go#{vnRhLezI&wNUB^f;$O-UFEOL^Za@7Z4cD89q3Xj=pbcWhUi5)3WUmXu5=M{fj0 zFi=9F=&a7$$irNC>eaRa)DQ))HXx^AMu*D`^+jwVl?KBg`WO!Srm(mlPf1!iAbK77 z%}0a8!Cd@KWF)YMdx!5$pSzmi>zvFshfe5T_aXgxR;Tah4d&E?sw_D~k9!}nb{Od93 zD=5z(nO6G5yIDI}%kgUOtJ67+8yvqiZY+^~+H7Vy zX@*Ifi&JT4A<~U#p_j5JM|7#1QY5tGm0nTlmB3xnUNmnph^po-nU@ExTjiBKAW<_H;X1P~{!|<%6vSf3?dzSb(2D6pzwqzjf@beG!aHJ+5-NdkVunmXHgVE>w zpt^jlXZc|dj8zVHvXR~?-Y5@Mo_@+>oOC?7NwujKlH$otvGDm0Yh)v8WbZWRd^wMm zGZCxbj)w{7S(xU|+hR8)GhprHZw%V9H|o`eRPt8oQ~y4*boi#}q~{(~kRWq_2{P<3 zhu1)7Xvcj0;C5|KXe(he4aaLZQB_wK*n+0v$`$}q+vL6GN2;BLb(`Oty`9i( zZkH;_~zU*7|I;g5(sw8e(!aNfkY^!IWpHlhc+#k$VWVfBym5yUQzc!&T-UqNaRf%fg9WR#Cc#WbYi>|m?pU5*pReyjriND3j$jh#44gL_g%2oZMmzH1LOIdLM2CUE zG&@40nfT1dH^$}KF#@BtG%8|jBPQNP#pl;o_G``*g{V&ig6LAP^7Va5b%)ES73YkO zgHY{2<)P>x^*4dhS<)Gteaa;}e^V|-`-w(tv`pBt9T}l7DFNT#!Iw{k9{}8sSnWc= z9Rn+4V}JB(ac+v18w??d-Eq46lWw$80e<~> zz+)2)%dfv3KzJMNaQJwT0^TY??v`AYJsUrN;i2u22{%S{G^W zvYadMAT`$KAZn~F2dj@~+_07FaX8ioH`79ESl?&ms*vc%P}d2_`iKY>IN&&&;bn&A zn(lJpWafrxL#^e)<#G)BU7dx%tTq#2hzQ7dh1%9ijf+z*>t#;9>{?@CTS-g$+AeAYO{io`++ z#wWW+uKqzs&&+r9lM0aiyxMNm6DuIq3N3Zf$)H(dH4${N&h~NyqgaiuM_}p96)QH; z>gZ_SZrfJ*9oX?NYGZhJl!3cNef;3tePmyLmyFEj_mJI60IRhfNop=nrX!4S#$(Z| z#Phkp5OQ52&_ZB`XMoI%(MpYF4h_q8nPOjm^g(5SA*(XKD<)M;C|xC#Dx2v`qdy@A zbh2Uzdd6Iq3%Id^B=JB8TFFvBzlSVbxoMnGzVR*+np-Z!)CQ0C%Y`^o98?`TsINE$ zvn9^j;C55XG`K}MH~tdp%jjWpJG5mpyvH&Vr%>j!K@jZ>H|X8mm239yUC-dmBr=2K zAncZCeq;@|7gfW0!P#duEsld}A&K#eHCU9y?mVrysSa{`(SBwDG#04N{rX!~>E8v3 zrTkH@t_M5vg-bu>VZb*V-bhGujCmH3fIN7aefW-An^{T}-`4#y>v$MGTlnKXLT)Yg zaUU+XlmNJolv@jbr%G~4BnYc)?}D!Bjq2|Ki`FNhYGZn%dL$}UsG#*ZLGD@3y+ZEk z&V8cXoz6WjcdTbJqA5Mow9ItUU9Mrt=v{L?fP4(!9IJq(fBR~hUg zlv2UKx~5>a3=DW_Z}}{jJKK1dKD8Yfks9wd=VCeEgA)nxX~-tLlzp^?#!E$^d;gI@ zY$#)S8~?<6Jea$gM$2&T+Ym>6_dLGaSX(%YrfQO@)(~22Au+B1eR!r@IS(VR&6dCD zN8|cVL)27)`Di`q`KHzjf1uH~m6Av$82*?5J#o^7raWGVPmdi~We9I4*z*hFkMuQK z(O++IY@L^Jn{T2Mt3VKe<;NdJ=B3xXix|8RB+KS_UrvHs^w-tK`3`huG zF=RY}426a09#AXMoh;AoeWRQ3o}8upQXLMlAC`?CAazKe0O{e+B0f!9UqOu;8-8rP1M?sw1c^)DJ1*}>^}J@u@{3yHHa_B~ zlf&PeIsO+;4i|s7hripY?p?j2H?TCLouOY^q#>7{Ya0|=Y8BRkbfwOu-spbns+f=VA;h?0Dw7x}Q7*a#J{gu4A4h>|f?p8bobWFd zqh6;15iH4BY2)dbbhxp|$!Vy(36PfR=tZu{jenWiD@3<2iboz|W!ma6<=>U^Fa8sQ zr(570)Rc3vf6IXomKhn{nS7G}8E~w`SAT+c^WO<9JRBPmjqnE!iovnn@WPuAJ+*3vQBlUUhR=c_0h6t<Ul!Jz@u^hM21S2T zK{Su;4elK_|Jv+X*DsbBL5y~01dbN-!`0<}(8@vhbt*EUJYbYZ_+?C14M(pUcQild zGQ13u*+G3(+5%pYFtSqZGtKTr%P`Bl#veZt7?YOv+iSn={6>F=9GzQw{jjR(u>-6Q z3pZW=ON6H>qy2}l$!cDPA;#&-Y%Y)XHehYp8~|PYH3g89!SZZyZ=52hSJ%ge`Nn$%sOz^keqK!OO3K|E{T$9Q z(Wov$=q`q5wMR%Ep{}tKZ1(x@t16sJm@ z$2N?kb3i*O&f^xxZ>&}vuW_nA*~V##I+LhROpe;je<#H(T^Ci?lT1KrmIRVj<-tHIw2v@ZX}Of zOWt|16d76-X?iH~q}q&Ga1-RL>_K!0`E40|H(mBnTu5k3Xx&W_gX8;$CVrbtQDij% zw&B8{ruJdGF0v-pOr;nzw+TRLveaOt^%l|^KF5h{ybchHY-B%{ueQp(f32J9IlZM8 zWf>3Ojljaw9x9ZS=+Uhz$3w7e$dU@@mpiu6=El39RX zokUVXKBO$E->5s?BIL7cuki7m>3hC9pgGs8EfTOA{ZlA6P9hOL4-Av~dN~+!ckmf7 z4LF`(3;kH^fnb|YM;7%x`7KCBdQ7S^u#p1zQ^@Hl$0oVoiX8h@AE2sIdrRis!+}u( z`q9IeBCPrghN^St1sYsqBeOkiGZ zAI5;jhn1v@ue0wRHkT>fuXJR(qFc1{XOEcDat+K3ls9nRrCYMMWr<4vH-v1iI$<9> zx?LGulO67gL!H&sT=Wycn=zah8nd=`Z;2Ect6}F%<^W! z{c*V__fML;`yFDoTRg2MBk84XQQ?xU%NN+ z<4^ad`_r}D{hDP=nF*pdk!(&n~l$Z8WnPJ9YLvFe_xocK9%o1$ai*Tc%Yc&Qm**q2}T_RD7q1B+;7G` zuzLJiMqu~;r5ern=s@CCQ_{<{vk=QX-wUfpeBp z{z^8=LSSBkrula%d30?~F|%W2QmE%I3+B&hwmU)C8FB$3W;EE@wDe=bJVc|&G4n0_5p;;X`%F#=r=rQi& z4~{AH#F8!AXmQO9t3d%DjsTKCl_~f)!=*jUkUhmk2EBg8;!)6H%=KIx%)B_LUK~^|uB^w7&&B>><61H@q|*fBmq-{8%NjZ!Z1@@i!lT3-PxYe@piDIVaXUyoKQ= z&SupPX7)NA1w2bkTP1I(6dFUMWB3qX{ZUshh#l59y;Z+YxnE4V|B!OOlybkEa=(&t z|1stMQ_B5n%KhiWo#g3dmnG%tFA7up!Tr~i`)?`t-{o#|IRB74F2g@l@YhoC^(pwj zQgDRbW?CrQnr<)U<{^hBJezXoQtlw-&Zpc3x#PSQQ|?lNlayaup89jGnUc387=CS- za?S(Pnj+99cg%qHCaSk;ddfW`fXC|i|VTE%5qs@kbKdu*0zLUZ5eEeDW-SH25f4;7+?wh^k&lu!GVNM0)&uC zdf}fANlXclKpY4qgoK3TpOA!N-rw)c+`D%rn~?8&-+i9DXXebznKNhFnQm0lv`$st zGQK(2>AOq|xrn*TZ2(Hw@iSD?n75q_tJ$6uGI!Ce^L%p1JcVY>-qeu)X(4kq6!JVzfobw3|n$7w{MPZ2ha8m^)X|B`_}mkkf6{vzZ~+~XQZS>zp+ z+l4TYNa5D6_uoHn84d*;5zScpPd+I#jEm=w8$QBD18QQ9e}SJzR)o7o_C}j$QckZj zAtEOn6bD^g>&PJyx~jPd!Q*K*5XZIQ%}V=DGRW14(LVU(Y%GjB!l)u&kytg@iY5P1 z2dKfg_SR>|hLhS~dS(N6MfG4iG9-UbJI-)n7c8T_>NM>06G1q;k<;BE0)L*u$ z?|s;xro9~y#1wgPnY^g{#)LndxgdA>tYOE66J?Kw7;+uhBP_GDZ zh&YrF=D2(?kq?k=H6JXlqeu3gC{wGyrPP^6sp!RD`AC)*++D#4Btr+{hBF_$!l_tz2l|d(_a3~5L$v8*LqkwAs zn;!G52329k_AHJs=dg(^Lo~v9jiAswlQTcsP+^F#8a!U}?Ym03I3SvzQ91zPs0mr2 zTlHnOaEa8RHP^MVBY}gv)ew?wP7mx@gVbs1MgdwU>7lTZ9s(9mEb{c=h6p9&1@~a3 zk&;`YX;>oC8mTE%jnowCLrSf50m}p5$6TxQ&MUwg+RjvymCV>ud$9o#^|#)}WY=-1 zl%Z_x*S4tSqqgAYB_u{$G#5?Q@+12Epv;=|!1lF1wkeU^r6*+fRVz%J#t@S0r^$6} zMX5K%B5~OFV_lSa5Yrmn8BXp;QC5>tZK396jbcs_mAl>=9fYB4X#<-SJ2xj0pKZo- zb&0kZ!qQL5#<>A%Mp1M0c-muKOWZi@iBxQ)F<3hu_#ti{ND5`f7`4m23=@jdjJh+3 zYE_*K?pIj>owO~=MO3PW1~BKdq0J#YPs{F#?Y1~dISaLpC~R))fwwz&6N|EodlU^D zyh#!z&O7{rv?*)gTbNq+w+C~J9CnWM6GXiNfZspiPUXnrs?3ZE{iq%fb5|SznAjFe z80$|N>cTl8P&^7DW8LdeMi%Z5qrC`AAQ23wx$MfgZZ6D1U1zZyYQ)X#|n24!?etX~s2JR%NC6F&)5S}a_IgwiMLBn< zi8EC#5;(U0>;OH_Y>m6^f{w30CqQq{t%s8ZosjrBJa@ZD@=V_o^b}^8=sTEg#&q_2 zPW>OnNkHn)`+{TY6iw0gLviI&meisOV5bIcSOFD?ETmF{L7qUI_;1D5e3?@_6!**? z;%49~V`c0bi0qGYAP=h~{QwvhDgvegK3Q#b69|q~5`l?fH0dbMtOy3=sUpVftgyGD zPuY$Tw?8WA>;P+js`Nv&Ir=5AMZm1ZksdBykF>^9_0Du)^7|UC4VqY^f-2f(WN@ls zSjX2S(lS!bVz*OG?$Hoes!?8m(Z_!L4ZyL1+p(b-Tdzyq{nbHLO6f$tUpx6_D#=#dtLJJ|Og@EC=JC6aNSMZrWT%-IAKZ|6nX-2j~ zx(;NzM&Pf<^cJAt^;q6Q0BC<>^8lS;7CiW48#`=9A_uX(7#pI~2%K<52*M_DDIN!q zcz84B9127|X5Cp9ijxq;(gn%Vf>L2nWUP4i-#~idpHS_r)@bG192`-!v|#>S)n!_+ z(owZws$O|Raz^P5fI*%85mdHpF4zc)sLwdFfYSbi!Pv^7~h zk{hWeRVLI{5fumegioOiBsSd4o`w=ZW#fIYl1s;tm)7QR^v&Vun=3)|u~hS@a5)5F zuf7%3dMeyCIW`l2&Jq-fJY?=330L?er{y!4EiF3Tsbr5F!)v)C)gn7X+c0?`O$qu( z!f86#lHsPSm!Dy!+PXp{)0Ia_g`;MxHC=hkx1>_3cFHNki!sesdh_Ds+{8jAq5Z0am|ys2VDxODJO74+rG9U;JqBgR8u86Nq5UQ4Y?P z;BaMzdLg&Q$sFa7eYh#^9DtxWM9>(uaZSfkGTCCVS-8Bfd_01o4Y5Sy%WT9RNa~O=yK)pr*_EU5@9an4xZJUH1Oy1pLf$h= zl}><7_o^~8sEObPT%U@wm?3c)WNE=ngsfK~8*O=g+B*`oa|J(C{l*@dzZ1Qotyz<> z(G1`ku_>S<{z2+Ml4=lA`9VK)!^XB28x@^1fNC{w7}QfOJ}34l?V^e3Ad>nLZU(zB29qf-c<0^B)uR5}rysrx-9#Zs;4 z{n73v>``V)D&`!52y*Spp)n(Fz#a%}DutSiiqFF&16M+wIFW2L;nWFd9OqtynySrc zX>gk2ET0YKAz(vgqV~Gc-4Ud_mdeC*8?v}fW~5V1ZSCo{j$9v`nT>7fR2t<4EVQA0 znGZ%)TXy4ekCs#i80$!Nq}svQ&r?m+?ijj{cQ}0TOiG+*vLlDFzxG=ar4iySw%V4Y zM&;2hN%2Tjasxd!n?hA9q2ftxK+g?j*;n>dV~H_6O5&6uKI4{(cUzbOT39a>VwEM3 zmR3n)m8G<>k4Jw%hq1X}S5E28y#pyW+-|s)uJp5PF6V{}6mF$)B{i(qutCE{4Vwfu zVV7iUvwIS3h0i_5)%Is3M_+sM_8I8_^wXrHS5J%Zz42?^aMc zRs(h|oPuPyA7Qa<$xUx%WsR0LxLacfjbi$k-Eb#nkW6ocR5BnD6= zhZprjo!jIW0$LuYMK3p1p71Ty!o-`TpaJr2iyD8QH6N`ckg^v1m07Me0Nh!u zP0D$NxoW{}aOb$AUe22{FS@_FsdZlW%17RRzk3q~+TC9QF1ts%`!>QIvWv4*yPtru zyb`>uqaM~>f9oYnx>LCGx%){5_!d3(rPJNK{cBowKS3z(6rs}Zt;iO*%G`3cTN>-0 zO&(ljrp22LlbTYnvPD_MGSe&4?w>GY)N7g9o!l6cuLF7m@Qv9!0%_bWqr&MH8NtB3 zQ^-6gWR^J_j&k5<7ay<4;2KIG94wFJFmn7o@-^JY;c`T{;$}+x4`)V{VQCj8%xW>5 z)aLNc;|vdO(881s`9?@0)Jh%8z8RSm$fDqW8Hr3{{EW~z+QpM;eTI^mdIRqWwy~oJ zfC8@W%6K&3>M{ItF1TGCnUYh3&QXXgI5zdFqG3k3XO%Qe`kzk!@g6z+i5bCDNi4pV z(9cpAvm)O|IX;r{O9dl=F$0=(sMXf3HzL4UJ5L@K3Xi)cbE)ZLxI{w8w;{BRSWWJ=)H2;5w7Kz5F4(8x`c`1 zqRAGaH5uZvS67eZa9e``jfDJT_yy)PUwd%Y$iS#5#9CvBHMqPS@CnN+Vauyw3+@;6 z)7DsdEo{MUf>jq>>8-^GYJa3fwNZ@~T-B#X2-sZ+$2Vx_`c$qluyP^Fz*%LcJD$Lh z2k!+9H?GHmg4M*foK+9gi+eE$`>MFQONm-)N z#hKwFaQIv>lIim?L4YSEnXiAiY_CNK`inmOd1?b z8R#j@QRb3pKIkf$FEUdBGc!!4D_~}Zd%L5yC@+~pwsh#M>S#$}Wl~Vj?UUpf!o{f=EZ`V%+GOSoG{EUXD!{%D1`onhoG<_PNJ=~=NvdKQP|>bV+BE@S@2 zfGR({;S(tS9@_;YzTp;{_oUh00A0}V_M$nlfjynK2xi>JwHq1*ES)d}HVSZtK_wG+ zJJR#01R160a+xKohzno9ld4yGRE>8lII2#eV&O>^Rqm{61#3z*Nx7IcJ=HX2=n2$I zAgH|+=4qFqO(=84N0bZ8($GQ5%%U?irpzooL)g(7DRNGkQwf36M@v=dYaXZc<@dHk zh^m8n<)t*m*1 zR@R!@(t#3YSgomQX{RM9?X;x*qEAaEZ0V$hZ4_N_8JXp>!uuSlEK6CO=|DEg)DSLc zuI$R3S`CkPSkTX^)d(w3%+OSn0issQn|hGg0be`5soG3CKfG3FI?E9R_oJK6G8$T7 zIF1IgbSw;}olxYl-Pn}U>FtN?QT^?nAcBPsNt<+#c6k-lE^je>f0G}{ktKU`1Eywoj`wymL0{7=0O%R_JK!q?is9L(ipp% zSjh-<#E;`x2=0BN&bS}K^Vj{81+V|G`-@nI>3$lx?r#E@?a3xOyT3u#`}rq&8sgyd7XQn7_{%ffa)OuC8Kg^$b6V@W*B-RBobHs zn%)QuSh`z65cQ5Bz@n+!(a3pId5~fv0caq?2 z?_@&LJB7gVK0<&y836eHTUrfiof71SvS9PvdE^+BGfmqXWxJ~bi`g7eG^|lJ&q7Ev zBug69nhx3TT7|nZ4C-aUmDeYX>==n zX_|fMn-GxhLJNf=Z=`@t`p=Ik7wJE_Gzq-)pH%LOFXFGYS@lj)be(}NMoZ8;(Gv7d zv;@5qEkW-@OVB$-b>olg50F;f*_f$jtlOwgDTjWDBGElfRP{rCu-swT(LpJt#`iRV zk6D4K*N|&tbQc&^eOBNa_f1NkD^%94TCf3Ha4o7(Fa1!tfg2N|x(AA46wjuS1DAT~ zfs}jb8S&G=CkopNf~a>o0ZQjeK)*d>KXYtQ&d^g;aOu0Q_^^C8Z24Z;@(3-Ao?-qc zZ23Md90wToD2aK(g*{4IiWPg5eiT3UC<7~=o(L-O8H({$ig8ynex|^v_fdhiR{{*Z z4O}ML@;Kpx)UFXvmUouGsCTwN+dBs^XcKVol4#4T5Q{d4Rzk5a*8G%TKs(@_N2fj` zyEiVYWi^Fykv3xU5M8rJxL?N{Om?1tUQ}ymJ$*vP?9-12N@AJDc3S7^KIL6LzJ4!$I^&Y-UiH)NGCEV^@TW*CjDyek$AzjOb!gUTb6z@p+$y z`(uQUU0@JC`X13i9Y3hC#l8mN${z*m&QGCtXb(Fo4{S%x$RHYpC@r|=b@#h+oW#x4xQxq`gI z@<&))+_bDxqj_1Vd4W5cB*VE}d;T~rmxx6Pq&8z#-%MhUSjZj880@$bv28UMCwewl z{{rE&+c}r%=rF!8vX#L4DyffWwJ%`RFIk-X;Qo95OywVYNbnSD8FP-vdWFkKIn)e} z`kCWC4CawT%-M2@IrL~Xhde)rRN0*k`YmXqv1xOAOaV1%T6yJ*m#~*Xz+H_$b^gI! z1LMF`?7!W|{PLqhSpfr&`VM_RRZgWHQ54;~*zF=59_m&(B`?;i!gdRBEc8kb4eFFm zJkx@+?GypD5@tvV*VSs0I*Ur*3owYJ4}KwpYbk`YD1^rXA(Va)c;r)Vsy^1#aLet% zp;eU`%0srGQ-`q-oSY59s+99F$Z(mI^LycvpNz<9*ji{@&C62yMF^t5+mD$jEgMzT zbX2C);-r;N+u7wZOIMFOrV}= zj~p_|E|g@w_rZ{jOUv0`poPJGjk<*?SCC4qY2p%4x!&^ua9SVhMtZF|tpbh0LS-*Z z$t@R?UFa6rUf4-srZ6wJw{5Jxjs@QXz1&`~{gAeGwCxPryR@B0n*-Yh+Qw+>g6%ch zE~Kr&;Elp|`J1c(cmj{?a|rW1Zzz{$jAh!2U`rF*mlQ7J-yVg4cl%&hRT3E^=?zd(dC_%%I08-E z+Mt`g09M1f8d`;W4gS0f>5TKOhU{NveaF#k;Ls+&SFr5P!DM7J9u&R^sOSB+sZ!W_ z9AR@U;XVs^0?UVltB)^u*XS6e0XhM1dt@1V1jNcGvk15-LA^)_$2Nx| z9Vas#xS~^HbH4(Bdy?z14X+_SX<1{UvtTDC6&iD0@y-)%=Sy(L3*8;=k5Tv0a?z?g zA-t>pRao7xC)sMNGQSk?6w+6Gj9mk^4foYYI4I&Q19^nFWt9GONNAWGdcMx!^@j+mbVc2`|6;~i2w*9-ef!QLoeX#fd8X``M zt4+9god#zlv5<#rf$8!||B`U*miq%jVol>S47;5oWV;8T6u6%z3RlRJwhE_E?;y@p zbnGOg(YYT9%VSL(9wf}|4D)Mv5EKiOdk0ZJ@==W5y_2Xf`KV_4x{IjWebj+O-A&Y0 zKI$N%?jdSaqg4L7KVo)1KnGr{$auBG_vvsi9rgNkI`xt^*t{fO5T)f^TTUMmQY-_^mDtk<9?P%GSn6J zRR*K5KsyzNi?_gwvL)xVD}!B_r7?y5a_1@IiB92k!GIx2?-MMA$#t7=1H!QZ);YiGm# zCaB>~cHMGbj_NG0G>ZXE=@mXg3_x7zBg6p2dLJPMAU602G0emC3|l?t^N1*en|;0y zxQ^{e-!yCVygESkO;+T7H1MafEkOGi9vxkPGU{G~#wJCZ(0RxW47&kR8()ddP?K2QN7TxNI{-=FbWs9;_A&?xhC5NCxVC486RqyG={eHwnhitoqxp2hbX zzJK5|5WX4T6ns14+Zo@U_zuCBkh#*K!(c3O$7^h?0XJzGY3BvBAI^^;@9)) zF|m_><^D~vpNz(~L!D}qtij7oph~Q|%tXoangE*#`CS`eJ44u$0_>y^mWy7BZdV9f z46u_!*y#awN(kE!V5f$#Z=rT5y3;~f6g7>-UPlP;Zgg#RA@}c!dj+XfvUo`BUSPjX z>|=rb8nK@j*w=}Doo~;TV`JwBmQ!M57X+4(*w}@E<$&1OMS*2OZ0zE|G7uZPB(U_v z#x4ykow2dY0t_*6|~)9bXvOQh-5n}K*&7-#AS9s zIlCvqK5((TDe*%z4ySLWZC;CT7+3~PbbZl-Pn?2e6OF5_*hIJ4t+sH=Baqqdp;ZuA zD%#DR5^9c!%F_=}?AW}09%ek278!!QI2(w#l&sY+K+f)S7$G($ItDSr%Hn3Ym*RiW z!n**_@zzm|#+}T=jfq9b1<4kwVAJsp;L9zHkL|;>{+Mm!(}*KJwr^nnq1bUpop%3< z*cS)(dtgs=N5Iv5tdAq;;c!xHsJeSGv5MCV*^S?UOT0dSll=qA2MDlF`ouR!&n-rq5@C&$M|-2SmwvaP6#YB<6|cVmgy-gyKZ0##xCm+>CCpcsPQT5 zBXaaiN+K$sG+1Xtzf;$}RU0hBd5o zRV#Qh*E>-G1zj-ua45Qo4{>RnjvsE7S8(XcB!9^-cwsjbHMb2P+ss=4) z4O%KyT>Y~h;j<&R0uFZ#k6^}Q-9XgNo;RBpVMsGWXSRn8@$4=mc=Ve zq3m!j#z5Bf4Ep(J$a+4;zY}!#A{ym>1FyrnyRmr|Qwb*LaTJjxb{!hd6EM}s|5*x->6>W={mn)aN8IJLAxcA`*R!0Y$yDlBz}3{sl4WsMC5oKz#YKwjbj}? zNMt%c#nejQ+v9p)cW-nqW7lI?BJ&*A!GPO75l#7ebY(s3=;HhW-H5XZf4JJvJsZS~ z(QAn(%5)y5L!tZ(0_FwVV91# zaHjrd{HaU8#n(}AD1QuG;ceB!B*f1Vg5#?1;o@1j51SW(uWmrjHv;=zV$qYAendKx zFmCK`f$d0tk*XgX4seR*CQ!_!VfZ)=e!%j>m_JyHqcJxFduRr_g&}7}F=9%k%Nv12 z0hM%o0%lb}Z-EJuh|X`2{zg0D-U@p!3g{;R{Q|l&(8+AwzO+SpihlVtrTRm}Sc9P) z_5uPOBWpnUR-exVU)Kaczv#qjTB4`xLaN%>D~bwZ#JT^snSu_ z?wvrw=Uo8(KT}okj39+91F8&m3Z4Jm>}ZEwi2-) zZ*hM=-e_bl;$6-3`bWM@mt|`GlVI}>2TLf))lb8i+}wd{`!*zD3?o&UCSCrfPmgpw z3m?2=Xf5n$lE>8v&YqTo*;BK845G5!`KV3R((U4vHoJT{Tu|^S1u3h_mwP7X0^Lu8 zEm?Xfe+L3DKSHTjP&Rv{^w};3U0hUQ-?Wc#hBj~9yu>*m+;5NJrfqDrmZoLwM$~g@ zK5mc-{|6L_@_lgcSw|P=2{sTybI%W=$>z&>31P=RR!i^oDm}V5kg%rrU+{QSEzLhx zY0^dUc-8o{epS+{=cb)^F~xv}?llBm$CUO>Gu_o_)d_bZ>{E7LJ~hoKLy=>{#d+&p zknS~Xw;;>&nTu$VP~*f)GK2bV%Yq*tUch7x&a7eGSUu=!4!q3i_A*A+0v8faH;wYs zjF5&GXaIf2b1L9jER!{P##pbcmYu7rv+a{mC}b5M*G3flIe3`M-@$sOdNiq>55Qnn z8;FGaAc{xuGRUjK(5ondWbh-3K?l?M$-d(Zfv6goW2);(o40r$r@-*qFx|1?Xq@%t zTGx#tU1L;WHP9zCT42HX97wIZpSUZGY}R`aCd0Y01?Airr3DYiVmij~K1(lA39J9mtLcfNubI9u097Vh~yov=}_@MG48+pEHy=N{n?n62cNO zDR(ZxVFv7@l+5I7ctsn}`bKj*;vf&D99xDZgQzdfC~h9w=uxyV;JsenXM_BHQu2_; zWFNu89I4|XR8p69lmg;KQ;fcgl8#c3!1O~qw!KrZrezObPn@15pr3)4GQ7p(%P^ue zGXdDHLvFCghmoU7jDC-hx2K8$Yi4Ux75Cah3_Yqv`iAfHO*#=(Z5^Br^4K-@b7H3%>ja_~o#f1> z1Lw`75%wjcEGw3?X9rrV>_X>nY3kJ3>F&2cGiICZ&bMK3mcTi{y59k+VRJH;=b9SK z&*N1r)xWnyX6&M#1DTEqHAH#Thx>1T_TDYRgyjX?cazyBGb zVfI;_gDp)~-X43LsVsdC)ccxE=jU)XHFSOf3vTzSiF^}qD)LK=ZMamU*3s>#qup`X%r9Ye z_M#YijqG%1Kbn*t<)G{=!d<6G9J5qO_Gx(M4h$)u&%lB`;xQ!#3BNzXAJ&YUxVNAK zmGWdd2NQV$s_L@{;0u(o9Y_a^^L_=q_9j#$fNc0Xgg&k_v(pP5W_CuQrSvVZQtB8$ z7xQZb!j7zr<;+3#QF_{wn3wQaw@^eS+c0p0H>aBw&BpQ)6P3dE4!)@x?x-P`o`~OF z!vi(s0D<_EHTdzq-SArH%%LodyRjjy&e=(s5v0!9Tbchxb5WW9m*%<3{3gx2C^NMhXOS}hgXVe4 zj2P>jA!Ys-&ATe|ziHl0nct>)cV+$q&9jsl+GU-y56xQScmJ7~0p6`-pxGh zv)b4fSnkOP=d zm;Ot_>F9$5ah$OU%uIG(1X0sD5d`k09r|z>Pa+D>aaK3dLAh^BmPoY3%J(*y=JVm# zD3zulgS#?FmKKpailp_&?2NmXqALH6vcM%EcD)@l-OGR**XgPLs6SF)^wW&=ox(J; ze>M4@cLX5YD};4kpgW4RY>-77Qe zbcT_3a3xLHb8DrYGeYqVg=t|AlRE}tD0S-yqV7ci#wJ{1S0_0e;)Yqgnhq!fX~zxX zIa3k;FZnD5;mb5BK36MJB9{-vXL4J7(t&loE*RUFMh7EjuA}-PQ8Ep-?V&4>y;5Ibt8|3D1y zqDO^bE`itkI!HQZW1!w-xi2FEwOelQDl4Y@3gbn}Mk#;j(NC+Cjy^+pg&N4B#=Ht| zm`D2u7*L}%XwKplDz|eH!eU$?K|t#Fn&fMQRQ&%y0}7_)ydIeTNYmcL-Gk6AI8=Fs z=HOYzOwC*jVCh#rLJT-jB!laWb2X#QIM?cMzxKU}0SfqYKsbM5Jk;plfWae*y7_PD z^k?7cFLWY`PS4ZnP2cISbRw!cpmAJG$Jg^ zSUtp8kG`=2TZlum$n4yb!{$VKld;(3VQi0P*cHx+C_nSmLS$ws6L`hc&Rg(?4a`(6|H;tUWhGSl%)VqN$Vg9IUnF@JJn_xO@3bZF9KgV$E!FRsjDh>Kx47UNO^;F9Yx6wB` zZ&bt8#?*I0wsiv)z@AND#BxmVwT>l&mHU4QS+&Ff#NT~{7=ZYPj}QY8Z}|u@pnkjt z#JH+M6syi3=wu;6sc=ykJfi6II-P3A$wblVk94yAP%(xgicWu`Q|%C%C_24Cr`q8< zQFQti>T13 z|9i;9z9puEY4co9e*;#Fs6052L3xw0lp$-?m!aNZfhbAt)6G2PZ+IDjrq?O3!^6$3 zz*m&BgMmR#+nffbUfLh7dtV-+HAU0H88L)4y=j`(WJOCkJD8;>E!q?<@cXNP-}lMy zuVG~}o(s@#6OAzgX06pcE#tmI#of$wY$tKxHgAEZx4pm)uUlY6IXjpXX56$nDW(IF zYz`v91roONTSfx(3jsPx^ott(y8vBBG)7Q4WR3eC`FmOWc_r}kPoiJd=-&tEe-r&0 z(SaOsi8S-1m1&tFJR6=P(DZf`*x~gGtSDy(BOj)PHm5zvlPQqPdeAaNm&6TumOXhe zj-KRM#Mw9YP739PeFx=-dl`Z_^FrJ3`URR^L12fM6IfBs&g&{p+Ekn<-0!dm0!D$9 zLM{d%Y#$*8Al{}=Rs%5rv4x0LW_rLfC(W)Gja+q0@FQ;UQ%5SwPv>|);s!sM-0=Nm z#`_UB_%VHM!~n$mj9lbD2w7YOS@3=uR9Y>NTa1{OS(oLrV~DV>Z)Q!%JV`<{dc zoqy@{|C?~JF-q9eZ}ztLIUMopddE00c0*rnfsvkmt2dpCI_#COZb`M@*<0Fnqw+4o zONZWX*qkp_JT67}tC_DMcRiV{vS4zdQyK6sElzPUSI}P~5xKf_Kejk*={OgiR4j){ zWyVm(o6kH!L~d;7ZWfL`jM4Xmce_`55XmZH@D7Oh%TLCRTn3QdbS5tFrp1&_7pelu z@^x>S(M@~gz?dZYh!Y^pDx8mCZW!5xWobDnK`2?zF>;QHA3_?hVH%xg)U9wz8=+*~ z4sV{sq2leYH_90#!Xpz3rFh`E2#k2D0gMV`lB~=hX1H&FPzH~W5Si5Zy@hYasJxzK zj7C7Q-vQS&7^NG74pYLc_aI2syUqlkYlZiF!27l2T}kRd1w~Nl*$Wh7d?cvKthnKs zMXD^4uB|yvLQ-;VesIbAEgiqcNG_ZvEFv;ZDn;DQ!V;_saGg$646tx*IwA3*j~kS4Sn{r1!mxpD%fmL*pESP8MHf=Y#+KIB=c-y76dOZOE+ObGh1K4Mx~~~CT>chOeKAN zwzChpJHVH7evjCiX-Gk1BHxl|SKPT%MXXa|Yu<;LWrZxRbk7`a>XBK_2JjfyLWHFL z=yN$iQtWT72zLVCSj+1aTMmJ7qHqR2WGMEOCJHO%ZgX%ybgy8VhCU@QHAMZk2vq_Z zk)UW?_Ua9W6B7#?!E9q;JEOE{7oBUWWgMS%1`a9&j8_HIn2_O4f5Q1AdMS(urY2gW z&H(0H^Yt)HgG7LgC!DO9Km}J2Ngk!FK3~K>B#h3 zmzJzehx_))vl1*WlM92nLA*)chQd zRM05&0K2jw*Pt7PURWE9Y4P<8q;r0y3TlLEhOp3|_ zJ@1CPhJvc=`V6pux<1Vg@nCBfLUsLGKk5l}{l}n&yQ!<~YamB#kBaa+8sBO7D95$> zqd9j@tGT7)OmLOZVq|?*?IRIKwU^RMetNcAo{t508@DM(att}5q3omZ(qO|5v0>{tLeg6>S7%&} z^wfACx^)Emr>pYYYX9^x_+tM==$nhz!os3>!MLKx zX+{4OHA>g}-0J=*s{1FDQ&QCBRFSO_wjshU{mKtNLAG1#o3243ZrP@+nKZ~c>jnk3 zK$%N{tukXPW=wY`9Mfu(1F~l}n#j!H*8PS%vN`j%l0B?Xw}Cg@l&%xI9rYGb%+WH8DLI)m~ckvw?6;16@W5kANr|4##lZVT>(l$qOde~26cr7 zHvchOWPA*pjEj(%nkIw7%VP`p-87(CXo-~vDP>B(M#@B#u^$UkuJ*6oNokLh^Ms-+ z?duKT^|o!wm~2tTG9nA4dpMT-9XFU(vk zC8z3Y&i6^wg%yX)cx?xKaJ;@VAXHX8uJ0O*sdQk5Cm1~DJJmQKshsi&XjmK<4E%-b zAnh5^b!f!vWK>OM9^eN|D1I1mb0CYUc8*{1*p@tb1Eo)N|198Qd@Jx#OWxKu6K+L( zyNCSrVGt-|!Ho02;HJ-*tgM~dnoa1TqHk|>TBMj|n|wpFHgqbVGIp^<8&7&U&vfEGMYsHuAHo7DceZ~|Gvq^1G#EjCY&yD6oW`2bayfZAK=(n;Bmcf6pNDS*-zE62#&-g~)%c3nXKMJL)Qnq1m zmQlJO5CPZmvGxB2EEMfdph>+7Jy_AY-H8BzVRf zm-uf*S^N{q*>7H<$VchWU{naUbl@1+WTQie0v#OsNcO5YWnxU-lOL1z%TC}qeNXVAwrTA;Y*9IAH zhi?+hoO9S&$;EW`P=1*Y55Z04182>V51dR#KJ0}Ab3XlpmOy6NDR)$( z+-6)CPAr5@5E8mf&?}+$$6~5u^iwM2gicLLt7w%{rL#6g)?65wq|?S3{!rSi2!?Nw zJEe?qRvu}a4uG^BZpet(+W}T2b9;bLGUXr%%NNU8sCl#JxWCzHg{ug3I#x7 zZx@zT?3kb08$>rx-l}Wd*+=EEFQ?0P|s9AE8<~zz%P$;pKkAo*(a4!U09PLKqSg z!?ju>Cd@0X)G<2G1eIPES!-k5P3qgWW88eyhl{QOMNecbq=ab*cQJ*FDY-4O45HE! zclM{$e3|~~?V#*&Rm5}-sLJ#ar1ox+DOWTgQ!aEsri+j?u62Zk$&}X=I90J25Cv`~ zfm#qjfqRn`>vUt3Sd=z`kQin4M3*)z-LSc!nl$dG&R>#>PA;6E2~sQMg>Fr1t7x5C z^gmDp*`i!>Ly%ss$msN9Nn#dkT#}is;edk9<;XtH>N{7^AiE~63{2~3y1+1-q7ISJ z1Q`sQu}O{BOA0jvYL|g--(kj@pK>DF{WE-{3!lxN3jIzrvJ<#_fVyh11H+(hS`UBF zwPevbsTQ2;b52cn3rz6`w=T2*4>G3T!+5=lEY_**ppkjK`;9sEJz zFkHBfk*+fFoGtgMl{P^iDIbC`*w*9ijd&F8IyrxQukf@NuxoZiw*oByD@V9hn+QCG zY~YY&EH=7xJ3^JxyMfT5By?Xu{9D9n;%ji6%;@Ql^_u0%BrLd)2s1@sm7j2sz|S7^ z%k@1mAkdyZLJUCcOoUp@>l(jMCvNbwOV!VW#XNC?pJLU|goQ(KgP*xoKNA)X#SMP2 z8QJG&LR{hoKl4ApkGR3lu2nx1_z^ew8LIl3z>m1W&u&#e6ZjD~_*qc(Gl7n{t-zJ+ z@Wb`7OHk!JS`>;IxjTbna}I&r_*u1(=s{{MW+MlwA^<(o=!w@^%J|ru`+A- zmSPLA!=48|h`}=8;o1W>tBZ%Rj}Spo5ksjSOh}!39_svmzn0A4hzD zFusziZAfw@sYa;8bd@V?qYyXK&7msyB|9FF*pn5*81Z}2lSNYucR9%`yzQO@y6(yNlM_Y?>z)Gp zz|&^se5A_x2rP1~?Oh1x?vFpSaseGq^&Re^!!mI=hYqLt4)@XFU~yPWhZVlV9dtNU z9LDHyy6^BYIvg$z9vxQt4j-q(k>XIH!x_HAMmj7NhfzAL@*QrW!_ne!E*)Io;gfV2 z5r=hjIMa7{fDXrs!+CW0sPFJ?I-Dd9Wje4NQ6!_Zc`RC{`%O5Dm}qc!qi6R)A4h|G zg5bVH9N+h)!Nt-1q`SK~e1#6Y#+U|oAHhB3<7jaA6WrH*91Sj}n~)!;ldH1N6>ZYu zn3a`uSnWH|Chd(`IfD*tUL+l~NtD(GTV z*yX9hyvTHaCv=J8j0^il&^5$)8Quc~d-PFeUwQs|MOebqr~48K$D1%np_A@JrBH+N z%R-r*D976DT0z;AGEd52nLf(wYR})GDATj}bYD@F!84uk+5=qj2bu0`!1I|H7Ilmo z)%HmgPT8bV2Rpajz)rBGZdw0iytOQW&gYH`2$=!hKPc+9+J|9`vP;fmOYy6~tDf6A z7XYg3%}U0}{-}E`jZkNl zOVr^J9&u_{PSn3LNaJVOu9PoCZO7dcobJox;;^e=g(TP){}FZLL1}xAgn}duPHSXK z$K_IxL|K%kdx7Z=V#6sOa$%0gTjQcbq9nzoXlGaZWuVpgCV?64h4US}$5C_^g*Mg)~j& z#i3RTni7_(s=F&`qGDbxG(}I9P6agQ3QeNg8d@7feFe=1>2ydFb)H@vs{Zl-R1hOw9d6(91yMmx9#D%>$ugp%egM>m>Je#`-l8O`z07 zl{KmdhhIE?R28o3rGZsL01;16^HBAf6im&;OWJDeywi85Jx?t~~hi8^VM1dpW1UU#DCBnoBikrblnBr2ulhmw8uL~%@WAt47j zVt`-KeJj3S4+f7Yk`WENcGo&lbP^qV%nx-QLlK1-9O~7K!MUFX_!YH#o$vR2`X!1^ zqT*iQJ6%X8qR8k)gk)37t%u(`W+9g-l?tDYXcbQLK42bV?A0Y-EAJ=-m!1zX~@^j2htsjSvIilkj`eI*n zmr!){#33(r;MyTCF&K(cOXm6>)z$vE-m!~GC2FmHzxe-ctV;@rfP|T^RPx77G7v>4 zQTl5q8Hftz3)CC~b$+IoZT42@80aAgqvjYm9AKDj&N0vfS)lqqZX$swI>~ULcKU%R zI>~^bc8-B43Y;SW3cNanKnw%Ph^+Q>2T^@X&SMsC>1e{#o-8@9`v}n})w0pLd@0iH z+^!1?i!Khhk6sCgWpG?shL#6yi}M^kNLjHW_W^!U%H~eca?~0wZuIA7KJ@UBJv2-L z@*~d2bC@5tvk2rCg8qx75BQqEwCVf?hNSKM60K++I?iR_GJk_Qe_&ue^?B`ov%u2n zR4BNfZaBXJ$LoK?<@D+TtD0lj2a$aVd?VvpS%^P@MDpy)tpZK&7J-)cNr4^SMu8RO z&A~}@o|m94bY6lqzZ{}@yM!^kI|Q2ET>>rdPJtcXZ2~LGoAY-?leQ4e1)zy*Km$HM zEny7rGXhQTK7k$Hy#g!B+4+Z}MVq1pai%Tj1qw)||6tI4Skb+l>3>kd8{X#xn%+YK zE${OJquv(;c6gr^SW(^`EMQX(v^iITj9M!u&tDDk{ACGacwZ4{dJhZi@V+FlqMV(7 zDq6IK(odOwP0>n{&u>W>!~3>C)BCPK%lnSN4)2=+E6SULQ~%_Tw&1LhCG%=u2Tj8m zy$&w82ZzAOV2Rrv!F*j|;3QX9ugGOdoB|Rh0kN zRgz2`Nw^lsnYOMaqc_5aODf)$RPd&b-&fPYvhXbxx73AaBo4!SR-ozqN}%QaT42O?}q7+zAK>0#jx{8=83hyq5vCV^OZ!|_pJ9G6uAR#Z60P?6B4 zgmIK1_w!_v8QK49I)7$429}5Av&nQAyN4lnci`lO_6FXlTeD35AjD%zqBOi#fu`3c zu)}K+SW(UnZuVt*X&aX>KUB1?X1$#(VGM7oK+~Hd(DJ4U?C`n-R+Kl#QZ#9Eu4Vld z{+QQ43elV{VGM5vfjEyS(DHf&c6i$ftSE0zRMDhu9L*nxXznOs3@<0p^!fx^US42_ z=LoDQZ;q{K(l(CfPeO8>C1DJ2wm{RvolTP0xHLtwcBa6J^5(=8P1=+^kzKsqAlu+) zm!DTy8V>ruqR=qBxdKgZp1=-o7l9S!?BEUv<`r$BvdMgZG{o-$31fH*1)ARO0y{ih z4Z|X+oSlTCMO!G}N$ar?twj>X@b(sHdbm19(!7_zigI>v=L7koZ5*wih0?gcgfYAW z1e)G~0z16L0xQbdsaLdU8<$30of_1?LnMsh9V!s3Py#!=g9TQUvxD6u$Sii$@{9MO@nTcu~PpUYY z8OIu-Wq4-^G`+J0c6hjhgz{F-PD;f=n>vRav~f=kK+j)2L^4`bUdTt_yptF zAhZncDuJeVwZINn(Ymw=+6uQMti zgR}E2Pdlce_Y>RA?aJj}0p-!L@7rcRYm8n4qf(-;&n5?(;P*OU{4s*EIh_>861b63 zxCy_ecRk5mH!g@X1)edQog=_I9G#bGn>d14DCC)83L5s1lQ9glYW)aX_Cg4uw z^Fnsw_|d)iNf?aEO^DEW1u5u{%Spxh+>#J7yTjlP%DN?e87~&M|VzVj8ld zJ~u-Lc?op1@#U(K)SY|jv3iQIZvxfO2~cE-oXJ#4x`@`{YFCvKJfHz zVgjG~Xo_ZWv0-*Dv7((znsBYD^Jx}L=F5eUt?W6I!f@4Tyj7NkU}UAea{G-p^Y^s{ zOJ>JyK60{P09#=>*3y3XtmdR}F;eDq%$dvrV2rYmXuncmuwR12aRI8Lq6#3*>07xd zns%~MVyL@DBUxnr^DHwGr-gAI{aQ7C67i$vU`KjcCv!Ho%Pm`C6h9|L=<$|Xo4-ex7z zvpbZ#N;l5RCbkg)wwIC)&f9KXiaOl3rI-*Ysx_vQgM5_HFSoX1h>sN`VdKY%?Co`3X`P72}J@%tn9YJ&<5r+cD>O%@Fd=ip&R0 zaWA79jgz06Fe8~^Y+y7jJ2oPD-Vo2nV{zQJYY)60vuDD8M#?8Pu0$}Yh56v>oEuIr zaL$cw#uXa!6azove0;QN~(9+GpR9x88dh8jl3(d$?&l3Enxx1Y~I}h4-b2%4l6H}ZS zwDG7NY+YhgC)+9SWtd&u9LNc`JIM(XJv+&Lum3=e@u6?_?UWeJzWoihx^LnSEQoA4 z4IfSwp8S|GXZLuvaZXP>zb2kdj4UDzK0k8`J{(n(ZwX)#56(s6+3ul}1Wqp;gRq68 zi>Hcp>71$YY<>tQ&*5k0&@%#;4&4t}+*^DcJM=3-t{VD+z|n$R%)`ZS1|g2QCv)3* zT3A{9|OVquKqiXXO*B{lrN?RdW4qF{6&1%TfGHviLF{ zryu8|Q~P*F6bffH_yK2WDJjJ-(Z2&N#4dhjVo=GoDTP**eUl3bWtcXI)16I1mT7c$ zMDVqsxQJv<5Q=-zc=QB{#l0q=;?Di3?DKMT@JTrX2oBQ!sZdJY<|}!>4a%D0P}fP8 zARKL$l0@j6eSEm2(G6E;M2ff{VVfllr(*ZpgT*0+!sf*0vV`D(tSWCU2*`~m+w1S& zC>Ow*+Rw@V7PGuJE%0es9G$8)m`}^MT7D3{E1&+wd359y_Na zmOW^Qy%a1%y>z)mET;_de040lYKSdcEW3J$2dRp9t;a9X?=fFOB^sNhr9_*KgFNap zG8xrIVXFumcE505pWRRHD>_O%;amiuss(*!SAlvU8!f*O$8-_u`f&chXCWrjPPwSe zN%2tYA&8;B9fYfFT(8OEiVUX#Y95X%o6fN2XoiXd_0rr2VR*!sVF>GEq5#&0;X&i|XnrU6m3kLq zWFVInmW)yn7JcrrwnOs!Yd+Nb;@0alPY2@K2RS83=$m~!>om>2{WAC|;y#$5PUC?S zbrAz@{|FZr^dfWjxEUeibHBrXzgn9J`!7_8G$6k}!Hgb6)o8wf#yxSIfF=xoTf_Ck z4@VaKc!+VsMh4~ zPpG!V&rd+o@93xC_v#Lz#gIux5LN8J26L=}uZ(HyD`fGX*(^0*N-@E+xogzA>P#5WIXSY=g^Ns&SVGe6&ejlO>@j*gS zx}!ZOP%O@xfYRMjh7LZd58oY0e{?3~$)A}iB+bc%?agV0`MINU^%>_ALenF1+n3zR zhE8OHBd=Ro&kItv=C}o_?fUb_^)ovgQ`HznI-s46$!h!}G^s%_()Q2*7iuI~}Wf?{^C6~$^QxbM&Cfi%X6HR?#Z?+z7re-;kGM4ikf$mD=> zO=ETh31C|OiMHS+wk@L0VVFm)4tEn0;3yp@_tMTYoWGDX**zF%U(Y?dP@g-oQ?~$9 za%c=xh#DG!A@>xF(}ylrxEVuuZiJ4<6n4#FiJfD9J2Nu)Is7Hj3Q2nIFl;5|(u3Pl zEY|v7(n??LpJIG~XAsA=h*Tu)>)Q|?uOQAIGpB(68FMoDpFVUABtYxXr7#qiq7{K{ zW}$-rV+v;!7c0amb8tOb_5{5DZe>p?>{T38=v9I!jmT9Id_savASV&_Brz7+)qSVE>7>d*X5@Nv;m+D?EbiufA(d4Ql*nX3rVq45THc5!+@VzWzyOHeYBr zv$(R?%pQxLGP`3TYNGWwIGY#WV;cjewWrjyvZ~wc;F1I8E3L>U&?;e8IFFp=yO&65bUC_MKS-rCja=#2jp$ecb-Nl3GSc5XMjiT?4 z@3DNXeImZu_iy6zT$$@K=e-3jW`a*ql_#+9C>0*9Gku3#07c(eF= z9-0VG$G-u{3yi3TgLrA3pMm!HDOjlwzlET-mQRvJgFzOZ4R0&)U7^3_fHH@SEGppo zu$hH@DfnD&b&b^P{f_^(@#)N6Jge7!t;4*880Twc)8uN5pW^ffELWxD;H;X*r^;P z_SChcrnrw6I4*BucwG5Ks5DJy+beJ`)`#(^bbs#zofNMQPQ>}TTqteXc?B?c{D)(% zChnz+IW6&Ln!F%LM-^c`h753W{D*S6X?)n{POaO9P(l$(S0xEvgy2F#gd&;6kob&J-65MB6+`fCDY zV>XrcoLFYgnMZB&+Y)SsS_QrqmcOEqehwcYKhEpmdR{Rf1X$!Okd0|p>RmP_SF!IG zx8jQBlsR2?cInW;VmWr`IEBPQ!B@q!dQP*Af##_;W-$*h-X*v-Lx#XnfyJv~smZD) zzukNvt<3mJTzs8PkF92OAW7#iDJ6z;q=Novbo_V*gY`9-q?Hj(Zs%C`WLow?nB0y! zr*z5D)2OvYQ;ld4U0Mdey<+0zDouWrc)_Gv5vV)vhYmgMa8|e%>(OdfiT?d{E9VHs zb8TE|kpuo}(Q0L50$MLk0Iz3BCi)0^2i>@Rnu?uj+-{|@CZ6IIKy9OObH(X%tc_^G z`q_jPunrd_%vQ2nRZCIZ)MkdW#=B)qnNpX{&!}kBmw4^jR{DoLZi`G7id;nM%gwDR zF%+{5jvgB)wcI!0!j+ob7gUOK_p$eg>jbvca+BL2>zZdb4x|U8~BI_WdRP?xqpwzcWH$RC99focZW8uc|!?pYlTmFD@ zjexciOQ_pZO}#Nmwf|@xZyRu=; z*tX-zxPnoU-%7|u{;LO#rfkhQ)kGtVR1+?QMop#qew09(`CY>{eFz3cGBmG*T@d*_ zQda4Aklk!J&j<1NnTk;2{_&cRPp#?2$V5coB}9N?lf9$mpWb}{6)Hf42la$S}! z@NUoyR(WJ@;C({861rUl&L-+pREnl8L;QV3=vlv4=SB zPo`qioG&0w@QVw0#i&U9=01?XXuLFkZ(V>>`YPkNihJua)>!T_!jajT81=O!QrH=k zOeGcF+>xn7=O9veolo}zQy7Z>1N}{{FW!zUjOV9X&KHrM?5y&a0Gu!5Pi|aJ7TFmm z^2bde(^j9Vua!x?$~nlSUgxLtm4MFXbK7tg<-0!jsd|;24Ifr2jrvOEWU5gyMinz4 zH-Wowc2BD>;zS7&nXy))+2(KGg(Gt5c(V8~Y+FrUQ>v*pc}+p`n*8KF%;aJGRhQgc zYHK!1hwbBMdXq|Cb2xdS0u?H}EmC;%$yAG?#B>F8{!_YMMxBf2+pJaDSt~}?W9(g* zM3(*>*hGH$gurd7RH`;jsUS@$ohC(O^OUyMP;E-3RB~EXauCJo>~6N&TxhHmW!!4U zqTH5h%M3QB+5-l;?v`rn92}m&VvoEx&|QIt*$~7%zCb5<3}>*k0?z(u7nu4@$Wirt zO=j@;|IA~D6fDJKGS#6A*Vushfgb>yX!-b^V)s^TWo>R}GE-m^t$YrZ%sz`fjkqd=S(zy)%Xz zv}SRI3TK?1ud+!06ZA#biAL@PW$Zkia7IjRhT`?I^Y#t64EKE5zCqkWmxJ07(nBzV zVr7yn;+HU#98UZ{tbGZb97Xm2q8N@_o}aO$Et5;R8UcGu{hu4{g4SQmzz&>$dv&l`}U2yyV7bxj_27k~#>i@d9#YMaI(bj5$ z``I{LYuzFSa;+M;P|M`(>+Q)|dJMON8=oc6NJg?N2Dz9vGHlg0vO()wyzSnM5a!uA zAh{+pDQ3GTMKMgN%18B0<0^i9s4~WHaFvk&N3@NOccIp6v_B|+RB0g9EpYG{$Kihf z32ox3)r&Rk@_Oj$W@x zT=rWNsGl06vp5PmTZy83D0egaE_#AH@zPsS3kE8%^m(n2+;ceDJ*&fm@UNo_^C#8E>4hOwEp!iNh)S{3WQ!Q90 ztR{+!aFhCCDPPaig4Z`EYrFEj6FUKyF0Z>$6YkxJE{rheXv6TFmh6&)fqXpbH0SBz zERC4Q^*ACbLzJ1jhW!drcpxZ>qPxwAvNDQ-;&|{YE=~`CjV}%d;+@sJC{?0*`;!8= zra2mz;xFC3A5YBBT(rcU+q;d9qdi+VbIrv0()%)$Nxn%hsu^p>q&9g2gli)Roxxv4 z?*atxZB-x!lnjLq8-?RDtq z!QF=8+uqgiM!4H>o>DBjws$ByRkIqap0!9Qol5(#H6=rvDijZJed3Ca^|KuN%RKds zrOZ`uVBd9D*v!2dusUU)4p)QK)hr4#B@Db?Lq|`I!@w&x%t|BoNDd5ujaNFBjaQ~J z7KOWWoh>70BQ8c}9zvH>_tnZ&^VC(#T>lZLT(>|PkIm2~u4E%HbJYRFs;S)AJ2V~} z+Kzqd<;Zp{PsCfca?`1O-4t#80GB-N4qWmue6!y6L~;H@m}k!bmzt9qBqxo5Wjpr< zu*TkOLB9K#d^pNIhq!}?8<=Ml-+iCLM;_v|_4q)tejLk5^&Kgm*c-@WZ{XV!vbZ0I zP*Q!nO31JwS%rmCa|B_1o zjCI9jwcee4;Z3za*GkhGx>hC8@O_(WaX1=G8Gc{SiSuWm&87Jhy3K|_y5Gz#FhSf9Bq#ZE!HXYEm2R|MC zY$2W*s0#UF*n_7f39Bz=Qttr2&r4sVwFn@eMkGvM+zsh|if13TK?g{mh9$%tLbWkx z8!-yboG{LPmyTMWz&JOXH1GwX0R~{4qhpP8Ol8KoqAQJoan zmI6C9opi{mH|8mSGCsTA- z6EfHOe&KOC+T!4iQ~m*C{}HBLs*bT+3#GAqjRRbg#W6|cN_0SffF9%q<)&R>y zW`J!)FC_?hJ;{@Y$$mY_W5d^RRX#GJE(JV~m*lXnk%i;)fW$6ko$L0Uv{ zyg zs6pQ<@jPa;IeF|weFRDJP#iv1+++HGifsEfml&sTsy?Z|3$@QfftZ4lzS$CTYX5o2 zJ>OOCf0L!;;Av0Qy=Be;w*r}s%+tg@Y3Rpv)$j~x2xsa_BWECEr_2D75nYRnm@b^B zFT^Yiir3(g@6L0Kp8vq&rO4nx6#0O>$+$a^XrW?i9=7sgO^1 z9St?RLf5I=nxRiXdbu_xWf-?Lu7dlX~1d{-Paz9>i=4;`U8$a1V=@@4+7OGi*)!>M7JD{+phdAQwTtD^oCb^K;xX)ZZ`7%5Ywc2}G+yc-Fd2^NX+{;H zW#rcJVMZUJWrS*XW73662`wY585n9Nw2b%_;zkQZT@x5=*Ia1<+Y@Wo8*Ac*u-&)u z8_`m0HeZudZ601#R$u>qok6M$k*6|59?B4(XpBg=ak?hegn#|PjgiXw`MJC*T};Kn zqfwo7h2dyxwfJ+Hi^aPVfBqDByO;4;{P_nHnB;p~nv$AUux{Pm z(0%CtGlqS9_iqQcbRW6MXT@jZ{wKvfsQ;IMs&u3BZ<-&p=)Y#?JRmu7amYU$7ZEO{GW@} z@}2U};X7^tW=HM_p|v;?nyMC#ghP_yNGLQ>Xmi1@k*R?e$2m44v|R!%1F)tWrfYE| z0&Pz38k=7iJnSg2E>JbU2aer-7sJ-W*mi8fse*2vUdOS%4b1-0#{E~It@@^cYXZ*C)8V6_ACJgKi+)Iwu2%hk4M9XZNIzf695T6>?>|qwUv+Y=^W(!MmSX z=AAaJh*Kswdc2;#?7tTWYraa&j62U`vEDM>wab+%%FJoSo>ty5Z6LPoaQNXWRtP>i<(zhwn< zKx}b5oM$YJP{QYw833)6VY=3;QpmbR<+9cc(f8h4(k&){%4D zpV`TsvP?A60CIW-0<4LgAO&avwr!$y31;kVF2S_rS2!J#f>_?3AMZewta~C|Ihv_^ zIkdux`SAfb*vr8dAI-B?6K?7)eM|!3=7V(9d@F>T8v~K+A-AG0B%5@sahgetWU~ba zbZ9y@+*gs@Bpd9jY=gl=@A-_q!+So%eHA~5vS!wGhHZ*+XRS(FmC+jSKlPEbY^=jxp<(YfPkZ)2&gsJkK4&bqzY;_cq#@J zf;yatER75yE2qo=3hL-uL#lup3F;_QtJdut@+UP)<*}$nO6_Z+Oj38O z-s85E4(#EM;b9cwL|ViVQmWj9%BfSwr=*HeVsCW zDQ2T!DR3f?jD#B63f4*~_6}D{$@`FDcRh7C9&4@i7z(rcN+w0w%B#{> zo<jfAB0Km$pxah}|s>@p7@2St8Q7MNEPi z!s+}ubih|@|8>9`UW%%Pb^yHXAz|BfKrFkOV9(l0 zue6-w0!i?P<=hJZ!ypjLxkW_aR><2aGl0uEy4I*57&ObdtGFrsELGQw+(FeVHI5v zWfN*+UWs^pFyor&6uqZ$8h8ac+4CePHO`Y9SVX>|JM1hMOz5k0)c!n}P;8o)M!0fw z$_xM>O2_IBOoe;IB#hzJ?&Q@0)PIV;<)WzkxUJAv8#m>T+`01?2h`!kx0jdNL9Qv+>wn zc%7c~7F|g&bIc0w&{0GGm=%@*bL(NRlfIY|=vY`|5@bR(nW(V0;U@-UftNJtUhzU1%dT5};2#p??#T2ywURfc3M*(Dh0 z*gNJC!g^nDMO1HsVetj&)FGe|T_ZYx1ockCVZG78?*UFw{S17Zau)yI^D#3-Fv$$D z(M86mJ(jtk$L8qhZ3*bHVE#%YB2_6f06mtDRc)q1KEeV}rGhIw(ZrEbEzx3yQrSDJ zmwEn?}eyAs<32Cjm|fTj$SN*&bJxc zgXRL9G6T^6=veK+RE8z%o`w=znY_&VDntvo)SVlA1e&bQFat(A7K8?t{Xc*r24AO= z>jSh4A_p15{wkmd42k|4dynm}xBfDs+dRs#`YX=SVUhQy;Ab*|fS)OFz|TUCoZ15q zk1!nu9QS~4+J!u=oSSsYyx*ce)|e--HjR$nfdQ;-PORM_j4T6yH98j7n95*n`GG9c z6lZC6aXly;1qs>G?2-a8SWJ&g#9*-nOWa*bWB|tty4FA`MWz#St9Hal&@8R}thf>Q zNbsg>=mAbn5MuGBs=YJeoRc^-5Uxs6dGW!5!Na~DXa5!588uL~z|t!gF0YA?#LcLecT4hF?p z1sQmpX;PgMmWlCkT#PTm2MgrVTN8Y6>>Z9T_E`J|dRGQxi8U6tp)_l(aZ|rTz2B0t zhBw$?tlidy;58esK^OjVtEukql;`5z8epoj2h57>!92QpCk}f2a`Y#%2lQok zr)!NcOcb#PPMPKAJsx3**aOK{vI7x53?ft^WbEDK{RzIskT>|k)zKI`3%R-8pBV}> z$v6uT*LyyKQ16Z4n0jxB*I*(3a;tgV!YMDndn5H`R;>5NboJgI)O&@gH+@-ex>miJ z$f`HX&3imT64hI>mFyDrj=ihbdjsTFrQRNbQ122PQ|}^PgC6|lK%JmuQzWrvg(~q{T+0!>w(1x zLcN#5LA{StwjV>4#T^BkA}}1iHp4r{m}PLhx9Y72m^mib&FSccNSIu=BqEM;%Jjv| zO2?Y!m?T~g^fF~x$}h8IIbI)f8IrqXo8U5HZyg0DQ28`9G4<_RBl=&0tgL>YVV_UE zE&YBA1OXq*;ef}$kdZnE59g>!h?Bqzv;sC*)CBd>Z7)HT|2Pbm;mCm z1ULc+ZpnjYp&WjwG<%ZUt^vrsGJDnsq=Y#kG8UA;-?%wJjRoxr)-A5sQG7@G%+?4(pV<};WJYU<7{lvq4==5xQ|9}{Eln##r(Qo* z3&q$;VtDUKWK_4qTTPLXN*h=#`q>V2^cpiPK)2@Tvf3%r7pqS?7K_Rxp}goQ@RsYh z%QYz|YV6KgzeGPF-)YNW|A0XCtw2mgt`sR{0jsefBK9_nM>ys@@=P@5Y=fKK7=6PZznhygFhJ}Zx?(gCjT1iLmqXWLSC4u?479PGp799&&Ok$ALGsB#`K;JASX9sMd8U#oYl6OL^5PQe{ zGo-1@z8T?Qca&!J$#m*u(A22l;KK+44)%rv9P9-d50B4_0`ETXtG~m;3@~?pgpOXI zhq-$@63avx`5A!en~ufCFjcrP{-)4s%t%mo_tf5#F?b0CmKJ%n=|^C|Jh*QR1m?l* z3BxSnG_v0A8Z+zZ$jEM-hZ}+8>VLH+DtMeuC%2h$E7*RS2u!Ud#yXH9$u% zDMWh#4xkDdIb{Z*z35o&#Z+N?VH=Zz3@NV8+(_O)3Pj@^5SNI?`4CIwVFIVj05%R? zt8t`AZ5(q%t;HPl8sRd;ZXaH>BRZ`DleL3giC{Qi*MR9PA(;9wkza`{KPP}0H$ivE zsZ?}jnRuma!F+;LVsA5+*|hRwAnI3mELzzQ*s^FPo!Sk$u}~U^eDFX7fmRNN16pZC zg}#DkD(2~{Iah;O{Ry7^u*RJT;TViTq`ILugiG>L({cLbQ9S4KIFHE(E2<&+sfdZBBPDASphQFm@y%g81y*Iu89jq6>vr`(IOqRonJ+2xPxhtc^+ z0bZV~nhclEIe71D#tY(`%O!9dWObrwo` zHx??4CvqH|;lVI1wBitOm=s!{lrRs>XQ@yykYX*~pklE+2Uerle+k1w3*R-*z?W^JeomikmJ zp|m6kdTCzr8zThwHG1+9q!7rnO-33!ow&AjREv`C0|SJyL|h;cZzCa1>eNjHe>EGA#e*G$iYDZx z*MjFz9_%Otfd@MVj>Ut$4)oK$%LMenVLY$nIRT^Gn|KB>5WkAY$2_$JJjauGs_X=Pos=YMwHxP?cW&meXy4GweRS##=s}U0|ZG$j%ftAZs6gMI>OhmV zsSoi7U~Qx*8O9T=P3#@9Hi>F3XFP(rO@HQvG0dE7A zNaRcJVj`sVfT`$}7vU*meA)=(GEY5!jg!-OdD2-(`Z)xJZulO4Bc+6e-%}8`?@Z=} zVb4eLjqoyrmb}c#bcavGKeaA*=P>_SWaX3@KwgHf#mg{V$jh`&arA!D5hx@k20*@mX8 z9Nhm~q~&LS8LicKfd-z`kCVRiKBfOCdY=YwjBSGC1~{4;NS=p^H-hBl8?wldqlplH zKYiP9`-3u_l^IWs|+BQT7GMsv$JU zL`VBRr$SeELib#!t+0-7!6%5@GXKpTv$#nP*8QHtnoI3)Z$im#F4qMk`PMbFZ8^Ca zwq=Bu6pH9(bV4wQT!2$LJ&9{)O^Vd=I~oK_q5i*uUY?H^3}0HGdMhH8M35a8AviraOEp{y8=8$&vaXWaX3@ zz^R$8H8nF`I5l&tXBNvHCuZ1qv%N5%=|0c702d!-pXW88;RQTg#Pb=(dtVAKh%&GL zANaz{2K|55L>uc_KH46H_ko+u!+&@GyE=<5?*ELw9N5o8#eKJHtb_aiq24F;<17W! zmHY2SgY;dFa13^Wp$6vF8W>sucpJgc@|{^^IIjX*tU0QY7Iz=4MLLhpG7&io(YCycHF|;KcJp#d2GQF7v{Rqy9lgaxS;PXBiEy8$Bepa zf-0;?8j_G272)h$qaueR`-V{3Dc!b@hjhn)qgJm%a2^o6{*5y-*W)96;Rv}NFE9w9;ag11x9?yA$tUMq&PKQZUZRTqjb;#<>Ouzy!hHJ~IGAtI zTT?sZ`4gUF*s4x>4MMzlG#hscQq}C34K#7ipfkK0|5KoevlqME*M$%n08Jb^)|kpv zq2jaf+skpBKBc3pe#`&V#@b z?Soi68ynTq(Q#AMJ%PzE%qnLh2sCsy9O&Kcl$-68KZ|#7RJO{*J}6ln?gEp1WD{7m z4VeY;k|*nF(vADKAqvu z!!0`(;oW<`Zo4rh>h=XX!x!M6b^C~^8+}nXI#%77B&^$+cHJZ|$pm%#S5&vy zyUBaDO5Iqp>phpOTSn^kMFgR47sHXd&2`F`;JtymF(vBuWje!O!awV_uc;e-Q8zkP z-Iye-+ZlG%E$+TTbeB z1%gnwtKdl8psjN?-W%v|Oo_T(LudF({IhOQSCjrmU(}6`RW~Lvbvxw=tU#l&MDmhM zP`B5jy2aj2-s@HB#*$s{4Tj>R+jsGWd%9ik@u|4A2JZL3P8Sbwz58Jne?d>nLZ|#a zMDd}imyG|EiGKs*Z>_Pqx?w~M>59jjjPtzc>P!IpWD?sAd@=g zd$HI!4{oW)WEZ40JM(#P@^h2$b1=Jm>f}iitb@=V*4%|@-cJC_>2@U_GeF-=NO=Fx zHYlzM?K&mp6;Q+A$3%F_32qbD4Q>~=J-AieVGZ{7N25(i$(PqM7BSD5GX6o=F8oOo z@FPV7@Q_LMqx|bpbC@pythmJhcbGEBx3AzsP52O9~@5p6Wx!xa$VJDk& zy;~(G*5kv-CvVl`4uRJRekQIP{9N30aHqJL;4X37gP)2!tkJzyS}%TSy#Ql6g;iv# zK-zaR-a?dJz{y59-4hkGbjEu~A;Q~jQQZ`#W(%f!q%0@+mAG#3OL5b|uf@#-zY(`R zxLe#|jqbsU7;(+7@wooGLFrFeY)FLjDiPt+8WR`ZFeb$@29V0s_)FsZ~hRV&V3;f-@($UtBl%ow(`X zf5puNSe1gVC#Hi3<)uBiPuyWm=N+I(=9eOw?cRwpFv+*M9mkKR3)$|pd-UW9xK9^q z;sgYPMTdE1J@P3J@%b~j#bq4G4wQQ{92~6$jW|x32*`L_@QSR&An`)jKEF12PRrd~ zN_T1RMIuq@uBSk3c)t<6xVXfFrFg%@XGoa12$|UKT44qV^sDfD1q%j@VV`NWaQFwL zVc&mPTsQcmxar_e;%0(Bi`yPNB<`?A_YPFl@k>!RXvRKmzJHr~WxV?ca9Hj{tK7dx zeopXLaoyl=;--W3;%0&oaodAO#U0k@-a%R}zsC2Am$X#xcUopT#X1Wvr%!jimt$n& zo;=0Pfu_>{x8D6sr8weRYmx=)69R)1JSDChJSlEE_`A66!Q@}9++mI8!2%1%7k(*> z39@|6G@tiSvOMT@MsvmslAja&TUQ<*i$UGHc*99&gQLUFo^N!GZ@vB0;vSE4u3}JmQf^}426+pt) zNWhv4(>|MowcUa>BQQBZ*1+0iV9gm=)8YLxwEt#W?2WnJ&Q+SP5Jr6|EM@{SSIT#!7|A0nCPDelnig~ND@;6ya&WF6o-k~R z4uylBC^Vzp?LM2bTbK}(;-Ua71q@lUQ>5Y3Y4S^y)f$!cTII5~sZ!QNQ&whNSy?Sh z@=G-JBrPlLy~(05rg0AC*w$gSb+fdk6X4=cq05Qlrh`^-+k=9*!y3&yO52)W720}o zSm4`XBjf;^HUe%8LR$+Y6&s;V(;i=G_?Z&s`yTV<@B=kcGyF8+Eld<ZXd!Rj>wnA-`vn5{Bsa=5APT*DPqk9WCCJ0y6 z5+=K%lmI3y?M={u+W#vvn}>VHG4y*OH0^vzP)&yhh4oC-uQN=RVV*=z3o9XGb1UA$ zL}4uw8Bec~@r*FzrZD4)QO1)hWSoF%W|+9Z#6o*%S+fZ*)s;^t=HxE78%!TM44KiQ znV`9PFv|?#Tbm`PkPpP&iP6~FCN$~<)5LXyDdMJssp4jWc5&N-$>I)cbnj@TWqwtl zK;Eld<aT@X#*#iC$1ZGiJK1Qi<=2H5Vt*;Bkr(9_m0)J;+M8nqStJobq`UOz{`dq zUS@^(?uhW+Sr6Z@2pUkIIZ=H$UeB`Xvq0c%-jD9u&nL*61EiCb91P z(z+vWS1vZ0gS_3Y4Hu`oHpIGIR@Q}VPX`v+KLo?&dW*2uUCo3c5O9U4^qadHQVoSY=e70-0a-$!cP2(N?L&cf`glCkv+qJ1Co|pYQP$0agPq)1f zRPXzo88a;J!7Wfnf0nc=Yv@|Se5s5!iS;0Y4_c6$T>0b2Nd$&qPmy>#|dnw$?`G73|V>LO+sTJ;JJz z0IEjnG9}J6q;&+ESHx42o3{*IAh;PB$Qme{+8^*#mC=T981XEwHJc5*ukz>Mzl6O3 zg_5B;h;t=S!tgP$pwO{ogkwcIbqdOui~g(${JBV7$coY1W)=OCMwrWm$91*jR?!S< z2kbr1?`SQ}$macE3$EaF&Iwi zH@Q$4+SRS?U}U3R^Yn9b8?hJ<-Bd4NC68zr!VN=)aE^B+TNtABh`H>7tt)l}H0MPK z1O0Y2Yb=qf;zNSr-D12S0=t9{@m}e8mq%SdTef%}mcJ6!?V0E#G6Cl$R8_ps@eYfq z3)C}S45__wm?NXNDJ6niI|g{yJBsjbAAO(X9ZnA`f_%pjI=mwo;XG%q)*!Ly>hQP_ znyb}$5?qU{dvcC{46zX=fj?J2_G+!uPFO8(F6gYhW&KtmZ?58!d0Pn&fh5KNF7g43(CcvuF2X$u%L=+dOKiYfCAGnbPO}*XtP;8dy>fk#(tR3JXFdW)~x8D(QIlTz|zJ3B&5)Rf>=a$ zLFX#Gk|3@!KJJtWqwToLa8?ejFkdjW8S_67Kvzh`MF9KjUdW$6w{Cc>9C1X^g zI}gllh)hdFA<`G%Y=rNj1^An;k!s`9P3?*@vCjnBQL39XVep$vjk=)sCyZ`ri;4q& zwh9p-KaN#9j>~tNj!p{!+Xv0_a>ML*$88?=5#{A|{P|zUyE1kzCr$Ublr%Tb4+>J)PxoM4hp9K48 zF9Rnz>G?U`0mtos2*v$w_z#&aT>FME*;B283Dp5)_Q1q1=;)R=F!6C!!0X*lE2gv z8Y0_ZRMsosVsFzz$+HkJ1f1FhkEK^fZ2+si+|(R|E1hzu9__^qeYDpuXs??Ek=)s@ z*%C~MmbjOWZuFxiPGC#iEg3KXEkVa>2~i9%WNBuDUo(d?H3wu5tV*GZ@v4Qc-y4@L z)+;fje91*%PEdaA9pQBX23Fd*ee$J9kB?dm7B17Nxe+e8ArD;M569s07C{Af@~c!! zshSCa%iq({{e0l^MB?%u$$$aCB^?Wwvi~1l@j*2K+)pU~58_|64yu%@$gEl_ky*FM z5SfyT0G&W)>>VOA#N|^jN4TW2LIRgxjBxo7f`H41;TWCa?SP6~@pK^$?kGe+mD(vz znE`P62p!$%2TpNmQfXwdWWWI6l#Yc{rV6!%o${aXl@pPKQ~opFMJimiR4N5mFZDKQ z$@-;AufXya$C(OMirP}{cdJ?yo3Cy;Ve?5Yf}ce5#ol4_CG@{(p$$7Q_89XA;3v_R zkWZU2=1~NpE&mD!Z3)%!)Sh@aSHcui>Zf>mp*wa34<_KsL&U`WUOMdzG*EgU zHY_nU{(vC(;S_ljzG^l8Hq!Xj%U*{(8z@_gOQ4&2R8=d?!$j2!UD9ZwAGEGK`cu7F z?NfDIS?gM_Pw`k!)uPy^>XsAsDal3XG0~@D?}~kDJ&5LcJl4ET%^<5!xv3ezv(DR( zBM5!!DL7`Xxj_b)C*e`G5os=x3DIYsrlU$e=rbp?&)g{)FaUjqj@4(FDjXMeggOxS zGQv}o-Z^eO(&4P6iqV0Jn53+=`Nxjaw0-n=)$-ZXC_4m$~SJlP9P>$YP^wvvlbLV|2#Z!?qFW5He^6`obL z#sZR3f`@vexdPv+u{k>%$DJS-;|O*TlTVg*UDcTNPs z9c`E!1XvycsoLQQHERsM|~-#_LsDyF=CD*d6MYh3+6%Zb&XdR0&~S>>V;zc7NcSmv{eJ{efhe z=nr=yT>AsHUC|$?3~Tj=$3Sp67MXe!&yI*I{ecRy_4@-eM1RQBQ6*aRhtt>}_C!Wb znE~hzbgcfsRNv4ap0^ti(bqT*ZR7&`Dq53Zfzj~QU_;t$+37^&1;lL0+ z_v&zcDzQ?R@T)_igx??(_2*b6{Hn!~@avWp629aj)RQ3m*t^0!a5l*6OL#20r`EPb z_mHb1TzNuj{sMQY^a(l*CZ=)Gu2^Gvikp4vMREZZf^eNI12V-0;iU80M9gBuU=~rn8mx&^*yB&-IUvNT{n!zGoE_LWo zB8oA_zeWqIjHN0-M0s6kLX=A`QlA9MWA6~ zXDTOK{r6`;6>b$vvD-=irLuDU{>#jO``L6dVK$N z%2Fr~JXdXS@?zBs)#;(ZLUBtez_QdAO!+n1SNXE)Rlm~OkE<3+qN-bB zNK}%GG*p79V(*ZsY`*9@H04`(tbR;w^#pyz`)<^j27OVn+Vo@HccX@N)n;WsWnfvr7WC8{l=78v!k%1Rxfkg4^pO6rZ)S6p6tTa zH;P`S)VOBpoM@|;{tKBG8m%#vit5)`dui1&NlkSN45>+Skw!{TQ|ztOWcSghfzVg+ zSbdb*{Rz67j&SASiUvEfjDIbfQsl? zRK!#v6**<9=R4)a_!lkzD&=YKtXdxNS+}qdpOTA!o4{x6t@sT4=E!rAOpm7oA{mP5BB{Q>lui&3c=`&)Xb--L1JPSr67t3z7?>_u;+gH|ty4GTk|R z{v0FN-*Q^}*?IqSEM!{VKZ9;dPG2NxlcZd+167a;P2Jfhle8!`guP0;id=qa6{j|} zHTj=KZatggrHq&5R}h!_F6DM?eJ*`+#;?O)9)epMGJf5=B@!&{w?9qQ?*`gB2bRu@ zGD`TznIh@AtX(Hw&f?2NNx@gUqFarrXj`tR#4-3?H16P?_!CW2QwnKiZ9h7lSiBrs zfhwGiT1|k_3@7z$YRiQaTJVYYYf|?dIiaBMXHK|p4@cgqmpcGY*vxEma5A77y@cwV zC3o<(u%xWt0^hYSA=j+m8oqijK<`p?{+pfLG{?R4iau)$ff_ga?EehNC;|dW_1{#nq07^#(Mgv3D(}V(6=zNIL}3{ zLB5{UTLv$VN(E5Nj?M7L(2-(8Y(D0hf^W`Y^YCnpXAz##rd^W-f@0S^b!VzGU7b#K z=Bm@Rt-91hCtSJWZf5kv9uQD*Jpl~8up=|p3-aKxUXa3%^@3njAh2P{x9*;4G&K09ixt%hU+Q1s}GO~qjTZv0lbW6|BPVi%nQ~q z#9M>jy!=9Bne%^*pq_cw*y8Po@n;2;a8kLUW9DG8`we1fJdM@ie}r37lG3NSwiO>j zWGjc6{k>7v{!z%HH8)LiY3e>X=l=@X<-PM~qw&rF7~Oj~gExdzl2)X1KqhaQnR3Fo zu0AkXpGV^QFvNqM%92cBCVPKp;HmF>AU}8YLCK_##z`5Xs5px;!x7+!Xix#)cL8V3 zz08XN`z(~!v!%?TL%VSF$>!U#Lrajchtam=e;0Lg2HyxP)s_`=uu>gJ_c_ysqtus^ z#Ek~t4f(B@ifh)^Pn?n(?f5ljLLI(fJ9tx_e<5d2`2hGCxI#d92g%6$f8fWDiE#L% zT{W%|OCg`2?C*Vmp^#nv6@+B{-BIM~gOgbL3$e5Z0v4=ci1%5x)W@@{4@pM*E2Hfx z(HP>LgJ`P{O~&~fDQjOfC5hwX*KoXNzd zpK*ODWCc_lmjqmn%f`NA@Uek2cxnW_#u^K_>mOS&$Iy2SK9J-6R*sA{KF3ePw|h6& zr|a*Hwr(kTP5wT3X~k&3C0NgNXK?XeAzt%V)98|_=Rtct1s<5|ekb)e=68#hB)v2oMt z`e6)Q>;EWc!2zXN0aSHrQ< zonD>R%}Gz-cMR1pUyEuRy60F*EX&ZzE+Iqbs*glS-cFDlcaa#$t}lIngK*fVB&P|; zGRo;&jpbzbhY-BbPcr2=9A(bJp@-a+sZIVHfmps}1n%9k;NIffpD&HE7u zMu@Zr^f~>bV_;*{arC*lOLw-c$1!)I z^uMo%NmYO>l-^NnDw=V9X=>iyO6yy@JzQ10UGs#*i_!OF{eIi^j|OT*e2^9~N6#kC zVAp;I{TjM<0%T6OP>YhMm^3=E2jdcVh7HnSBXOb zfQpgo#i1msxJaacYeaeqY0pXwMq;Q%Uf}WJ&_iC}u@^ny?rq$C!U*z$fIUpWp2pps zu8a?qpYrE;Kjij{8!*U82Tb9lvBbY0jXQK0n#ub-crx!?GH?4La6u0i4j;kGX!b!y zITBG8tYOINk0yhE&)}mZm?7SI$RZ#l?)2W}>DBusV?V^$6e%oN!w_M;L8YAmE9nd! zgOEV#sj~MY6@1thfM6SRNfB^Q);k|%fY$i6djDhre_#P0lL8pxt!0f?CFA^&agLKX z4Dl{tc8i7{fcF~Kxma+Eb6x*@WMAAIC-_Asd?dd%z!wF^i2WzV=F+MNNG?F&v{AR% zK^w@$MTm7gV)30RKF$=<9&e#OONGXcLdwGG!|?B3p1q_Q8~43Sok2gO*n|mht^&Zl zJGzD-=^A_9uujB$obu85@9Z7S?%0F^PGf`P*%pr&REA4YQNg&d90S!|fKU5ePttW~ zErPK_Z+*gV=Atb8cPZH+Pf6^Vz00hW3$rr@L@}CWvJBg0YF|>Veitxu9HD%18@S7W z2ds9)*7)fNqrKs>xNa~kZhP=)afdb7!)lfGpZKNrp9X>46M)=qY~?(FRcO)iX>v%5 zst~wy6nNSs9I};^X_M0R5064CBt4>5;E}ZgkBR~-75cF#v_heKM}dMjHwE!S>a&>d z9d9QDiAdIkSBP=8a%nousi{#f*H?pJuKz6CZ5*-&UjVt0xE{q=r^IC$izhElo~ak@ zG#*>tp#-4s^DN!*cEpEwF#fRlM2hU}orQL%P1u$uv5?-=?1+7>YY+$0Ql(eewrAw& zi#F1inTwc;6gei<*CbUg?LT3K6_8`vyHdFDEQKGcpg3y2y%mGU<$~Ysm9id6$oYbC=2ah zA4aomYW1(rAQ$$pHR8I#8RDjcv&78=XNub%tQL1zqk9)=f8&?-w@Q`!LR9oZXO=7G z;EI*v9T&x`6uM^=TA_BkMuA`fU?uQPQu85+Ethm>XU2br{)jRy?Y+%cokR9R@7Rnq zJO=fy$j>P|=dQ+7JhO;3JUmr<1vu-&;qq3YG~RjAzaJ0vly=8MO<~wOPaTN|x00p$ zM)0R3;ADI?=$-M!_;^~(!Rg*mTDn=r7h~F$0$w2CPFm)>FtQjCv?8Z5Q+2kPTQT3M$l&a}t|k)i9CQdnPZsvW<}OCxPV9403H? z#&`HN*t>t~WLNHO8r%l2-Vi2YY+Q0aI~-K9xz*p!k$&U^pA**&J}+)MSSxNOI9FWU zL2$mlWPoZUlP|1E*3W(Tq16J@C9*) zHJbND&6Qt~9YwVx+-K$aRY~InSBUEdmx-GWE*G~w_=>p08qNEX=E<+>W5p+;j$COB zIJ0KxsWn5-sTq1f&CpY7hJLnY=%;Fio?A2Y(=|iSs~P&qnxUVs8G3Tf&@*a=`ZYt> z)C@hnX6X4fLqA?Kbhu{di8Vu4*9^U=X6R`(LqAtDbg*XVSv5nCuNhjd8M?M+=m|AL zgPNfy)eQYi&Cm;Lh7Q#XJv$1mz&jip1y&kzz8HnB9>;pAiCY-JqJ>-GCDN(CVcew* zW*jd8-3aPDkrC&9Ob4EMcy_?EJD$C(JO{v^Yupp8@X`>N9Nf|+jDR~mdYfV1(x*Ow zc?#xjCl8*8X-I9&{sqhX(;e8f=j|{>CnH*=MZ=Gn%ZiE)vK1@84sz8OWGXK*xedL- zT&VLln1-Gz<^p&6z>ZMM5e)-!NaT*T$3vJuf#*wjzJ}))cpk*_3Z4`gp$+grT$0)c z&tZ75IhVp*mihsnpW}HF&r5iw0Acg+Y>$U$8VB*L!E+s+8}aZC*vIiWSmjK{gEeD{ zcVwM_=X5-u$8#y3K3+8Kq}RQO(lfq`R>kDq-Kri#CxI6z<*8M26SYb*ep(}}n*f#j zkO`6K^pG3Y5#1SWKN-=%2k9jo>2>c&?rOSSqSIr@*WBIF_8%fT*dw*yo?ZuJAa^y$ zF45^RbTXqCra;N^M~F_oMa{CO*S#w7H;93!$IvGM#cwrCYboJ1cvx?;`sC!8q)Yp zqwP2+FslvdnQP*|F7cK7l={+R=oF2gA8m)W@~k%CM~(ES*S#t6yW;%mF?6cNFO0U| z#`s_o=b8M;e@4tF8^QXtqQjOm_+I|+}w`TmTfrqST#C0-0J%%>b_!CFlu@OA0ZDPi6 zGV#f88)jSKp~p~3<4+oGM<81jh`9o+5x^`qb^wuOLjFl$|sI(v(H#OUqoii|N^CsMgK6#*XvpkeCPiG}_*kR#ITe@@A)O1@qf8lY< zewOvi@RBhT|*%w<;Ta+rAcskfyc3-hrDnd zGavQDmMUc6M<8rLPkLcTDdWA3X`!GZr|vXuR?2<==ZTLYem~ktRs_DV@m}Z!xjx_}{Lmg;+Y`d^DQwq>Z;a2e^w_{n_?ObYX!OP4F)JquR ze5^(s2}7LY;y5$L<|AQ-XG8y8c;5a$HOA%)1x_D=ak zc<}Uwh!-S;KE>~t{e%t`KX*vAoEZV3ayq?k6bWY$OFrG8`X6kj$@($;G(HyW*12lm z;@ehBbVCeCOhQ&T)Ct4}{7^4Nw?7@e(7(MF%^48?Xw!_?=tZ+)GnZZ(zk4TjeUfg+ z(mv?O$C-&|=Yanf!X%qYfiqB438w;>=V<$1ARrY=gFb&uIxvOp^`Mg7*djiNm0cK` zst2k%y|1d5F;fq(>7kb~Q4g;f>IIyOO?aZ%r??Q-^R>fy2Wl=*0-?$kt{1R1jUo2( z_oFxJ&;Ga}`qftG8!FrSBRDL|x7ZoUy_N9nfCr~OQv1QZ2oL7;R1>}z;Gs>9UOcpX zxg8!_zl01h)rXlF0%D5cAYrGhv1rLpAhPB4-~OIe{G~bxiIz{9p`C>hXiYN$Ek|Wn zJ{Mo$<6_yC&!t>4A?MKUNs%zi=fW5h4yXF=Hst|CJmhoLivSU3A%L#PdVJq5h0-jI znuM4uF1z3mDvGguiZy^33W4Ep#Q|qGb@otaB^?WCMt}vt$uvOP=2IFFRhH5#pRxt` zSfW7xxN+Ht>cU2A{&WBaOGdXkIHf@&?-zg@5>0F0P2!o1y{y?*INbeLZ*8u zHV)9$X7qa4QNRo5gK4FVH22^e7^`P`!vK^Q!FdNDNvUgMx(E6lOf+lJ6p%9CG_4c` z6>`_-Nf-?gHNzgaqcov&U^JaRw7bdmMWgy`*d5M#`yF zPp!zFoQYawYq4u$v1=0M+MR*b zsyTA5*;7Nt+cm#T6BKw>_y=u{cu+YH+<->4(`*`DHRd8eFh>wT!7?e zO|ElQb1u8=``j0GEq$m?M-(UO1)aC=>yHVmeK~fCfdd3Se}>hTLxvf zH`_FQRiV_>)H%@7)Uo(4*&dKhIVPKEd^`koviHx#z}ifBk{>DHnS!S@4^tT-FFLcv zxH{nhd)FfKsyk|LFWu~EP0u=2(}ss z=A7OFHfn)nZbOExu%m`a>u?7$OtZ1R%v^-&UJ@^A*O%FgTHKkvhUvkKrcIVr1S||M ztH7{f?xz4xAy-o1B8%`cAn#}vvIr|eIHdCyfMnActT6j@0yuX;-a^Ts!wGMG7Uvq}WFGx(%1b@Dn2#OFN} zIyo>kwS5w)sqLdP1%r7jXCj!FbLzyvVBWKq2#$@&33`n0 zA8z zc&OLFag*}AwRkSWb32}2rZ&VwjrqOt4C2Ajn$*|u@I=V};`u9{ckxh{ zwTNd6Jge{=jprOZ(1%Xlg6A$gPvUtI&tyy{8{pXm&qwhbfyc+w_X+$N*_aYdb|7FfoVt3 z*cC-$J|)16{Ssr#aG|mJJx(CzbGLx8DgM%KqOtisP8{ZQXNj>X{L-;TV^rv#m`$-0JIYgI9r&%GGNCMO(nw2aN~aY8Wv z3=^9ouaNO%?1~~VpZi+Oo4jktxH5J{0hoWDiA`2r2Nta*zsHHceC}N_Z!)wYH_N>F zJx=)LpKoGQ)TIN5=FRVMqA!1~iA@=oNWQ`)1`DVz_zGi*+{?dEGZC?uFYAH?yKUA1 z6=h!cip(pzG9?mu3IEMK-EGNlc^mM;9XIRGh1t`ICiCE2{_rEFM$5#Y+37rFvAW3yo{FhXA`Iho~jxP}fF z&epyKNAp7%cOT^;L#-L%N^mc?+0RiXCGCBPQCB2+;ebTqEwVrt>b*&2xU~ z=6P7g_Es6+k|a*>9dX^@+v28!?}?iUzAG-uxL#h`gKvsEtm(WjYZ?5C%b=dn4ptdA zN)jjdfw*pPlep>NW^psYE#kHZH;6l|(Y;GGYkrNKC4!brhk|R z5P3Eo)f)pMF9RaiAMBLr3oO#HuqaAqk=>uO5Gb87tg7TFStY6(dmDp1Jo`go^VwgD zY<^Hv&8ll!?D*~^^zvB*p{`WOfju5@L~>GkE6~$F@i?gU=LrZUAHfB9bIRx9-<%R* zkcvXgDG~9gB@#K+WayNs*yFudol2A*2_DdRAstoz0UBZLyEO7!f>&k$FiFS4BvToB z>?5n`l&MdIJ4&T8Du?M`g8&1K_?SRKZ=j>HT$M&v<9pSi>uC%+r%ar74w$kjXR%;R z%7L6RwWJQ^W=!{~8cX5y??bWvBttq^l7-k_7yxHc&?!?3&2GH(l(aM+Z|Rb@)7!aNJtrSrN=H@IaDn8N97;azl!TK3qP=Kz z0BbOGLTbpNy{JHE#+*Hnj`!|7ipMEmh5)BbeL4#}L<%Xp1sz+EqXPu|YSomQo`UMv&z<6>T)yu^>8hVC}(S zFNJ^$S;#ua+XJj_*G*9*+`KEssX%s+Y%AlhZ(@(Fc)bH?74<|>{}I1Z21o?QGT+LN|Fb)4Xe4(-W> zpRp@=i%>aNfK~Czc4R`d;}7ZRf)MR^E!$D?$^f(@9jhIgDqKm0c)gifl)1#LjaRm2 z)l!MqxF6bMTw#o z&^aJ-2;LZa94)SxO9-SC!D)gyjJ+$2pHQDn{S1%Q-)==QhDNa6b_c$2ojSB}&*%Cl z9f-#Y$6ty`0eZ$ig;QKP4PvZsARJfyI_aU?=|}qoj>zM71ATdS!LJ(|#j7FbTi;sX z{=v!Fq0iv!bjtOVR&%MQNvT%ysF$u@gCIH3dj?)cvuEOe=q&oJVTgAJ%eZv)+4SMD z-_PP@G3Ww>iD#b0r7 z=qvP_HuP0>E>q`nI?&RAj@R3SX!Se%-)&M#4&n7U(_jkh0oFe0^*?~3c=_s4L>7d+ zhnLapqljn_!VqWZO5~18vW_0=xCiRE`YQM>=$Wx__0@P8&0d55p|8lm6dgZan*5Kpi_FE2dgq4kVc^UhZ`5 zaRF7X1L!@ZRVU0H{3f{W&=4YoqJ|FK)V4^^p9`a(KSZ3No3KTCdb(qA^WehS_!Jen z3_tH?sD9$6`1Al2+hQ-#`T894p}qid;jIVAxXlAabu3*1A1LQP0k3Wt-YIA3i~G_D zV2Af@)TIUM7x`-Po?=3Y|2W>#nN@|Z<;|s@bZ%94X*!!8Xm-;WjN_!OVbZ)LMZC#Q zI=k!vJ=;zB{q?|4X15s!7hpMN^Gs&9?7+SXLr;q{;{t9l1p-lXX`1@yP=Vc6*f%?4FTRUa8C&_OPi30hBa_T)n z`=Knn32`V3&x`8@=<-Y!G>e-FTEvB%x>a7`K5y2ouXnv?|(o; zNuSH4_A>RsK63I5xFLn5HR`7|imK^)PcvUVE694&(Fq-k4-l-ovKXxdCVK?%6IX6k z0BdAvr)zmI32xu-P`xmi9;=)(!I;&K@YMs|Z zWLUStQN;vuq0F!@gngS0Y0!2CECoZXCnX75VGA-A>&4z7k7%#aUj*Xc!(;IRBxu76 z?BsagK?m}_%fIW{l~!UH8hil5p8R>=qu=eJ(T<_-<1@Gce_#l1Cp<6~rANFs7+r1QJul+Ye+(a*&w&0Od7rIOuf13=%pLO&4CfA7!g2lE5VcU6nDuYR3(hn9KY?p3%RFma zmch6|-pE0#%IU;q1eAa!@^Xy}J>`gLJ5bjZ?6uxUZnpO*^-)U>B`I zp43gPg!>V|obJgLKDAL#NKfh1V&uztwxdv*mv+};6qp4K z&|e`#dG~+KtU*w6kizkQgU@AumN{B&&6~6{$0zM|vWZk9?MiFuR3FOR&(wt(b`CU` z7MfC9U}_jPG2!dqi$5pVB(Bs8@v^yPe-fQn;$wg0F?1hd6&wWkzh$D|;Vz#zPj5i8WPx}wz zy9nim-@|P-zNau7DJ{3Cd2lH^_`f&`0mchnLYE=A7n<_v{3TZlp=Ou8!jnEzn_xxr zYR7Hz-b2>m2_BR8vL}HY>X!Bbo&mt)6rjPnz|CFKk^@)SIndjLGeE3F(YOLdLHIC4 zSoW~g$4za9^an6~+Ittp@W@byg_QKNm(Y#Biw@%bL8_GVuIC3q$`xm>{v%6R)`101 zYSx;E{~u@P0Vi2e?f>3;yKi?-+Uc3u?%CPU%fc*|4ztS);4UCh5E04X?ve!rmT;ka z7nP>R0To37L6oN`>O+0z9G~f#6NWJ-TtzWp7PC*+|Mz$5-tL|a%KP`{)3>TlojP?Y zr&FiofS%?}lEyzvbWJyt-*`L8w%*6z#?Y~h>ry$UaNke}Ze)B@=9729#m6x2^;$9! zmp0RnzGdNB3g&w5=-XJ=RBntBk=|8+=sR7!=)1DNd}m7ccQIm0-xK5oF&+}5B1HGS zy$3NJeP6DfWBWlD#fp0uga>*Mekl8|cV_2DU5p-fCTq;qdJ_Afuv|V%j^%9Sv+>!7 z6#Kv$hZ`bpSB-w+P_0bH!98aIZZ^h^ek!!9{P1U(p3jd5~rZQ@c~tAQ~DmGa@WXsHflBmN54{_C7pcfZ>%^w2^1qozZS};I#h4y zAfz30j%K=t=x-Ea=d$R{>fZ`s^UewQ9nfx#>2EyHi78>lnopONF2WvJc~~(W?D<>& zNgYo|znAkS-YLdJ;raD4o6=P_7XAq_Vwon7j)W=81K^rAx1M{@ zWX?8uqJpo!x(96u+WBjvJ%HCp(uZNKR5{jV=VU!8Z(W&s4AUl=D2ho-fGF0XCNR4< z294Wt9`l)6kFp5bi_&z?Q^E~)$9taCe*Z!fXz19wlfn1}&c;1Qi-sqn|C+o#ExyE1D z?cy<*9}Br`zz8?S4U1EkqUbq#3(c&38Y~4nf`f>lxd;TiH-Ru>>U_1gSfh>SG}@30 zCMVXP-(6p0{ttwP#f}0267g|qZ*1-{|TQ-_6C+U9HnURWdLw+LME=as-7-$5^& z#P^C@1jk#sv(USbI4-|MaJ zarbQ>?{BO-H*S-@)7S0xBGm}oUgS$tOW&0mAApSJ2hSj_$R=y=hSpM{KJ;hp9tLY} zyBoR+QM}uhtSMQ z-ltQF&f2c_lEhA(YbV%ea(R5eM((?-0L%Ki1uEa`c8}0+(s?BZqB)Pi_?O~Q8yjRmDo}T~b z!q^AEC^ko2s?zfk=k1A0;lq8%h+E`AguCGejI!eIl@!O zODpqQomnjL!bnV%!qJ2Y2?+Nvv6ut@HR3^VOSCMtG1rHUX6RYc;l3c?7ldO_QKwQ{ zs&&^AT(!lSLNLa}I4Z_5I3#+Q+IRuIqa`5?WeQo4qH%}g%`U|E;AnN6YxorH>#0y&NmN zS|W(1kvl)>LY$^gtM$5h+&CAXxYgUvgv5MTD75C#XA*Z?_qknT(g4~QEZ=m@V&F-4 z^8aI2S)XYkuQKd znb}W>>o$$=zset|7QLJtgZbigCST6)Pq18R<3KJu{gd&E&sydzRG0}v15$B1C}bQ` zxi544=0awZs!rzk{i|+~Q(eA$>|_a)o&G+BT?kI^0$xd-$Q-|lw9L(TcxH~j`1F$H z;TM2C+0wV=j7OHh(MOh~b9T>Uxo=D61k$v{CF+F#YogBRChFxueJpdrUL-)jIAJGT ze1`2$jIPV2Zce9CmndyJmS_b1x5;D2pF$bTji!sEnc|kwfPc0)nk$axN6<(j^)Vx8 z8j)U@^&e+t?`7{C9ViTxr=|*gkC_VjUOcsW{k^c0^;J1oPUd9hb5qVWxc(*r#-8~Y zr9T@Zt<7Xhn>d*i-QwsVDP`POG1T^b$K+O&FreW#MB*HKvp${SRp%BZ{8jAPxV zjiW<_Okrqkx-i7{s;*k*roUJi+|WTDNRp=WX9T|0*FfcL}>joOD4gl0;Lc1h2S|}elIxo6>qa$oaZ;D`Gpsa!us5*MVRCr>O5>$%~T`u}1e%?@yfhZ0@lgVX3gGCsn| zgaNYo(A%vBlFjAi8;k2o8E$FMt^uK%F~is>RgA!@1-xDyGuuf{^|;u76(omOUEoa~ zw(8t3p0p~-bCt9!ncjlCxV$_mx(=m)*;~x(zDXdKW}dx0?uQ{TcP@7>FJ2XM->C8gEPR=7|>Z1OvC_neTK0t z2I#V%0hY%AX~8nUiWs09eg;?>1KyKhl=Cq}*ZK^l+!sTn?8-scI~vp9xm8RzH>$B_4Ra0)R*s~m?j5<}kA!5NJqoz)b3@-FufhK%D{ z5<@x*vT`woyrY9tiXojfT{$U*8#*{iF=$rr_({s)86BLYAUae1a#9kkYGQtpqEKJs z=p5p2AR|DN_q5FPFr}xv^%AxpJYOacBU?<6obaQpz?k( zY-x81JQ0H?dYVWKS~lOU@iA!md{4cLVJqgl)jkHTobRdTF|3@Q@2S@buy4Mnk|x0Z z`JP&t00+8@`tn!;9PDlcl#@It4|O*W%Hs*<;_iM!d1V3|p6{t{39!)3unx(Q`JU2p zh;!O`8ru;}lJU(deM+;&XHKgCU8~k6&{*kKEjsKNtd6H!NBF7lxUMO+!nXV;=l`7O z$C|sCP>n0JLU;#*|J;-1ytd=KM9v#K&P(NdLC1NSoUiUUx5)Yaj`MOkztVADA?LR` z&MW2oLC1NOoWJZiBRT)pab7Lwzy%4D*T^~CaW-&P{={zmg;+d9P1+ZkCETE;)oO26 zjHNf0PY(|lpy17lwe-gDU^#6yqO*+G#ChcT-u0V62p^62hC6_=l`O!cpM~A?XO%}A z%XLR>D*)xvM(_H~3Urugo<|6|)}86h^1!+iz*F{h0v-ZD8A!mhIsw-ZP_A_=oarKV zM8YWwbcd&t+amWc5zRP6ap^Mtp;+QIRmQXo6_^!x{_)=RXD6gLJV(s8c-QdQl4@=%zDN4c>p=xtD&LVPx}ECMaJwQ{Y{VClSyVsOvutjz5l^hB5GXidJ=$j5!~} z)ro_=mK@~^*VO_R9;JYF2WqPvky+JYR=U+;)T0>L1QK(x_97l=iHmBT#mOg*?s2NI z7jz=x%wG;7S_eze+^>teav>^OWMb5ep~jI>!$^2?U6qBz+BL=8y45)>D~kDbOY>O9(jZW-d~*8a zH?oLMYwG2A(OqfDfOS(tmhOoc;u}|dqr|sZ@v%c_)DxQLCK;PBdS}`i)}QuD&At22 ze|-8Ya&udii-U2G`PWX5+3E!ciBiD1>j77$!?iS0FJgJzSNWKS__y134KTG=QVohI z!)03X@*=7@GSq!koMf;cUwnr;xkc zpGb@0G~a4}<4mZ=(ju0Bp1mo28FOJU_hOZXLP2pSu7>%Ki}rX-WxOdW6xyV~_Sk~D;mRS)L&gwBQv58WhumZm1W*#jXE9>j;c zhlLdOSDv1$+JT@JIb&Tll%^{(T*5g&l{resN1h8sL13GJL$^l|s4W zW#L7^d`zl}!jfafnPD8}&8jwRS~a|HDz)V-4y>GQvw=6pX%+wJ6!#ueTgYe0a&qR+ z$rL1i#MU0hgU5`T7`XRy6f%PqcwdP{D0q+LI)1V?n63ix*Pq@_`&ocr;mg zgYwn-^mOX0uy*+)E)&!ZYr?-%nP|(sN3GZ(Bq#Y-H}ID9mhfPbR6TgabIHHh6~)D_ zEUK#$cy9?+2duN;%{zj^zLhGs2doCOnYm?pAm6FG`{z4M`Pp3a5Q5ww9xZ)Y(-n%| zX3pW`A$OqEw>VX7%T+~kXJk?DOd^?E$kz?cZeR`%g{)9DB5nyEjf?v#g^@*jlTLoW zJv=;2uq=CNW0GZ}$*BwX?j& z>*V;k90=(lfqDkTRy(?+E<+^Cqtgc^)^J@lp&7o7U6LAo9zFU-7t850NCrUQ2_nFZ zE*<`Y@bzVjd4T7Y$wf=fpg=h@Mj7g~JlIxxzK^M&XAgW95Bsd_#ps<(i%G@t4qVP3 zez)M3j)~||aI)cM11K#M(IT0W|P9fBaL+PRPHLBwas(YOB#q5{wA+_qG-VdP#WvBjS zH)Xdj$^QKGMZIPB#NM(y9+l`%RIVP`TXF{^LBnRmRyGQWeGP}h9J!Lk#YnjEVx~QkbHg-zv#04dGL{Etw zuycuJ!Xs2*%Xb&UP6?+Lb5Oc#VpTsi7gL#KN~e3}>WVmfS8fV_MwayjOJ+vBa(!3u z)UwR@>0UDUY)prn$jbUM#=$c<+nYTS)^5<2Lriac6K&UqD;k)MR~tF>@xyh5D%r$P z_2ddne$knBPU5r5e8_Uz*~@4Ck3g zi?O8FH}3rrl>R&hu*rsN(9AY@1Fomvb#kca0n>SV!jqMCJ`=>2&zG#HlSy`n(`@3??efxQL~8SF4qexK;a>T(KbaPOEv2NtNb{JpD*) z{a#Sax+@B-K-I&n!Y^9J$I;BB*uqIQpy~GwWlBddV^3u)2ZzDYnW^S`oHnGx0sy^P zc^rU&#?R>Gie9iHJRUBC6&w3VpFOOl#qKM4j**8+=wd@eDob6YgPP|({7e%j&U!@4rRh~iH4bRkE8Jy7w1wJ=Tg*M9_?`gd$ur#(xs^yq-WOg^uwML z&>_s75ZxRpZ@$N58`G(8lkz6{P#%@6_lQTeJ0HTHpPdNLG0Oy-0rz{F1>NgW>?s>ZA4?s{=*%Q=^6 zLQ^|v#b~BFNT;H685Y)O30m$ur}j%Ik8UhaDTc9)g*0_UJaT$k+Q^za*jTxa$Fcm( zMq!uNZT#{*3O(#)cqwk!um6}iLOOLWd7w3$=j%R=^wVp0!!$fyuA_9TdJmA3frO{< zLG&+hiL=FMrVhY@kxcMTP4N23!X7-Iil@4KI&p37*5yOGbva$jQ;GMcx>d7S!0p4> z2e+v)8{bpaUJZt;+UkFGmb(r5G(qL!Ua5~Pqv8_+6I-X4gnWVnNi6E|{W`Ag)Y5+GN0RvpLR^gYwXQ zx}!1mi}@%zGddd-6HEH5|_diZ4PW~U_EpsIT%jMWP~FM!5t6jwPBr9!YL`5@P`=K?<;g`c?_TQ2g?YlxWe@Ki_7cWAWp=R$BsuY9Ig$e3 zU2VC!fON|xE+e;m>ke8T}37z}5py+d1ETO$qE?MoHtb1#?>T;Q=z27CG#-@-G z6K&a3^wH%Ox#He^KJ>6XJS@1$E;ihN?&zd z5Jgy!rBKi4F<-bEr->tDzeaY|hh_uYtCjHhvd(9=*Mn`pVrZYN`)g1${t-sf`*+F> z$4feD5|%pS?sbf%4n5g4H}hVQ)20eG4)l?UNWhzCn1@NzQhiQXqJOsPqwHwjsHg|2x=HQW3A(V&X}sZ) zYd4NK-fbX=>oz_;iFM;eoF_J-Ah>T7bpNVbD-9!hhB*9Nj6ib~qKygvZuD@$HP}?X z<4Qn7mMaO>y(FsL6lrum{%dxLRlV-N>z`e$>dq_M<5;^j$!?6qDO?!s)*-SwZuD_q z(`n*=P!lie4#6`at2+cT7v3Qdq;gjrA-7$X%p`$0mHTl)qIbGc?3rfVB(G^Nd^YB5 z&SxuJZEg|U5UJEt)c=Lg!Gn9i*2V3~PhFn;JQHhvs`Z;99NioTelF%MyoI*RYb}63 zPw-LT&0A!%_@`r>^-6c*xD{_M?B9klr>1V2y*s@wJp}1;k9I%kmdXm_%ZnaKl~&MGWx_Ibt?JsG}6_40chO% zYTt<&cwjGaj_$72d@MHTv?2A^!n{`vEV;XugEcSa`Q^)MsQV?p6i~d{i7X7zk zLjP?t((Sinc#UUvqEX%%MoT{7JNQ({n|ERw?S6;60O?&u!xg5&Hs8%B6j#}?=sg$^ zc(33p*zkRP#_Vf#=VJJq6@UK?T>QNs6aGFRBi;TWhSzxY0{#r6C7#>2dy5s zSR&RBV=T-PD^tb!bjA5U_$$tj2;FOcR7Se}F$}NqnFVngMoT{7$N3Pa{DW2xJdX1d zc<&Nt*6sq$Db7#guQ)%2Nt~aSk#2tm!)x5XAWp+*$tV0QAL5jM&=R~`hvna?!=J;k zF!H2*-k`Ye!&`BG9+SAgfZ;W~3wztAyuvT?Av*a4ErY~$>`Qp;N?-YTqv+4$E&5-^ zg#K4#q}yM`@EU76(Ws6YMoT{7*Z2^b{1?FE{QNrJ3!}6$d2DZ>xd7fd*k>E@O#6*^5r_9 z;V8c7fBAseu^R&}uXCwykbgJ#=3h4%E|dB#lLm5o&Lnm~JDHSonUu>#e<#+`rfkO+ z{R2R_Lk#^>UU8DMk0i-COENic<@6vcIh#_1J102UHIdr0dp>D=Zf_d@f6D#emPnY& zQ!N~eyqVU+qAQJEnES97E+Pm*M4=~>?O~N+nh(=VLB_(297x37Vg3r`76yUf zoHRyREPj;Z8|DR@aQibSqEuHwS})}5M}6{oGTKWGrs)vcN6n{SK45D~f(lB54a6`_ z8oZV!7=APuQ_#5WwKOR}ABXu2$>&s*b;#v_W6|OmT|+IJ+w7}>*pG%|9}S3JOCzag z!=)b;Vjm4#UQ6ShXM>s_jmQTkHNto;jYfVn8e?mK@LC!{JR2tbXiPq{+&wm!`gzZK zanE{jKUxxpR2S>D)CYUk(fUzQK2yyS#+*9Mq+dc(qPM^6?a!oZq1$q-wO5Wu6hsX; z8i!D{R75pLOxrjBsnqP-+1RX~-PlT(UbLHIWA4u1MC0;{;uBKybedA^5@N}ucfxP8 zaXt5Df{#0Cp3>5nJJ?%*h2O!qG$-oTM>dG-dDQ>L$ro!&6h`_Q=RG;L_6Oc=mxap! zN^iokLF1{Hq^=&1b&q5v4*NjT-rQy0vGG_Uvv|vI@wqozPT0|Oj;j#S3aqAc0h-hA z%2|4Yl$n`aDA{uA!w=_EYz^?jC0(WV7FxR;AQVyhd&)MX7_dedelS}iC z)zP%wDMstbTj;sx-b#k#8n697Q^`0g8As)9%GPg$-y)A^MR9CmVSY@Oyn83deYlua z0o@zbsRLV)(q5E=5`}*eN=4WkiltVxl8p7EGGA-oY-zs(EX!X%HAVhv3`9i_KtDvX zyc(?nx3Bp_9dKBm6zv7T^+9d`5ZTp6c5jj0hYw`m>B!ogNxCo`T|xb14heJrmiQO_ zXcB_a8b0MiXO^S44x1l^d}rSUHES8+emE;gE>&c*YgCmvWy|q7VWBr7xkvwQoZO?= z!@Vpt-zx)UM(-1n&N4K{-)ebKg9cNDI!1r?w##l+^&OB!BKW-dn_2%+(v>Y_?lx^V z<@M1NsH53DM+z)J*5U|%LAJf3kez>4(vO#-b%JxxpgQ|u;7m!rw`$=WNJm@1Jpu04J`0t%K@UTx7*xBW3B*s ztpkD8(}i3Wkw)3M7?h4K3X6 zf~RgHZ|2D(w;1o+B}~28C|wq_#PmwM*ab?-Ehw0~GAYFa{hn#2u{;_GLOrKE*nAYx z+BG;HRJO;J3z@q{1Kv+QuMlv7E2ypHye+WH;|NWGYzRg1go0Ct7F3oDKz*SwICKuI$)9h48GbZ`=DrRQ(gA@-h z*jvs>7F28L=aVn9AHV}`S&xQLbQqsLq&C1pbWOFczS_MPoelqoNO&@EdLR?DRP%Co zbBETpLoz`&e25^YWKO2k<97K1=-+O2QpgN1s=TU`JUrMuf_Mf?9FB2Xc|@+B$>#2= z9f~B>UFY$ismQizm~;F(C&dllPhA}yNr*K;?ry4Tk>r^Z#WwLXh9C56nK2H?_9|rR zOR~423ZZyc9py9B^6H>Ga(TNZtGl6<<6V-+x=D6*#Y=q*p6?LPR^aTwOF>0nFuv)S zQGC|&KZE~BY)aNr?s9Bugp~X6*zAkVN5$revH4ic>S><61-7N)+2dMQVcG?vqe!P5 z4^ykl|O^A7fLakNiy|fm6g#XH0w-fsmtkWClUc7Q(-{+djZo;^KDi1LRV)}u+q zUEyQ+R+gw`F*ZOOJ@2T-&8WJ0djb4fz;wn zn5sU&)wKGQF8x+#p5T;$jONpk2hm|~jI;Sd-pLsZGVqM{ZTHt~=SE#^b*5HqJbp{u z#+?#`<}vVhomc2H^#B#!VJ)Obv+EzAeA49_wd`0BM*9o>OJ-sYyUX*#M(9L6?rvIPk#eWI;TNgG-%~!aujp>bm|*1X zx&!YaBEs@gC9a)ZdxUb(?}f(wZjd?{TD-j{-Cn5Iy4&hXW~PL-=w#U*OXku>?LK9! ztBbDhYkE0cx7D(ho46eFV`6F^2WIneeCE_wHOo}vIdx|YmcPS)PD4>;r5_y+3b4lu z^90!^5Q{>{sjH9XqhKb&DXbyN-}0VnojgiwVQbS4gZ&D{Kogm+~^4q zo@~@FPhDLe4;M33ux63&mcS-R;XlA^Ji6=K?|ie)_n$^*6W&G#b!?5-;|PbL6E5Nd z;JY1w?*Q2=5{wK0zwv0?795=>rZuK<23lvL6Jad+2%U78SGd^g4k35F`g^=yvd}Br z%S0JL+bjS+ zlK{*D;Ij$9EC4>20L%j5z64+v0H03)W&!Yp1Yi~bUrYdI0q~^+U={%L3BW82oSZux zM7>2syI|bcr)ED64(iYXMuU?`n*;Og`d?J@ltR;V7lbF{c|R4%owF`ZEw6U<+)3y0 z3ss*u1Uv=2KHio~k-N3Aba~Zz@6oS;QHtQX~r`ruil2!wTe$*-B_D8MsX6H<{F>#BrDSKSMOVmg+b9E4HrWo7p=zAbpZ)vp9C_RMy-_X!ChNO$F?gNMxP9+ z**`+t()kB0JGf*<9GBoRIVYbGJq=Y2wPWF>0BZ-P^GRXEdN@yEs@m1ese&I3;ss)0 zlIx`07pjoBywAe|jhF+mf{Z z3EDkruXfWepPkcwSSFv;*0`EW4=L&23F`6y!AbSRg-#}r1Ma}k>f0rZC;BxnQ(iY- zLqlpTx{A+Pe41rAiME)J0e9>3cA+nh_*~AXH;e&y>+^A;?{zhwHlN-w2HdUB*M+|J z8a~hG(;Ma&0@~-K#zG%M-))$;g4wW7f3r8toGN*o8yDi!xKE$`xAx*pHtxjjKACL` zeGGj!VdhkUID<{b?Y+oalu_<2BNI+yXgvC@kTf2d1;FnTfLQ=MoB+&nydSL+g_hc9 zco0)fn*Dx2=G2TTH~O}QZ8Txhd}{-~X_{rNW0%mV1D?GJdbj!<^I|vP07|?k%yaj`BO4sr5L{j`!+W-^6~|TZk?vlFF1<%VNJm_D0tm zSz9zJ37Q~EpZ7u3)tADj2|(YfHObsxAl~Er>q6(>a5k@m$|Tnut}=5lHuJH0c5Dtf zbEO&5F**=rzZ^w`G4&$lRnxx-O2+$SvApj+;V0;iqHFLTs4mV$4J?DRVkTdDS)E?8{91o zjsFbxUh1~gve&!u-%EWiwc@9VeQ42&>Y_gN1y^|pd>XNeUtWz>yj3iDj2T|44$kq? zlPIl=OrklBvvowjRI;wk_}M#pG~-H=dU|`TPdP|Ehjrh}D8r1E@Q3hpH!%*r6c6sM zFoi#e>Z@A@%sfmccKs9Z3To3s*^_HIKDS*KtQ{K44g~>@a2?pE_(iP6z$CUkXI(*` z7!0ic6m> zn%Y>sF2CwoIHsPMUlp#x+?ZdrpUh3w^Bd2jagCi+)-nh?Mo@884XAp6pIW1q_cV=iPGd`7XeA{^+ou`Ci z(Dxl^9T^a3)N+?m%R3pBmyKE!G;%p{UG>LI!P`q=rjRz^M0h<}H=4->`(K_5HnDBt zqsC|X#{R@Ms(gP6NiH%q{{UMNnk z5gf0%ma{6ZZsn^iTbD~6LE`UGo%F+Lxb5@m>GH6yWvcFm4+H8S8=#v?2bnPrgAM?Y zwLP1`URBchSU>f$)Y1cz`L&li4%%ufG?NVrnn_m8WOY!H_OYOnb=7M)>#A2SYt>6W zru@ZS2AcWs653zR_QxQbTAXulCgg^4?g5kx!ofb5wT3dvd!XxKwc;9Bt$_Ors56#6 zHupw?F0yq{4-u;7MfucO(C#BYy!22u{Iawq2jSN->gdw91+ohiZs=04?~Q@IuG zl4<+S613CKl5J<4CD#tjvZVbFBX+%`9e$E-n|CSXTKInQD|-0ov!GtP-%P(fU?xvp zn3-u0nYpB$H}iUj9@5i@v|OF{lXEG$T)Ru9+g5SMHpOC#cS>Atg@-CTD2X8a3R!IZ zYm+eCCG6x&!Q%1SMKk^O5;N27Q8P2`aWl!6rOuLRk2y=w9&wgzyJVIn?O`*ocO=74 zJD%n0@SIO+qxL_EpNpWnv&5{~Q+^!=r?otVm8S{S7pK!Fn`*xw)9Xla;>aS0qCtTb zsgO2&fRr?w3~-YK+lm=&GsmK?V}R=_Jpp|SSX-=Zp-zD6cXQFT1YE(cRik>X#g{8? zF=DaL^l$uJF?tF}m*q;%L}%N$*=l{U>-gyQYxf8ivGldPl(am1D(nddzZ7kct+yK@f)41)9#Ho-Q?yZpl zdMiCO(ocExJT;<_Ubda1)IHZQ7J1=ks0!cPXawZZ&m$xlJx`5TLt11{jd(3JNxR8) z@U6t_wbWD{)N84A^7M>-)h>C##lC8h)-~*rIlT$DXXaFyyw)RN&M~9j!d_+CLv-#X zvOPw({iH__*Y?t&UKcSUmXrCO$3?o(o!%MCl8_t7>F4k-VV6$bgIq~0c#Ccfe^=J( zX;4*p9Iw{A({e#w(;m|0o|91s%6PF1*F#appH&%u)CkCfGM3R(#@3@HWvp(Gr(Eo- zF3*O7Jw)o>bJ=60%FKToW1N{r#8~dl%r4YrrrQh7rhfQPsubs+dfuM=<9s`lO1;Y3 zih4cT3htEF>pXUm+Rp!pY1#}xucdyH0|GN|yUc5;Yh62z5*YQQ&bd6=hsQ>(M|FS= zFS49eZ;V*EC}1d{n{Kq!T`z!pE%n0o`jN}VU0x4$WhZWV5^%W;*Ha_0@Hv&;-(lEm z$%7{WW%QJt_3Z9ZO|;ugDDYT&nGDBOdjWhDWKQVFv9$J$k__% zJ2qSlGI#XOKCo6u$J69%Nb~;ukL0hKbOC=&orN~lvPm%4$84_L#-hpcAvc)6&1eph z&-&Z>cs6e~2G@IwBkpbvOmlHSBWdY~i#y?pFzE3d+Fh!t13!{ls*ZZkwe(D~?UB?{m%h?Qo5;i|dWsjf8>_jl z!DwQ%#|ESKS@+D!eX3dizQI&ylW46O^Qh9lZ>f6cch3=@`p6N5b22IPmxQDV{E_pk9Vz<7#8AETT>%N`;Dl#A*12mJ3$ABrXJh*B6KqgXDo0c5}2g936&U0dRC82EXmc9)xskoEszyY?M zz`)%u8-l*IK{kj_Bb?jz$8mbcq4mzm@cA0iei~Cu$r)dV8MO3WKwAJuyJZOa8tv<` zG~0YC(4Or$Br|a)wEs)ApAJ~G=P-kozTFqGoZBRQjou9+p@%Iiq)4cx@Ktc!zENR! z1kdPr-`jj9_DR3}EEz3*8?R*^Zs+#AGAhJp^Qqk1e2y^u_RTU{`Zhk=MSL#q1o3$e z@fJhWw-@nNA>PIZiq98@-@aW&OW)q8@4)R45mR~w%(MS_GRB;h=|Nsg1>;9A08MX{ zsT{|AI}k!OQ|nH^Y3IqA>kDzkH;5g^v0m#%z{0!um|!QegRTF-F=k;Lh=4Ed1RRTA zf?a5LcVH&Eq%+-@c0lRqWkN$N^PVnjEPA(-k87*|o=MN(!W3&f(X5?Ptz8Am=L^CywXMcTmnFt{eXSW^)e7 zIrpho&m!wZ*u`?DJ{moI)829poAbHnJoT6h7vU_J^P<d*ByOlHTr3w(3cUufYsc?K?CZPtBg!Z_fSIrk zGpr^3t}Fac)gtAZcj zUL3UgnMv&f&--b16sEvwd|ho^N;KT#A>o&>_IW|`V6wx~SdH;{#n&DKfVl@)WA~xt z**%U?X)JmQHz@3D!F5*a+ZL?!0wTD|Dwh4_@LrO}T8OQ&;s9IEx#vr5tDn0gd=(yp z`I?t^O8F(~`arzz?5CvJ?ikTQj|`W5Ns{(jdf|&$>?d&d7TYlC^U4QDUshs*B~wE@ z+2MBL(9S%Q^~X+0d#A8oXXE+R#Epy5J9>?*RyQ;+em&({)Oo@YJm02W=z(1M$^-da zHZ_WEYOK0YVAzlc40Egyu6GGwR~N-Q{Ng34?{GAXK7{B0-}Uc^HVIT-uAAdR~cd{>C> zeHP+SK1pU~L0mj*7JXqCLSHmO-`X7^&aU>O_qEe4vjC_h0J8w7CIGVls0n~sml^Aj z@S3k9fo*{}DKm^GdEqUTX*znn(ti_HI(asI6{N@GIr7LvZvcrt+I)N$|{S^mXL>WdcUe27pH~ zd=HilXdX&A&#%byW?<`e>R$-9o=%03iu>p-aAa@3V7GTE`wD%x)gOcFRD9;Uw1FdsOH2=6{G35^5b%>l~>8 zE|rSZTVcSMu7-_kJGteuJR-KS;+jS&U`EdCGkD9R!)%A5V8r z_-L}#WNW$;7Oxb&6C_F5m>dI=-|xb$^D?~Ny$3IPG0h1i|MPF?aTn)35J`wh$a$>d zKyF?k8j{`dqWA6;nF`(bh~9^-pBF|QhY0J$K1K4zJ-7Z{Ix@%8D(Gn(;3)eQjOLCsodr@zNTts3TxcVS!LzhM0qTHzt~$%FQ9p| z}(Hpw4A?HOOB8d4!A66R9bpk+c z;vsUrqoTgQkM!8RKkbLV!6j61oov2Eb*a0;@EhMsa?7_jjA}WawSr6J*oU4LcW&|U z@^(t)I$keR8dkXIYfD^O(E8+V-0(scay!fr;E2NH4Tap@gLx-`P|91n5!GfE;@;#+ z=fQSQ@-X^;)$YZ+@oPaE-qcOQF{DAi1!=fcoT|kAupsWbX}D{*Y2X0k%_8}!I2EJp z;VTalt}G39S8_PzIl-s;*Bo=o$EOp&M`MZ(#Y#F#ofJ zC(n%;?$OogqYx!JwomkDq$BN+xDPc|IRt4F+ZBlN6ag9=o%TIP>uFlhhMG%*n{!X#7*=yW@ zr|UYRPZ0HOMZ1Hbw*s{f`i_NZ^Bbw;>1xl0c#=7lRl*im4{-_e-C8o`lIFYBX8-m_ z4>aynOjZtV_|xnm*Zd@rUf1~kZv1-EoK?T&_R|ka4Ii6YaR=F>{`%rw^MB7g4p&#i zJjRRLm`Cpa+OoEB+V#6~*uw>JC3__Aw7geAqt$FGnYf1+WT|k!Kw{|@n?)I`go(y%9i1+shHqyqx{@X zQECA1M9FzwI`t?9vv-l6=6!fgGH!f?f{8vKJ3iKNL|*{Z{34&e*#j015}yO9`6Y#z zlTY|{O+~(pyMO&B$hB4K@EgEOGf32j-xS8zfv$fQ2p08VF8T%lBtEt^zW_nW zQZf>L6IlCEP|X_y^~Kz_YRPTEtB;Fae)vAZ@St7nsTo$|vno)DoYhtnYDe%z@%b%$ z!fz3OeQ*IO;*zeD`iExpFmKW}6?t}M7;J;U-f)RDma{A`f&8Zvv7ikHH z{fyK%VmT%CotFT6cc;EkQ`B0mMj(K2Hyo(|gXr6^#Vf2DF9pb2_dJk`?{xx+Z+rPR z8z0QyCaiq%ZZ~iI4xt4oG1QmBZ<9J(-z_8VmugMvhu;A7;Iz5$6jizZw|J-PqNr>q<|cA_=AOhJeT-@`DO6?;X*$& zUjE4Z0{kA7&D(k>9BO6d_{#EVBk*c23tvCMw)Jci+a^EKCa3s5E9(zauvjccPQ%iI4Y=O24)bE^t`QOmCwfanVtzMfN z&oQB-6FO%qS1n2!2Mr0OO?_2uU1Z(Hk@foV^86Dchy>`CNS->9O-YvH{m@0Ofx1^7 zo;k^nYp0C}vj;A0>-WK6^JnliIVYd+2P%~Z_@GVHI`;CRV{VbpmB@$0Kie{DjWPX0 zqo3mlf2eZ2%d@vsUA^(6U*OUFB_H)dA0?jfN5Zo7yZz%2z^A1CYbPQ96n-3(zUmAQ zu`A^4K?@oEycqqJsLjbIe9(BzhCjyiZK^XlyeKZ!4-$#ms&pfNQ02FPuV0I=-|%4y zVROMX-Ra&EP4|Ml9|6y&->?=J3D6TlL-=yXOSW%dwO7^#6cs zS+DD*TzZTi20vN;1<~(uO}{T-iQ}K=Pie~RUl8+sH0|(1@V$ONEYwRe!%Sd(0Vk7z zf##PWJ($n6*OL?ZmcFj*d3x-48UFQ?y!?(}9$WJdgb#m0M(Nyj2@iZYwCIn(*T0WU zk__CRgrtB6YkLq#jPz$A-6;^{zPy0kl9}0FQq`-QU%_8ll5ZajQ}psJH<5uv`fvHPi8-d|3or+3v0o_9|z|8L*0x1 zF!|a18YHD*b^w^cvAf((Q&hgGL&cDgWp0{(4L+gs!L%_1P=v$F$NjM5RGYMzf0O%M z-?bk%3sAjq3qjz*_pI)i)d_WfYWMJ3DWRk0U?d%#crW85b1?c!JtYKn}U^B7Z=?yX~Bnl!O9ZZ`o)%duYb z`?NM&tu}w4c1OM?<$*Qj7t3eg+DPO8fdK}3hJpJ0B8GuPgWmz3& zaj^eH3oM@(^2(IXJ9u2qY~;UtkL(j2o@>m3x;w4wzf6KWcafsJYGyFI;e!B{_OE|; z7w%H9jkk}F@qr#9pV+J(NriS*U`HC=2&Ao$KCf2w0K4s5<|Y=t&J(fz6i+S0ySBN+ z7DwJq3ll?!Gu~gFj(z=^fdrqdU7lS!(+ST7W{b&%DfL?mb1WUcx72mG4PRPXPPvAe zm$})Y6!-6si_o`=Q`aWo5zpD;yY$Z2)#o;ecWotT_Cf19zqq!)@wUCFbq`bRuS?50 zsTyZaUae+bku;Q*JwD9wI}NI~g6A8C7x}^TLscI8>G8;ESrYhbe~x&$kIr>Fl+=aO ze&Y6{0ltWH@?B=zRlDjeBmoTRg3dbnQ_%IdaS3QyE$_cZW*^T9(Zs@nIQX@T z)1vY%dZ*v?I##p1cVcl_6n@ugYMB|+V_h|VV}`7bS3~U)vDh5t+a6N{h-b)TT$4|< zM6i`!RE*71Y>vm~(%77c&1JE#j~h8pH^P? zRne?{A-$6y?=ogG0h`>3>b-c0b$^<+)Y&DUVA*8zsBRc-L0gSS&B^o++$~u3Q~ku_ z_V&4Y5tdk^R_w0%`M^Kp;y;O&LHyAqy!BVtWTQ1$2G|qVoT)y-CW;*c4gy(9_*%L& zxE(Cp?)l1s?VMO$V9fLD*kOt9%nYZdkFsNi)RZm(x=y(=J-aV4c~PiLITw`+zoOS| z?uV;c;WH;+X;8SD`>iYnFOrcCFU6=FrMcP)xZ!T)lLeqT3yo=R_(yepH+tcL@-~$X zlch+3F%&pFz;Z$I_U;{(&#G?5TSfi0NADQqu1ctrFh8828qS`ZKMPs2}#zjXn*huL;JgH2769ib0J8wNAOV==C!TTC-UKwh`C1C6l<(!SFqG*{?#L>OnrlgS za~+@dW|4T3-*Xt!63CDC$Jg~mUg|LNL-Gh-BKxp32;V`$>UmAKK@z?lr&c;%BI&R= zYX<`z4|k^`onrGY^*PZB>u{p8r=!WUe!qNZ_+DttUP|nCXm<&g9YI6vYM*m*PCg;M zS#`i|vS!B*d93yb!XqKT!IT&73$jt6`aUWNXhFi?5RPkhZeKQ7uZtAyN@zzG0m*Pb zkn3aUy812!Z|659QzBKr)XuJ_$%|TFo>Oe?^Hxtoc=ET<>j51B=ywZ2b!yZo;D;B2 zi`ns+5y0A^nwZHYL}5m4_~1*lD?5O$D9+K{uC3oVny$1slCut@HlFu(1RHiu+~B;V zGL3iN7HG9?`Ps`BW@a-9HaRDsZq5u=k4v(qx^I#%$UInKjv|nNR;j*dhHR+Aao(~a z=D0q;klj3$#_c1wQ?Fc+>?6N;(E*=#cFk+GjK5FqJgHByER8#ATp0`2=upoc``n|k z#5TXFa8xAqr8CTSJ}(;0$Ba{t7`u)ob*@(RBVqYk5}38R6-|Kq7a~2*3jy93pX?KmYKT{}> zF&UU>y#hrC@nt{AB`G?R5SEJd-y&OG(#B`@3QvI(lPd|BIUhri<^hyn^c&FEzr`?r zjkU&J{BLC*mvC?dF70AF4mN0R9W&vy8bk;8FcIf#mx=0`aaKyhZS8TL3|H=lhl@1V zQ{%){W4cb2$AZKmTA>hKx(RoOiUd1(W8r~nlsR@6!$$*~eIhyOTXhNlNGUGiDcA*(pJ%1 z52?vH`GkKWzS+wc;%pO+>$l_+B37q!jC^Vz>g^Y(x6SLo&^qaAyn~j$;a@=N&(;@J zVz=aI268S)M(sm$117@Mj$kDl-A?7+@O?6&*@97(TF~B#50XaNmMj*cYHE*XB%!DF zH5SNu22NtD0VrojTII2^t|}4ObNlS^MrrsybmrOrq?*RVj^KJL z6{RQd(TyES70X7qDW%U*O55_Gw+q_W5?~&&5~uQJ_xXnmR&+46Ap9%IoUE@{(>RH0 z1yB>n#(%1cNiwtfTjVAY6HTOLG*;_Q!|s8xeA$5giB z&p$D#Bu;+fNH!~U<~3QI|7|iBN;yxDW4za~w8vrUc`9SBe{R6{m&CW_(E^UnUcgcP z30aeS8_3;OJ1VDnTXi~?*kcntdNjOaXxlVAO4&r$RLe8?Jc%5td1IW5p~s9K0im+# zPiGZ9ZP-g`OL^Y%ZOrnm&-7}fQKVrgHiqat^UKDg1n=C|W%GH^HSw3@O#H3*WrXn84evnNrwi}(PEI^Tm4cdx)n;DWxzX_>x(b#On-$qIqV**aK3Syq6=z6 zL9`KD#!c_>0v-Hp>J|ovuY%uvt|6u^{%8}9Al9J6U4>!q z@?91C3sBV|P2>=+7D8qu6GkzD03c+dYaBvD2*F4YULGR|074Ko9l};2WJj{$l`(<< zAY`L$4&hoM(ty_*-z=Z+}Bj6Y^D+ZFU?WK z>j$mRXy))B1ybER_SD3cMa)<>I)c1HT}-L@K6(s8@;!$XJ%$j`Px$z=8_B^q=nEOF zqMr$BbBNmMe)IsYl1a$c2c64_&~1Q}d4|V`lqLXvkAHnMcHGOTF&2J|>dnJ*(eFU> z{5ZD9;)v_xd8F^_q|ajs>)t@l5c(MpA8-h>Z5Rs zaoRkFs?YS;Xl62eJQPQR$?$lY+44bl+BKRhj^@`NM;O$}=I>UAA0185gVzEYL$tQf z$>A~!uOC$CD-6sdci?8$*^&NmBeZHO;|uxC#}M$8^vQJYe*qpHgR{^F2|~Rr36<-F z%4F;szYCSwDHJ0Fq3%gS<&#i*p}fFd|99bVER1fjkgXqLfnS~kMh9%n>1y;x^u~%~ zVQBhJ#mns$H`o<2-Jrox;21tu$;3g>zbc)NwRFLz`)8t#-Lf|AP*k|KuU(k5m)8kb@ z{eYnH`i^7YpplV8+R3H2}lGf+)bLld-+Pm6G-p3)HgKy z=|_?^iy!Ww#xw6@5=Cq2SyilQJ{@ic^I5m7c#1ku4x;A(+QK6GCpLuDwYa!&0Wg^^ zYdImw8;QvijK)m zSlnba=N3a*D7rb)$4J<>Enh!Eh$LTo^FT#pdGHcYcTP@zm(;|opASOK^|7Azu~Xl%^c+VTlk_O9&hNYC zSKG-iYdZDsH@|AHpBo`ga0|2Y0qCxeXL#rfcm0}Xctah>Sabq)Hp#NusEu-tP2N0> zDsjH2Q%`}kD|=clSZ=XL})0(A9x7&5!mX90s~h_B}tyNh;f zQ!YPHFF>0*jL~#qUX^HX-Z_Wl?Nc049&}g0PV)`A|s?BX-yOk|)^FUI1hl{ z4=5K2j~$^zs6Xz$T@Yty55#4sNuWxXQBG=e{%!-c!KS|4FU1~+dAXt6JT}}&&NPmBX2NMt zgk2Kz-7wv3@oQzGq&M3`l(lMO;938YY)?)MrPG{(e9?0k5_sOFk3!J>L#>W0jSqAQ zok&x0W3Och^GwNXf0$G}pgQ75>j{axXX8G?G;Np0i_QYp=i6efKRO8t1J#pQbDWHA z&_faUIrwW;Slhs2p~#{!!-7DE0fn^0*R=SF(k#qvnG^3|X599_da%Zvscn{^{m04LS)TT!JV9wPxw#zlaS+Brm^u}=wnmmC)>41p!=oHewLf| zu!XP9de#%or_l^(Z`srvNcRs(cf8*7olvZ;_uK+CI!XN@*>X0qMrX+3_bvpP+nbD{ zl{-(A+ZqsU8mj|8YxmXMYS3qk?IHr(MKxO)GOH=|t`vDzoEYkZI_^17aXk%mUZ)q3 zXVIZ{K2|qoWl~3R3jHJaMnXo*nzTvD@`fh^tnJisN9icw{Z((QpSP08p@Fn*ndfR_ zx$q+tMQtD#$<%`YoF=m@3Qs3bQQ{xTG;k)P4FclOl!;9*n=|FYHxVpu(MxiXTx|UC z4UZ*CHoEphK$qDSia2_wS18%Dfk^KHc;O6*vCV}MzYwqiVed>>^{ArSJRe=4EYPBu zJB_Dd6i2hU4ez3~{9NldEbVN4i~ZMH=A9zETGqL|lcCCxC|5o;Anmu}5C%H-$%TfVy(HoTFV@PpyqYLvpg?Wy%KP>xA z*w_DDJdgD4SaK~V!z^};p^^R_ORkZ--!U~Zuw%*fat}DhMh15*;jY*+wy2D`k)a(+ zu9kbqG1%iaCdV8PJ!FlK9x~!3TRR_-pEK0Tr1!AY{2lW?myy}%Ou#6n99ir{d<%;i zqYY?sz%Glk(G#tTj12Es(h@tU5-c?{EZdW8uPye+yJS@ktn)7>?sT|_7Fr)phn`Fx z@OlDS2NRN+7pbn1Du6#beyy`Iw%@6uZzu+7oNh2#gb=En2P9B;f` z=9~^8%6+$fiHYK5vH9|qJXAATYW|m*W2&0&zUv213HB- zO*``*p?drK@LFV_-R_EdKJLTq07ALda#%4^9TUBqV)eT3adz_CA#I&7jP&5QAF zKUo1w7OvE{y`IpBDVWg1+a1RUTZ(G2Pf550+x-koN&`x~QZIkGOT$$ObH)Ms1so^3 z97BG!6q{}&%e>`AhI?dsuTjbCD4J$zbJrqf@7ZOYS*be>*97-W*E$;yP#v5IiJ;GQ z7m|E7pd`+2a{H5VN!Z_9ZqNKaX#bS_b@vM>m*J^^YiZ1G{rRs`r>sGDr@TnH>i&6s zP2V-5F zcrBe31q+2d?JoKnl~KlIjvWs=BWf++fo*%QrGuU1x_bONz}8t+CeouFoH#wWwEm4< z=Xx!5$vs!!?HM3liMKw{^eZ?Jd7$^S*J83~#~C_1Qyv+x(%;5f*JD39k30}rhE|Kl zQ8y=NJwfyW^_PV8?d2j%gCE{ZO<^ZD+CrUQgSYt~3hjr~&YeGEoFj{(%fYDci{x`l z3EbG0;a#tF4jG$S0% ztNFCskXN6TP6e#_ey;SkuEC?vZ#6LbgAKoc*C1@-&_35z%-V_JHjL<6KJGcL1G$2t zm(Dl>cnZM4WC@V>2%@J7@o61cEmPpi(opgcmv*bBKc0{+Hr_*Sx~-|6s+7yR7Z`YM z!R|$$l`WqiNsCEwy6RVIEql_WnjUVVhT_yu{yRrvB*#sfN=4}TL-A01>;n=+8jb-2|A<%Z|u zY1^8XQ!JF6oHQ>NWsz;=!KQP3=9dzP)P#o1S!|heJ8O)syo_FN0*AE~-%PcRxk;yA z^}U%vGhagYwBiguL?^{AJ2zYU!WWPmwso33`BcbG-=o>~bt(zHt-xj}Z9@g`M=gMM z6~L~KS>VcM;46fzEIcLS&iqfItA0MD=dM?Up)a46DFH0Ayx&JmRwDt2?=~U?m^uE{ z{CH)eva*8Kq{fNQO@u@BX4c*K{!;aghi%0^%V(f^b}qUM%hoqg z0)zSJ>DcSFyyYcZ@EKci=7Yv&NN0H{YYzYI?0)J_rdw?8@yNcGuNO z09;3*TTfF>Yi-k3ioNhX1g~8J9c^xhZ=q?ll{L(A-XLSXkWAc@{dOpx4g{TB?Il+$i_-Z_ZL#nekNxYmiv#AWvRH(4KAT3nLfx=T|TxZ{c({tu46^_(gssal^fm86PWcRQ!bs&e=ErNjQeY!&}1 ze;2UkDzG)z16^@gbM1-GM)0NRa#sE4vYEBXq7_i7ulksOQ%78=I0IaN`D7$`5bG0D#c{1_W>Ze-IgJpMrb^fGe zM|gLo-F~jpW-Yv1!&lEk!y8^0C#F<^6+fi$yM!ncfPNi zrXChFvFNbyC2ci`s@KxjRsmbpQ&t{!#Z{k)mvQe(y71awzCF1W4v|efH_01fF6yWN zz)DBs%nKn``3d8UEY4Y5O%;^WPBX(1B|-6AFoWm*5()%!0>%BmlDj zcyR(S3xJm-0JCVmt$Pi>bz|7W#Oo*0D31%GiOv>cjkg%h8AQvI4aD#>pmTouSvC#B z&pG?&WdFRg-zWPQu`AKHyz)~2Y`EgfOyEaUyQbr zdm%=)^K+7&X*IU4o?lLF0tb2{$?ZmFfOqQQ&|DIa;Yzk$KnK48IxW1N#JM z&6wZ%vV_kA`PObyBm$U(-N~+vA~vgZKLNNjkwv!#7+1A8aMlvxat01<0eTFH{JgW z+>X2${F1acNvMcz5MA%1(%w_h!XK0Nj(We<2EUjM{&#KgkA@mtWq0k784I+%kEy(Y z1dt5g3v`=fZ{kDrq5F=hyrlv6Nx<6-_ziyg&a$eETfhIh5evC_=DxS@BUY6O>Q`Yk zlowycmTxcV{@aKlbT1wNzC!@q?;7`eegyF#;D-c&^M4R7IsYHQ9n1L>rkp=xX@c{4>A0QsE{0WFZO4AH>u>5uGWce{~B_g+g&wN?uOX2yul;>AgYshC`tabMT zw=!m5!U(ad{5H&TD)g2A3?z&kUv-(AGBiEbc-?GDisQ=V%ZP<}tq{91FT}3s?&A1B zvndXii%n-n{HCw@1(h{jSeQXE(ywLN+Yb)aqX=8#?^%f;p;ls^RnN)SC>dJ`!weQc z$!rHP2m4j7pjs4M-!a_2@LkwCe5_&XV9xZ0u0bms9jl>@Y;oQHOrVKWZ^U|=PgJ;< zx$z(c;9Qz?F=X0T&N}KEU~?5bcIn3nL>uQ}l3-m~%52KG#lkta>62KEWDkatRByQ< zrK_cuTUWX&LhQ^I(ij>deBeyv14DfQA1G9>d?44_n7r%sADJ_Lfb^w9txbpd%%5Lz zMT(|Tyk;x;eP&nXug@nb4Jf~s(yg{$`KS>!9!QqBPebm|lk@qtLzQ2PMNUV*$Qo9C z0MSYZji+!e1`RjWwd8_AjRC79$S;F1Y($Hvn(?a)8;OS_|EGY^{TW?y2;#ZG+H|_# z4(^|^-mN(q@hgwP=U#$o6L%6r5guiP(-`4#M%c&*s1JFl{owM?!bOq{NTqTq0xOr{ zr}hv_1aKR{mlOPPf*&T>c4Y>c;Y$s;+ZSzxnv_>@)1LKz(RX(FpTUY>C057#1Tev* z{1tE@lDiU4I==oJcuS~18jVA-LN1k(cc7imSH|LC5ghN6isLH55%sQyD=1XG2fC1Y zl7u@9%56C1=1b~~$N#VzPVEso(b~`9^gR$_=8`@|MK;+E`pH z3UHAJib;`-O!`x(GHJq%;zU+FG2esteif4NJxSk_@;zza)9ia%d{3+Inc{n<`ksvM zY4bf73fzrRLAq7GYF{1wIAj$4?W|ZTHD7zEW3t9}Y~puqMld9zV#%BC|q$mXwax9Q9jMJjj!C*p6_& zz;iR(6#|>C+1X;u$=w4DVHWE3kF#aXTJ2rSc8yyxe@g&d5Q<`8zk$A~T!+w2IL*r^1bNt$ss-h*c`6-Zl6Qkra{CzF_|z}Ev{vIjQ36-et)8Z*_CNf{uG zNhvVhlSy|-%nfWLw)NlqwiXWnPZRJFP(M9j$LPq@uI>PqaqMVoe`O5B{5xIF1mXeU zSsx%C0G{&!;sM|vK0rJG{L=@B2Y_b?0OwBER=tl_WWi7D>;A$}#QGOqW-T753GiNz z%#FO;!x+!|F~kGFzkPss0C>R%hzEcdeSmmy7W*UsV!pci6oZz4zz9ON^1WG0>6?V) zxv8X>ZB<#$5?=#jx!niJXE6y7FvL=Pi>!4|F!%+Iti_gH*YLpsz6R}NM#M{qC-oH% z%KEYo5Dx(V@d4ri;J-dVJOI4n1H=Qst3E(H0KDb{!~?+VK0rJGyx{}H1HhX;Ks>ux zE|n7H!O%NdE5vxqk0Bla-u40F0bsKa5Dx(F_yF;k@jn}`oV!XE*rJdOVfq7V`76K( z_u=e&f4bkZ-0RV5?icVAHVI(Yuz3eTyEh8wt4)At~4fSNIgjLvI447dHMV=7t_LqU&+N(5(Q(!T|0B zG=_pjF}O5aKa6$jaJU-DpjNoaLt|88)xj`i_{RDOw4& zs-;o9+Yn>Xrgm7dG(6#^jde!QVc*-{?l`5cMcM85;lW9`)BwL72`irl-tsd@QC@N> zj!?f0Sd9@hn$)!^vK(c7i)ED?e$@An3x132QksVMsEe4O1Zx1u_=Ki};&C|UUfp2| zvIX#Y4h$p}_Zhr?$zn{^cXBJAMQ_yzQMh*9 zs5Q3sH_)dkrTL<5+`SnRTL>9gvOFH?_P&O!onp=|(jJDiop&tyE#|$7fS7j!esR%B z0_<4jW_)^ANjO9LayIxI-fsLV@{=Xu6R5fFGtb9R-pu~18_ssbGB+AV`eU|`>I{J6kd^-mQaT^f@ z5W7?5yMfGD_?fNgG&I}=XhFfKaMJ$ab#< zGO7s$eSkMs*q3~3o7eZ>L7!oamAT7POFA&y^Eo8Kq}Y!3y$N1)7(1slXvgBvcJ-#S z_X@G%{Fum?an+#wpkFAxl@%&ad&}s$cyU_XI|nGBZV6+;?e6`+3Pl=>OlH#V-oWo@ zvAZx$v+C*xaXh`KP8{-_?_UxvqYKc1?Xh-y?L#1Q*rEkeG}+Zi58O5$R{0sc$P-6D zSHZWrGpTxhkw`A`sjoy9P!|T{JI0xz*|I7_(1fb-OJQi2XoUL^0GiIPYwcOq5fdwWW_ne`jJ>7uETna)bRZhSjISm`>tFXq#z2oqe3U3me z;x4h`PMSQX#_mOiRJ6;BuJDPzZUkQ=iV#p17NrV|Qn0F`vw3P{>N?$Du&y5?ys@rQ zAY8B83+2&jbq*}l0kDRgHOQe86j0pJf{y=>(8!>LxNrz~ZX}=c4o12{hu@J?pw9yU zZWEwl&7vFoW$j!C_jmYz6aPQPf3Nu;F)q0U{xgpM@5fOad*K(>Z)Q%q zmb60Jc)NaTyU5G~YujJZ(r_k`rb;>WEs*Lz#A9wZwHKWzcp${4i2~S&n*f1KMQOG% zr!^nBv*~b9aGkJY^i6oU5x;UPdP=$Nfl0O#e1!| z;(@y%=d;;Ut&T?z%r(i~513Z?3FgIOGV0My6?U+TLy$%YOx;w$HA|zM)p}QA5I~*M ziKhxvZ0~Q3iBU`!I%?SkDZbktiJ}a6+*#LJS#t((m0gyi)Zn*St9np==|=&u*A8Rq zfGPQ7Y&VWESK- z0wi%_m~3mBVv|>BjkU(xAc1#pVe4RnjX}jyf^Q7Rh$6<97z68AAMCk(nSR_PbiV*k zpN>qLWHH^yk$4dL?J(m$1Gj+hrT8CQfgfD8kIKTAO|{0s@95((r77{&czvoXqHNhT zEG*g?bX#jI)|PaCfc$V5KZ$~*`>ae_f?~3E_C?pg!h)4G+@U9}KJt|8HAwiKOYu4b z_<{O*Z|~r*_e0;7Al6(*Nq(T$E`JQfrJvarTv5q!$(7+LR~~fKV4!B2VS}K(H7?7U zHXq6&TtRDVd>GcEv1Dah+cNGqSo*1%j2vA+k;5+k7g^{)S4DvOf*uvC3EtPhbLAEy z=BBGAk4X~=-d%po+pnH1Ca&ekxdzak{;A0#S(&LQZL0&DX((=QCR3b;bTRmQN{L>0 zqwx9)8kwo8q0yI_x|Tx!Y+I(Sn8>twM?+!`V0H>ld5}gpqqf%gTCzsPWNTb`q!wfp zS0*W&$%eAcPRUF`Bf?aSg^TP^9A$aFi;Mw;Z59jW*>Gcrz;6>+ewx*hXAtdA8=w1i zGzi}0;4~Ts&EANJvNU4TqkV^t;Ti+W5@3&UM=c2}5{dSeh60v8DKv2a#^Rb;B1taa z^H~s#_uDQ`07Kjk#Jz5eQfjw)pMYmp|2D?go$8-YTkqaA0GA&?Iw^->5H6|R-4Vog zZrpu@2*4o@T`%}PiBB3B>K>rD zG_*CDz6gg(+!;*A(m_6|oWIr}MJp#($oNwhg4>98**w@@3TSbqq5S8O$Qj-r(E`nh z;;9KOeIg-~6;*+C^2j8esLn2#gnKL6JyzyelXS(!Iz+UUJ8`X4Mx?Bp5-Tw2=Eq~! zg@HaQzA|mk@W=>h*O$e-{ux5#&iv*|4ZUaCu0eL8jM(V(wzz}gPYakAs z$trP#IPE%xBqk$}d|y62cq2-q6k>K!MZdnmoC{{%Cyk^~hQ`RJ3#VuYo0Mo7={qcU zV=IrYV-S*TuYGTlY^88yFs85lEn90M!^_7xEZ(#_gEs9P*$>ZatI>N2_C552 z_y_ei?VCm5bUc+`Ca%}MEmgfDK5Aso*HFg%Iyn0q18)Ao^s zL&-pPWs9*hE=&jX+n}VvR3sNq9Qn{QltOW^sEC@p*}YbmAx*}SyAE)8*TK63d1s@e zGoYhiKHDG3NXL}~k1p9PH69f%NZ;A zJg4ksSE7%&kHPDUk-6WB%+R|HG2t*M!;F^lcKLB1rxV(UM%PlF&{JAm-s$rwxvUYp zUvGS}M&RZL*9e?v*4GGHAeB7|^5uCt$A1#E;qyNAO$Z6vy$v0lZjBDVAJM=O;4tXx z?DC{c>Ugsj3+~TuFzpt7ua*9~FHRn_aiu@!#>ryFJt~-%=Eps1mUFAV=S`Ex6&=c{ zR>H=L3UU?U3byI~_dTdfZ?gD-xW|aaPTXyweq~h5M~Q~H`wsSc&4u@CcEvdwA>lm? z#WS}H-3xo;u@HB?vd?a$j>mv|f>+P#P} zX}4}sX7%SxcwkUNh7`1fxSxg=3@8Y5hdXs| ze-ngWLw^QYw>rYTg3+zsOfmd2XYG?9d91S20HP8|dm`ul6YbFQ*b|5!^L9tCY+Qj> z(wC@DHqjh+3O0rK%1TgrqJGTiQ<;!auFVo^0;%*eTD8caMHOFITfeD4!i`q zyW&&cLuna3-dX!9@D=mUO?1Op}yNfr#^`@i$NXSoN4W=Kq&WgY(t-8Dw zb^=4~y0SHuUj<&FxUe;81v~?Vk|-5;u5$g=9;E{& zXuIit+u^B<*b z@q=fvAVrbNt`uIC{K`2X!sR@V(6xJ)1_ImG5Ln~deTyM4CpsaUAKpSB%2&`UqtkKb zcYcsgrdh*PP?n=>awM{Pb!0ln=q%e=&C>#&L!E)}7SLj})B-`bX=>bBHjM~|YLaHg z`(M%#6T~phJQahs-mtt0tyBYF9(g;Fc^C(+$lD3li${VwsMW*zPTP^SsJNr!@%~pa z70s`5ya(Xz(-3`ldNo!t7(d|3QcU1TgNG5RXl_+Z?+7?T(#07;;&c!fH*^p;9S6GS znR*9DZ7a8$>MsG6LEfODqQ%x6q)kZLX5^DF`N+cFP)IT4#U*jhm;CM>%VOB&w@4ZZ07 z7yS$R`~Q+p;fT@tQriQe2PH zrG%l$#s_Z;;|gI(y9a<_c@HdUdH5|GFPx}NP&7>;Y}~u1-BuF_Yh;Lsr=@H0zB=|R z@+hDfDKXVl?k^i3?aekj#|8m-5}*T5iI8D!LUsoi)P}EEW;S|C`YD659PpE2Z`F?Y&Y#82LS=N){ul6JN1_o9G8$=`wp zJkQQF8i&6p@K3dpf8n2JIb4h22>dGe)`Hp!2F`KQkMF5mn`EYxJxnlOU=c%ev1Pn~ z)VbS{QINLc0m(P}uZ&i{1rCACwC&vupDmWfbd+JEffWeA*wQH|g%eNsy-_^Pv;%}@ zUH!-7`g|)4U^?Eth};YJKH`k}SrnEfid_l6zY^#j7D*3OaT|Xc`->1Mo#`qts<@;7 zN9?$I3(?2sBm2iX@RLn(c)f_e%HotMnn_pxifdaNALxQZ{q_lz;$aZcwRIGEG92M%ad=XBe90o{w`Q-ql~ zrW`lN*Jtv8hCR;Y+sWNlK}1*DYt7MatQGbf+E^WB*SncYAY zl^lv)`3}YhUOH6SC#52t7;CYvelHX2Zt35t0Ie9VC9?Kr!C}jZJw%4@__<)KTW6cG zyqlBC?*eb3FW+3inHgtzlL2h0PdwBTCFl~!1b-&pwc#@;wiB<73Y3(th8RNj)yqkr=-ZH% zjL-U@Ea9u4UOF-U(JK`rqB{3(c_%LnM!)H2ZzP#KvV}6Lhqkk^5U@PFDrQ#r$SI9i^`r_tny6+pv&04LSFY9*AW$<|M<@eI^~u_b_lr%_N!c$B&R^ z*i)QvF{+P{HJFNYgoHUDc9)rnA`#k8=ifc}x6wa5%LaJ~57dRXW&RY4M5ckpuqX%5 z?>XMCY`6BXq(k@Cut|b#8D}t~L0CMeVUzTMvW>01BhL-3&*B_WES|Q(vpMz);H-QP zvq8@WhPdsx;o`2qJP-A_3AR?7?rNC5#vdnO=7Ju~_kp!JHbj}5qwoLl@&*{nlPV7* zh{9YfC%nf|%OF=gL_QB05ARyMuNqn+tXa z*s)}$xn63-ZXsg4I#Al#BrOh_PHRU6A`*G>2PDrCJN#>O zL~Q7G{30%Elbw>wPHmgw{sfiEOvP$DMe4V@G$)9VpD;r4WZ*P|KZR4;af3f4a-eLc z4MHy2Wd{;DCDx*w!AT4fiZF<$I0m7Qi(9=K+gR%k@K4z%t;tL)%Eo{j@K`}@Dm>_~ zpCN2`8Aco~PbW6#t`9CxV}bCvUcks~6b1tAR#>X{R}A>LWCVSWhckn|hc-l&xQ7n_ z5PlND&>nTaHt1pnyjxQap{ya026%j1><8~21XWF!4gVcLL zAm`oThv;t~`XQXqo)e**cST1uJ1sL!m2sE;o_#z`6mqkDXYxaG43^2OjFD2`Itn?NNoMk@)!UNEAsWSF+3A_-*^W$yaJ0iSBo95t zNoLyXk=ujF-rqQ{bQZFiPBFHX?aFjyy37`#Q^)JmkC9e0ooXj*MrH==WX({GLsQ4D zrMy9gI*Pi^%*;%!*XIcIn^WsGD>G~8LV{Xtupxx1Ix_UNm1sH`BF3-2Dm>#@%>Eh8Jh_>Gz>hh zfzVmQ8VGZC7$K2O_+N{ESYA@&XYdn#3cgA6CFtf+xsZQ^{}xx*=D~dpF5iaYAK{lm zg^lt8JiHUh5{N&-Pe6K@{Ek3*zX8uX_&yxrhheP^ni4Y5mvtwK)RL*b)-iMR4oGg_;l*MJR8wE*P#L5sKIp|zDMva84glG`u zmnX?=f==u7$)Qt^yUa=9D}JZp;El}MSWOJu+lDpedse4n6O1DmT|kE+VJr~(Pb`-C zfmzY=l5ZHoN}1urzhira^ntlYvJZDX@68j7>^?;#Qn zRv6dKgIkehI#s|~g`Bk%&1NZQsxN0P{ScT8AwdZhW-K{#NfltTn$Th>6Mp-d#7axI zWS3@_Z}uBh+2{~0(bTuf?On_xdD%~56HWFZsth?T;RTG2Iqbsu^IlOIBkQMeyp;02 z>y_XBB@$L1#z^Vez>xL1#^7Hu_a zG@oosPCSOOE!D;tegtEf+fr=MLSwkNZ_IlH^p=G<2qL$i)0@V-VZWfK8JkF99z-f;B$1Id@~gbrZWR@phjt=l>C!nezNYL7=`oAKnNa>4|I)cS>k| z=bCjgU>|PcB5^MJ61orSi+aC8mge?eanA-K9X3STZuDb6;M1o*5aP&P(3mJ+$jc@n z{Wr{FTq`YE^Wil-w&>f1waW+l%Y;=A)TK=7a}Ohq;)em%?fa7$Gy7 z`dXv%+#^*adH=dJHR{n!163klz|bwE5FnnWTnZRkfMMiYKrr|+eyD1K8-g>P@*a1a zi2{hZa}N!S*7(p*>NyUJ@{=!DYK>CAW{g}3kTZY+w_!pPuIPH0on;joDSSfig~|AXZBsDSMHo5G`U4p8zjpK6F13)$&W7hH;gsQ4PxB$ z=Psgexh;DEOGGYecc#DcbL6~%>ssG_mK^%jrsD&5O!T%X=`0@k2*5kWI?3oAU(ga;NQ0v;T@((_`c!rnEQr{ zZ83vjyT1o+yh@>qK97HuyVu*AoJ(S|uOL1>P49LGcD3>t=5h!5zerw$T}ocs1I4In z%d-I5qD!wg`2nZ0pyPfLv7lOn-@XPIb;sh7FM?jWNFOEKXF7qA>X)a;J@=HB_d>T> zu2aS2I#o|;uov3U0?~_9J*D1WDEVUk=_$?V)oPhDR^FQ;FCR5`rHXhM@LbXfE~&?` zdEu4ne<2(HIuTZ8Tqj~naxTf?p9Fjy{ww(Z0{%J5e~W);6ghgG$h6ASf<}Z6cpOHw zTc;t;nw5}?Q^l28J_x};WJoJOI3AwM;8~9FdaMIhr+-V?2JdfpP`F_cHSIdbPiB~D+(P?u*H80quo&>bPRMsuglQ$An3Wn{Rg7Ce8Cpl?hQft zdJsxXb2!XV(|U4`#rD38a$%fNpKKYrn)+lm^~s_keKMWOC(stlyU!u-;#3fOgSHrT z#A1;PKvy$`-l-Dln2J&ZmsinI(|jMB_Dr0LN|TjMb>#u!W?kvLiyDD=;~BH|!)#2` z2D_pSz$nSg6z3^lsh=_2PW0^%EaF7Ur(s=4M~gG!<=g!gBD~!F3e5x) z0KfLb^t!z+g%TF1)eRBv?~q}0VmGiwazB=rDp%ltkO!`q>K0;{Ei&InA~t3B?WUF zyaWN581*2%JG9NB_E~J)0)7e&Vzx&>^#s0pVV{Ndz_jnUe*pl^DD(LH;PTHj-wqAU z*FUED_Px(EUwE@RncCUQG8nm5{IBw;{crO4kK{p~@&_27v)Lzp{ry4o2Q(ju#9srS zLERzlKvSf0&4m+mI||Jg#4^{7lDOg;b^nTZC2MqN@FgFE7v~1pASHptmF0hHoGLoe zq;Qs|!=a8YJ0|27Q!aqYOc8m#U9*wHpG6z-AU!au(iZ6OG1LJ!1S!mjdw)VXpk&59 zF%)l3;#b0gT=UQH$?~5~^7B!Cl2^$hHxrymLZjwY!XP`@8E(nRqzh0mqaSawJw{|{ zKXrR1#mWee(*cbextlMz1h;TJP^~q2nb?m36RxL>jh#t}o)a4eg{CBWcqg3I(TgbxFWVf>c)=>)oTwk0%O*a&=!3w0Ar23@B9*3EP^A&f$1$ zX|8X84bxnyqJ=!Bac?w>x5r@m=4`oL7K@2NyI`jjH#?=Cj)D39tn^iXc%jh2w#dxs z)9cZ8`L-G96GX%Mhv(B_-+V5o01n zHZOM4sFYbl-jBGthD00IkipO-*ty6oSDpSE@;AR}P^htDb=k5vEF3z|CL(8=y!>^1 zdo+U~Ki<=Guft~BU&G!#{~f;*tYPEx=Z)J5^C!2!KWxbj<0wO4uBMRyL4QGr5Fc$; zk@1LnGK1=pJ@L_l-!kX7R!P zqH<}*urHd!q?xQQG*BMJ6H3mbD2mL$CvyhIoh&`hgyJZs;-o(n?}JJtie`H^S<6YY z_`E`sOX^u2S$SuqPv_*-k?NoHO*|{IGIHI&^+=5Oin#6K9}p-nqB%IGU4yll?W#+& zuE_3}@v4IR0-#$^G{eTQZ(l)P^SK_xE;||4K@Pc;`l%38htd(#LA z*qeS>(3_CK28-k94$3t&bf)1NFqh%U&_n9|X-tw47?(Cl<_~E}qU=wiXiIiO@8a4Q zx)JoPyyVKr${Qj@&Xg zVJ!EeZmKjnQeOC7%!m^xO{U{|S65kmiZgxYJlMs&2ZfSb)Fr0!6q;R>BB9V_CT_XK z@fW~j-qZMPE}WO}{tAygN%;&sIsrI*jD?>t+!fHxOdG(z0q8Sc8b#-Y?ZJ38BoT6& zGjS5o9I&GC8YrI7I%9@Vq2vA@ z3eMh2YIVd0KMh*Psp~3!#iP*aYD;+Sh&;3b0npsjZoqMD!u=1xVCzr8P))RFgrAqT z#Tn%k1|cz7X8OUn3d@|L%FzC7Or*&qgT@~10XOa7V8t)IQRKt49OnOxI@s{x$`Ql< z4IQ1zCqLXzI~<`0mJ;kM((DJFvZENR(C&^8-L?;e6>;x-%nlr8I~3)*NfV*o=)XQ71xD+Wi2m4lEKgJ`1_gY6+3 zY^KsUtsG=ah=b@3dEYl`#1T~bZGI9;Qe&rm#Wv8xmen`g#w+bfU{TUCmO2e2KM<5o&u zHLmJFMHMGj-Y1cT8ZbZs&E3m*s_pjua~nR%MqNje46=T@0BhhYbB_ z0U0t;B%pEfjTW2OgR;4+x4Psv>3uyk*XV1m3BYqF<-SMYgv9Rq7hReS97@P(gd8)RfG) zv*1NcR*mPk9~6?|`7M20cz#QfW%-WpnaXbQ`EB^zcwLY$egB($JMaHrXg16Tcvl<(Id#A!z4t5Y6z`Q|%EB+Or{OuW%4g6$0#sG{ieJ9CUO;&@thl z0~>-43I`qB5cIxq&|wWhhlhh!H3S_H4qDL=v@#sDydh}sa1ial)thE@IB1`SpnbzZ z`!xjZ9}YUAA?W?#pj{e*b`1wDYY2kD%6iMw7H_?T$AyEAZwNXe9CTts&`IH-lN*9g z2?u?kA?Va_kk=4&MmXrShM?2KL1#7umBT@mhM+a!ptTJ_XN7~#ZV38dIOv>)pmX_k zm{sk>*uaAX;$p$?!Y55uuS2k1Ue7^j9!+CJ%a#Sd#sO82b$uun(~pUzSxnI^Y}m26 z4pRZLk}-;xxLA-YOhIte!+fwo`fNj_4>8i!T09(iN--hB_I}e4>vG286Cis6Y<2oi zez?zK6X5f2JpSaHI=1DuV?|zRuP7dGtKBv%M#thDq5J^qqh_&6%MGag`vGWs13IA& znjhPAFvPNIBu1F5HhV?gw5K->8Ik*;JZ>)XFK};>Dr95sb0`^(FswMy`#oW(;VJ+?q1r}7Ixll~R z-1`BMcrADe`=5wdoRZXN@uVh9NVd)KQW8&cv*@Lt#&N#aM3sn0N%H*&R$79~r z5K#45?#?)lC&Ou%@S@Rv^3fs89qYFU>G~yI7Zv7W#oqN>p+{rh1xW1uOY7SPWFO-9 z^Y~u#3)pahdG#YDq9t*lJQRdX0DlI@$9;dYyt%-E_tU*ua6|7ND8TY&1MKdO0($e{ z)95}O?2K}5gK}05M0hG@)%sY677;SUxAb>0XMj87S zt#<*kychVvKGSzLaRimI+Vk#rfC=ipg+pTT&tOx?^&O8|3!Oa}P*8F4`mKSaG(DNW z^hq!iJ-PCdA4JZ$!TkhMZ(xvwCj{zU#$M&&m)e_$kY~{iBp0EVli=d)8}zalikQa6 zUI{XucmF6Ixe?4)7Y*9uE$6Wi?|za_uBFhCNPcEqun1fd$n7a^U5EzSkmn-i zDWun!@jMVL$&fF}Z-*u-wk5_Po~R@wVpH}#6t5JHlE%U|c-;Imik1ok25}Z|rH`$V z$^datg;GDn=V+wVvA%vQ=gt6qLV;QQGmT%{kZn1@`p6NZ(7rnhF>vPi5ezyE*m&IS z7J%m1cky{M(Mc*xO6!X{8wgRb|5gph)gW+h3*6_;3KGn5*P>xC`@G2ZNyNOD;6kn> z5A$qbJdG@9I^8|dntk8G8(Djj246<}h<6)Ac)FvOjW>bWp1QAk-bCSv;JEa>Sz^h~i`21Z<-4YWmV zxOw#C@-ZMj1p%Jdyf1*apBTwf^A{e0gp5XHEMA`;BdodAbM`CnsO;)xHi)B2!^ zc&;!CSDo&Wj9z&S%~I<}6syALy=vgHO`Ap|UqYKMMw?caqFH*}*AW$Bfb#eJ!n?D< z*?a#%vfdtfn85h$jkloG<=78V$p;WRK@>+}!ug{Ym@CF6L`m-c$jhp-MBW?7aQ5G! zp|A+1dj;|)AW$BnKjyuKkI_`J7)!V-km%7qwwndb&TX$%JK?B2V?saDikywQY)`tE zyfACUAZK7+QaK<0+d$b;n2Ta;h7Y#syjM{E+`>2vnKEmb5YvJqMkI|D<+o5xh1u*o z1J%@oszOJ_VtY&r2Ghu*4`$&;$u_I>8i*B1MvguuC@0h{w3Ebxf@6cC0Pz4Y-~+^S zFs~=OC!z~WmfZ)lNT;&bms{@f<3Y!c0m)ptH`;^xuln$WHx;#;eJN&;!z`EasR7i4 z3LfnPiFX{3`3FESs`gs0UakkQKWFcTeE6qQDVJ-6kwJ;w$%1BQd(3oTrk3CKm>b?G zkqX)#vw`WTT;B=)dn3PIS7+X~Wy3%IVGdfjBtSUo9XWW#Yr-8A`Ah@z~h3;6#DN}q~4Nl|(_#PB`W6HJ4 z&=lvzyqiID-Yxhk=E~8t4Sv;F^&cIPQn+774(U<1xqSM&mm;C1h}Y+hop;u9)Rik2 zv#w|(x?n&p^emW3^BMJQe#;zk9-2BdhrG(x1HIUhgIGcQS?){ZH|!b&6u4Ey#u2$h zZHV7h{+7Sb0#imW>Ofu>W(mk68B|%2#Z8exiOS!+hhCHY4ntKAu-vK=x2TF*?qw(t z->VSNtIWC)^!j+v8{ z(Zlj)#^TyNAs&s>qH%2Dg_H(%L9c-ZhLL5M26o_gmA~b`Pe=m{QW_YMsQgtLu&VUi z9_3ly&O~nj7z{Ym4*@9m@^%UVP;p$t4gru$%-az^Y%XT0gmryEk&NOO zf3EAXNY_6-+=*!qEik045ZHx&;1^N%8xrC{`)O_u_^;J4evSPU7$?m z50a+hfUU2AUD9-aY)I$Cstj2P^ZHRlgIR^XUOvD~oGMeXB6|Yg2=_4M?RhN7eUn{o z{*m!oV%@6pIdJrRbNo8EkhVj~`BL~|dNua7Q81(aTV7^=J~z^}qwag>;+a_~J@|VT z2FLcOmKWo01Up{vc)A4^4*=i|6(Ak}z$Yp|JOF?%Re*Q^*wqJ!2Y_WhKs*5K<^#k7 z!0tXkJOH3m6sdRsK<_C)JOF^26d)b|KtKu*4*(c03J?zf7$FJ}4*(bu3J?zf7z7Fs z4*;NO1&9X#P`U!d1HeijARYi#`2g_%aDWdG4*&=H0Pz5DkPi?K00;X3@c{5XA0Qq8 z4)Fov0pL&{ARYh?^8w-k;BX%x9srK;0pbDR{XRfE037K9!~?);A0Qq8j`9KG0pMr? z;2z@#hzEdUeSmnlzb%2*cOb31agZN`8s$zBdV)iUXpGn_?@j@ULZ};sgY8A-E)K*V zeq3hNp9i$dv;1LVR|-twZ4*wg6+a+*uq0nR4Tv$ez)xXSp5m?=*S9#Z1bI37EM?i6sIRcgw;X21sS_%TQ@L9TbFbvjdiMa=669as$@jJhTEK$#-HZG*#xHo>1ZGv-93ucx|tPfMLAk2D6XyK`SA~<4r@Eq#L{(d@!+f z2yN_XuypsLhiz{&79nCt5d%Lm(48`#u^4cnmxjnRIKW`B4Dx&deVU;yrE6x$LAFQN zorfmz@+b(NlXGE)po3nhe=`s_Y^LMWg4+pKadg3lcr)OXegWBUdUNjHK=x~U34@&O z#K>V7k%4V326@YtBTo^z)QLVVPZ~a3<^$X}wjxh9ZI`pe%#amXVr^GZKhNz*hC7pv zWnAE{#8%J+lsCw3sCO@)D%*$^-@G4tDFi>~#^i!rTa))J-u5cCRpueb9(|q6n+-oK z>a7;@A3p1B{}=@fpdnpJ2g4GWpnGa?Rt~5A3b$6Gm^o$PtHE)%@?vGMVvrr=*VJt z2a7E|8$_AN#@US-)53o_{6t+`4JUi$cVU9C6-r5mfbmWFOn)~p}0z%L5$i2(Rf0xuKb3jy#d0?!d(x^*WxCr;L3N$qD{hJYvdzT3RVg%kGZ7gLS!`qB7_gx~q z$p}s3B82MsB4hB)^@%8H8XNL~Akg%J*Tn~b^9;LrY?xbbpuZ6Fh3^vKNkk}|*jP8| zzb>FI>^DKcKbT^>fXcRGyx!n*TYlynld(8n906)0cewl-bg{$Y0I^F0Qjv>gS7F8c z9R5@I<{#H{>ig`9^<1_a;P5^Hj2(P>d=8iNLVMhs%QZb_C4^a(orc~?EDXX%II6V03WF`On3^(y+2@^ikuO6 z{Hf&{%Qh+E$_Wt3d08OWLZ=EdV^Zj}hI?%Yifga#fvCou@ShvoN%wktM7BOd%k@3Y zvO76|Yh0X!Z0UQCTT|$;$+V;1+J*X}64R!=C%dj~YEO^4lWe+a#~chv|4ne{+1+$Tfh< z>#A*$oVz0kNK4mTI5i<;26a4=?X3Q-ur(Amee~V)j%8uro-=_vf{Npv5y#yDXmO(l z3T8j%jhFway%Ez)irP2rwtLdP8T1$8_Uth660<(?xl1upu!jR z#jI$J0ISuhF(U5M*Zhc=G2&cEW5jc?RlOX55~Nj-uBDwQ}w%@^ILeylng(m)FF|V<|wpii5`zV8dvmv-M2^-*fY!mdIN&8quTsPggy3cQGKMFvpM3F3EzGweTy*Y*(^J@>M=SLsjscgqYz9&kWj$@|6XipY!A%?28eYRMH(K1CN zUj@Ux4{7{pM25Jqb`@$HtMa$r9+m=f?m@(8zVhIWGwc;3`{Mr}_$SZ%8veh4h)3X`?%y>YaM4p_S(Ht15?iA8oop79*Q)B>qB^EZz&$r!Y&$Kp2C2r&T9pQ@_B)j3A_W6 z96nT_8qGtwAfNi8tHsncHj~bz!b4G}kwKc0ZK#an9x*{p4dHd-(Euegc~wBkaP<)1 zM>2()idkUjlHhyOU$Lsl9frKO7=vi|j3B={i)NBOhwE$EOfK727|dj<-)e(#^R}zA zSq;r(-DODcHh~Y%wwrp9iGyiyjceiPk}Reo-<1n zGmGP%j;-G6QUT9C)1qgVW`Z4n^6nuhM=2YZ3xg$~;srja%cDP<5t+7u;@-*lP0-pr z*Nc|8cLKhPnWTE8|79PhYM1Q_m1nz`rfl~n5`4mT z-$3>_EO2LIaHZqBk*mTyA^%h0&clD&xY_@oZr-H#-7fR(yFR?zzVf^?m&-))k?{Rr}+ZJOzO7+XF%0duCO;{i?c1m9BN-VT= zKS}ovU#&UBz|@b~?HVJ4kCC{`@mMnm(vlTk9~uXmtBHoJo_GNGln)RO0N3~c@c{5? zA0Qq8KH~$#1Hfl}fOr6af|KSV9ssWO0pbDRIv*e&06y;n!~?+fK0rJGe8C5Z2Y?%V zfOr7-q7M)c05|#o@c?j>4-gLkH~Rqb0C0;B5Dx%f@&V!j;8q_X9sq9h0pbDRb{`-f z0KV)4#B+r?BJMuVJ%K%xcR#Am#dLD+ad7m^cK}qif;`(N07_ZjBG5;=&>Hs!;K4T8 zy%KP<*?n%zW>@#REs@Tx>U*QNG5%I^?zFsPk+L+^7G8^*`Q)=Ot$EBG!NOzf?pdGyhel9!m+(Kh*S!EmV(a~@LL2+ zfj_9=3*nS-kv;;Kt@9BDUjzq}mDeiZoG1Nfc^@-i$AG0jE$(C9sUfgHtSU2xrZyAfO$q(l9$&ai znQ$sMBUvF1^{g+!g9pSI4iZPWg(sx}i+i8PuX{Cq0BIJ;^*+QA-m%yRJ5L=}90qlH zD4fuv;A;>`j6Nw;kAVM#OAdgeBrts|N5G%KC!WI$fb_Ya7GMW~+d6VYErYS8(3X_J z2y5H0wIxlNR+AE?XXMI}v91+2vYOVWS;Zz1UGhH3ju_tuNShAX-VmyYC--9BFg!3K zgD&Q=G8{Qo{uJ^yQol#ToB~%!9qXxxyT~8wQBZ6oav*U#kb#T1A+V=K@4=MM8Q~EB>>6l+*>DE z5QJ9?wcLvUNA!JI?w_LE&gR^2L*-_}7u%rTC|#gQE&$B-*!mhmpN4!GKK4VCOHOP1 z$R6wcyJy!#_ITX)zY*DCag*o_oE4rzLX$?owcLp=B-ipa zi+og3`?!_RLKBwEV?|76p}dsnDl38+eBTRi0IA39$V?irD z8yMnVkL!Cbp03tM75n-tw zuXsh9Mb(Jq+r&OabZ{l^a_ZpXDBxZcifg13sY1qf2Fad5h!Yr>tWL0QVk2=ioO$N6m=_bPNs9afJ`i)uY>w~RSe%E`>xZB9?mG`fq6$ohVP+4MXW-t=f3v43fMIiM)^np~(SBDpAhEHc|8 zPaURTYMW@RdRT~l$p;QmUKUbE%q{$&$&Gp;CO1YDJ~Kbij;WuYIb}vkYK7f3g{ief z<`%EH(3%jgvIW|ejA+iyu*IvNo0+8hjG2$j{qg1Y+*9oor#%Z=shx*8;-?-l@8^=| zj22gd$=)By_3e+SVL;~?2GlnEr}mD|g|ak;3;lhV3pH#p++xj+1L%T9f zae+a__QfMaF==0F`i5$R_N`w+2(_=_-9H-Xyus(MwN8hjPMeyj28q`kQ_+p$eIIft zwqtc++v1gp9Z*#nW(f)e;{$7aDE_?@$&~8@hO) z!4>lk12k=*i}bFIgU6Ws46v(Wj5@&d)ZbvX3}xvH$L(7lEw=gu5cMu+cz@-7pxVG< z_2ujw%z~U?xgP?@V3#kY+{)aC|2f0K6^M(Avvj>(kdn7(<>Mahnh&#Z#K^e0^!w2qmK~3jc?e5Q6 zWpGyRVulkUo>`W=Jpor+<+6WPX|3gRE->y`z7m~Lc@z|Pt~oU{1oM|+TTwGZL9-fzXr)K;S&Qor78K3< z%D?obs2U&!g*Kr~id$u>N!W2ZH{spR^A{+rYmp%Emy)z3`|26;1XJbDT^c`JAp}t* zO$#4Hh0pJy;oTNs7fcuk?g(3o=fpEH&mF;bk*Ar~K8+0-W)xPSawb}D<6i;5C@aIi zp~B`|WN(BjQ8C0oQ84SqwNk9B?QUmyzOw3^*qoaF_=C9fY-k^hkdG z*Mwm#3)^nj&P9C7t>U+~j!D70S`pg4$5jzwk7VjZM@ zmg(!rtJVoAtKj4!W7+aNs__>tIBWDx1q`KsJml;wZq5y0E=Q$nD{hMTKb{3DYP8~ zrxsRBm+p$ABW-B}vJQo_CaCF~S_T-f4XP=Xw4{CHjz>0zmuhG80!h7G(@nWXOIEj{ zFbJejcWJ+xd~+#w^hGGaqu3AajC%&`F8frU2{WjIw zGf-Mh0C68cFiw1wne3J-?YWpFlJPXF#^q_TfEKF@JnA5R}g1T&sK!MHM>c#5Rs ziNP38Z{rcd{6I=Z!xaEwG$^l>iCEb>&0mLf$Kc&W=vW{U?h8?|<7g21MF>EJHg*oKTqn&Y>UwV_e%-m4fbFR}6|cCV%|@qL#@R(KY6>;s_f5dfa{}ne{dsW_A4yA=64iv9-IcK^jMNX^|{qd9*N7YPa-)ZnITxdIUV+Hn1mi zuH|*X>D4G5{d27Hz6|5asIZMaJolGZXC*-;jvRU{u{vXWEm%l<^T9)S5RF+S9z@18a5u*cRR8eI5?*D$%vf1!^X~vdDo&J!A;+e*#U1&kVXmj zt^;_{pUs;L&)enC2iK$5zJMWwJ99_;+%z0as^CaWb(Dm+v+SD~$2*3Vcxj@vZ@*Vs z$2*pZK`@F17q<;)Im~QL!|sWtwB4nkNTqFC*7x^oI~{?t8(PxP=EtG9g{ce_Ca1?Gb6Ank2Rem-l}rEdoSR&dCvPD z1~e_q-w&564Y)UzD(z(DdQvhASc%$eOrmoEB(yuDX&%E%O2EZ{W@{at&C>?Jq*~KV zD&YA6@L-L39f5;Xwv9{ET2%ssI>KeKs+@Ve3(**pmMH(OC4!pL7L`cy$Ke!hKuY1X zL|Qr_&z)A0e+W0!vy(T}4pzsz6>D_m7PQjnbTB{No3**6oxut1gytK~HiF%y0QQlO z;2#ejZbd)bjsNNJ)864??I+vag)zZMgEqjaMNSaf;H;ZcqBsHxNEE#6W>q;&%j`CM z0bu%VRXJIE4`F`EdBZ?QA{l`zdM|Jdkq{|}1n=5_NMu3>k?cYu!Hx#F7yu%nvw7M@ zU{8cdWC4J(4e@|#S%C0#DgaZ0-@jW4NEDNoVA+!IKJb{bE(ZJv76Yz#-0Pi;{Oq+k;U6&X$GmM&ASkA($6bK0U@ZVbyq%>-MdC?K z511MvH%!fX!_){!nHsE6#9Nb8oc-PHSZ~^~Ud$XEfx4F|5)6OM^bJBTJC>%j5wxiQ1`= zc9iLqW{&YXE2|a{a|QBTO>EI$ZLwS59GBq?PSJYtCCXeOD)v5g0{R`+Z`TQRexVF)mM$d7h&PJOBrq;Q@Hw_b>e8i~>_K zM_*hBv!@j6mCNN;l|#|{@8m0;vIInp**--_hbdTN`5D}82~Dw6XFSEa<20P%&;69I@M4K-jgSo zyaWesSqZ=s1T8R~Jb@IaK3eOc<9Gs-vT@+nGHi^h{t}nr5x7Db9-$s)RS7n&y#+ji z)D}EKmZ`MCv9#bOvhWCml1HE$8kEx9K99h>10F%pwQGq58+e3Uus$k}FfKIieu;}` zm`6y0zNR+v2wY`t_g2QN^9ZNv+AXq)PDCJ&FjHK+)+Me}n{Com#KB(b`txPOHrocb!Iemn&|5Dehw+M{LIz zmT0VqYcNonYW(i22kbvS0FPJuDIR7DeoG1skQ9vpxq6EKVG4dr3Js7H^#E)HKaGtO zc_Q-r)DJqHV_VsQ@y~{b8sgl(P7%mJYExxpdrDR>O>W;t zD&RTje3aFbd5FyjdCYW3;E0uaLAN8;Xaajk0(=|gnFu632_!>ZHT@Zqo-H#b{g>Z8 z{SwRD8&&tdf@rzTD$iisoe6xl#i!~u0$PpnAZuaFxcuU!0BTfr;UM}B0@d+8j&7jk zUwuhaVlH}A-(t6Lj*C4w%PQy~Zjp=^;JzBR0K{T=pjn7l85=Jh&q>TUE(S{6MT(~K zRVFka?%p6+FeN$na1Rv)lt%W3ycMr^#YaVhcycljwee1*aBt|A~IPNGPyR|dr(>$ww&bqqtn zHE&nGhHq~r^RAMDU{5&b;Mydis{qx$bD)h9iL4FPBe#vI!n|MmRWL7L9a=_DlKGQDIOmdOHyRfvM@B>paLqQV)(!BIdzxro@DU({pWdls&1{PPMtb+>eQ(! zZJPl++tIR|$yQunV~f}Mt?MD!X=wn?-ltRAwn1sBGw6S@nJD;LSXVHPZNe0D|)2!Pw%Jq3s2E zhV~^)NjN;M8qjNc6{}HId*a-$^z+cp864Tj!};QRxSTJzaO9Ed#%H-ejFZG~0TI_f zA5b#PF1`RTmgA+!Z2eCRR=uoyBRfsv;_H`X>o5PgA60<*TbOM7ykn>0$#vcw90%Oh zyaV90o#({nU+uS3-${Cwx>(tY1ivo;YSmJg@GkKfpm-(b9nkJ??0WqdX5!P!0!GH? z*RNm@XDWS*K%a2X?Qv84MuFc;sy@6lmid;xgJV_OoykG6QW@b@Kub> zpNQpACHU`*7*A%2j$b%C@FiRC?ma^jleHQtrh_RR;B@i%QP1#%GKn#aHk-#md;Kbfw(9P6Z0e8jaB)4xvmY!QN8zXJ zNgZz4;6u#i?@S#Kr01^EVrm#o3Y|2JY$<{pZ+0$1Ose)dLhM?I~byo{tNS#NAE6ZZ0JjG93Ab;`eU+s1=&HT*lfXfV-zWl=jGf zH?RiL0!g9f%+iDRorI+N3@!&F-la~MtC8d=TH~i|pe?Mtr(B8_mBb+QeuijhPT>6_~81N}e_DgL8(80UF(Xt-A?{mm76@UfsL2cpr3f4f%u{=)IOI~a_ z;Z3HKv)FLlPf*F_am6XP1Co@N=2Mjlo&uMN2DgOD=5Q%f!yz)sijb{9a2ah&X)oaU zaf7tC>{vJzK=qS<4RPWE{8OQyV`Fb_B`k?8JU+&)dH6TRY9ICe+hYs==KJ$AHoSI* zq@m1mJMgy&eT~NF;r}^)yclL5{Qi!gA3t#`G8h@cY6_@LDxr)Dkbvkc zWTgd`iFYG?2(R3psGlLc6TIg#5H)sDs*yaf@2%xx8$VL+Px#eUF5W*x8bJn?neAf9 zuIf=K1;%_@&pkjy2>%6B*7G?@6VwxkFuSV4NHm)z8?m>d5qOPkb547a?E=m;Ga`^nkqp{UdY2Ct}le~`XEvvUaY;tVj|AD|-)H^|~T zW!W)K_ovlt;~+8H;4rcB>DCxs)n%r!P$f6W2wE6{x8OI?jc@}|ex_y9xV$Ko(F_Gl zC8+tWq53q!MF)CtNi$6a26DIpdNn-N1B6d0WVu#3gbddQy%dn`Xy7eKf(158H^N2* ztelt%tSmo=TS4|5=;dCu6gH^CeNZr_jm`He`C;RmZot}9@9 zC{Q++ASq6FrCL>Zpju@pEOq~iq<)%IxIk|$XDZk|GMQeJiRTpI7Yp6iIAiggA{;Gm z*e~xxEYIZA1R_*m&3d|(_GpEWhmH;X$}+{Y!%!Ep(PC6#HZ*rAa3i zm_JbT!2(mt8dRVZNHP9hE5^UXEz%HnwbJ|~k)4!13UsmjtpcL>bIdpGH5F^jMte@+C zn{Bb<#Kh|k0FHy6^&dlQ^3R+6975&Tg;tX;jz28k{0n%l#WldAV(?1KuwOFC$2Cbc zyZKj4AV#_xWV^>;(24R`gV&mHDbwA^r>WT%&dXcS7QEqv(knCVZFC{fyT4`y1-=zd zD5&&SpX`s19qi)b=yKy8L~S8(ikoEYYk$}u)r34~>EQIFXo`Zc&VSQS(o*SsJ>Wq$o3j!G&rG@@Id2)MX5-46Hl(RR~rh*#}rCvHI$ zssc&nco9Ph9;{$T$}lJ0f=XN}Gdn6JtiX}R%L*K)joa0mh) z?RiZC@z?h9GvAHOm0Y~CXWZS4M8)yBX+PmSe3xhDDl)oXII?nIVg_%8R$vqL{fqKmm!K&16$7mb#2KJ4dQIdqb zY(sk3NeV@b#Ybu@z?b&aa+ELW)x3HIFI1eHpiHP(DSdri(#7O!9$O|wx98N;9ZIxRB^gbV>4Dv?c&_^wlRVgSSNlV;@ zU}sPbOq#_fdsu9z?xlz0H?W z+CeycTl+V$9qqREg!8|)wZET*0xy1FcH7z)YxC-V@d4kJtvz*|(wCvF{gIe6)z)4( zrVvJlT+1L-{~$p+PYE5}LDmxO%!3o`BqlmGaSXP9p-Z&!=qx%>G(2PH zM2SHMig!A@*o-gle15RKg)Vx~2XQ}!1iGhc$40x;B;td|7RGRTfV6dN5!M60$LQF2 zAs>$=V}wKA7Xb;PPCbI>g?^bPgAyzT4CV|i)f9ofBI=RehxBiju|NIZ7jC4SdgJT* z3%Yl`1Uud%05)63w!{K>lwUwEzD{|DY9kttBI?#JL#m2wh20(1A(Mu5FYL6~zHd`L zdnrcI!^kLdmuai_I06BMW+z8{zcP5F@egq}KSyV|Jvj#AuUHnY?A_P48cCGgh~*GP z+4O9{bsgaHZH!-x#!#L+N?g135^>|Lqs2|MUMenbdp<@ziPo{=8EUN+cas+2o(wJw zNsnJ@^>c6n66IWMYI)?VAWI$7^H4v>bi(YdRh@)rE_m!^0k<|ia?s+~r}en$=2a+A znEy(6b|%wo%nUSU(H6$I>o_-ooGrGm)<_|G3scH9H24sDrQP23?29I)Q)9PxF#!29 zermTzaW=w5oBWR2@$nlk1Tu75y(cTd;_+ZQDhNaGiPv9z+kQqs+N2X%u#4av+VKfM z5#B8j83?Ae=A=cZO#@!|YTK z2n4=*fR%BQqObTEG#wwi%F$wEa%WPwkP0;~QXyU)f6?i;T0?0J+OeTY;J*Bm4 zP#$9cHKzqd>zBs)d1Mz*A?gY8PPv4Zxj+J4pf9F6+;*AW@9ZlfWV*eFoQE+;K_ zJ4-Ia-E-->k!YI5x<5wf*yj5Bd(Bd2J8fJ#_q=`G2w}Co1BmXO9l8Dd`1smDaDqthnff7*Gcg#bbIoE%- z=ZAF1<;|PIdxeviwfRkS`WFY0M z2dXUwu>04l7l*CDa2dE2rf(WMo;K;JxWU+CELR^zs9ZEf4dP?#;Hp8XLj0x{ z8ABNibP?0DyfC z^|Ve#80L0H!H8Sa@O*!h5h6$9MxEG=QZAVv$|bWzxkq3_`A*VSlU#Ebvx%OBVn)oj zXVFpKiTU;n&bQx^0vLh$mQG~86<(|Jt%H}EnYl@Zj5nF_Ul{x@YF#ZmXuGVHbJ(<1 zVh)3tv{N{~0*&i?!o7MaTsgm-G}d(|PZ~e?RBV>n6XV1X%v)STb4~IN!6iBPlxK;^ z@}p}Ie&bPMhEBT%VWGhDE9mIt06d>bJnLB^MgY%rB5M$tOu{t?E38L`Tr&c}v}=%E zL!f7griB1&kN^WCT!RQW;V2JdyVf8kC%4}>Jb?ZXqqWv~L`GBpvn;bF;f!k5Bw-vL zRhHC(?H8~nk=9~Oaz1k@!m%bf3kc_$grQuM(2bC_pxa-Qu`%@i(A5(4SHTq$+hiFC=)UKe?Tv&A1pP`it&~?uOxB%`EeYG z6MWWcUPu_@-T(uo-ZiL~`dmmDXCMWvtse!SHzw4!dltenn=e2vC{72Ft2z{iLEZ^VEH zg*)q$L&l@biSspPzF*+u&2ncWMo%Lsx(rHy(K*b6Q$_?$aALc25wzHpK^^~LGk|-A z5>KLcmX($E;n^yp9*+=7NtOBPqDR<|<$fOQW_RF}32sVccd)4?R{r5B+ZUjJ9@8}D zwa}_+JM{yUBKTe#B_D4AGqnfpVS@C{O@A}Wm;JuR5g73qysm{c zP!?vD$3ZqU22vi{n%glL?vjO9Xr|Cj#@?epHngYea;;c4ws@KPv0-&7vO`9(#boR~ zGDZn8_*9=2R^9RthCMvIT+yUg0BK#OfsongvzlzW)nvoH=K$y~Bny>iSPACY%jqa` zFi3FkR{6fS18A$s2+Xr|B8*>f;80BD=h&roVR_sx;y4R0oNPSJLotw@B@Strb60634r!!3 zEoZp19EtNK-jUXors~PC*jb%fBo4)15vJ(^PvVe9%G0VxJInFwdL_%@dO$pwqvElC z;PAb|Kl)>8at78%eUGm0-#{Pba<1*)r(8DtLcavCe>UPn02hyc&*b|Fw=Alm zpGaHaUR+>`C?~ita6t;`(vQfZN=yhkIjj z@WNqa#|}|t&(wyeK)sIlWw6qLB+?C=^!a4#p)hR<+bV1juKj!q1Oi|(+3)NedKG4Z zyyI>|4ICG~K16k}L=$9#Gj@QEMOh3&nZ!sEU`!Zo<0+x-+#LcY#@+*<%w$jpOz#P;^aJi>=ps|V^TT;_r>(woazlJmu)3}>fUv#SM(+~Z$=*% z+}rRCbB5mE1-F$M43;@cV zn^5Pi9d*7gTIbQz)Y+4s#J1XuN;!ZIGe)_T*12~l5SKtUXp9pQ!f^xO z*hV;Ti>|eE2-^736jW~Qh$y~LL;xs3#BjO`5%LJAfiYTFCw?@Y;OOir`sLM89KClM z9Qpmy8}v(#wu8|s*8>~Mlk6BzBYZf-#noN7U9#&!_8ER_m9fIkT z6b{_bn#?6hMdLLzpev06%%rb3!To56)2q60$_@>1I&%N+2bxb`0|9+ih|+QhtD;n^ ziK4U`q*J)q*B=Yvdd=?PI^_kzg}ycnU=ixOxUsMkFs&yF*kS@E=>mLxJcR4BU2wfN zim!LQK)6DD?ZdviltiyUD896sC|LUj=@ehnj>Vr&14{Q;B#&$xi=zxMbTe&zy$|f3 zRJ!Ziuagr_FyMvOxAwoTkEm{I-->DKW7h_A&U9Vd-M+5+*oQB;eQ)@$+qbf_eGC4Z z{`)nC6NQVkuIWO!J{7`+n>IV<{Wg3}NBrGz37@&V6E3YL3Kz#j zL(+wCeL95ew%x-u9np5fMWSugJK@r5qHvLxHC+hTXF|AeC~SB5nvS@;;UaN2yiT~Z znkZbPc}=HqoddeRjc`Rowl+C(Ixz)&MC8bsDV_O^n9|0$IJJY3`1AQ^Lp|)cX*z|A^ZD%|T(|EYuAS2`A0Mu8KF-Xg2-g>P57);38m=tqX0j75ttJZB8p0*%!tv9&_G?>XOegyJ{e$rn75&;e zh%%lTKOC>St#3Ng?5_^6+0mLA~W2ZxA|?t(S| zM?dPjt_-lUPhJK0^MpAvms}MEclCq2XBQ!HH2Om10K)$mO$FUtxvM>mJX6d51L62E z;P`^!6_oqSTb_~9 zjEcK+0rM9-aCdbScUMe(qXTOIC=x>`yYcN=xsjV#ZOsz zfTQUuS7}xY2}ZPnlQ!UVVL`wt&u|)x{4sq2VEU54)WK`6iNf-QX%G?NHO~_fPPLm} z4k3jD6N-E8t;xMx5xU(H#r>1hROv1zW(BV&p{y@=^drj(P&r*$KqVBou>ODo*ANa% zZ@iLN!VcOyF_P)tM0bI8Y2yZZmRr|S29*tdgkBhgQUcUaB%yXrKTv?5kLsf!1$9Hg z2elx<2Q?4D2iGn7fr8#)0HBZ+q@Z9Eq;B6;H(?ueLM4_mK%-x zF5|w=9x3>O+v3+ z4=!M<@B0VvHL92!=OJCz#+K;~xC_ehUWU(1^tg-cU#O0Ib}V1jebMFS{SrP@!kr&^ zu>@-S?K7apR};xNqG)0p*j76@&;P%G!>wUcWF-zi$M}Ndd{9cpskBs0J$L*_6edrj zB#}RN-_Mb($9DSwDQsNjrL*!3dmvsvfeqk{Yq>u{i*dSAt~vV?E+a}ezK!D^cmsx( zk+a7abY-_T>`wy{nPFxM*B)Mf7|jl8iZTa3-q)7EZy)>)!tZkYUXI@z@oV9C3x4mw zZ#{lT;rB)SsIvSCe&5FLG5qesZwA``ceo>Pc@55s@jDQ|bMZSFzj6Hb#1CW}y8^#k z@OuY-Ag9=;@Vg#A55I}8;h*K+f%eFVfLQZc`ceK2_`gU$6&tt&uaL0>F2OS_z&T~=-Pj3#1|OB z;f;tNz<=?zxc7rKe4Y_x0`Py2{^vCObM%vKApG0(qlcLOF8awq;J=-IE)3x(Nx}Ik zgE#`={|Wt^9^wCmM*o~a9JL7g8U36;;Qtl<n=?PhR4i7C^)HL< zM_ax#BBKWfJc8lFF-*ez3dT-69Jo5dGjUw8_y&yJZ1lk)nJ0A2_Q$ewbj8#y@Dm{v^TunEQMN^+^<`olQ3FsKD4Zg2D2Q*Oasgx`XWAFqu*-NZ3I znx=dK5Gn^&;r4QC5AFfR6^mcB%N6Fi$kAKnaD{MibB^4v7et6@diceA^nx#|et*Di zq#>PVfkbVFsP)gRevNo-KeLK%c;RPO$x@}SSTb{t-5#%G;@*`&cM(^KN(W_uQa*HK zdpY>fK>T-mnOM$=E`raU%}eZ`61( z@Ec^YQkE_Iy5Ase@&%?`;~IdtsOVh{Cu7-3SCY~$^$?{0CeqoBp}DX=g3VXlbKz^h z13QVUOxHbxjqx|3H5>g){MzooM$Jmwh1mT4l(q$^q5?%(k>?|J1CyjYKmqZ=kQ0rE zLCR_zPEiXz;0?1tSQU<{D_1EKKMC36`4-!P{oR`gt?utOTfk9uwq;M^;K*pzw#%8~ zbu>_1RIs4Edc_kfFd zw9ZNohUJBzA8os>k@_L+u;nQ#cw@7#qm{v;?f)*oG|0vhd<(4vxdWJZF13D&1?e97Zeyt#{yeaXdLY8*(Y za3kFfbkvH=w%m)*rT1MbKry1n+C(Q}gfCWKm?TjiANdlUm1A;H_t^yejS#dU#dbsapL=P<^iT_ONa8X`q4m)b2G5cHA=%%6TVxKH^D?K%8HTo-L(irR|={ z#NoYlHzLs7TXz$@Sl3&zNtE?{;X91QnF8A9ne$cq$@wbDWi{W4@G5SUqUj+tQmvcu zU9Q6Tn4Z=<@DB&Bm{ty4nM{n+Ybxo}wACMA%HgLR$YMsFM=g=peh|Q-_oflh@ZK~j zR_;xsH6ia!Be-Hy2tREKTZB_&s2XLcu<`FfxM}?R;Pva=5VW5O(0&>sn)dH2?Ps_) zTTV$h?v21e>jMat=F`)9FaDwVOe)Qn%B&{iydb%LOY<2a&1XjGhy4J@52fwQt8FKo zVcVrlX**3O*>-~3;y-EczU}S(Ai_<1x5DeU_o|@1On~-&2##s*Drqmn+uF+>mz%0v zw<1a!O;76<{6nLeUK%YmT201jqv_Lcr-t#u&+0eO`SeKZSponf9kTsDlJ>J0Z9m}- z+b_jS`)MM|_7n6L|4I7~Xm9^npncQ+v(1>HocOTy)Cq@RX0x0ISI_inlMa zq+FG8VY!-aeUjOVE!HU=p_Mbee+2>kT7s5_j`%2OL<&-9RAL65;1DY1Z7p=Ty-?`~ z*5;4LL(txz1UOOL6K5gr1s1_QS0Kba(I)E<__+>g5lhk!M{^7;fC2s6F=lZj0U$X=T?d012?PZ<3tf|c-i&M7 zpQ2Cn)eyW;vi>kg=UqCa@`6%N<3dt?sn@tO)#dKQY{(@qD!9?`CU5^Hz2 z0iE$iZ70`D(oW&9SfJx%f)BAvj9|$vAlfbBH^2`SSU)4(*zS6y;seqb0hG!d3%-lt zlNRA)#=p{k*-M)Rj@_?!j*eKVAi}3csWAI~zYvm)sV6FMhY-_bvP= zjZxRU06&U*m*6)+X&r{|MC+I}Y}{G)2ELjq@0z+fi5iIXe)%h^UZ2QmD93?Me1H*1yp90ULCNJbM> z%1;rNwxWTjqZc)GB(%pWrPGt#qT^fwwP)I8y0U}ahkIxytmrB2s;DmV`$Ir}WDbKE zPG3baG7rpF#ocm4=q@UGkM!(~Nu!Tx_p z=PEpRja+uU|6yOPZMT>J!|w-70F53K&^?0gTFd1PewN%XyzJ zv6l(-T*?ua%7N1qU)6&jG!fRm8)e97A2>BiY%=vyRI)cd0vdN|Tv zD50ga*2CNvNr-G(nc5k8v4(QXDiV5$hH}Fy5_+kIa=R)L>S-wVs^*5ZU8bSjs4}5A z|K?t7^eYZ1D;aI@q~_;t zU!>G4G?e>27}+_wSTS0WUerv2aux9yu@*}`#4eF{9=^eWBDtu#NF9dMll zm-1o4rY7XBnGYuOZ`5GOr$I3DU$6O12a;wJGU5G#bEa^O49+y$@iP-=_QubYmz9#T zy04~_`Zg9X`8^&~CW?F&u{vf?RY{w6WzJ}MlfU&z)ej01SN zW|F(am3%%U4~WC`AnxTmQgE0_3VL#Qoz5HRNWmc|Dd_33({ZoVkwW;(FlwP^AdZ*W zWE(c_4KbmQGZ`whtnIFXq+c080rU(c?0h2br8_F&XqGhe3?%J5j^}1O(vS~G8hQpC zJC6qUbiqJ_Nt1Ugmu;L*Ccx0A?@AXhA#2{kN5k?;**A)|56 ziUd`2{aLj|%V*0NE~Le6+zpR=eeKC|YL1o91e6!+#cNCY8E=u_qJ z19{?62)+wFJ+6m#}cb18W~e<28xM8Y4(U`!Czv<4x%>sc+;a z-Oq3$)j6GO_+O)}nK4@|zT8Uz0+-`UNJVF&{&R#>@uT(5i%)a71A z-{ts+)I<|Za3+PEE4EHDq}rZ6P>K9;w<4W(PXKYPcTdEBx6Zr(hP-+nbfWi=SId$U zmz)&GAoLE6S%y9F?FX``ui;1kdi*{O?!zB7+zfjPzXHC=o?e6B1mF8HvP2$_AppjK zY(5)zKR_JBRmkX%YeX)evnAr?Xby>>IviKGPmzIZ$rLH`O!H`FPK|h6Tgy)$9Yh23 zi;MhysX_0{_x=9{dOK(|Pc~rD zi$@(c2w(~+c?_^AP}865pOJDW74pY`fyxS7mS8>RH06LErX1++@0X*W1NpL#JhGgD ze7~K~yH`j7%Ap2K&Wy=9Snls1G&M4d%X7Q^1NlMsO6H1-!L2O6vh~Ff@b$hPeIXgw zQ%qu^fkYg8)olG`VFIyi9Z0B!D|VI=xcBIlTB0oI@G9b<`)kav*vEc=H~E4Rlf}Li23M1I<9V}Kb?o}j*08TkHjvsl;c(46};-VzBwiw zkZXww#=u8p?I)<`Fv~=STo!LRp3fx}hCR#ybeK^Vd>6*pZ#c%pjGFZP0DEaKtCFxv z2aeBA;K9a0JlH5L5Q7a&SZs}~$#9jjj-_f=ht7(vfWxlX@oFM5$XH<_pcmSAVv#+z z6p#AkmiAbc)o^RCn83CV9-bMg9fi2s#DwgSmJV7v6P4FyS*3$&hfe$rBi1S%RvWWQ zN7jZW9>OQA8{ADmkWA31hTpA@@68?Gua111(L8EK^MD!6Xarf@icfYnLU78#oHK+* zKNk00%{f9~4Vtq;KHHnKsJ%I4PKi|7oeyp*(-513Z?eZ$f57dF-7?MW_W zsxP)Dx%j9aVo%;ncU4^TjmI@#Ij;Hkh-*F|M)HAmNIoEj`BvOKC1Qm4;+iPIl6*Ks z%qR&rV^x-ta8E3sO{}aTR;uL_L8wb}B-sIy>_quc((4|?M_+jYj3e)?6Ny8Rfv@## zU#GNvof>@cDt*}H%3VeatkH(tWVFDVtDeP!rA*+E zxS?SEn9Mbbr3r)er3TBc!R|bN&NID%IZLpJDV^A>ShF$se;4>_WO;3e~fH$PTC$LELo5_IIk z3GzegD1Iw)jJpK`ziQ1Ln;COo18*ididX38))L85&v?oNj?JZ#NF+zN6eNv2bU4a6 zmV8wL{kv4TtTK#IUV+3U_*Wnqdl6bl<0@37GMI>?MmUu+^_2-N zy0R3i9#-78W*aqYHmnphHe9nohL`0U6pNAN8g)vKhpY5XQugx;lUdsMObs|jq5=~AsPpYWGz9(5+s1hP`= zM*@0e0pw9t5=}x$tHLDo$oj{l-Xxkth^>eu^vI$`rUFk?K|ZR20o+xCP$Z$G2g^l| z%8O|EBw+!8o`JNTPkU6yM3a!ZB?&zP85>XgQIF%}OxXwds^**u$J8*jr>Dr|QNRS9@S)F;*p!gxXT%37tZcjD!+RVE)l1hXekNTC}t;{$M zxdDOc)QlfK>}%GA^2}I9X&ATDxL0GuB+nlE4z74AYp5;sJ&ucrN#{!bwhR&XgJ560 z{7!DKm0dEd?PL|hItNi_bgd(I65d9RC(oU6kg0N9h8ynz=38tMZ0>|IBT;ngc#z1Q z;DhLQu>`s3N_@&|m!q!xFqWsvKZ#3f@zzg8t{|R+o;95+@{?GP{t!hru0hM8%dul8 zqO2X1#bl);3pLnTE=kEk7HA_H=8pHOC#BfIzC44=N&U{0)3!;;okq6F5p0b;Ev0r8 zVo)3uqTiY?f@Fla~?0C%cBK!d3=B_ zj|c9f@@7JW)r9V?TqPv*c%cb$A<-hW zsqgLJsrLgn3F$T*$g&e<9FCz10(z5o0ES$uw8zrpQ>CG$t5Yj@rXy9#tv@V-{M>vy z8tyWGdPkMR8jeiIeRHL?n`By#UjJ9UERL{g;#mky;$W2^p%H27Hcd!~&^ z%t5PuA%TajVj-#0k*mJV$OrMS7kd*t@1o63`eRCth@f3lN87uPwss#K$C#Za#qOi6 zNCApf13ebXTY>6IPj9?8evIr@NE=jya&O`g!^Hkuj0ciROFUP=D)=YJ1*_l(5V0uU zx}Q#>^&pdhvT86kkC;W=i(q3Gv4bhv-wkDK@NQ@^@^0vG@NVcYP#NA0{W%>F&WzcR ztz)}-H`Ibh5G|=*81$T>S_i`UgElQzy zi}aTa_3O9=AL+>fjH_xYJ;~i-c|mkO?!;?7#B6vHl)#k14$%&ULTmkrY*O@)tin`h@03G&?N<2#>! zUb_TE5;yux$WPfv;3l-wqwxU$>cAg=umqAnzBeium*RL4rr`E#;4rwM(qKekXQVV& zB0-5nq4EwZ#zQN=5BgbcNJwCz4T;nuHYB81a(0q}P%ZqV+7|m9ev)pBohYpF9;C+R zoe(mp{$YfVk?QY5IH>*!e1qyAr;}*?nX#e4-6Qxk)czP_Af#h%T?$zHWIkuSq4zl6 zA4G}rN^UWr_6HCIYQLY(n9_PFX3bahSvXNLCr?~0{ z#DT_lzyZbuF01)R#4C;e1wLY%5fg7^BCE+TA+6Svj7>G!bnl&D1FfeR04iki@`2VS ze!K5N3{0*iaq~|INh{UU0&J8o+dj%%MahKMW=`@8FxlUY?A1Flm7uK}v~y?=8ng~- z{R)rJ+nMsbEs=sqf~oYjgIEH+@tg|j?U`p3H>5FXu@pfvlBNk6UFf&kR9Rq^at|wc z9U)d5Akx<#0^BNnu}eexk{X1*NExIrqF?9(e$q#a_=cZE(jtO{z8*qq*7Y<3gs+MR z0e|%a#Djpp`2pe~4L*sypuuMm0UG=lokZ(7Cfher!Gm2p<74<|MJV#`h%^-W52kB> zr--o~?-c!&NcGSD3rzGO!3pyLt%SqS+c=g)ptsYI1lVVM%6%L~^%TG> zam)%lF(2PK175PtGok-`4*bTj7OVMBWKhcd4}9z+79n~otH~hcc?ob*VU(?%OxEQ8 z71y9@%hYDduiC{juWe?vt>=*_3@t!sCS`axV*9WPymokb2wRw>tnbSCxVq{^LEYX%$2nwZ^c z^3(k@a8{`r$u&9wake^7*WZI~8QUU~Q4eF?) z`r(Q1qRCeC-^dr8!&cme;QHc6jmo#9%boh&IDlE69R`y)WFnU}@5NZsbaZ%_#ixVr zEH2MN`!i%GM0hLr8Xp|odP@yR*R(olNLh$nxLx)?oLxB%!R;8V-0mp^klU#pyg$Eg zz<}c~I=>1+Wz>-ONx}XU${rBgYx1{;gR!jqjSM2>Z&HfzH*y{FHx75U?*WQ@+ATrcYU$@ppH z#pj78%iT!_`FAfb#$z7=5k4Y#VA((y;fu(NuSDI@x{$YRCcO@|1V*drAf0lo9DL+h zjF{m1!)h`}<;AoZ3vnxD#m`Vos!4oQ&dl z+iGTzppE9gj^O%td?M3ARjnsSJ24H*i_5JZmW&ykWtEp&O@7N8mf!+70K}{8wf14Z zc1jR_4wGJl$!}UNaSYmI8RbK|fvPO2k38m<NCcrIPU%l`W$qM-V2||5cGK*?p*i z!Akwlu|GRx%l896{6%SBdPne2+LvNO*-|43HX{WE{=gvSIku<^;n;XIpa~rtB*$=U zNI^0-NYxx0Bpab^_(|I>(g*w`@D_Vb#)i$sQ7BvXB3#Bs2H_YR1$<*{4ADunh8c@D zF%h?ACjE!kPXk(Q`7fq?k&%-}0yA<3n6_Q+WbAI`&R$f4QPV?b8o4tW`x0>enBa%y z0+WQ>$N?V(?l4wvMiPt_feO!BBVNbKEciH97%_1a6Ezv6V+E%S=3?>F8eyU)|F8HG zi7?e9qP&|aiHTeGjwvlHI;IA-Dy{mxsCwlF5m1Rl1!(8cLWq^+^R4cZPpF^ekBz!*$1c;x zZSE5YiiKgU3ebOS#JLW^A_W2hggDLqS#XPRs)uSY4*4k@nlgZ9$-?><&@inwB^6MHy&K@j zUa|@v%D3V%98HZqfwmR!QgIg}#^Kr|@}w{LUVf&5EQujJA63M~4(L zHs-mcJ1Y#B3Qc`h5iOXQ2}p`P6Des%2WnPhcaxFaxY<2SFgj?5iPm9lFlqkcx=8mf z!NK_uai()iweh|py0EQZ+rK2L&nje#x$^Oe3emcMZ7%+=t_|b={2KOXN(a<(_`j)! z*J4VG$K%DGvg=fe_1qt0m-Qz)d$*%HsUQkyGQDD$W4$wCC+zVwFuv@dsXEKO98AUg z0D5I0l~1*!h$d|j6qN^4umg-I&ceFw3_z)Lhf4|$=fii6e_|3Gvl{ErsY;7>%tN>A zL7hh%dhF7vwRmYSm}Z@xvFf*?BzI3_@~J;WxQ@6z@%|n*l^3(zXm@Drff_qoVw3KO z)XqJDLm&_TDIDWGnZo;X1~DXfzXJXJ3F9W!op_py$ViV%6$2oh(!BBE{u$Z|H;pBO z0z2__WXL=An!li-jvQy^3J*tFq#v**Ov~ysxqcv(s!ZfluwJ=8z?{~Ugslrljc$8= zkR6dpVN2{5_)?AE5~=CJvJ>;E!ZMs-BXXw5kxduJvoN&D3UK9gf6{mxe?b9@Apboo zZo>PcxJmB`7W_g1$~Cr2wwzo(?A(@qJ8Tu=3Zo^eE5h zP2uFPtigx^X?;7@_~bzjAh)2g2Pf8$O*y5p@nbqtPfJ&J4P)(bj5ViotVv_>?ow&x zn(L-*AMD5q%hvdfnc3Nued%hpKc4T?ei=61WIowV>P;8d^>j2KG8Y8REuVmgPHrQG z%>j7TUA6$bf})q+RSP?+>SP)RKKtDB&kF)|h(BE3LmQ}Mtpjh~`21;#S^j;W4^Y?s zXO6`-J`f%Ior4aO(O%L$T@`c7vt#P(DAt_^CeX>CUjRM4@CxHqC)wDatR~qwQaFyv z6icwDX>d)h}<>?O$e7xs}79@5Q0%PIrrTj~)$4KB>fi2@FT36tv+E91k;_(C?^eoS` z+(jr1bDR{~gB5kUu`fel$KO@@_>fbX>3GW#4@JyY@ENec#1vI79zV*er=GyXv=C`| zu2P!gRMJj!3A%4?ZQk6*-mC`C;q^GKl$ewf^SF7cYB{(~DN;>0EStt(YSnwEr~${W zSwksZn_o(69Zpz>qjfk_*3lsw9r$(#1QGH;|8jr#P;|jlGB0-E2TQ{}$03=y3(zp^ z0Vb8xq>`oT8Y6ZM%z`M^mA_#*a`d&RlBq9FqQDk$tE( znws|r3Kfd0o21Fod5n8)5VzDWgmIUS_gnRIu`HABuMA=w0v)9#f}K4SJ2Ey& z-@It>Y2Z`P)4_En@}&1p%wTnJ+M4g8@jf?G_U)oUY8X+tepo;^2LUQ$Zu z%3~$Ga=56J%a!MqdUEAaCs!`k2SJ$KY&Myivg?j&159E3?-2X!=G<082ZTm?FF^UbHr9U| z^T(Jqg3o8e*g5!oFpQl&R^N$8Lmq-B*IE6ZyGxoVYAgrE&c( z<#LYhE2#7DoKIv+4n|umlCn`1U+UVGJ!~~B7_G1V6S|u6eOyj~Ml@--{9Sj3#w;;= z!2RzBI8zmI?QV*2v{-rW4p%nTOudWikG5yBBKt3)>Uj`C5XT5@K>24^Mr`kGw20`p z<$8iXt6bCjeEO_-r9W=fdgJ;nH!##5j8~up8OOPD?9w40Qc=VEIkXqn1Dw!tGo&3K z^p>%&ptoAeAllQ2=V;hqEkTUc_!zpx9cLo;=S_g+8RAxCf(&eL9h@?)t%1%{WDf7+ z(ziqC%TKUx;|Zyt8ZYE_oQc3svV(uG9qa}jj6uA++?9ASw`2Y;a~H-MD==Aay#sS8Zy4^ao6iVZFBJZ;SPG*e{0L@IKm?7 zalyg&u#n^n*p9mad2>nCL#HGcWXut)o)_?C%7m59Clc-o)KW_ip`*!4@ zVCLNfRFB@PHC6A5-V<9G%O{Oa{ruRTH^g#i25gv?#Wrlydo{`XX%O^Jw9P+jw&Dv2 zh#SMW6?(}XiAipEWeL6bEyV9a{Eox#4E$E&N8{_J`9Vb?7i1CXDF%Oh< z4h{@q^VR({(qhacVr7V2{~~?Z9xYcZoU_dJ)TXLAwSEnmGrmwOpAB1CNuvcT7`|N} zprW;3CxGCr42E$cj1iM)R06+u;&(27SKxPzaVOpePic+&G{Ef93aEWmJN^-4oIDUu z=i`Mz)qtD{1Ih9*uKJ}Bq#XM4V@^R#TC8BRJJzHt@C(5ieDFAcJe-lm%2G0G((;f= zz~caNeMVMfh2)642}8oS^SCMYlHZ54cru{o-~S`>G`pgZU2M7~vi~(sw(vICwHycn z#QxU`eB++cRdnL52|9_^{!A2Z5$}ypv(dFLV*qFSUKbPWcCYIYREE8-gXv7O*A!jFeVLBxXAT z%0A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

7u1zUz5LMZRa~0@Ivrqf#2>a6FxxyA>ZWJb- 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 z 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 K&KWRG!nh#$0vm7a$aq&P~lS5;H$3CcT@P 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ⓈjYL%UWt=xe(Q3$5)=wVki+ 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%0DIYc>djHiy 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


qTxqi-2J81Rv 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
b3;w9JEK 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

k!{1Q2tzMxNj5o=?Te045Z>@jyLS>~*UxE^*P^ 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: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 literal 0 HcmV?d00001 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Libs/EditorOnly/SingularityGroup.HotReload.RuntimeDependencies.dll.meta b/Packages/com.singularitygroup.hotreload/Runtime/Libs/EditorOnly/SingularityGroup.HotReload.RuntimeDependencies.dll.meta new file mode 100644 index 0000000..adbdd06 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/Libs/EditorOnly/SingularityGroup.HotReload.RuntimeDependencies.dll.meta @@ -0,0 +1,99 @@ +fileFormatVersion: 2 +guid: e0277ee5c436c344a9d7720bdc0391d1 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 1 + validateReferences: 1 + platformData: + - first: + : Any + second: + enabled: 0 + settings: + Exclude Android: 1 + Exclude Editor: 0 + Exclude Linux64: 1 + Exclude OSXUniversal: 1 + Exclude WebGL: 1 + Exclude Win: 1 + Exclude Win64: 1 + Exclude iOS: 1 + - first: + Android: Android + second: + enabled: 0 + settings: + CPU: ARMv7 + - first: + Any: + second: + enabled: 0 + settings: {} + - first: + Editor: Editor + second: + enabled: 1 + settings: + CPU: AnyCPU + DefaultValueInitialized: true + OS: AnyOS + - first: + Standalone: Linux64 + second: + enabled: 0 + settings: + CPU: None + - first: + Standalone: OSXUniversal + second: + enabled: 0 + settings: + CPU: None + - first: + Standalone: Win + second: + enabled: 0 + settings: + CPU: None + - first: + Standalone: Win64 + second: + enabled: 0 + settings: + CPU: None + - first: + WebGL: WebGL + second: + enabled: 0 + settings: {} + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + - first: + iPhone: iOS + second: + enabled: 0 + settings: + AddToEmbeddedBinaries: false + CPU: AnyCPU + CompileFlags: + FrameworkDependencies: + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Runtime/Libs/EditorOnly/SingularityGroup.HotReload.RuntimeDependencies.dll + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Libs/EditorOnly/SingularityGroup.HotReload.RuntimeDependencies2019.dll b/Packages/com.singularitygroup.hotreload/Runtime/Libs/EditorOnly/SingularityGroup.HotReload.RuntimeDependencies2019.dll new file mode 100644 index 0000000000000000000000000000000000000000..7069e00eaa3c1e4cd23864bc70b5e328ca6e5d3f GIT binary patch literal 40448 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 DR-lZg literal 0 HcmV?d00001 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Libs/EditorOnly/SingularityGroup.HotReload.RuntimeDependencies2019.dll.meta b/Packages/com.singularitygroup.hotreload/Runtime/Libs/EditorOnly/SingularityGroup.HotReload.RuntimeDependencies2019.dll.meta new file mode 100644 index 0000000..dc4d5c7 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/Libs/EditorOnly/SingularityGroup.HotReload.RuntimeDependencies2019.dll.meta @@ -0,0 +1,95 @@ +fileFormatVersion: 2 +guid: 49b66a954ad81dd4795e880bd63dc4c3 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: + - UNITY_2019_4_OR_NEWER + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 1 + validateReferences: 1 + platformData: + - first: + : Any + second: + enabled: 0 + settings: + Exclude Android: 1 + Exclude Editor: 0 + Exclude Linux64: 1 + Exclude OSXUniversal: 1 + Exclude WebGL: 1 + Exclude Win: 1 + Exclude Win64: 1 + Exclude iOS: 1 + - first: + Android: Android + second: + enabled: 0 + settings: + CPU: ARMv7 + - first: + Any: + second: + enabled: 0 + settings: {} + - first: + Editor: Editor + second: + enabled: 1 + settings: + CPU: AnyCPU + DefaultValueInitialized: true + OS: AnyOS + - first: + Standalone: Linux64 + second: + enabled: 0 + settings: + CPU: None + - first: + Standalone: OSXUniversal + second: + enabled: 0 + settings: + CPU: None + - first: + Standalone: Win + second: + enabled: 0 + settings: + CPU: None + - first: + Standalone: Win64 + second: + enabled: 0 + settings: + CPU: None + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + - first: + iPhone: iOS + second: + enabled: 0 + settings: + AddToEmbeddedBinaries: false + CPU: AnyCPU + CompileFlags: + FrameworkDependencies: + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Runtime/Libs/EditorOnly/SingularityGroup.HotReload.RuntimeDependencies2019.dll + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Libs/EditorOnly/SingularityGroup.HotReload.RuntimeDependencies2020.dll b/Packages/com.singularitygroup.hotreload/Runtime/Libs/EditorOnly/SingularityGroup.HotReload.RuntimeDependencies2020.dll new file mode 100644 index 0000000000000000000000000000000000000000..dcf44db16ea4f13881b81e4137cf5442d132aa95 GIT binary patch literal 39424 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 IbmMRDMS**7ZKaIijXU^mh%U{s~(Com5 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 vZ7T&lly_WyXS|3AEc%fSBvXn|B8 literal 0 HcmV?d00001 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Libs/EditorOnly/SingularityGroup.HotReload.RuntimeDependencies2020.dll.meta b/Packages/com.singularitygroup.hotreload/Runtime/Libs/EditorOnly/SingularityGroup.HotReload.RuntimeDependencies2020.dll.meta new file mode 100644 index 0000000..cf60d68 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/Libs/EditorOnly/SingularityGroup.HotReload.RuntimeDependencies2020.dll.meta @@ -0,0 +1,95 @@ +fileFormatVersion: 2 +guid: 784812c918589424a90509ea34a51da0 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: + - UNITY_2020_3_OR_NEWER + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 1 + validateReferences: 1 + platformData: + - first: + : Any + second: + enabled: 0 + settings: + Exclude Android: 1 + Exclude Editor: 0 + Exclude Linux64: 1 + Exclude OSXUniversal: 1 + Exclude WebGL: 1 + Exclude Win: 1 + Exclude Win64: 1 + Exclude iOS: 1 + - first: + Android: Android + second: + enabled: 0 + settings: + CPU: ARMv7 + - first: + Any: + second: + enabled: 0 + settings: {} + - first: + Editor: Editor + second: + enabled: 1 + settings: + CPU: AnyCPU + DefaultValueInitialized: true + OS: AnyOS + - first: + Standalone: Linux64 + second: + enabled: 0 + settings: + CPU: None + - first: + Standalone: OSXUniversal + second: + enabled: 0 + settings: + CPU: None + - first: + Standalone: Win + second: + enabled: 0 + settings: + CPU: None + - first: + Standalone: Win64 + second: + enabled: 0 + settings: + CPU: None + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + - first: + iPhone: iOS + second: + enabled: 0 + settings: + AddToEmbeddedBinaries: false + CPU: AnyCPU + CompileFlags: + FrameworkDependencies: + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Runtime/Libs/EditorOnly/SingularityGroup.HotReload.RuntimeDependencies2020.dll + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Libs/EditorOnly/SingularityGroup.HotReload.RuntimeDependencies2022.dll b/Packages/com.singularitygroup.hotreload/Runtime/Libs/EditorOnly/SingularityGroup.HotReload.RuntimeDependencies2022.dll new file mode 100644 index 0000000000000000000000000000000000000000..c0d33b32d6490e7380d2d1b191aa895e395c8fd5 GIT binary patch literal 480256 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 Rduu?06JY=L``3qo{|oX|_!R&E literal 0 HcmV?d00001 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Libs/EditorOnly/SingularityGroup.HotReload.RuntimeDependencies2022.dll.meta b/Packages/com.singularitygroup.hotreload/Runtime/Libs/EditorOnly/SingularityGroup.HotReload.RuntimeDependencies2022.dll.meta new file mode 100644 index 0000000..15f2ed0 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/Libs/EditorOnly/SingularityGroup.HotReload.RuntimeDependencies2022.dll.meta @@ -0,0 +1,95 @@ +fileFormatVersion: 2 +guid: 8c8658e0b34ecf04ca6ca07ffa6fc846 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: + - UNITY_2022_2_OR_NEWER + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 1 + validateReferences: 1 + platformData: + - first: + : Any + second: + enabled: 0 + settings: + Exclude Android: 1 + Exclude Editor: 0 + Exclude Linux64: 1 + Exclude OSXUniversal: 1 + Exclude WebGL: 1 + Exclude Win: 1 + Exclude Win64: 1 + Exclude iOS: 1 + - first: + Android: Android + second: + enabled: 0 + settings: + CPU: ARMv7 + - first: + Any: + second: + enabled: 0 + settings: {} + - first: + Editor: Editor + second: + enabled: 1 + settings: + CPU: AnyCPU + DefaultValueInitialized: true + OS: AnyOS + - first: + Standalone: Linux64 + second: + enabled: 0 + settings: + CPU: None + - first: + Standalone: OSXUniversal + second: + enabled: 0 + settings: + CPU: None + - first: + Standalone: Win + second: + enabled: 0 + settings: + CPU: None + - first: + Standalone: Win64 + second: + enabled: 0 + settings: + CPU: None + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + - first: + iPhone: iOS + second: + enabled: 0 + settings: + AddToEmbeddedBinaries: false + CPU: AnyCPU + CompileFlags: + FrameworkDependencies: + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Runtime/Libs/EditorOnly/SingularityGroup.HotReload.RuntimeDependencies2022.dll + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Libs/OnDevice.meta b/Packages/com.singularitygroup.hotreload/Runtime/Libs/OnDevice.meta new file mode 100644 index 0000000..5c91b3f --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/Libs/OnDevice.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4b3d6360d6d1f2c47b659f0a4960ebfe +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Libs/OnDevice/SingularityGroup.HotReload.RuntimeDependencies.dll b/Packages/com.singularitygroup.hotreload/Runtime/Libs/OnDevice/SingularityGroup.HotReload.RuntimeDependencies.dll new file mode 100644 index 0000000000000000000000000000000000000000..48765eff8b92dbd39a518040aab4d6067b73c52d GIT binary patch literal 3047424 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 z%0A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

7u1zUz5LMZRa~0@Ivrqf#2>a6FxxyA>ZWJb- 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 z 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 K&KWRG!nh#$0vm7a$aq&P~lS5;H$3CcT@P z`sy~!Lwdwcd1GxpNW1%9iG{ZoqpDJh3I2+zVew|X?WVw+B?*T({xDQ#bW9Hg$NG>b{Ove>3 z9;QRz8YGXKn&s7J@caSE>t>dc6rF{V-_6aU`}y;`g;{hze*w27i|*$y;J(13`}qsH zFSF=={(^2@7TwQZ$Zf@<`}qsGBcueg2nz8T3uaIh;xm6HRAQ$Z6)NN|;C%EQwvhV` zi@w7aa*s*57}6sM$eBftAQW=5&Zje$6w)IIh23Xa)@;YzW}LCYZk&?n+>9bF_vwZ7 ztdAn@Adb=f07cxrQi8Hk#Jwp+wf$%wQ4#mK1@cOfrG@4Z#p%*w9O$U#3>0^3$e3Ve zQE|7v6!pYPC91gFMTz{9&N=LJaknqa0E{JGgOqfKNtr4xV6IvQOl>UXPDgD{&w~|k zAIu3Upf~qDNgT zxqnEB_}iZr=D{iQlTdIYnIn~Oz{U{-PCSo8>H754=x>i42|c&oa# zmH6LtiF(;>Bqey_c-d9&qXjd#UUu7ZjJ~>GiN@%w`xUnr$LJBmYS9>7lT>quag44> zsz+mVO;X(rbBw+QYeZx8HCV&_lw)+iU(INY?)R(d&f*x|Usuar%%ba`TJ9PaUH{Z_ ze`L{DZY_7e6m{j&%&S`N9Vr)uzA9_GD7yGdO8e^$)&Cp_^#D_kbZysItbV~DCL|@| z|A|!8M_t>^BqjJQ>bQkjbf0G(x1yBb`zdvF{S*B%OP%Q1&|hY$6TMq)<$G>jw;kuK zkF>5kOo}Qk{cttab=OL{7}ERvs{6f)iSF~O?oQ4}Uvc%_<1Big>$}&a1p8b+#Xi?h zvCs9R`#hWXxq+MED>{e4Ot}VboRnan8@PRy_;ZIC;!_+&BXZ)UJ;XY!S3ZY|f;aW@RJV*Sj8B~qb(oN0sB7|aEx|vyOoKr2U zR&H*VCJ>5gqgaMP3P~BuQvC>4FNbt+6Ihx; z%1fESqRU1{cRq_Q8y(#xEV^uTa=&5GWuue3kwuq{&h9oAT{b$qds%eZ=;9t`(Pg8H zds0dC9CmfhrSuCXiY9mhs*HW^>gJIW@%6EHbqllTWAEygV$o%+oBINbE@R!?S6H&5 ztad@p-QBt@r6IkfG+|lIWvqwWnq>!;2rzEK4ANOSvT_-p`Bc;whxR zn`N2026cJv@8)6A<+;E6B1^-;>TC>fUt#G4p|df-ZNs9=^FX%?i!RRt-M%dJR*T&n zBS-EK7HV0glJXvlnHD{zkU?%dOIAoWDdSnDqPK>Aox!da>cdbnnPdJgs>XZ=yR%sy zL1@f(u)9b~F#0ycUCA-Oa)}z^Ze*#w72nFl)`z(IYfXAK)DU+Y$Iv&P3dxu~obw0Q z@KsqU*I9Bwsz}NFwL0_q>K@__XVKU45O*GnUOgDwVrhuA#ptPah* zt0GG$tc&$T9_a#>RS>m5hgn8IXvORyZZ*^(l#l+>*%0?j7X78OA?`XULGR^I_ZJr3 zdpXp-EhTsY8tRt#hH_SNBR@tS-Jhfc>p~23Q++G9E;jTs#3{rKbF;@t!xk8ebStpz zK}=J~+itBGX$N`79VR6l{no|^cLB%fuV##NkFn_W-bcFWR;#V+mC{GLwODB6FfoTNu z1Gi9&(CB2ueLhBLZ1h97nv_KG<1UmI;vEgD1l zP|OT>cT7GMGt<2glWHPjX1h0Hgl6*0iN;Vq6f@U-7?Tgh%yaXtRlhQwpIL}m;1-J! zn*Z~8G=}n_m_=@Rjv=9#FWh!9sTLw;vD+g?Xx7kI(HKfaF-zSyV)CJwW$siKT3_pH z#4L9g#t40LVTHSwWo#O?#==VXrj&Sp8~T>%jlz}g110jys;809N_P-Ou&6}Qw^lQ? z!a7v$)flM=S?wl#C(njIXQR5ut#g+s5!)b*5wp(SDn)(&tA&)qF)|FY-c5yaOf8Vj zUm0Q~WTRV4N<@C&DmDIblRGL##vx{tJ3dAxLN>b(rA(FI|C$Ne;`$pYXC>c2wz~7A zB#IWz@M#ywkM63Nm_3jrcT0>Mg6wqv;8gUju~U%U?j0!+xso&8J@>lyCV4ib(02@f zc1y(w9mRgPa*WV-4EMWTW26yc4!DD2guY|=i<>AV==VF6qP=m*og-u7#sAXc`!j7Y z%IPj*xtSTQV8{{oYnIe_n}EJ9demLR5{FU!eu(+a-ORE%E9Oc-es_1Uj7p6f0&>#* znPpH0Ty2m)+#@U*kZKX+jC+|SXEuyuL(aK>v$#2Mjv*J^hb-OD4|x>wr)zAca~Lm{ zVV^HSF1x9usHe6f_{S@52`OicwZEzIeAVsFqQ9Je)m`{KTu;{+88}1Mm-4}P$eV65vzG~*)O?QEm;N9e#?j9E1XLZy4okjOq{q0_3 z(S25byZ2c1=-~;MTa;xVk1F1GtFq|c!Ut|+7TsI;!0pYVd-)!^@3QD#zK8B4 zDXMH-Mag{Rex+j62mqk0L zHQz4;vApaoG`o+)iN??jKoZYu&oMOLk0j*HloE-4^Eb7(fJI*^slBBvpX^h!Ow)MZ zvg}Jz{bOmojVz}j)Ekz@+b$*O6He>xWzkntTJMMyb;hU{Jss~)aP4I9aG3a0v*76b zWbpJXT>UNM44&@u)IDYyJUzbiO%7EyGJ2tHvTQ_ui;P}ACGx5)hO?2$i({dyvW%3n zEYyC!hy8fQdx?eG&vd;%OnO;&ov;1fjB;#e0jT zz&~n4HLLdl%Zm_-$?DBwS@ohS&)K{sEZZOylg-=8a_ddCt?b@@7Vj;!t?b?fmRw6! zJ~_NQEF~e7PYy2?Mos8y8v97avTSSCB>b$`(y=6%tL z1+^}#vl{1Bkol;)6phb`m% z!lLi6WxV4o;f1RFl=ZH%=ouYlJ!d!VPcReXc`qA_o{90iS4K*(=0iEJ28+HomGhF1 zfS31@kARntmIOWCUBPQF^9kNkui)KLIm>eR4bDadFW*nJhrt?L6}{LI@ZE^1=q;8p zK})!zmwW`gqPJSc#EXGwL;fjKZI%-8TmG!>AeFowEWIF9GArqtKdt_~Dtr4>K5`G~ zeo@)GC?yzCt*TSWInuO;RlVynCb*gqvqzN#eKl20aWz#eu+SCvL<&wj{*uz_H%+R04LC;6v#Rd3 zWzqAjs(XW2^!%|J-Y6D5f2@W#MT)xTuF8is!SoqRtLOXGj*6b|SKC`EQw1v`*7m;T zoV$F_<6qt;j?t?f*75eT=+zGEc-L920 zU5}p>LVbCy#kyW;mCC<`SurKsWBki|k>wvqIVsgxo-eENspqw1$pvYEn0nqwDM9aL zJ#UHqZ&!?Tfi(0kDT%JE_?p)cC7Z4$y|UtK-Z3e`wewnvYv(oZ zyo`w#AL9veJ92)_yTwu(&uIH0O;VKJrYTBq(`f1a>Q!|wXy!eZ`2^>=nU`swJoEBi zK (_j0mO$)r{0ntPR5e!>$Tjg7YOYO)-K(3RW5YbYhS;#zvmS@c!V(i6FZB_% zhk7-?HeP-fT}QR`%CP7+GfbRUNxt&9Adp zh()jF*TpN(qF3|l;x%B=tNC^H+Og=>{JMHWSoCUs-Mn}fy_#P)Zx)MQ&9A$+ltr)R z*WLS(MX%=9!#l*HSM%%PU18C4Q+s;_}z2aYgPaIQ6p;!Ft@8x9CEB+1e%ChJc{|0!CS@ep31HGOsdd0ti-WV3W;@=zI zR2IGB-y7ZvDM3qbkoN=2Z^$4zSQH9eO`ysP~%` z^?t#6)JVg;*!K&zNVzCu)LkYC@}`&VxI7AZ_uLN|?v;?TT_h}0{f8s|)6S&z6GnLb zWlV6d9FgK)Il>z*W8%eG^n$MHM5)3o74W3~17xK4G0O{Ri|&Dp_9n3mLcb`*yzk9s z*@HXmQOFo?5lbKBa|sghmb0uws)vxV-Z~a9m&)g3Z!1e`^Z=*ojBy!nH_KSwpHIDm zEFWQiav>(c`&~-J52HVu?ywWRb1ah}bcdbjU6m5l>XW>DztdR_dhjNBZ?owB%t_uT z7Tp6g$r~$0wFYTLm&x8|Qi4{&RBuO24E^rYyu&d<@1IWh&P!4KQ6+E`GowQNQ6#gY zLj6%BpLw@974=7v%<~?{5ltgj+wk1A+toG`iqHQUe3|Zs7#d59^ei_I* zZ#2uFNHq(x-kT>SEUIr*JyaXLqJOA-Hl8)b0>o_eDoF{86J6BxwaFXC5?@$-^7LR*y)rEN?(nBqMTxIxT3+({N>R0XnXahs{!^>JAVu{91T(!adukQFV5axw z=u?}X>3!LIo42lKdSCWFWYO)+%ib~;{ciGQ?*NNlIqM|Wy#P3i*-O>K?UXl{5 zjQ5vUorUgJRA>I>^=Hvf{a5sJQ%FD22cmn-0@2S+fg~JPt@l9mifw`DS>=J~`H+F= zS)GCCUh6>g8i`lDAJtKW^xgc5x1UAd&98XZrKq*a^Pv8@;${C!o-tV?(W<}Kys|M; z6~F1@-AkNLqgc%l%D;=nP5k(|3s|pF11ytZb=i+@K-SR6WSiY<_=e)oG66BaiI7*ewN zKd}6JNtNg9{;yKdy4bB+Aldy>Qi3P??7kjz(NFZ*{VN=!Yor{}7+oXf@E>rDzPfWp zWAxRX(|7LE9wtR=q+EU`7JcRB^7FFj`OmrhOxfTBQ;TFlO=xV)FTySh8+W zQqXVyfQ};K|L_QF|J1-6B7S?89ak)t(JY(eE!om5;?HGCkB$p!`xWswvyAGdz8YV| z|D7fLjh2Tx2IWzu%JxugeOFW}u&nBh7Ou>>8OxBU3}%^*_J)d?z)~tI%UKFwE`W;p zndMw-Emv6@Ox637`jOh7Rg<(7W7*;BV}F%peN=k0yoConwXF|X2K3bVe4#|vZ1f8j z@mEUOX6oOosDDCASd_#H2J{O)=T~`5`xC~Kg8EI1`|2A;iI_`aiic>^m-Oe$nBa+{ zREm0|l)qBO#A7W%%vtV^H*x&r`%}ixf-4r~C%Qjn{d`g)B1d2K4XkqhN-1G+cMw*u z%7?dgeET1@heLX)JuK(vkfK`VW3jCYe&ZNf0(r@QKSowVD*J0<N1$EH#-g*O;-)x-w=YL?cA zEzuP*4gGSdDQ2q3jCz%%k>8%>@)&$`6Y`orIh~667?PtGdP@CWm;q0zXrHNl_`07h zquSQx1(qm|n5KSnmR(oX)|>gWSx(})dp%M$_s>h2Drj3(k*bA1EK{(px{y}>RuFk%6k|=03^wW?o{v|09F#*4+z%}31Z=Q`(MZ`juZvJE`iJ~WFt3HpI?*4b#)jpp? zt<@6J!!MMBBrFV+-tLf|erGA_tiB8B<%^suRY$ac6Ci#3F)W91R=_+spcowRSRN zTO<5mWvYut$J&;77Ws_uFG@+0ZKRnv!vFaWR>#1x`^RtLL#&7y>1ScN$THfGlM>91 zc;D|JB{)Ct`~6ia(d{JW03)CG{Rb=`eU7zaAn|@4tj$5!=@^LLm+n&KS%yOLK|b=w zux!NpDfJ=a{6W;+hE)Au#;Q1wPyK~brixP~P0e#3n7xMa*2#7y>A zvs5Z-h)*C>{QFWOzFs4Gs_*2dR1tp=p3!hC#CgfglA)~X=bz>mP$FyoMu?f_7gr*x z;O;=Fru$V`x-P(Y0c3{XgymX4mGeyhZI;^CEHMT9Gt2*2Npyc^`O{hS{><{fR1)3# zY=0%^^BDJBxsiL4oX$edpZPzs?10et#aw?63w`;S_HdqmnB_Wzj$*!llI0=p zu=9}50{~O5B+k_5{tcE^IEqDxS?Grf$a5$b?8moXA&dNHrHqN5pD+9}9HY<1 zmwpc=^0=r)z1SZfBeXw@{qZqETmQ=chV#*9eu=-GpHg)fSzd~``z>91tbC1I7niA9%$Z~W6mRjOJzu5LIR z-}+Zs+TbXtM6LFR#i^LB5c&nz_3rHwtoj)c)zt$Q6fubdi>)SzhsP1S^dFpu0*W<$Phh|^ACP!mJ-jKVq8JYF7}7&7_?tVw)taO z7C>HwZ1*>@{M#4z%BomH$v?}o`+f8pA?GCj4$Gl?36#M-CDn=fA5>oB+=ST?)s@dpz zKj3d-nLk|h^8Mn^FGV?rMK_FJ(c5sp_+Lp$6#up`#Ba#w7k@j)%}XtmYXbB{S%xjBhD(N zy5SFhMdkArO5I(gy5T>Nf{}jK@9lr|8)@Y1V zU8OpO(rXW(m=Y|@Q4(nDcl_6DshGaFrzq*p62a54%6T5kwrHxGEMu_G`DD)F+A5#v zpIRaga?hX0qVLNO{Lfh$BnX-6p}#Rk${^Ka{|HN2#8A!l#J|bX3)`ad^N&BGj@s6d zoob(-`WfpfsfN-=_lu`~87UDljnBqYU%aYfs;t8|Kyk*N`n_4+#W}2stv~g@l!Dn} zs7dNVjL=$^v$!s({bPo%t9vASEnzp&YhB zj2l|Wa*ofuADY)d?P1m%>bU$+qlQXe>u<_0UiqO>EcKqKE6xvXV%Zu}b%Gx{#!@&c ztsANR*~0aPA6hIWELtp6SDYW()mX(;i^|p}YU@q;toor7EK6`rkHt~=p=z(In94X~ zbYBjI=17T%i8wB5YlT8fS)R4kuM-Mw<5bIV?a+NE6xz#DU>rswAgMw&>I=HQJhY8T zQiqzeRJ^GqO=zx^plzHsl)T?BZD^^Ci5GR!pk;-9P8pLvv|h$U#D`1qem7#$hYrWc zW=O`+r5H(qWDebD*@S|60FpK2XG4=&dhD@8H%Q))o_(!XI4>AF7L$)R5WQWY@-5V_qwl$eL-nLY#68@X z3%`U`Na%f*>y9aMBURDR^cX1sc`o!di-)!?UGK$1+gSX^ss<<#I>=H6PZJbVGIWMz zFrEkFkWZ=56DeV#?*(N-Wm>A=qCR5EAf{}n8q0bv;pIXLrG&*AeA}IBzjC4TEGKcN zR+6ukI?}y`(VL2LST59CN<`?pOu5iJjv@I!Uw0m-Q~Cc7{JLkzoO5p6_kGT}lN6z> zp^|+Ip;8DXk-ZP4sO-xyhB0=7#+oHUlBGt-lER>DS+Z|KmMF?vk>BfmUGMAMXZSvT z^H25ceO+fi=Y8JiI_G}p8H%~YQlS#wcR;K1MvE4zpA8>iw6l~xQc^@2TnA~n${X=G z=lZwcvqn&f*x5B8p2J#w_P&@3Mp2Hrd=)ht#8fbzQIb$RSv@_eXrNpCW#-n~w4za4 z#;7L56q35TLaZyUF=eqYDUv-VE_r=_M}@RawVL}FYF5TJCGsxdg;J1Q-#`CQY4(9Uc`Y(jm#lGAU_-WHDr@QQ&_n zrr{8k?W7ouS<*Zi&oVYy$LwR-@fOZV=qJS(&{_2}`3|ys$OvP%loat4rdgmM-rY7% za!kGXs-KZYgD$GoTev#V8xSLn87!BM;Oh-NQF$}EzoTO2t-x6nGTLz7Rnn=a+B##5 zt}LyK#ft`r8DmUgc?zw5$35&=qhnWUl_K87HtmI&amG<87=?>%Isr1#=<}ZHd0qE_ zSPPkK4DP1nH!S;h$TZ_5O9s{t$qXZ3cNMdNV`dr+S?o5ruSCpjL*I?ojjAfmJR^%^ z?v&K>n-q0aR<4OEmQfs6M4IR4FwcLYpU;dgQqsi7kQ}}6?zSmUn^c~X)@ zF>bZcXz-z$!@Mk?8_hmak_ah&+XdZ?ICGqs)<8!cE)VSlcVR*Q|% zEH$w|zYF=&IN3|J8Ztg!^nolfiuG1rsN@)JZ+K)yHT^;7+P0I3YwXyos&S z;xvvFI+JWMCUMM{*jrvkt1U+S0M%+aQk^#-Ta8Lmkh2ZJ7rY@q8bet=K`WAruZoMQ^(INfWcv*_CCK10>?lEkryssOF3X#r|5ze&^8Go@9ME0}; ztqvP^S)PLIm6CgqTpJ0ma6d;3m!%{3bHsR*rRKnZIE+?DjZ!QPAt$9&X34@uhvw&) z@f^!l2<3jqj2Bs6z8NRZq1AEYb(Xe}-=%b7N#glAVZ6sOh3Dsl(Thd@ddo>8k!3$> zV06trX$)t1aL|%ny&1V@qIA#Ryt)hJ}I?LG4k`AGx`?PVK z<>jUU8FR)s%hCcuF=vd+EFtdaSK}s2A@1i_Lkw1H{*Se4T4#*}mb(z@=d2NC`Sw*c zt#ighEZZOybIvHtQu+t=O#Hl2lBEiSMn0T3o?)q&84v}qTo;V0EcGFUrPNg-*9OUN zMpKT_U+2DPyeUPEsi3cOUo?8D7}5J!K-5I5OGctk8bE$GhWn%$`=1)F*u)*NrcHG6Ztd$neQ%$lpdVNgdrZKk1Nvjdnhn4Y^~y#7nZryCzlZuG{5u7-;g}!E}z8r z#aqwj37_PKM9j-Rc@W~5cYRV25;gPU>`CW3ntCxvKC_@t%0lv+Wqnc+QoyX~lbVo6 z%|3|0<}CVG>?@jYv25Thx03lb%TJsqR5H7H^eLbYM`GrrmKg^$I%=e_E$ZzV> zJI?LQo-BLg)Ov1b4rDn4!Nn0VDJ(ODifM0-WocGdJr!zirn7W_(0eZJ%~>o1JFEMP z4(0-uaS+N&4Jp03`33-8qKF{F8Juhf2Yh#4!5kCCCTn z?$I=dv8nekPxyqU-qXAyMNPdKq_xOlM^l46=^Bq`oo#;ImL7X5o< zsb)!**HCe!iejqyG|S^JXsN<7^Ur{Mww`LXWpQx-eiqY8H9NDs(Iie>lG2@}&075C zrj$M`jWH7bmXyIPKP|zp7D`EFNh+gdycD(Ohv6tlHD8}V%M}|rGtz9!LL+CU;s1>^ zXGl?1BXa=mj#<>mnJ{FuxmL!cC(y_llCkCq?x$v9m35Cd&r69t9T;zRo=8*o%i?(? zX9KToh!f4w&v^5UPu_w|FmrxJF-d}Ax+hm|?yy1;48} zRaIbSnti044bXSPmZ8;5^K*`&>H+A( zsP(h$keb$9vp9=hV{^@}Qqu5+-8iuYQ~%6V?{2HLO6zd`eQRu?xmC7O>t`Qg7Mdry zXT5$tH_x%?_4B!TokcI{A~Swr_Bs5*46zLOHBKBs&tI6eeex^hOS7$%BtbEMLzdn* zhs(_r72|Ew<>n+QYM%29#QnRO<&%7nug$Ac&IVF9sc-y#W8P-b-)H;A%)Lm>vw23X z`ESgkQj$b|JUyX1=#^#R+<@KP|rz1KjT zJzTGimEP7Np|!F4zGYuyR+FvNlD5QhtubHae)Mv!Gh4CfL*=L%udKgvjIzofp`-KvdQf1i@6NhY>s330{5r4AerVoUrZnowF`5TloT&N z+-m;J@*mzvb+Em*nul0|U#XF4Tg@z%%=gt5f1CLm%P$bh3bvV7Sr&0WKbrrtd;_7F zAI%)gXt`1nI=-j+`N<5jd@gJuJk!jSb+ny|zdS8L;t*^Z?OuJ5}M zbI43)(V5jDb0Q06R%d0*3YJ^lbU&L}mOe_V7{7ni*iK3cHx!*A}$Jf+PazbuoPjts|%nV9V zc^%zx95c)Mg!a1QW?dx-`nzE#%s$+Y?)ik7%#s6D{g*L^C(Kd4ews>I;uGrmq`6T_ z?Av0e%%521bW(ZmDRUo-{!Okd^9+mrs%;jZ*<$N3%X}b1?JatqvrL;se~T&0e3(VQ z`I2Q8WuY&+bizEJHcPY6cQf9V@+`|2d<>p3>#%HqP(FXgY#~L>&xdIBt2tD~sBH>4 zXa2&i^!!{fkF)6cxnQ1S*|bengnlzGv+RdZMd&y477OKmbT@j@6f4xSFNDzD=ta{| zBB!2$sb4bda*Te*=d#(5MZe>7*=){2)k}J7|cf*YT zMy==Td+`<;5rYvAmi$UgR2#8k(8Na_9*yvss=Et1qAY zYi^d3nV_fsuenug99rIZheGdQ6tj?m(;s2TSq^S9!JC3_%XB8voht8P+YaX|vGj<&;d%UH;C8(Dx z-rDACMe`hQ{URkc&+*nd?&s;H_%%jco8qlIEHxmsz2dFhtJI#5j`5;&rp;j$VVMh| zb3zX587Z-~n$xNvMJ+`L$5&3PiE1U6;zRVD%lb&gh;%%kp{X0zBq>Sq%|x1K!@3|P zHqVCjkLo9Z=J^KtF|4@NY7S|h>4-BdOG<2hOe>FykyED_(<&?_*0W_j!~M|LO{pqk zSyfrS#ytovyJfw^@+xHLV3PM(=xxDqQhKt`+k*5=)3Op-ZsYnzJqN86mi)MLp?X5l z8ZSkyF_PTYK@}rz;ZFQx^qj{k{jFS5QSVW#F-Tr37w)@|S&1;N=9i_El9DFnA1T#1 zMqgn=R)!L}HfW!ZSo@^JzK&~K!L`)$set}Eu5C43M-uxwu5ERea>{VNjF-!9Tlan) zHx{G6j%!=pRja^af%l}6@J^_;iba1N*S0Vr{AK3UcTzFYcTzFYcT$emO5fSJ*@W)n z9<(;dX{oG$_JoJ5na^Vth}dsN=eM@q6H~z2BPAB|h;`H#L;Gq$>sO!9aZ%8^CM9-n zUdYX_94~K0mB{^&uDRtc|F`=n*Lv0}$gSvG(R8JL)+)ww7DBC_ zwaT&RjHrTDNs2m}D5iq96!dN~^<2?RHYqZRJW< zhEH-KrjoVMC$*5JRI%=T@1~lyL&b=5$V};ot8U%5|57mhiK7`h{?X`N)5ijxnG za<8eEB6k^#AkBlR*UBdOvx&~WVll&zc~Z}{tb7~eXj^#8Rm*CoMA+{l+mZde$Fc>_ zWj=#EXQi;D;S9MLQrnuuQVeId)sQ;Y4k^jvd(;MLNgG;m*lUrQi{D2DL>6LRwu-UP z?*?3gG_e}8G{#5+n!{#RSC$F8w2Wr?$&K`EcDie2SPitWG{z0cmOV@W~I5H?74!*$!!KWk^X$xV%cu;ak@C zEc;ey*~wDDlOrtkztJ)0S;~5Hon^V#>JG~mtWwIy-m-H3B$qUy%E*A&hxvKS3Mmm5 zmg~Hf^BglSU%a>pX=9b!uGY^l*rvguBndlIKLfkPi-#d?t;SOD?qo!bg=lM)-lJlfOmocd<^qci0?X25M66h;)ognS4j=NN=I@qIVtaW=UVK+}5`^GrLbg=eGNlsXW zGfFz7qxGAVSiPmAbydoy0M(J`yxP%nex`oZ(M?BXC#$1R4xpb-*5ExdM(!IYA)T$k z$YrT=tLv-pTBY{M`H@FK#)Cq{l~0Nq)fpOw@niR$AqQJ;+|z2X)k%svP79*dU~9A#wd^GzL#^8?MkHbV&=Hqn z<@_bK>`x(PxK&9?Yz|Yc=~7hBl@OC^eWhB-wNVo?$~x%l=LN_Z>%V*Y8D|wg5L<_B z5i`!JDMig;7sv#wlM=ZtXnrPIqol;E{#cp+jmtAHtc9mVKsG zPD)BbJJd<$LFQPkIHoSnb+lY_tnM7s8QJ?+h?#56;21iO(fXNdbv#Tx$L43A)n7__ z0zEx>w-`p9@wM`l@!w@s!-kL~${4jx^QMq|twbC~#q}Y`d@D;y!fi+%v|3<^BQ&iP zv7miG6hq7ctCo~xk>@&|QDc4oq0b-m=&lC?!P{ZK!IwORQ8W zN#ZQ-{^&SeVl6u+rq~YN?Ub*vD!+N5?ij-R*Mtam+M=rhZ1kO)>x5~YM%8kOs%u>vy`3@karyG ztRgJ&kE(jqdaINY;X-KH*ITVv`nFXS&h^%ADY31*-ug?$B+O`q_b;#%>#f^T)EMcL zQd*so^DO7^9OOHzs}i|&9vF_=vi19EikT?K2}dBCEpdhf&-H>hV?(xCtiv1TQOjcAokI*eNSj%Gtn+pW-boRF+Oz8>GaxPL>tA zB3sEd-x2*}S=FSdWv6rIS!;$8xm>gq=dFLG#QOQoD*9)vAG!zm%^IX6p(?K3v(WQJ zD^Dk^FdUUDaa7X&bI}^EVni?0A?ZwV(VE5b)^ivWh*rN_%UDKWk07~Xeb3UdCMwcs zb=CTXMQ2~vt+Omu(KDShZ(0Ab?7_X~V)XNmRp2kR#&Wa{h;@*=Rx6fK$o*&zBBG_o{xvUQ9KXNU#sb=$zIL zrn0<)?M1aOCs^)UY@0S8f$tgxU-U^UNHo|^iO_5HpHw+l#Vp6M(-YD-xSL}}_KX)}A+HB({;lSazQ8jJ(mMDu z3mq5pA#H=LSf0e4I33;Xf+JY;{@gw|g=Gnz>wSw>9lWXMPQ)m8WS(7uCpo4EzC*SZ zF*n#kh7S zLWTuXS^mJDISw*BxLZn^pf@1Cgro)+{zt9SL{*&G@|VTvkzk9vs-H7B_kN3*(ZSVH zV)sO2f|*ic)ypyWE&G_@9vPD?YURTdMf5W!ctlFN*o!d;Cn4j4=UJ?IO2!ATONrHX z(t;-Hbo%)_)pjP{H?5C@VHu+`&)ewv<6uQ@rK?YqgSDh2$@|khqcNT&n8EVW@ql;? zG9_3jpr)nkQL}>L9i#c(tG&l z!J#aAfBrl;&)15oyPpTK2>8p)Nypd6=x329bPUdhEcS%XZ08|MJ)z^Bu7eq#(D{dC zg(vzf`i&=a{<$++h?wZJ=qfM9*ru}g)t=P7Px{{{yHRDK<22T)$bB*TJRggpGh2=^ z{#N>&xz3xqKJ%~lM4#DWa-OIDofkvr=OB8HNwfKQE)3b|#n4&32xN;V9eJL2da{ap zj>+WvV!pah4%SCi5qefchC?Vsfg5dVX=(i~0B;{I)XA;YU2F(Hvj) zK&xY(SaCR8U=Kgx$!iI5qAy}jdeZ7!d@~ku#*-KJ$I0iX7d)YB_ejM2=E?9TapGgh zpPn>Ejd}*;nkUt_qlN~#;YkAn`3B^+C&86*;v0y_Eq8hB^P868+q{rmo^0P7FLpul zdh!K?-YK>{xs9CU0Ad_ZmP07!K~F|wWaDwfkR*!j-;||V&XjR0MMVI2`ws_o=u7xrF5HZC(8T>yrhb27OgRT4*VoG}Q z#2fMAA4nNb{)WVjMULdjeh4jBWluJJf$sz&rn)EBSf2A_KZMrL^Pb$kfM22>~~ES91% zq=zRJvAtSC`g!sc_IY};Prpb>f0;S&;ym9DF^QgxuA;V1sweq*E06S~X>ve(gjSu5I&Vca~Q=M+kqG*G>7j%jzAWAtr|eGAd5Wt z8~gL`kR_hHj+}(%aJeU0b1@DUvci+;cuJmY9KMg_$xe=0@5$yoDrTc6YdB_$C!g@z z*zU<9tPPs_Zci#9CWLA2^P~tyH57mx@?`mnI8h98+>_7o+<_#^lOM6KlAQIV3eGpxF^|42z(9=#u4M60G~^?)Z+gKD`Vo_q=U z05MTd*5N$X8q<}pulc2=#5dQt%~6A<%+Cw+LY zE8)oroPTIqr9HU@q3cB%PaeQ_r~SFCCj)UFqn@AkEH?iJioG}zJ>4DLq_LG$f0uD^EXjx zMys)TQdv4->l7}GvsNCRhwD6HyeB$ONb^MJ2@^fhdBVq@=sY3a6P+ha^F-$fvpmsx z!fa1;p0L0ZohK~vMCS>MJ<)l>SDxrR;TunMp0LgnohNMeMCS?HJkfc=kDll}VTUI= zPuS^+&J*@{qVt4(p6EQ`7f*DaaKICtCmixb=LttV(Rso#PjsGe!V{e*ob*KJ31>Xf zdBS;5be?e86P+hq^+e|hH$BmL!oQyAJmIz{I!_RJ^?s=Hgm_PMo?v;R^Mt4;I!}1S z6P+g%_C)6iB|Xu3LOD-#p74w(I!`F?iOv&hc%t)!TAt`Up|&SFPk7!FohQUZ=Lz+^ z7@a57_eAFjFLp6JYBwbGYV-&Kz!fqBDnoJkgoM9Zz)TfESOs z)}%9soSx{+!SF<94wff6b9m4bojE+_iOw9#d7?9i%AV-Vp<1Z?18R@bnL~9iMrRH+ zJ<*xNbD=)6m3o#`EDhCx&_eD<*DC9Tma*tsWt~vRTr@59zExwisvElZeXDw*tuiL| zc2$FrgVD)ULo14B0n5?qg-~OkJTL*-SEwlRIe%sH<MxpY#RSd~< zkS3usxI>_x>AkHMkfx#Hd6oS4M7($p(md2zN}8Cn9AB`6ydK)XF;poX327Osgr|~J zb=1|lH$zRO#A=>zhVHHRz8PvGW0J)t3wKE9=grWEO4QR*NbArd?paqR+k`S$bZxLr z=n9LjL$(QxMjl4X_3|x@!r&`}wa zEE+tFDh~R2FLYjts?$C&316KG)qRMjl_DylK1L(PyM_9&G(t_7-p}nGTFi11_0@uC z^+D)7ODh zLO&H687j-7pB#+}p%XD!q!pUb38TEwYD}oEuOHeL6GB6|6;)*yBW6NqEeq97S3o9) zvRHJbbb2U=UlpZ&RacT{hI+8*TKCLQ5{s@I&kT)a(Y5ZGp&2YxSI@$7X9pRX{auXu469?HDjT3 z%cGdq^3ZT8v7`Iz&;lvy>Ogh=uS08m@+#I#M(AfH3AK^8(1`jKp+iclxyRbaW0 zh%pTB;ORi0a z-eLJMw3X!$R&qM}`6<*8=Ui$hwY&+l*prUCStaS4sy&5R8v2L>Phip5oBj5A|=`TrsXa^1E@WUj>=u3M^udL`Sf&>21?{OqDzoHp{_pp53(=x9Da?M z_8~`biRRq958`=R^5?LPzEKPzKBH^>`x{)4CA4R!+4#_9vcJKrV$w zJ|*YJ`@NDYp?Ol&Qluf~N@x|12X9+Iu7(c!1$)$u(7^Jsm|R2fZr6SCH}7L=^fk@% zzoF5xRhn4P7he)X&;N!_vOKvvUR;0#!lHtlL(!orp5lFiH;lpuS&omyc?^;>oKR84 zBw*kF5Rwq?il+j!o?o1bUvGhg!l9~4GMmMTE0Bl6rK^!l6nmQDTfs9?gAK2$p<>=g zwlg2{X!uqwB@I8r5eIo9+^4n_Z;d?}J}*VBv8uE1Mc?qXI;vIG4j3DcX_O5Ys7sP8 zp2r;0vX=|Dm69Z77+RGJ&yX@voW%SrfIJoMT8~;y6zzMX!U-uKR(VToAFC3k>$=`L zmk?7WT<#?`EfZG|Iww>Mca@SPs<2cK-(k5LA1`BSgo6#KRg$QPxu8}x!*8lG3#5 zg`a(edQM4re!MyZ)DKse5{s!H?!qyVaVn-k_yd*}p4^-JH3;|h_46d=xj}fgPo9Ik z9A4uSx>hy{|ExsVHR9w*xhCO@EHqXm7fS0*!?#)b#>dIgYp;bvjpWvmXSNs6^XuVO zK4}SQ9q#IrBuM-4;wG_HV8T+Bt3s3sO7dhs~O)4faoU56dR-v2t?N{_XDEtJ= z>~`_u7?x{rxCP5kd(?YCN#QBYRjbb-7u%zTAHL1fd?TJW&A~AfuKb#cIgXejkYVAr zEcE;Kr69w@lUQEd8xUzVQPmFzURSN&9vdf~L(GV9EtcE!0^$|OsPK<0r$198uf~M0 zNr{d892?Hjg8E4pg@OUm8Lh^KH%LhmsSo4c3oTm`!A-q6JnmCQMN;2ub<10P9UdAMgwV2kI1<+%7yA*Yt(iLQK_>z>^n}Aco zMe!WP|0dv+@D(YsHvy+$(4>qp8Z5>$DLlQM62A9Mz$syeWAvMV=vhhN@ZC7kQMT&C zqTd9Z62_$QmzlG{*XmoQF`0;8uA%S6P4!~_fY3MPrhBpLY5@MPz_ zctPKk`_hxwvDeYp^OkxtV_iVdH}{r%@-Lop()aYf_T)tzP4pGM72&~hjin3v#qw7$ z^_AgEQqsg^#E`5GH*7^)2eK8vV+dIj&S0s5Cs30i>%zBL&f=>|n<4ANmD;LS^fluh zkPYE_Qc@D=%S%TgKZIXlc?6Or<#iVQJ6RjUZCLc(#Kv%EmSjBbx`0-j!rfWML*_n4 z(wBw4I6>d?+8j<|c^+~Ztu}{8vQT~NUr1(n0?R%~U@pnMXZ|h!hfJ5Pl0|(S6GNLI zpARpR61&E2yRX%@@HgD5L4$8EWKX!&+ws_f>EZ?Md2hJkJ0xkM8}95WW?y(MOKI$x zUqkkX3v^X6hw)E}`6WC+O1c<`ePa*gKzJX^|5y%&#e1sN8SIBg5OXM8lx0#YoNXY7 z!%s^|7nIk(JP%)6y>I;-3x6PEl0`;o)Q1prEId;6Uel5 zPwVG*@a_QQM0hPr#wc7JASc6@RL^4H?-;xC8O~PWRqv~%n9VV#!v(r2Dc3VjG)2sr zaA%gx%NTb7IU7!8c{LAm3CQ`d=&o9QR7lBh;XW)&(CTx5`J^1= z@9;U6&$r-y2l8+DGD}Ikds_!`JA9KRoEZ=eA$P*!BefK_HU~rt$lY*|Wz!nGxc~`7 z2D2Pkjo+Gw#79zD?*4$c1tB>ikvGhSskkRXAwoQ;C3kd{dZ#!h z|Bll#T}~?{;iDJS_Y)qB%wmiZ8hc{uV1OZ(}n-clfPgXKdA#T1C#WjTT4 z;ttl>BavLaiT5-fWm)K8&E zWtP+qs-MRq&#`<4p?(TSnn+1bINk|oKS+_t8!UfA9+pD)lXNHbM`yJ^7majd`42+t zxoBh{%VS+s%;S-fEYCtH=JCiBme-?k;%W5!MC3D;o{&mXzGi6=juQM84HK5mG90%O^`A zr6Vo+(6Xn?n6;3yk&Zt35mGL))+hTQPe-=<Ge^ za!DVARF90|enustatnDbvcuQvDM-D@SzoIPkou8?el*W%;`??1Q48`?q=8SUzVULT zy%e=p>mlZq$Ok@o3DPJs*e8u4jU$tM@;anRWVRGF&z&HzM)vt)-h(uY9QVcafHaR> z^~Iz>UXKL((>$ww#z0y`@=H;3Nb}q>Qq(6OBj(LW8J|ptw2n0M$s$PG$TI`g7HmHZ z)l^8kNOhkqg|v?}@X0zz$4C#KWJ2DK%<;({NSDZBpPYnrjcoPFMM(F^KA+rx^oZP& zk|y4%hr5zRxD$`Gz}BTb{6oxPVaR|;d!H18Bu2XWq%0&U(#t0mAwwgBShBVTL=DKW z$Z((3honZv`&zYvjE*ey$^RhZA{%`20VFMQ$tS}hA4eJvQuEvt^E?4ECDOttb0E_q zTUoC32#7_HPa^w#vJx^ga?2;*LuN;c3|2h{dIrRH$lOS2pX`Nv7OCKqBaj7=x;{Ar zSri$?@*1Z82V_ZPl25KfmPTg#fgK zA|)kZ2VYMQM?PSAu)VtK9gg%>BJ%{gG9HP{@X2UQ>u6-LPw1L*{J!ks_1TCnB4DvJuld8QJBNpCDP0LsBNnua57BoQYgiF$uS?;cAbp>0IP0i+LS) z^SGX#i`-^edsW4pkK{+?)ja; zs7&I7_gNxqo5h`AbBB_&zB`?ShDuSLXAT8GJ^ z<)?At5Mr)H=1Z9<8t;i0=O8yD87x=vJf+N+xC4r$;!H$WkT(VdL~Y1Fktb6~V#nZ} zNIfYj2|D+?6M2P2=YDr0ue0df@4rYJ7M=UujdW(wxu3ARv*_GU*nL@a?ia9=Saj|e zXOCpTYjJX0#M_fu3iGyzw?AWf5Vt@5uv|IpuUN`K220t%QiSumoc0cu>YUf*w2!d# zN2~E@^?-ezB^{D3_Oj=d`))&slW-oX7r#Md#0X?0fG$^V*wKjNIpGe)8ITrDO)y3cNFdwHmT7 zsTh$vCw`5334YDfu9T|w@X`rNB6hNr%)k#huw00-?P)C50|BuS;@BD7sxw-VMD4pA zlP@kH8ZX7&mL0`CC+-IWU2_G*`;dq1Cs{7W2gGPde!DKq_CP=^ggk6FVHu8j{sB_J z?#!|ft@c75u?I^@7XP4UTCRfjc9sC+%K!+)6tTNV$u!Kbd8o)n2eam?IA4nAfHH?$x_5dE65Y}e3r_PMN)oX`53YsQq2C5Wie!> zl(Q^r@czXOEOT-D50>2!c~4~DWT{vIWC|8&tv%wXGof#lD0KkO>5)+fVd`mF2J%2@{g3q zrQjlU39Cu`PV=1vKerY>ZN|Km}p6MK3+O9i>ddBZkEy1-3t)8@RupF+g1p)ZW z%t_DM=z993ontJu$_zY;=TWpap0pFjktB;BAH~Qk*-sxSnSoinR?FB$$E#M~JfpsQ zS;p?1rdqW*sAZv)B=I1gJIq5rW$XeIR4ZdrK)SC^;)-sL0a=zjY{E{ppi;AkW&jeexlsqP=69n%3+Ss(Mhxz9}V1 z#Q&v6HB`0pO{Wj(OhR_i6T+=j}5rI;NhzX>RtIdiEYEDG9pDSKmI& zqN{xM?JO33mZ)$4ro_uv>)U_%gwA92?SFkj8Fd3Y=RBIas)ABR{i2=MCr7b<8rtQg zs2uwoq={X{Cx1ek+KqkkALO?p`8{ZBgdEfq+62R7eHL z2lkUJ%OTaIyukA3={Qjb@}b>?C2$7Wsg#y1-H*nJ#*mNf_AJ97uSt2AMdy$`?2lM< z4%x#V$MQ*Hyl9P9J?+UXs~{bu=$Nd0c-98#<;CQDC{A>j@-??w^kAIm4e4#KVc7;5 zDCGc)&W-!nCs=fD+{gZxMc+5|wc{74HKy;I`q~9qbgtgdF2 zxq5&5e=Ir=A7FQ5(Rug)dlbuySc;)oih=e-miCa5QkJq@z}iTIB-$%k9>|YuN6KE7 zZJjVi2r|h2gQdY=$abXMU}+6mBqd>?TK39Y@qPhhupMG~9X6e?8nfsOE!pnHqBFE)dnk*}(1zNJSagOq)LzA+Gqhp$ zW)_{H4YT*M48hckuEg2OKFKl-Qc}tvEZ-qNtO6Ns|I2a^QcH^QxmrIu(@VAUv*=7O z)h@}RbFC3}RTiCVjj-#o=xlJL-H=6RgCp$;ELS)a9%avBv2eAbOn8+2rIch5kGzaB ztI_saDY0i#qwOk-Xr9&Yqt(Y!jJE6g_=qNhaAfkRMR1op^438Io={@W~Cx6#I3b zh*cOFVt4b20hwVBkg_p;FM1}KX$P^UC?~nN0ow~Q+b**%y400r}eg+b7>azOi$BrF!0vY3+clvWrXE82>%yhx%D<7hFLx$)X9L z!`IqXSdRUM?=Y;!SZlk1l!=0*7G%9WkYn!RTF?UWy`3f{B|)FZez0e<==0bQ_F@)& z9@}WIX3^)djrJB6eg4^G(-&{CEfVzkXOo@9qR(}k?aM6sT({Z2!=lf1nYQ_j>PMgJ zGVOdUbpE;YE$W$eA(n%Xn^H=!=yUj1yMk`T=kTp|T^4;!*=9Fk(btr1b{iIbKK#+{ z%A(JQKid6R^mXSadkBlZ?)+qrV$s)~?e-KFecjn^&u7u+=NmkgnnmXTyX{*nItSQomtCpWe9=rC1#2)0#jeOw8{$Z* z#iFn8d+Y`*`ue`dZpNZ>iM{qH7M)A%wP&&DTwbg|PQNfvNAeSFx0Y zP;T>!y@^F%We(VXu;{DI0sA(KKGPnwbFWfMs?W3s?MGPjS@e)yiAA4957~(<`f7F9 z9>t=sR)_7WEc$A7#GcQhuU1Fw3>JO0I%*$g(O0XZ_IVb4wK`_!S*_+-U#*VW1z7Zz z=(t^iMPG@I+Z9>#743vwmqlOEPS~%q=&RL9yA6xJTAj4tW6@WlQ+6VYz7n0XhqLIb zOqM-~MPFsI>`$e{s;Q^#)hfojQ#fs_s&(wTbK2f6W0FMzu2hu4p0@W%$rQRicG|we zG2e2LTQ?CC6vAvM?GD*G0a=xE(u#r2xy{b_n;Sv|Q!5K6cw~#WEE_)4F3XV;PH{sakl~zRmJ6mi^@o z=)h@#=R?%bA6SY{A@R;)mMK^YlAMm%pkm%Y&#!)uQ7BGFmZs>3dbXT?ETz#8NzfV3 zQVq*alG~Zb@(Wil^Eg*nreHnaM$dVjy5Fm5twkk}B5AX z2i58p`k`q(=rq>C6~%nc43-W&^@p7EEXNQ-t@1nNH>!S~Kn!iuhn>MJrFkg|INMov z^Rymu@@-PB4q@48o*#9(vi!&LnDd>KOrfi?MV*6ElEnt}Om*7Fog$m5pG=|av`;wI zq$CT2E4Rg+R4Ev9i)}&kT+-Rgt#swKlyiw&MKN`%<(76TW~!cbE%!;Mv6N)-4*H?$ zZW(7f$LQ*ASto;IE?_HDy|SdI^N=dehb$jLGNtrq zDc%Hm6r`$?%u)gJi}R|BFIrry{|*rz1VH6=})#VjvR#oKU*dDYo2 zB~$1sXjA9l0oCftU+Qh#rcSRfZD2g@nE zJ4w$1nmc_?s8&ZH^o`cnoGUCVAk(oFZ#YFys+a=3@NFMRD`zUpGK@x`rwpx~#VmP$ zR?}+j++w+beioxuYv-R+s-Hus<=rH3feh6SZ-jSr>VDdPO_NT?$l2QXZ8iv>bbDmpF22f zS$fP-zYW*HIm%*pR52Z$R==rM&px1zxQ@=Hi%Onag|UU0R!67kB_-{#-OK!l-)?Z` z{iUQBzFb=o(%D%BNx<>-Grkr46676cE623|RNcdNb^2dZt!hBtK+JniI!g!atH&Qh zUCUYKleUQYz$tWHwYqU9PR4xXv}Gy!pIT!*oE%tFbOz}1k6Nyt&XX*Yc^~WPG-mnV zLptUomdXdU%wQRGHD2!FJ)LDfc^mW7%X#dkn$~oV>El%L3B~kvK4zrq;veey zR6tj)6P*x?t|Sj~M&HREGsv02qGJX-8}4S08SLz4(J@I*LLf)BX(c)NSai$~r>&Je zW{A_BMaLvNgCp5vlAZA^I%cTT!pH;axL;mm$Cd&~%D8HW5zgLS#-=;XKS(SF=L&BEIMYKv!QtQm~qZ- z79BI*Sydu?%y?%ji;hWimX*vNljdw-(J>R84W+WjOmKFy=$MJlwKCabCOSFFD$y~M zobu(e$4qkSvgnwPouN-&$qGM(_YhTYEGsD@= zqGLXBM9b_kpEw~F9W&E8dQZ$u=h8hfvz%3LX76W~vz0~nGuxTeDtpXqXC8}=nd5YC zojqobGnhrkeCjlOD|^hRPAe82GuJ8JCVR|Wr-GDBah&g@<~fa|B#WagpE++!*(3(> zoy&Y@5XTH;S>TN0m?p@>Z~cs~-Z+anrV+~`=i#xS9kG9w;FC|%2WBJk<#4*$l z-CrzmrbyW&Qu&T!sguF2QdpKbx253iMM%><82#w9Xh+k+d+Ryy4ID^@Gu|hwAuFAW zQZ|WpJgsk?9PO!9vS`Dy#&M)%iu$-mGxnmw>6GP|=ULV}H8|#FOpE4ugY!Dayu|Xo z(^*QAxP&_?8~yy?tYWdTo=G-4mwZwZvejwaLCp`v^n+}7KJv*>$WCXllq4|_F=HXS zoeU|N;x3kg=6SEPn_Jys+3%F=sMZe&t&IcDC@HEH^>f%+C?#1?49PJkz7w^|M1@r? z=}D)6lw^#HQF6*@=9B05VML;{fLqn!?RCc4z%kFU{Oa8D3AH-wy!5u3)*sl%XerJ+ zouwp;ODw-RYd9tk=8)F>C1)SU1X+G}LjO}sN8daqa+)X@xzCB!|1p7em#a2i)I${g5QM|N3IAUoZ~Mjdr1_t7(x0-HK8& z1%neqNa5elHYyb7ei9O z9p{Vr9rCEV$QMIW$oQq;ZSi!l#iG?W{8SIrMCsRJqQmX)IBry!)1 z+ukQ-AWyo9zE+hWW!>q%m=_^WyE}dI2Bf@uiCfV&C8^-n>>AtdOCXipmQvKVAgSW^ z_r+|5RC6c$WDlf<`<1U1NiBDuFNV$%wcX1;Ifa<}xCv?C)|H~x zhH(&g{q7W>*pP;9hEE=WyyEWSerQQa8oPh`VxED#>gIkww(Qj*&D`Qr)UuPj=Dz5Q zp`)^e+u0XG($ZZfB}pDBbk=I+THRtj&pkz(&=I-^03+dwi;cG?mt{dten>wA1-*Zd(q!ePhx%H%|`62nh{hu%9Imk!uB#!wA zM>k1Nce_vCfb@2YeGr@07m$8#9iOa#3~=9)qNYWX=nm$XEjZKCIvniI;F!%UL)^<8 z)11%YLtW!THLZ1geIMo)VY!3r7oBNS-0Cc~aNVJvhr2DLB#Rm>Bi!*)lBCe~8s%Q% zm>H;V^f`>DuI_6e(X^5h#^CoJ2SLWWy``ii=o;F1cMyxNp^bObS=tOzqXg63nJnEP zR543)zhTkiDkr$>S@gKd32qk4%Nc6y|sVw@tVd-wVlq9hWBUR|GHr?ILG3AG=N=3SR zj-?2yM=It&me#q{FEymQ<$KZ`ZW3KyRioD?yR)TaiZ{N%^#UWErnsAYQWD`)-Di7I ztBr9TBdRhm-K{PqNu*R()0*zKkg`e4nyFYB7%Gu;cm zen@7y!9FxUN#YxnjA%(`yEUb#Y0wm#{AH(Teq-F-6q9lWjMCi&zn zWWGDkCv&h|3*2Kq`4ce+2jaXEp@y2TCKp;m$`#|Quu3R%WklrT4SH0?za;$U%6eSsCj-BbN{uw z)hGKAli@b#A8VBbS>djgqFP;meB(L;V#|I7veND3lbeuL?r4@_sF=|fT`x`VY~xvV1?jo_Zqf*9HpHn@cn zW339mkMRj^S1o82MyrkP1}U-X(`I+!AZit>K5ceavFN+4Ot(c+_Lxk!GmDPd;?5hA zJ!XrW!J=cfx>u63$82@QP$fEMo4a;c_Lyz%b`~A;qZ=BLJ?2NZ5Q~oa$!#$*d(2O6 zXBHi^-JLxud(3us8HqtpSc=wk$@$yk2 z4!R9lQdkbTNm4Qs^f>&(?pPK*>i)1hokfp3J?t)I(bv<%uKI<$%?bK?de~jTF?!7Z z5%&icJ;MKpyGx21b>A9uc*H%!LZj|GLXNtTd9++f2{WvC@s5;2EFXGua=wfalQ9yb z%rR=!V1bg~F`}#*g!SDrOF@-4yeyJD+7#2PJ3S4J;S& z1e0RUxwpSkt@`d!a^7`TDCuxhWeykI^DJVJn$`t(`AUjO6MKG&6Nx7P;qWzM2F z@!0361GxL7B#COse`s32yDe6!o>#a5F$b;waQCrT2jj)(kSp#PmWp_iMe?V6jpa>z z31J!JFSq<^>gQCT|7Yr%-8Hv`65|%09O2QPxaJOEImX|hxaQ855*u@J&0Q=dCE?tc z>W#2#ZU)O;2wexSx$9V7TB&la>+WWjw;*)=y6)~|nTe&KXJj|rUs!U!7%#e=BstEq z^jExjC*>^5X2@VEmsx7_@paR^$#SJ2zH)$=o9&Td7QR_jpD1gd|JN`X1LZza7DICX-;j1rhJ&tKn z2RRhB#clT$mNE~aK7?uAaa*yxhE~@h|GAx{#HN1tzNz1JKj2m~P1W;VZ(8pcS0bW1 zrd@3%f#?8kRWLU)COrR&iwj$$$cx=w3EAD6NzpewFsv<{1|lm?@1S#;$#cXS|&u6gE( zPLq-u&=t_h|GK$LPvrp(qBn$T`Hr zJFx|G_*nE!DVYI%FI+U*mt(%*I^+}4WRB5ywZ)=ySacn-MD#lrUC%5PJt`$d?8p7P zdm1BNqUU__7^F<}u1{#YKNSsrPjjeRy?~f!qTM%=Y>cOV+CwTtPfAG^?Xl*m=c>{2 znDCsbpsAAMvq zO-uDm6~z~#ReeJB!qc8Y`DtN7<|MLme>)J$z`Gl%-?V@viLbbRK(eHgi zwYW~v6F#BJ+yA0>d_tACF42d##O9FdZ0|-Z`-G}$??qqt302j)MSJ>$YG@xsC;EhH zXdgwF`-CcHJ)^sPLKT?a(cgVS)v&%%Yin$NsM6IxTEZt(=^7ZV?-QzP4T^U13Dvcd zqRBp?DpqoIj!&p&H7xp_PpCpQJbKJ0RF4`F{g*{o>_l$2QN5zQCf#?#_y~WYJ@HXGJ?miM^jYJ33Yh-UsXK&`_QcniA?@ZCWZ$@(+a!vFt7F~y26Yb2R>yT@r z-B}v`t+MyE(cvsq;iPUmMXG|?yWP7jibzusktTlVibxj~ z5S6BeDoq7JB_u>T#6T$0K}CvmsY*!*RhlSW2w(sy(ggwiy`Pz9bDQM%$2Whz^33e) z-j*o z@yJ}H`ZadEM;1eVi(TT8)sRE6dpxokaya&~M|MGu#1=jtDbKHvqp{^ZauRYZwy{Sp zLXO9F^~m3l6S2cR5}k#1QS7%KDF!(io8b}axjhwo)Fag6ni+f3Bh>ePI`**>s)TMI z?3vhdEN&m{+1O{LM80kRBetHD$hYl(#I~1`B75}>lqV~8WhUjEEVkkvUITI=w%}&Y*bY+SMX|#8;u-ne zj!kEojg}qBKe1)bQhDOVsCuaHpF>MCHj$-j3tT0r`}wrPQX>7v(OTgwN)_ohj@Cjf zZl7L0?M|+ke4789O6A7n*EU?pnNNOgH;WrnKgP`i3LXG}p&T*kY3sO@1$s?yB zns!i1s<^WcGnPPft@v#!bE?>gnTqubXrF3TSt{dO4JGYa?qei!Lm4xar3J?2HkLA4 zN~FGOXy50N+&w3Twob+*h_&d2ptIM|w)`Jb?cr37i@T}L{~uD_^#d^MwXSAS{$Z@W$)ygBek8@>B)r}K`_NdzT z%37oUL#oy?CP56xU6y8~udH>GqRvBlQ(Re_AO&-eV61*YJYk>JPN^929!piN|6SUP zcrgKU#r%f7sG)6VnRp{goP^ZUO8!GJN!f3lYin(##EX6HqQ%Yb=o!#@aLfw)IyaH3 zp0hy`(L#e^bJ!Iq_wt`#drhXHzC#Q+D0j<;!BK?FLDWE zMYMe^6F5b{WZ8yPfy-$1Yo&ZDpK@3;`ejHjZ7@seCeflhq_?() z$luxpFty#2K2l+@F%u@MCv^WGApcRf*F}+cqi;zKD z6Dg^p4q}2=(8kxsus9g$KL%wUqD@e#vS&dbqG3b$%P2A~DGL4f6f;l8sNZxbuF4_W zF^`OZ#A~;tWcX+mp^5mthH7R$Do=*5?Q&J;PtaLxC2FIU z#5}f2^>rs{i&-Y0Q?2zRZ4al~@W3bYNzw}ESKAsD6)le7J<%6hbt#!XTDu_;`~HR2 zo@IYgpQwbbf1wRvIrK`jn2NFv*T%Et$L~ckBebn7lLxDw_K{i^OFewWNb4ny(gFo& z>zOf8LcI$Zqt#I2D}WMG&1#I+f@99Tq1IFytMy?S&<0m7@)@Vi2p0{0*6;4flxo7kWjsC_imI zRa_W|*;*h|wc;#8Q`9y1mG&4**)EtV6fx7ZN>Y-=x=UEg1~OfnFC|5+$6KK_kQv(2 z7?txPNET$KHtiuLJvQR&d&q39LLs&9T_I6dF@8gfW10A3l;{hYuh~Uas;2mYlTt0x zdPqqYbI1C`H;7rPo#dDzxCWO&R%+*2wqxsbRDaN#6jS+RqQ#nynAKW^;!6I49EGgc z{0}R60I72gEjw-cqe_-Mi5cl3Y1$%|>(ipe`;e_#AeLex&!!z(?kCX>ZHi7Y3F1l^ zUu}*=`%7CXC6a2VHr1e*B)J|(26Eo19hMT0aS%SWI-52kL^1K=C)9*#y|z8tES9lL zd}0q$?bS|&RZPDXDrTQ{$yBm#VzfAjnEl!SOUd^vzi2yIj^GY(3^BiIr=>(ncu2Et zN|h?cjfoa7UPntxdx|BdKc4uI!&(O^DPk4M(*bfsTO%b|jKz#(eIduR`z+lNLvmdE zpF=q(i^RIoVi4qn*1;pAA-`+erKE^?h#@(p{pJx$by_>=kyOYT?GER&6{%)G{?Po7 z(Y8{AgYwLUWN9|b0lbS$gPhY=KCWW2AQvHjY7yc z%DF&bCCl50p%NAf6fUPy4L}U#TqID7Wg333zaS3>c1uYSv+zDQ<|b;(0lT~^4@nhB zFi@s~k_43JHHZ}`@|4Q?xubXrLmmrMkdh+yV!z@br2~^$+B}YV)ga{pcR1CS=c2_V zNW}mSJN`0?RJo|`htCG~KTSESr`2*io1P6^^vGIBl|cTAk(dL>=ed9-CBeT5HS?2@ zs(~k^WXUHQ)k&%by08>Dsh(fe1M`%`WDY`k@Gi1O;3mho&!!rICY5MgS-wO(m#HRG zGq6TU%xl<-lDAN23;3UrF)_5_9<7B`EASf2S_p0Zg}?+QvOHyws&?QMi~EGF6DVF; zZHu0;%@I>4(1C@XuzetP1NW6=KVjIW{d&=Z!XUu+O~ ztqP@zJYgFK-eS3eCu}*~ks1c3DT#@}UeG=2rN9lAsSt{JIZ)|2l}``k{4TcjN+6Nt zEtPuS*xKs9xI+;gmX;D1uoIcDK#G!L}mn5VCzUWdJC5$M2j8(;2H zJ*q`uFpE3hrbS>f%ZBgWn3GC;)E1`q4lM$gSnA-4qZ)OKz+EYkyJ(9*?x#bGK>q4f z<^(ZHN8gw%Pbn#=kCnz90A+3&D9=*wbByYS2;55Z6({c95ZgMJxqz#Ku7q0)=a;m<@>807(oi zVu`~sjJ-?uCi{66GYk7(6EZw7fh87u@it^+pm;46bM&()5f2$1=*`j>M`Jc*OyDfb zG{{!SxIo+sDpgPXI{!ev3>=n{>>pn%TCB%@O$eM+B9=f5lyE}8|36BVEDqzX*$&9W zKy{D&ihNQ7<5}Lo7~q6|P}2)+kP5S*%G7o|rX(!u4oR@lKOt*5rv<8?ZU%VOwo$ZJwBQfhrs`ne$l}XvX5N zpi-^RlWIetGsi^Z2}66aAy3SYfloQ649EPKC+4TXB#wEOxBgR}n2mvD9HVp0#yl~b z0$VwzE$`{3JTaRCCpo4E$863MvnB8!$JFPTErDQtI?ju6KoMeowqK!*l$TcXrUDkdXPtsx24 z+rk-D572&71f9E}5knVy(#NOd5Pu42T}C-9U(U)yhi zQ!lB#m{AoqG{~XA=|)OwJr*T;K#m0Ncw{={M4-*f6q77I{tPR|LNWulrKE}-$eG5b zoDCFitYU&~Q3r?o5jZX-RV2TIHFhz^B`Z*>sfw957h{bee+JsHbotIFszI&>W+=(- zySNqDlt*$u8E*x4%NWey^axfsK|Z$v2Xm#mo#$-19XQ3QhLu2n70P@&a88Ok&R-y( zzXK1H2)ZMsK<)-gHlw{z>z0%K3c~78yL$m*C7=1Utki)%-N{&5y6=p zvk^iuzTkY0N!p}hqJm2~W)_5EqJwKW=56$$QF-zOH*?IV5Q@nk+{rOlHeoF`NP*x1 zjw!ww@0X<< z3wh-I7a>%hhl0hWq>4GEe4-r6h?rmSRO_ z$RokWT2jtQ!dMg~)@kr9`f{*kJDSFgAEt#w3WnxYJ(3og{Be zAb68wO5x2dol&^4wW6&@at`LnIT&m%V-iGaIgAEEd4j<%Qc}dN_-L^g^Oftt4zE%^ zDdPR1(c(VD40dUqGv~*HhhCF=DxbMw)af4&-c;hxoTWyqmJZ%$xecNBaixR#Uze%; z@iSD+lffb^6Co7yWH6Sc1LspFXtMO@e9Gk6ud=}>WlVzj)IzU6%2PI2Q%dA$l*^N< zT<}Fsl~NYt=BQ;7jAMBb$A_eRo>Ucrn>i+(w^bo{P)e$pg?VyXAk|aBb1W0_g-Cly z#o!H=I{BhR9ORi`@i%fF)#rkP+mNJ+EPP$H6*12RC$l_O3iWVEwctUPi)i^~LTUu# z-c+glh{;zBee}U}Daqp9l|E4v(l8ikuVU8GnF47P93UlGG(oTaGmw_SQyzH@(l!|P zmP)1JOgRnd6ik+hgER!(eg=9#uyApXf?hlC%_Lq_&R_2e!s?H?)SeE0Suof~j zSfLwjJwxQj*q)=1#Nb$#zzD3T`G`*p3$FHv4f!H?ish+Mn2i=PA{f(MyRaR@>!N0L$wP!&MUHo^7#j;B0~A(E8!EXf<@n@5@9`Gysanc!A>kqcA!3j68;hVP>Pyo`vGFIf=PBXE;3xg4gbCtR+*|1W zb1_fMrQjDF^9$}a)Heu0?ZoZ5rIyQ;;8c#O&=9@9h`AD6AtiD@yc*mjB~^@Xgky;E zTn!fQPg_qFt;a@*$&hQo)+}HAi}!Vq8^KhTO4!rckek7IETP$$kri?)xKB#5cntNH zRggQu;vZ7Z$>KP!cRIuW2@aQ%Doi{Jb|B_na1l!t$bQI!;2Muyh5Q@5$5MZ+dLt(E zz(=ag6@FCW(;Kin4|x=CsiO4PS(A(u46*eV zgH+6L$mfv9^mLYI@Xb-}Sf6-8FZC(KB#R{U#dUx@sZWxUDz;t57&Ay&eU?Z1K+5ae zS&mo27f+CBX`q)(P}2U6PbAC5g?wJt zJF;{yjPomqQA&DOmPP1WE(Cc+@58bWF(n~Q^5oo9AILEuR}jKROw&9u&GclBS%BKb zlZa`if5$QbsYsgVN!3C>&M}P}s+bmeVp{6ehS9z!2p{^RsLtO~|5!?rzwBCvJ-cr5suj(mEWSi(&l;>4_judsLUECXAtmrFMjL=@gx}}JDUBBs( zmmzKRx=B=?Bth?PXg=8XdYqJaan6Ue4iWQ~zCucdTt64x>f#-J3#X#zavO(azY>2N zv_WPq$2Tnc5f*xv^do+uj`|svVHp2IF`e{_EERuIqbxe5dZi)HRk= z#3UkBFTI>c#z6Y$bv-f(@}d5gN9I62(La-tEGVBfka&Fp$NbyTCum!V`Z1O@XQRXx z#0=A~vK;sjb6-P}^g1I{30vV8ya5@mZ(#ZTkgD5^(q9=#G0EZ&jJyiyn44ICQ%b5x z;g~V{yDT5GjMaN{sssqF`8!S@I7)5n_6f{%-2pl3@hk;?SMsGkf`yK1IczIMpT$B) zm1Ls6iKX?M7`pEoqj zh@Kx{#w1)9GxYN;Z{s;Q6*r zDXF5tJ6IbRspjaTS$;%4>KJ6MK7mDaM2+zhMs(=YSSI5)CHY#P$MW=ACEw_aSPqTB zs^5tDR$s~T4?j=m>l;|2&qj;0*w%M?I?D<4LsF^*`fir$-PG0>>IYd&JQ*lvk$#-T zkGJF`i}kZCQ@>O(-|LrHnq!m>#VpZpvP{0GWT}3i#Y7*-9h7I8-es&hH%RgusD|Ei>50Eazr*rFbF6`mn00!-aVix(<6ebq&>xl(x%2;|mzAP^olc1PNw4jZILIcw zg-579mZrCnk}f7LMDHek!8E-?u9$Q^Q3~GO3_<+|`K0Tm##4FHqMrW(bzaC;y}Xo2 zdA90xrKHG~_#GM3NJ^5w3*LWOcoVu+Z_d)9X0-TM#=ODO3z9EHId@=Lj+!u~%FyFj z4nyb*hzz|CO9LE3irJg;K=}3vVLmDZE!-Dka@F0JZNeh}ozAHIZVH z#XiiaunV$ZFPy4Uy^XJRE<=9NG5w~Lbl<8@(c)XgoY3Q@s#GohMq37QQlBg(-FGH4N)$DH;*4Ht8pWjh zp1q`2ocTkqE+t-!MIWq=m~(m~maaHH&q2=XWu~i~6CaKi{U8_g2`q!LU%Md}^~9MJ zlPuDPsXM?m{Q}FVQtCRro-O;IR53U7&@7d6D)K36p*5j*k&^DKhW^#ckX!nO*{aNY zahzX)+}20WQBocyYzO&UpU)CTOjpPqJ)LFU=h0#!vVH zrypb~%IC&?{mwi}l_G9zRD1D24}7hpUy71{^&Tv-s9n%K>OXyvlw|Q;b*$!zoQ2Wu zTa~KR*Juku@*Cr&r287#(c%Rg{rtv&`4p2D?OyMGV~CV=--~H@M~@i4F`T6ke&x3z zF-D#5C{?_8ykfN22`OZZU!>&fW{gLIJZ$7!tmJGfti96|3%&1dWnXB6lR+Sg2y;6}RsKM)(_BrDXYN49tJn zx?voYlIe3tnTCwxo>Wwa3>lX==7%Hdo3*e}Y6)#!^^4N|Cv2RTg7p-ts8Qu%Bi~XP z6VrKNv^f44T0n++Po3#=cpQjn6y})e->cChrV*49*$dOiUBfqxGBPGX^nXamJAi34 zW@%7HiDh(PiNf2i@Z&yV8;LAu%BmR0cyk$*5N{bY)lzuO=*_abBzotN>hU~VFJ+{1 zOegdN(vdHfC+3O&kIds#XK}xzo{GFNWsEY*Re3ThV7wBxUM5dI<&5_@=4;-1xjZrD zjs6_-BFB`^6H~z$$}x}Is6*i>RLB$alrfcK${`<$dCE|;TST6oPaC8THH;xLCeqtn! zLp*{yTV2TijKwU8-=GBvsbi!|iJY1BjeSzGVh*2+5^WJv-#9EK$$uX5j+9I(@nY64 zyoG=?FpB@6_WjK+J~0{6FwcH9G7icZHOAw6#56MQD)HCC(V#1?iQ!vK`6T#Xg3wdA ziSdw>BtNb3v<9h~8jr9f4pY}xQ$uIzyGo6XZ)!Zo;(nLZ)F{VNUsKy^YE)*SUIE%x zQ{#D-lSwM)W=4IMx;xO1gsnF-UQr_NKYOL1!1&9^PrVQ)AT3afkH`f`%WQFL1+Qj{ zd;YY}7We#lJzLzfrA@ZDXH>gvaew8vvc>(C-*Kgg`=^2q zq@KX{jgEXYUQbi~t6hz*ENw9Ef_}lSMjt8ovK}Kyl?-J0?Wn3Tb~WNzRu*t&gp_#y zHVFL|U5zg}rqF%Wo7&CDkdovd#nRo_!!i>>y{SEn-&tOO(AIkzSuAZKlygtxFDVKB z7tx1CF};l9Yv`;~R~+>c_cGROkmsQ|g)#@8@QDwM@joi@jffIuAia&4pGe|Gg-g-0 zZ@IVeqLc*xJUrj4Bc_khjAa#sYCC<5;Vc;()7Ka;CCP7Ij1vDts=mf#mP(KYQf9Nz zs`0dDbU))e7Fsoa?jIz}S!jj&SCFc|v5tjSsDE8b8VjvZ-wE=ev5SRPsP8G|pcHkT z($V-xo(bMjULUilw==4`vKui&vxV|G1R0hs zZayRPx$b8zdyn-5jEh(K?-i9=U%rm;PRQVTU%yGqiZS-Sl0imn%Yh$pK z$XWM|QF1et2cz;(pQm%|TcbCNRSNIoAm16gS38w zMjiEi8MksUx<< z*vWDZLPspk_(clZgLp&N9;woen=G&34c!pPRwJ-IXL+_6{iP%b8trV9!8=W34GWE1 zZVuUH-14OA3E5+m*+KcliuyK_o0qZU;h8!{OvQ)ztD{CM}ji{Zp^(^0#dQoC4MT=J(N>0J8g*Hy zXZtSXw9%MlKDHHA7Oj5cRhDrz(Mp1xHQKY#NW$WfKa6*!B>B_%*_~zdWI4gl?sLXR zO0v(N^F~rGxnQJns%}G~M0gRt)-h(V423){X_nEQ)cJhHh~6d7!|Zy?6{8S~ zd&T`_l$4U-cdyf{Mu?>pAD?T+6P)T{oZ(%t_3Oq{EM+0xq*P@Yf$O3VL+z?xoI?K*$1I3_ond)%a?o&-ZF-=EahwPwlP{tf`5{&YI=Vg19s=U;{Gd-~FEPjN(<~3htC#|zsw@vB ztC#|z+AJq8s+fYImsoB?D4&9%7AzakDxvRp{Gm=PKSSsXBY&u`lmu~yV`4(fIc7il z@87{)A||wv<#))tQhsJB{HWUcL!qNAZVm0B&}kO8hW1eCqMM5E5`{uHSZEDvx=R!a z-DlAr#Rxb2f`vo*_Nn7cYgqS_QiO%p-KN@mk!C&!eG!ER7*FmL@hdh~+H^jiu2-iBckOFax299OJf$0-@etv~R)up71Vr?-(yF5nohU%yo@hL`GG=f;6{s&|#@gjO$n?vl- zBq{NNzD(=@c`US&W40rvAEZ<$<`+t(#y*XQJQ=DeCBfemJybIwWkMZPjHr(DFipx2 zQsPAy^k(dZlnY(um{yQNxY;}%Dtu7pj2Rj5v`5U-A^)!=nZD5t@FgJntg3{HvOI$~ zk5s#;n&)U#3&qM9)uyHrRtwom#4EpJoZ4!vu@YMR8|92%wE<0WCfq7720=5rD}5%Z`L5SLzh@O;j6K_QVt(hF<;}|-y4v+p&>_IK0uA3uzjva$M!}B6^=FpO&Gs zCzWKxMTsI$VH82=YNnD6sMA)4bPQcOqh$6>w1XktLbLu*vL1Un8PX@@&r7Pojn3V#z{2y&$QfH7qMoo_NTV(D^GWRZrC3$3dor_Wh;gGTL9$ zAu~hOuW}69UnFxvvsj8C)gH*#p~E*+%q@J^7OLnI3qqxCEBR(Zlz0lVB-Ed!5w=b- zD?%0SsF*Z7F9t%^g#7=IB#2WOQ!xRuA=E)iyx90JdgLIRL+STbs-+##gHZ|Xf>4`$ z1>{-x5%QS|*%>OFUrBF#Q?nbgH`KczNs{>B3w$vL`6blGuVP-s?>_Yz)YU_q3MrX` zGxIyh@1g32m0Vtk)*&P_G@j)&Ms#j~oC)1wS$++z4aoUWnIbCHDqP)nA(ukCiz?~e z4R_GWsKtezET-f$v|-CZZiilxqOLEhUEIxc4gM2qCu0&sRt3x@gH->7dP<4ZqweKN zb&u~_38F8?T+&@DB7^EHxgT<8gq~a!Jx|E_-;g^abWOa87!3I@G|*E*x&w&tcqQU9 zI$~>3O9|I0uJ+5lmh*+%v(P;u75U@~cVnS@0!jXGB1`-|oMVsz;Y%!E-@tcWkiy|< zkEooBcEwSLJQBXi^5A{cF(I+x(Ir%jjw2uQEZ!W2kF&fMhxa59Gu-1*6%!5Fh%%Q7 zpJ$QimE>?Y~J*^u~G?eVcd)P~ec`3Y<QV20Ea>%2QR^e%!Pse0DyCAK@)50p}cW|9HhO`U&EhQz; zC)@$jAw0k%qag2vN82if=IZ|jk3jl{*F2`=XI#rgp2L?5;lxr(YGE(v z-OXp=gDkbta%qB?&%=SzD#pg$<|9aA*k4A;;>EaQK}LpOFRO&ErtctQ!$VjG;LKbG z86UpG(&bT%_<*E@dzPbA8UEvUqC~+TFj6W!h@}MbA(<2&!SV!JNhKhY!>KIKLxNJ~ zv0OWYnL;5`!pm5E82j|Hl#MLCkK?Nr$kgy|mSK?Br5t71@h+bDkgvk$Sg4-)$zqb5 zEL6`NA|)r>Z{|i^_k%gEL2}jmC}oa>b;fGa+wt##6tDn>QY9qEYQ$~MG0qzQ(1OE zK9w?$h3dVHkZMkN84J~Wn@QQoav>Ncl96g|csEM{JxWZHa+GB{zLb0mGB13NWeudW zlv^yP188?cz79uKP)9XCa_%jqI7?%cFcI=iILy)sGEz!;mV7&-L|MqU;p!~KAQh#& z$T9^|6*52kD$6oREh!yYYG7UZWsvW}y;vGTR!bSo;?8EgAUuM_oy~YbcoK^{oAJW% zJQjC04r-mIe^&2Urmv$#Qjx>J?cTp2SjUsTx_dGW@la1VK-| z&A7L$3U832p61)6oc72b$PZ!v({wb_qJBXQHU>|k)#0aE20*Ary*B(R%Vr2YVb_NT zN{PJN`YAj@3g!U(LyfiG7@ok=24AtAu8LYyxMW4zR;q}yJ#RH2+rl?l63~0l2eKnvxsu9f)w{TVLw1E5vy?<#Gy(E+xD(4mnbBe_WN&zy zlw?r{ZxE(K_J=R9EMB8Vx&IQr!?NOnl3&C9pP_9f%Q57cNOdTD-Xs4(j)Z4aR^=)A zC7uJAE$Uc!0m}<4$HQw_+_C5f>*Z@f(W6m)vr2wZo|39 z4Q7VFlrider*VU4!nsE^WQFI-n8?V7tnfl9k+=Wn!Yfoh*>C^Pg*SL|E`(~``S4kl z%ICgKJ|CX{9PLGts1Z^#MO+Lol@e*=UktaXDr5Zj2dOLNVz>=U>|k}JTnu+)IaNx< zTncw(`4>VxLYKmQS*kvvVlIb2VQC4Wn9Jb=DH%Sh1FXdnyAqzlV)1yStKmf~RZpq$ zNY^kXo&M7EyQ7${hc~I1>@l}D!df-jiwxn8xxEoCBPCJFMr`XQ|ALV(m2SzLy>C=q zQEyb~O!%8))VvuP$mdSB(3{5tkbB|r{c?Vr^B_D>Ze9KE)Eo97oFXO5=Z;VKH$2B9 zG(O?K@G?)TzmT)f+|4oWcz`I=u1QQM-YRRMD~$GD>r3Yr-#iQlL( zCoyL3bG5Mfng}U*}PCwG_1?AaV+j!_od7vPb!*QzLfc` zM`-T!C(PeHLNm9QHvjWTbQZqGF{{>&Y#lFDMH%xAk5EmftU1;rG}nDObBRaBVZX|o z=RHDqn+oPjbs{;_{PRzlaUS^uV`-a$YR7)GXM4n^=~|52I@v~rupY9 zn>9Q_^Q%8=_V&mS>{k^t*(1Y{^K<5QkI;<$Rm}??nSz*Vrd=1BUMfFI~I3V_UFx=Ebh$hwakkw?kW{8m@)O$w%k=JUNE0zc?;hv(!Rf7HezvC zsraAy9*et5#sADNJVL8f)HWBexT|K=HMg_4t7gIwDCvMlaB zp}zSNi@Rn=eY1md`x=oxc@N1lc>G!L;vU~%f zm{w*I3%xm_Q97@hV_E3U5#4`YH7Bv`I2$cvTAMRjeuGdWtjz` znAgm;ESWP@KChdbS^k1h%jf5S+sXl%-iP6ERRDd z=54bT%kM}<$N3$z9m@>}9m99b&MXy?iefsL-B}tyD5itipXIxk(HoCF?Pv~WSqGtg z?`RHV*~KxP%rPv-Ii{1D%CfXkw3vq@-`Sku<^x$Gte29 z`3tFNWz2WYO)Sya7Ojl=uDOGyF2urf@I7-sOFIbV^PYK>WiRrfnD@=oEGHop^S*hJ zg+?{3M+xK18!Qtc+oarQDdec~bT#w6q|S{}5Gqesvj|I($5cMu%tu)shfqGz%|R@Q5c*Af zn~5yer>e|-%+W06AXMf)=0qt8{xbNLX}|iK(^;N_P)uL*8lP>b?EVZ7ejZk&bGAbDtDdL!+AKhh|J8`UO*EZTT+t;zKjmBT+Sd z;v=&ri*^+CbjSd+kw;9(Ky!kWB++gTdLdBv8)VM$NEyToHn&TOvD&8#s8kixKnd!6Sb|=*KoInB$yMLDw&6K{!2)r+2u7QU*T7#Ghvu{p5-FW zF_I*6$m=TRHJrU9Uzkf-%HbL$8E&3pX^*Sm0&*T<&U! za~^MNL2=Aa3z=drV%ZKUFJ%>r+mAif+{NPdV^1{?N{P=tH@-5DD-kJAM~UZ=&sS#Q zH`Q^bGwKb`Jo6^Y z_jpp1d~H@~ueLr27vN0DH|B7b5$M7D2QuHR-%-UBPs6-xbucfDnfu+%VzULuOu$u8 z9WhJH4xLo0-#(8P^&rd4-cnKoz4Pq}Sz#9LtYS8yRxk{*%6zH|N#vfe+N`4_dq(=z zW+N7Njpo&63s0(9$Y*t)^Kh*>SjHsatu4OaMa)`r9OpwdE4uTqGbgc7&5G_(>&#g! zRFm0&RO`+8EL4-(B4rtiTT9tsu4Qp+DI3f!EN(63M{_5OTTA)T{DsA>rTkRoHoc&Zwp?%+M7GOG!8DvbeRBbh9zb&#&V<7aY~CW-FGX zkONZQWTBc2t@@o|c4k=zq1C7}%pNRMb2yGv+sytfRC72l`_6;RA}a~KQN3Mgi~ zIhKWL7q=ig%v2VtUC^4*JIt9ZR3oC8o#wYJR3oC8o#s*&w`R4=T*Knltah23S=<`P zZgU5VTLal`9$;~6RzI6ZS=^e{&*m8xw`R4+yvX9#toE2US=?I6Uh_VSTT9t%=6_F} z8&pf7bAF#$goSD;bk6THW0lBfB|W?Mo3*5<8G+2Y=rcD*OGy^Zmg8$M$N_U=oXlAa zZ;9s#ydP&XBG8oyV;dgw(r2e8nXrKccA%vmg3+TiUZF7^V}=LF8S`)t8I!#iXU*G6vRiFu&3{>Fa1Cy zr%WYBjNg({l!eYHC9y1YuKMazDwBoIsKQc8v(Op!h?I&fbVgCkA7(WcI-@A&53`OE zS!Sw}WSP^XsF_A+PtTc^dZ~SjtGb|UA$@|5tZS@Q$h(*%sa$2o|Yt7bEnRLopKa?R`{MU{u@ ze%H-JDe=NW&U6fKnwM0JD93Wk9N(XEju-u#qi&3RZkzc&RFaNghf>`&53@AH+yABw zFuui{_K}K7L8>;82j&tfk>f0^+&v7!S}$V~#M1%P%8^P~o0Z64xfZtNvyMqg@{jov zZ=4YmWu0MhYeZ4jRhBXXRn0sK-`8Y=P^N&Ez1+vBcQt2V;>drFn0~J%mn#0nAV~ScwSf=AjY1R;9L9OBgR6g%x zgh@9@am)0`XOKs%Cp|I+Qo^d_k;RZ$s|L&8cYR_LBw*F`$ZwFK^}ZC$Zi;Q)h8Wgo z9P?~^8SQ3=ah19PP+mnT&@YZ#~Mi!aCRm+%JH8Y4wrm8EgY zm$&9iiL4-5!KyWgj#%W2_zG6wQ;q-^fQ|&bD%;rHsjpd1O(v*!UiL ziLKmU%|B(e9jZo_()m?UFGGB8880 zCF_Kg$i6>g-Qk?w*#IhAl|IY4@0G1fQX>0a+46rbW3u8&J zoUu}pHPp2w6*TCEW`V5x(460@+D9S)m#?M5!2qXSZD<|>OE+0m0@w$mwC&o#6s)K z(2;-3s=-3*%d|s2Z(C}7W>$>5noI|)KF83?ER?E))kI2KRPhhgj8Yw~)>70Rfa;kY ztq#MegpoB;J6gS2+?X z&ff0Uw^AZUzPq)7#Xa&ptgBM6Cg~LQ6z*l+VYvaJ{;^(`Zv<^Uaus}F<&zS*3O=wj zkBmWiKCr5Jq~K7j5@^-+$Q|5Y`dTeLLfh(ZO^_0~EPD- z&^=cNSaB@wx%!EE~AeF-qL|pFg(} zS=`@rh;?UN&X^&Ve>_Qon4AyeWM9FoZdMm5@nRuMqP0;y)oBdy1!WW`K>1Z`8qjIwI6tY8_<_ssMn?!9h|^_q;~ zo+X^UW2_DyIfi`3Si6;osThe`2r*-=Yf{pp=O?M2gk?9%Q?dz0kXoaqWcbHdRXy9u)-)*zq7mjqt%#Up>kh}%PFKCnUs`qw z<(%PvbF(Xrl?bXMHASi~tv6Vx9@PetVs(*{B&hD!88X4@$wGBMB_Byi5VH}}OU8_0 z$y}nw(@wNjvDCw8gjI-1<)fNb(7o49wl2w-wCI|+`(+|#inVeAl{qbX8{fyKS;HqP zxr6&5-CL$x-?NlMD!Q-Eur{z%hS2?Rrj?$mQe8%Ci++pQR_jShb|Rn0nxa?D`iv!v zRFv~vYdp($=xwI;8RuEGCR3^u5i02u6_Dy1tDBUx=)Ui(eCAuTrKpuL>G`$5S}i3( z*tpY9Mf!!-Zk9GRRqyU1>$H?4@iKldO10R!$}#QGU)KQJ`rhg>MQy!3#{0bjS!Rur zk|Y*ld~Ykraw~}m)R%6ntVJH7=gtq- z8Yu~4?we=n$iI3K?Z zVm4WYSQewbycn{XpK+PKjRn;+E{&gYnZ5@Yold`LIzQtweJ%Oi$lxbzX3VTN)S0l2 zpRk!R&+rp=J3sX@eItshr`}FJKAFBX%hd7N#ZSFV-^f?gQ*ReP^)h`8_^G#>pL&@w z70#(^a1THAGJWgstEb)`tCZZYcyaGKzC}Zs_gYPOPu(?1_h)ZCYPs6_0jo2|xT};N zu==vNtCap?#k06;k{--1kGm%6Z`txWm+&_$g;Tk!l>U}|4BgdE4`m-iciqy%)?Ae; z#$C7cNcPciS5-S^t&lNU*=x+5$lkiU&e{oU6X)Zuvv$HN`YuicoC&4&Vk|L!_Y>Ax zE@3a+59u4s->tR%WK7Jb6V-8!$Ulgo-phz2p}wKSZ3X;_mfbew{Cjr&x!h~$!GfI1 zE@8k{sZM8?XW>3op3~W>rXe4?cFts{`T?`G96>&3tP@@E53B~;_6}CFlH!(m+DEE? zHInK?vD|XHv@309sH?j%?wL>)6z~xol10R5Xe*Uvu-&Kdba2Do>;)EbJOA z?sM5^w`Osldim^|EbcR@c1!uDAfYJ2X1SoTei{0gz{>dR!Av)i7J*`G*BlJopi2}{|D9ytkl!k)oG zU;bWzJZUeHqEasYW&QtY`14AfM>3Sn9BBOmMy4# zJr8--RxQoUn66ps&i|azuY&hAsM zsr{3bNY2gjJqJN|N5N!)yfV?$;j@_ zc-3wpC0@!xZ0mJwDUsfc zPWCG-G>V&^=AG;|Eb}4MN7TtqRU+SC&>g$8{ezUWD7XF9#oo^1w!hxBAN!HEo)+b{ z+TPC=w`CV+*W(zsJ=oQLjm3TLbh9V2xNWqa_AD0nxzj5 zX({S?(HXza0Q-_hdO!x+-8WJRBmH%Q>`$a*`rJCwAbTjsxIK7->`^Rk58hyV0*l*& zH`t!Z;`ZQuYAMTTI-2+p-pm6W87ZQVR^3QFYK_4iCno~*lydwy>f@!6=Y20ox*T?u#)WB>F_+) zX(YzIPKVoxo_y#!9bs?UOeKu;OpdVkvADJFk#>XhoG~NqR#H@%>HHaGx0jME_P>kS zzi{o0=A)V+=HR(ZJp*IxE;1%VKFw)v%(1+u8RBciP@QeOJ%nT2FKCjp^O<==<&$Es zQZfG8yYQ|OGrvu6WBhJE?F4%>$GEfoOt62JlJ5Vnm+GgTVE-yb?FAi;3HE6z@uK$$ zjLpDaOt9}rNff7lj~1=bzDl(lY^9@-F5GKyvfW-vlA!aDY7Ud_L@DvYy_Tog%UJIJ zsaji8?OiN1&q-(GJk>rdC0)=xf%*Zyvad=>5^kMjx?L$lZJq8m)cZZdep^bs*nkq! zZ!y#EⓈjYL%UWt=xe(Q3$5)=wVki+ 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%0DIYc>djHiy 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


qTxqi-2J81Rv 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
b3;w9JEK zYV#nCj&>?rXZG6mM_Y2dW7{(0b_M@$!vETY>*(Qb{V`RGbuk!cpnjG>KDm5(`ex$; zJ?le+THoKG0mBdDC5yfgI`*KqfB#*G_7iE6;#f2h_+IxZX@Y9*Ln@lt^a!5v-nr;IC(2U4qIRixvP26P1#_OU zO(`hx|KD=EISa>t(%1zr-{v4*5qc|MPq3KdRsB)M=OeU~B=+lZkHokh|GuUt&RL#z zJG8<{QR>e&_c~**#R$)*JwxuX6XoWn9lRS)oNGG5Eru+`s6S(%14OBofSWSI2=aDc zl3?DY=o&N$xwT2C+Gi!qVMgWSWxnP51FvR9BCd0|)JcrmN18|-I&~;+8Mw)`6-hLx z4Dr3t6m8>dxF!5_!!=8cWCJtonTgB=C)b-qF7CG&nlVvEL>c^M@Zx@Ty+S zfYyxZgBcWUZPJ+?4xlReuJHMc;hamD9zl#!ya^_NAi);oJ?h~^P}L5SIc~bg;Bl{r zuO>ahAA}PN^Omm#RO6~=gfN#pyF*AM+p2{aaHnXqmr5t6X1bS_d=sGD8S*F3?#Sr~ zxhG-JZwHin+*uW_MeG(c4)Qmuo&;)ROPgzFY+aU~+c`(+GaKRjko>zP2QCAyoHW{V zo|!~>nQyU2iIbp+w@2iJbX(F7ho7bR=k~%cz4dl=i?EgTNpgO>SnJDDcZ#8VqoXBG z03C5dkM2}VeaziD3r888k_WtU55|C(;m2`wAXx=^PzBLq>UXA-W%qjqSg3e2Z5I)} zie;FSqzr}QGOa(dNal=+kkZtRX59zW&^x|jph**#EA}1(vlO3c%t5cT1{~dYH0?vt zoj&LE578|&b#%XqIrM`ouC?p>9Y4J~zCM296YB-54MQd#+{!k50Z~70T=z~=yct$IiS^TkL(r|JN zUW`Pv4K|oFNQarlR1s8~P5w=&nc>pgO6zJaX7(t`@VGdqLUU@ywaC&is|qn0aHHg; z`iKw*iKK%8R~LttSlJrefdR--y6V z+I}zw#r>S^4QK4UK+Er3Hw@Y2u=SdA{f+}tor!N9U`pYoRlk=iyt1Vo71aAl^04k! zKM`$l&VO2o|C_`g?y{4c-3N~0FYXzN{y)tNW1fn)r=N7jiR5;7el@w*Kfc*>9D5K4 zGmonYmmc-Qr&-Lx60JV!TEH|JNst5LFVAl`#EBWjc1v;il9&W`K9F&hhD9$vM0l!; zQ;^E=h&!JlBa#XWhTJOHG8lJw-2TMm%Bk_XA@d4$zldNyo&@5Mb$Ly_gX7qItKHG{ z?bZ3&=Eom?zBuadwgrf1C)n@}N|^JME-0}`j$acIQ2eeINND&dg7MIf!9HOzeXyGOF|9CE$X4vX7YUvDlp*BGEUkLfOcDMtjJ<1+giPb49z&DjsB zwTtVhfaD7>LfB$O;26UoA7in#@MbcAOOA{qq{G#s4beLpf&C?3LJFV_chw9GfvtE|>{6VL` zvbM_st&^D9_Tdn1jHws9&aV?*p_Wv9@9}0B0b}*nA=a$vfk5Sl!}54hDllj)bzF_U5I{}gsf>022y#azhcGka{EAZB8ScM%-h z*{wKODE!M{y_)>WaJx$TrZb0AQa}!S@=qf)bR2l9eUC%GuWq$mIZVIxGi6tku;j(C zs7CW3G&GYHDfdtfFfd-QgL8OUpU^V+h;|UU_Q2g1wq=f}QnCbvuMK0=pt2SC7q%@% z==lu?ZdGSR_{VBNNKn9}XfW>U+2- zWzZ>I2_T(h__J%QUaM-$MocyMF6Ifk*R}+q&I+~#h1Jt|+KZt?P_rh}OI=zG^>@Qa zT)Df)Q{w$aB9(v!BU?N!vLq7C()QffBN7o8|4KTWO<{bqn&S&knuf``1#Q3^=<@bL zGATC(x2{MeCNE4RM4>4nq5(4rCS1Hbi^1HO_6mCh1co8W^MB7--ULXThLdKA1j9N! z0ZhD#TR&HYQXEoDB{vOyzpVSLaT2oo(}JG(sIb3{ZSxZy?*k_A3mqp7f)f+h$UCw| zbAn2d9=f`@ze$XS*AT;C>FADe{-wh>#sI^Jm6=eNhq_W-DOgR^B1yjGHV+=jw+Yf* zrKg2We&Syt8mC2mVq}B4EYVafpYv1<<5`8&UOqPGIwRoTw6spXo0`eYH}^U`XxV3o zMLt7HTNNndBJ>uFer5 zA7F_Knv}J1-0blp(S%nGtgSGFA7y6U!mNrDo@%wPFAMdMf`TmLYnze2<|m)!O0fW# zB9%O6Y zmW!7EIbZ*ah}ST3sg_nD^!a9`y&n?C(e27@$-|dvhRT(VbC9ap9uoU%a{7*g(?2ctv1e16%uh9jz{jG2$vz2oOlpFqZdlk)-Omz7t%kdRaqeJozgTH*J*;!~}k8j;Yy zl{nKAt-*LJlv1uB&$!3Rb?!{|Ky>dKDnkx~3ac4nAMTT{iVtP(5ckqkID)fAHhuLi z=Oe2*4<tam`Wd`CErn-MgyqTX(TiLa$z*-FN@&n?gn zcX@$d&i8R)CGIDU5ol=qU}eyTREs%uv@T5_BsyaR9QB3lcmw8B70>2@V3_h$nm=Rk zYT3R18W=jW8~2zofk6JO+^-92Tmqgs?h@7I<}#$-$y@GUhU*9QPN~uZ@`p3%V#x0f zq%`J6YT_hcthX1}A3f#kmvxW}{vRi|c!T#mgswBjpu{EvbdisfFcx7WNR-eaFh_hu zf949k*^|laHp;1f^!j}Fak40ZxFfpctqAr%CZ+cQhh-e@0NMpyAj-&w$XuF{s!c)l z3+t!^bk~l4L8V~^H{{7$o-l836-{EbDc7N|oRd@c&%j?Yrzzg=bB|P0FQYBRX=(k^~^ow_q7}^Mu|B$

k!{1Q2tzMxNj5o=?Te045Z>@jyLS>~*UxE^*P^ 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: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 literal 0 HcmV?d00001 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Libs/OnDevice/SingularityGroup.HotReload.RuntimeDependencies.dll.meta b/Packages/com.singularitygroup.hotreload/Runtime/Libs/OnDevice/SingularityGroup.HotReload.RuntimeDependencies.dll.meta new file mode 100644 index 0000000..3ca55df --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/Libs/OnDevice/SingularityGroup.HotReload.RuntimeDependencies.dll.meta @@ -0,0 +1,95 @@ +fileFormatVersion: 2 +guid: 15528e9db0a6c9b45a66378f0b6c4dd6 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: + - ENABLE_MONO + - DEVELOPMENT_BUILD || UNITY_EDITOR + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 1 + validateReferences: 1 + platformData: + - first: + : Any + second: + enabled: 0 + settings: + Exclude Android: 0 + Exclude Editor: 1 + Exclude Linux64: 0 + Exclude OSXUniversal: 0 + Exclude Win: 0 + Exclude Win64: 0 + Exclude iOS: 0 + - first: + Android: Android + second: + enabled: 1 + settings: + CPU: ARMv7 + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + CPU: AnyCPU + DefaultValueInitialized: true + OS: AnyOS + - first: + Standalone: Linux64 + second: + enabled: 1 + settings: + CPU: AnyCPU + - first: + Standalone: OSXUniversal + second: + enabled: 1 + settings: + CPU: x86_64 + - first: + Standalone: Win + second: + enabled: 1 + settings: + CPU: x86 + - first: + Standalone: Win64 + second: + enabled: 1 + settings: + CPU: x86_64 + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + - first: + iPhone: iOS + second: + enabled: 1 + settings: + AddToEmbeddedBinaries: false + CPU: AnyCPU + CompileFlags: + FrameworkDependencies: + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Runtime/Libs/OnDevice/SingularityGroup.HotReload.RuntimeDependencies.dll + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Libs/OnDevice/SingularityGroup.HotReload.RuntimeDependencies2019.dll b/Packages/com.singularitygroup.hotreload/Runtime/Libs/OnDevice/SingularityGroup.HotReload.RuntimeDependencies2019.dll new file mode 100644 index 0000000000000000000000000000000000000000..7069e00eaa3c1e4cd23864bc70b5e328ca6e5d3f GIT binary patch literal 40448 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 DR-lZg literal 0 HcmV?d00001 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Libs/OnDevice/SingularityGroup.HotReload.RuntimeDependencies2019.dll.meta b/Packages/com.singularitygroup.hotreload/Runtime/Libs/OnDevice/SingularityGroup.HotReload.RuntimeDependencies2019.dll.meta new file mode 100644 index 0000000..d5f7e31 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/Libs/OnDevice/SingularityGroup.HotReload.RuntimeDependencies2019.dll.meta @@ -0,0 +1,96 @@ +fileFormatVersion: 2 +guid: 4febf8334e6a82f4e9faf3513c7fcc8d +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: + - ENABLE_MONO + - UNITY_2019_4_OR_NEWER + - DEVELOPMENT_BUILD || UNITY_EDITOR + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 1 + validateReferences: 1 + platformData: + - first: + : Any + second: + enabled: 0 + settings: + Exclude Android: 0 + Exclude Editor: 1 + Exclude Linux64: 0 + Exclude OSXUniversal: 0 + Exclude Win: 0 + Exclude Win64: 0 + Exclude iOS: 0 + - first: + Android: Android + second: + enabled: 1 + settings: + CPU: ARMv7 + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + CPU: AnyCPU + DefaultValueInitialized: true + OS: AnyOS + - first: + Standalone: Linux64 + second: + enabled: 1 + settings: + CPU: AnyCPU + - first: + Standalone: OSXUniversal + second: + enabled: 1 + settings: + CPU: x86_64 + - first: + Standalone: Win + second: + enabled: 1 + settings: + CPU: x86 + - first: + Standalone: Win64 + second: + enabled: 1 + settings: + CPU: x86_64 + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + - first: + iPhone: iOS + second: + enabled: 1 + settings: + AddToEmbeddedBinaries: false + CPU: AnyCPU + CompileFlags: + FrameworkDependencies: + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Runtime/Libs/OnDevice/SingularityGroup.HotReload.RuntimeDependencies2019.dll + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Libs/OnDevice/SingularityGroup.HotReload.RuntimeDependencies2020.dll b/Packages/com.singularitygroup.hotreload/Runtime/Libs/OnDevice/SingularityGroup.HotReload.RuntimeDependencies2020.dll new file mode 100644 index 0000000000000000000000000000000000000000..dcf44db16ea4f13881b81e4137cf5442d132aa95 GIT binary patch literal 39424 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 IbmMRDMS**7ZKaIijXU^mh%U{s~(Com5 zRaP^kvSLAL6&Oz8jG9U*^)RTK)2Cs87vg@5V5>1dhL(A=Dk`gM%4SsmU6%j2-V~n% z;%WakzC91<24;=YYKPyKWp1ir-N>n!KX***T&n(ENQ0_oRXdy#)lSh#^S$zFM^rf+ zJ%27yj^aF|f%bvMU-e1R!kW?wSq8&!B}VM(m7O1}51hL8{8P;Fl{H>Dz;X8)sxpp+ ze9ZJYbeA(?)Y#H_-i#9qM=^25lQ6!NpM@RmEp(W?s%l2ie+%i)mB zG>n%)Ggz*xwnRqg5C#-kik~7n`z$P-F~6oUaomjAr84)*#Cl9c`67v^q0WNGj1z}c z&RgVE&YP;4qtl&JoZU;e>|UnZ()!&?Z`{3X>+WTnb=$Ig>B`;9ZrZ)HZuipFDg$eq z$S++bEJ_jHx?2>jBu(Tu>vp3`(u9l5O}m#tfrX;#F5QZ4Wk3}kxQHS_i5e8lU>HrB zt5q1yI&GqefEBA#Ed;C+pjk)JMFun~$b)8^RIm+?Kx4SrKmrdyVS^4Ra@JqyRJ1NC zC?da21sZGvjd{z(JQ+oXrcDW$7L8JDgSay84grA(92El6WS}XV^|xN-<8UHi>!1@H zx}Y@}0G1{!Dr`grOWhI=#P&9g6*bV=G{Yi+ZMFpY? zixx!cWCAe&DJ@qz+m13oscaJ-r9_MxKxEPy#vv$hZC22SPN^vo1E8Z01u@X9E`!m+ zQi4g&U{S%F1D%Zmpw=Yz&}0Kn(M8m{4+|NECJx(+Vo!x*-Xj1-t%@3% z;szIKQlY6vPAZgk!zZMnSUA*l6RU(m&u&QQVk$wAi+Z7G(?_0VFB$2LDiJd>}&;aNFN8tB^1N6@ARB zD-s7plD1VVH1QP*l}3`1B-B@m7>dG$f&jLuXoe(W4C4WGHtBEtf{i9>)@79I;zZ~G zSxYJ@-ryW{Di#zOnmA-_Q@0e%5H2Pem2A+Fw@}u$s9{W_6gTVQk)gk8_cHXUpuk2G zARI*nWwc<$`_I}C^UwjoDiswbB-<2Sh*rHJ=Rk{JY#0NM3PL!9r%)O;OrlS>L0P4A zZ8j)cbwRVqM;*hsVyzMzu;>a7;~WMtVGNg%TdB~Pr>?FngKLf93KVrqVuEfBgGet} z@1ex&m=|!G_<=n@Y^A|AIwFC-W)C5;ikikP1^~q>73&r(D&!vuxax}JK(i%81gv_U zz=~DW!Ndd`=25AqLfmT7rk8ApZ8Z;yC|D0{N~{OUZIE1w0Vs&64FLrjlhzn?yn#ij z&f&KRTifD=W+P@E15hjwLKYfL9Xp~%eU-`(1Y(4U3<;oO6;(xu78w;Pl&cg36>C^f ztPTt-ZPQ?LMd*my1gsQG%Wl$yt38PfP%CNG$tNsLk9Y~V8Wu^^*t~!fGI92^Z1TWGsb+D{QE!ZRsqU2w2;~KomJjNb!V2iOE3$9WE70jRq|t zB7=Wa8i=6R#i2l>J1~X}B`ozu#>Z+q$gMqM!X2o{5u!C?S=d{tEcCH~7@Aw8F44nP z6(Lf`0CYBV5vGE9rHHQ(8)B0a3?5W;EDBAFt_l`Qlr`sKfI9M6#U$wJ8Fget44%?)ZFBQB2 zC@vBCvq57UX-Xs^veCpg zGS&=qB0~{qC`v~chhkw+M;#NCC?XTHy;9XcLQv>qr$>Q-fy25Muq0Z^v`8lJ^$H?%>AO#-RF#$VMGIDnv7y2=aD zh86cr5V4A9bRs^%h0?&qGwNbeSTWn6h)Fi93`3h%0u)IAepnr3@S_0;N#p@lb?b4= zS9MNURvwS>#(E40T9WfR@mCm-s3VH+I7D-`m_$yRM1v-hIDsX+QBcXD^$a5NG*`z$ zM?hGX4jS^5fGeih7G;DqEU9DOnt_OSY$#w-)3XeqdKDo5)Kx~X5I_rx6+p{ES=ZID zn1CCPUgNfoSayTHS`|^0S870%5Gj=?u8;--B^oHufrdf_=fK1U=24-vL|bAAc>&RJ zj+{tf1`_6B(>*p&%UY#okWo#M*Zz}mv4Iw8KwT9D2YF=FEx58-SPGzauvC%Iya`Yo zQR+afRJY<*0TMINRSc_$i8_eLBaBbTV9$0073g)ERO?pE_7-&nP5iZ>>YeCQ!877p zspwF!2N58Q(Zo!B+;!kUpu`54niw1stH46Hfx!Ynn)J8I2^KbBTL-N%SXPq~t0-Uz zP%FGLo^$-xw2LbQ=86(bnx1OOTc)Fo~}t+Uosn-F*qZQiU;&;eybA7#ZAbakDIP^`!3 zB8EEND2|x06ildm+;*K}0fz(-D`gWbn$}s{uL`{k2n&rX2v~O!Sgk=*S*7-D0ASvv z4uPpwW9lHVN!)}*jcBlkH2P?g_IOs8;VG0lmB9vZRyhtQO}J_x<^(PhH-OeHpxBV7 zY4K5s3fyRJhNkx-{TY`u@S_oJ%Wl0?n>THT5fXHZuVsS4+ z2sWjf5nSqcjV2*Nq*<@}Q1B8nU_k`PZa8G=Xh8=J8PbVQghUAr8x$PXGG<#Wp@|yQ zZGtPxR)G>%FaSCwbgWujw5VIFsxDl0P7K)eXa@<=+J=Y~8zID4&H)0E5)$@6QE2f4 zlXYqaeVbueTQ!=M@zO%03p#a+V7*jfizyCarNJSw4G9}ohY0Z6+OXaLgn*U7BnFTK z(b5%5)bS54ifj-O!v={|wZG})*~+$c22#bXjULPT?=%Bg@A6HSP0RBTuvP`9388(b&|K%u@e z?is^Ki3e;;SXP-hs9*-ewrin?gF>`9k4Yj1kYY(n>xGM!xPm<@ut=D7y-oyT=^+!= zmcVi?K@@!pfe=m1Bf*B+Dsfg25g;arm?0%7TNMmo2}Rt6MbiSJivV>btrm5l8i41G3e{4{ICf1~@SW+r~--ueB6W+f@xNf`tbf zjRa@mtluklFU7Wo1WR%N#X?c9vzU6*f;};5+0;R)S7jo$USm(|q6QZExJl!qY2`tL zu3ADN7)qSB?jnp&P_P0N8IpMDY@0o()}EC>6a|&DZVDXe_y^JAqJl}{qqM@fa?=3= z;td;4V@bV?$=d{oZR-d+)(JcSNTr2^G5ny(hDmx(^DGf4OQ5O1RZHR@VzzD_!f8#U z)y3CXB{s;d?=}^bm;@0`{7@_u#1A%1QpX$URJ1OV(4n9O#a32{j5ul)>(sw`DVJ#g zI}GrVB~OQA&! zIE#*0okpex#Ek7%1s60xkfdol5j2V0n#4B#TA`I1C3KpUY&c{qh+!KKG*1UWkwgab zi~!w4UJR(CWCctV*|36J*0yDfN8nlo7;K;;3Plqjb=0=0jaBNXMlTd9$b*hBW`I&0 zh*m4+76@?FaNKr%ysg7Qq@k!Ki33oeF#rX0;$VXaI*C>D7!&$Rbqg6x+R$yqLaCyF z6QT80PB4Jj>Q%V`g(h;VG-#V={7}tUdZ=q~qGZ{lW6!U6Ev|xdW69~Y<9x^n60*B-`*cMCh*noyjKq%9s1Q9GY zAZV`A3Np4*A2TD4;uDsjv!M%!S`x$5p;%WaK|_8EVw~TWr_zFg9F~Bvh*avt2@%6( zi%1VNOI4Feo?NGwqy5-4n_TiXJ$QcXf48`dPrfDQdd368oLW`hWXS`|q; z1(t>-pw=_|K+;+zAE>NS8EYHB2HPTs4iaixqQsW1-dGNV6!5g zVG?9YVq-(Hv2B4y8VHnEt0nBww9=@7Xieg%HGlv_>gpVlA`hr-T2~N27drVv9yI7k zVhhFCSff_2as+|CHA4kCSarLXuF{QI(N{B)Tg2G#1|njV7^VUU0bl^hx;QNImJ7wo zOU~7X_@%B19F~B<8~mlBIu>2%;Nrwe;o7<+3`s0u4-i;jT3v{71c_KpG_nmeC=J08 z2WnP`5;x(lQYWyA%W$D!o((#6=%{0uIu*;pb@hp+xI!H#)D>w`m$=cnNffN;GMW|| zL<h-wK1dp3L25yn3#fMOC!nm{3JDb%;A00<4PpcS)?4$3xGsEDpq6iSU-tO8`4 zR@gdj;ow3<09|~dLT;#AE$jh;E=}aw5XKzQO57+YJEle*9zv7=5gh$TMeT_sYH%&O zc92l&6mFH80UeWSTb!^Ur~t)gksEA_*9s~oSBk_k(jaW9h!a#`VZcTPuCS(9~|x>afnX?&!tSF7(7I8Cr9^;@aIGcP zin(jOM+SRf;?wVJ1B51OnpkiJ1tG-}A8`vf8#HME4t)gFMNzC*+<3Sm4;SYE#3~iE zs2~>iQsah!GNRZ}^P-8I>I*J(oKSsR5tNl0F#RvM=%DJ4NIyl6rk~m zP;e7E2CywUT3SC)L4Kuj<2Yi*293%p(UPV`fCa2Y5Zmz3w^1UrEoL>=@tDW9Zejyr zP>=^#A#6Zm11{#RVO+;cJVOiw>Zs^OUC^M2Z6w$LrGy0Z${3JfK>-&v&9Jc4cU2Z# zxXZRF7klU;4-`bitUY9)15U}dW%n|2iI~_%M`N|_2oT2N-dQ*S(v$!p!T>>u6D<~! zLbn;Bq-h5Pbucl86HsVkK4u$G8kPh!I)LK1Iuwh{nz1ZOJhS@fqKL^lwPbN<5;0I{ zQKy0>D9C7Ff^2PzG9(hEaN_Jru`MNablAuhB|vISn%avN9d|{3wfJpKiZ@6CNX6pA z#U6mjz`~;B+y;RV6-cYJtdA)pCkjBLS*Khit&Em}NMvdNV}h%aKuH+ZA-FbMNFrks zfNgONXmqScuyI0N5g%az0T;S;0&n2r9Iim20TjYQ zC{}r;R%}z972E2&U?GFc=%a#vlz?is-~tz;;0nTO9$|3{zcGfcbpnByZPmwy2w};Z zw9xemM`W0{`LI|t(PFb^P$U|l@kX7nnGgf2D^8O+gz?+(oZ8Mt*C$nu*B+>YMZ4*OI0s`T%Kj;scgs?D!j$e*J7#Vnf=1SbRWOtfH_|#;G#1q5u0sVh-aBa2_atu<7tVG-=CHyN{MYUNBDz6^aVox zh*ZMJMl#a_!L}KM5XKi@I5CtE2}eSqL^2VHBsqZyOoYNDDi6i5hMt)h4h17Bf>uPB zE!f+zcNDl3D(R#(1^b8zGJ1X=`3VIeL_#z&^D^_AhSD?gg^-+_7)ivaSTzCVB_&}* zIwDN2e0Utpki6ndL~IywH6pMSLR@pqhK|J0c8BsC2RKCPp z;slfE!5p7I$Cr}s3uKh$I2mQ(jM6}oFUOaf?uP=blEUdeKi!s5hB>h(RDO2>gZxhu z@>TKi{;Ww=-aNkRTeNUS={)%w>-gDKl_yvGB!_7!{8vr#6G!~xi|F*rG+Ks<*Kkh&oKiVtN#D` z|J4lm_^l=V-&&Ub-VGU){4SQ`{2N{5hO-wx#P3Qn0mc8G3iPHr(HY18vp$jkt!gZ_ z5&WNyN7EibIZXe5N5{E8uxFqAAi;h9fb)J~Giow+6ZE&V1WO?OQfc%zl)4X8k6*AH z#&2DeJEdS&I5YJ}=;deWMQc1<4{9}hkKa)!gIf_pxjB%Jh!3A?kSc>d>rapZD$|{~ z?Z4jqiU&EsPG@w7fH#+arD)e+h5u5DUwEjd&X?EuMX0g-{)2GJREA%`Q2BW=f2)u# z#r6W)GpJRgF#&nLwG4i#`ZAiXMuZ)&i{9t}V*(heEKIXxzudBxQt3-0}XCmK_EEr{W*UFJ=1p&(UOb zl`xWL5b=Smb8Y#zvA2~-3Xv(|%!`jhJC0B1e?$Ev)*nYgFYWn4eoec8|CNtlz+pVg zc~IgU!atW|3GIITc3Ure=>caZQZ8esgdd#l2el{v`tnbXLX-2TyK2Zda=E_x$bU8e vZ7T&lly_WyXS|3AEc%fSBvXn|B8 literal 0 HcmV?d00001 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Libs/OnDevice/SingularityGroup.HotReload.RuntimeDependencies2020.dll.meta b/Packages/com.singularitygroup.hotreload/Runtime/Libs/OnDevice/SingularityGroup.HotReload.RuntimeDependencies2020.dll.meta new file mode 100644 index 0000000..099163d --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/Libs/OnDevice/SingularityGroup.HotReload.RuntimeDependencies2020.dll.meta @@ -0,0 +1,96 @@ +fileFormatVersion: 2 +guid: 35c3cec01c5230e41bea51d3ac6fcfa1 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: + - ENABLE_MONO + - UNITY_2020_3_OR_NEWER + - DEVELOPMENT_BUILD || UNITY_EDITOR + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 1 + validateReferences: 1 + platformData: + - first: + : Any + second: + enabled: 0 + settings: + Exclude Android: 0 + Exclude Editor: 1 + Exclude Linux64: 0 + Exclude OSXUniversal: 0 + Exclude Win: 0 + Exclude Win64: 0 + Exclude iOS: 0 + - first: + Android: Android + second: + enabled: 1 + settings: + CPU: ARMv7 + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + CPU: AnyCPU + DefaultValueInitialized: true + OS: AnyOS + - first: + Standalone: Linux64 + second: + enabled: 1 + settings: + CPU: AnyCPU + - first: + Standalone: OSXUniversal + second: + enabled: 1 + settings: + CPU: x86_64 + - first: + Standalone: Win + second: + enabled: 1 + settings: + CPU: x86 + - first: + Standalone: Win64 + second: + enabled: 1 + settings: + CPU: x86_64 + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + - first: + iPhone: iOS + second: + enabled: 1 + settings: + AddToEmbeddedBinaries: false + CPU: AnyCPU + CompileFlags: + FrameworkDependencies: + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Runtime/Libs/OnDevice/SingularityGroup.HotReload.RuntimeDependencies2020.dll + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Libs/OnDevice/SingularityGroup.HotReload.RuntimeDependencies2022.dll b/Packages/com.singularitygroup.hotreload/Runtime/Libs/OnDevice/SingularityGroup.HotReload.RuntimeDependencies2022.dll new file mode 100644 index 0000000000000000000000000000000000000000..c0d33b32d6490e7380d2d1b191aa895e395c8fd5 GIT binary patch literal 480256 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 Rduu?06JY=L``3qo{|oX|_!R&E literal 0 HcmV?d00001 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Libs/OnDevice/SingularityGroup.HotReload.RuntimeDependencies2022.dll.meta b/Packages/com.singularitygroup.hotreload/Runtime/Libs/OnDevice/SingularityGroup.HotReload.RuntimeDependencies2022.dll.meta new file mode 100644 index 0000000..4660d74 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/Libs/OnDevice/SingularityGroup.HotReload.RuntimeDependencies2022.dll.meta @@ -0,0 +1,96 @@ +fileFormatVersion: 2 +guid: c9f10603236554c4896f310072d57f24 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: + - ENABLE_MONO + - UNITY_2022_2_OR_NEWER + - DEVELOPMENT_BUILD || UNITY_EDITOR + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 1 + validateReferences: 1 + platformData: + - first: + : Any + second: + enabled: 0 + settings: + Exclude Android: 0 + Exclude Editor: 1 + Exclude Linux64: 0 + Exclude OSXUniversal: 0 + Exclude Win: 0 + Exclude Win64: 0 + Exclude iOS: 0 + - first: + Android: Android + second: + enabled: 1 + settings: + CPU: ARMv7 + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + CPU: AnyCPU + DefaultValueInitialized: true + OS: AnyOS + - first: + Standalone: Linux64 + second: + enabled: 1 + settings: + CPU: AnyCPU + - first: + Standalone: OSXUniversal + second: + enabled: 1 + settings: + CPU: x86_64 + - first: + Standalone: Win + second: + enabled: 1 + settings: + CPU: x86 + - first: + Standalone: Win64 + second: + enabled: 1 + settings: + CPU: x86_64 + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + - first: + iPhone: iOS + second: + enabled: 1 + settings: + AddToEmbeddedBinaries: false + CPU: AnyCPU + CompileFlags: + FrameworkDependencies: + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Runtime/Libs/OnDevice/SingularityGroup.HotReload.RuntimeDependencies2022.dll + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Localization.meta b/Packages/com.singularitygroup.hotreload/Runtime/Localization.meta new file mode 100644 index 0000000..0d1fb84 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/Localization.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 392d4a942d5d4d26872be33e375c8d32 +timeCreated: 1759652490 \ No newline at end of file diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Localization/CommonTranslations.cs b/Packages/com.singularitygroup.hotreload/Runtime/Localization/CommonTranslations.cs new file mode 100644 index 0000000..f6257ed --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/Localization/CommonTranslations.cs @@ -0,0 +1,46 @@ +#if ENABLE_MONO && (DEVELOPMENT_BUILD || UNITY_EDITOR) +namespace SingularityGroup.HotReload.Localization { + + internal static partial class Translations { + public static class Common { + public static string UnknownException; + public static string HotReloadIsRunning; + public static string HotReloadIsNotRunning; + public static string UnableToResolveMethod; + public static string UnableToResolveType; + public static string UnableToResolveField; + public static string HotReloadUnreachable; + public static string TryingToReconnect; + public static string Disconnected; + public static string Unknown; + + public static void LoadEnglish() { + UnknownException = "unknown exception"; + HotReloadIsRunning = "Hot Reload is running"; + HotReloadIsNotRunning = "Hot Reload is not running"; + UnableToResolveMethod = "Unable to resolve method"; + UnableToResolveType = "Unable to resolve type"; + UnableToResolveField = "Unable to resolve field"; + HotReloadUnreachable = "Hot Reload was unreachable for 5 seconds, trying to reconnect..."; + TryingToReconnect = "Trying to reconnect..."; + Disconnected = "Disconnected"; + Unknown = "unknown"; + } + + public static void LoadSimplifiedChinese() { + UnknownException = "未知异常"; + HotReloadIsRunning = "Hot Reload 正在运行"; + HotReloadIsNotRunning = "Hot Reload 未运行"; + UnableToResolveMethod = "无法解析方法"; + UnableToResolveType = "无法解析类型"; + UnableToResolveField = "无法解析字段"; + HotReloadUnreachable = "Hot Reload 5 秒内无法访问,正在尝试重新连接..."; + TryingToReconnect = "正在尝试重新连接..."; + Disconnected = "已断开连接"; + Unknown = "未知"; + } + } + } + +} +#endif diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Localization/CommonTranslations.cs.meta b/Packages/com.singularitygroup.hotreload/Runtime/Localization/CommonTranslations.cs.meta new file mode 100644 index 0000000..a756b0a --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/Localization/CommonTranslations.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 71c2ede153664ef48b2919d3c42da1a3 +timeCreated: 1762538401 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Runtime/Localization/CommonTranslations.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Localization/DialogTranslations.cs b/Packages/com.singularitygroup.hotreload/Runtime/Localization/DialogTranslations.cs new file mode 100644 index 0000000..7cf1850 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/Localization/DialogTranslations.cs @@ -0,0 +1,82 @@ +#if ENABLE_MONO && (DEVELOPMENT_BUILD || UNITY_EDITOR) +namespace SingularityGroup.HotReload.Localization { + + internal static partial class Translations { + public static class Dialogs { + public static string Information; + public static string ContinueButtonText; + public static string CancelButtonText; + public static string DifferentProjectSummary; + public static string DifferentProjectSuggestion; + public static string DifferentCommitSummary; + public static string DifferentCommitSuggestion; + public static string ConnectionStateConnecting; + public static string ConnectionStateHandshaking; + public static string ConnectionStateDifferencesFound; + public static string ConnectionStateConnected; + public static string ConnectionStateCancelled; + public static string Patches; + public static string IsConnected; + public static string NoWiFiNetwork; + public static string WaitForCompiling; + public static string TargetNetworkIsReachable; + public static string AutoPairEncounteredIssue; + public static string ConnectionFailed; + public static string TryingToReconnect; + public static string Disconnected; + public static string PatchesStatus; + + public static void LoadEnglish() { + Information = "Information"; + ContinueButtonText = "Continue"; + CancelButtonText = "Cancel"; + DifferentProjectSummary = "Hot Reload was started from a different project"; + DifferentProjectSuggestion = "Please run Hot Reload from the matching Unity project"; + DifferentCommitSummary = "Editor and current build are on different commits"; + DifferentCommitSuggestion = "This can cause errors when the build was made on an old commit."; + ConnectionStateConnecting = "Connecting ..."; + ConnectionStateHandshaking = "Handshaking ..."; + ConnectionStateDifferencesFound = "Differences found"; + ConnectionStateConnected = "Connected!"; + ConnectionStateCancelled = "Cancelled"; + Patches = "Patches"; + IsConnected = "Is this device connected to {0}?"; + NoWiFiNetwork = "WiFi"; + WaitForCompiling = "Wait for compiling to finish before trying again"; + TargetNetworkIsReachable = "Make sure you're on the same {0} network. Also ensure Hot Reload is running"; + AutoPairEncounteredIssue = "Auto-pair encountered an issue"; + ConnectionFailed = "Connection failed"; + TryingToReconnect = "Trying to reconnect ..."; + Disconnected = "Disconnected"; + PatchesStatus = "Patches: {0} pending, {1} applied"; + } + + public static void LoadSimplifiedChinese() { + Information = "信息"; + ContinueButtonText = "继续"; + CancelButtonText = "取消"; + DifferentProjectSummary = "Hot Reload 从不同的项目启动"; + DifferentProjectSuggestion = "请从匹配的 Unity 项目运行 Hot Reload"; + DifferentCommitSummary = "编辑器和当前构建在不同的提交上"; + DifferentCommitSuggestion = "当构建是在旧的提交上进行时,这可能会导致错误。"; + ConnectionStateConnecting = "正在连接 ..."; + ConnectionStateHandshaking = "正在握手 ..."; + ConnectionStateDifferencesFound = "发现差异"; + ConnectionStateConnected = "已连接!"; + ConnectionStateCancelled = "已取消"; + Patches = "补丁"; + IsConnected = "此设备是否已连接到 {0}?"; + NoWiFiNetwork = "WiFi"; + WaitForCompiling = "请等待编译完成后再试"; + TargetNetworkIsReachable = "请确保您在同一个 {0} 网络中。还要确保 Hot Reload 正在运行"; + AutoPairEncounteredIssue = "自动配对遇到问题"; + ConnectionFailed = "连接失败"; + TryingToReconnect = "正在尝试重新连接 ..."; + Disconnected = "已断开连接"; + PatchesStatus = "补丁:{0} 待处理,{1} 已应用"; + } + } + } + +} +#endif diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Localization/DialogTranslations.cs.meta b/Packages/com.singularitygroup.hotreload/Runtime/Localization/DialogTranslations.cs.meta new file mode 100644 index 0000000..f254df7 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/Localization/DialogTranslations.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 3970cf8b2b8a47dd9d16ce5051375690 +timeCreated: 1762538420 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Runtime/Localization/DialogTranslations.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Localization/ErrorTranslations.cs b/Packages/com.singularitygroup.hotreload/Runtime/Localization/ErrorTranslations.cs new file mode 100644 index 0000000..b33ecfe --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/Localization/ErrorTranslations.cs @@ -0,0 +1,73 @@ +#if ENABLE_MONO && (DEVELOPMENT_BUILD || UNITY_EDITOR) +namespace SingularityGroup.HotReload.Localization { + + internal static partial class Translations { + public static class Errors { + public static string MethodNameMismatch; + public static string DeclaringTypeNameMismatch; + public static string IsGenericMethodDefinitionMismatch; + public static string MissingThisParameter; + public static string ThisParameterTypeMismatch; + public static string ParameterCountMismatch; + public static string ParameterTypeMismatch; + public static string ReturnTypeMismatch; + public static string GenericParameterNotGenericType; + public static string GenericParameterDidNotExist; + public static string IsPlayerWithHotReloadFalse; + public static string UnknownExceptionReadingBuildInfo; + public static string BuildInfoNotFound; + public static string FailedPromptsPrefab; + public static string HandshakeFailedInvalidBuildTarget; + public static string BuildTargetMismatch; + public static string UnableToResolveMethodInAssembly; + public static string UnableToResolveTypeInAssembly; + public static string UnableToResolveFieldInAssembly; + + public static void LoadEnglish() { + MethodNameMismatch = "Method name mismatch"; + DeclaringTypeNameMismatch = "Declaring type name mismatch"; + IsGenericMethodDefinitionMismatch = "IsGenericMethodDefinition mismatch"; + MissingThisParameter = "missing this parameter"; + ThisParameterTypeMismatch = "this parameter type mismatch"; + ParameterCountMismatch = "parameter count mismatch"; + ParameterTypeMismatch = "parameter type mismatch"; + ReturnTypeMismatch = "Return type mismatch"; + GenericParameterNotGenericType = "Generic parameter did not resolve to generic type definition"; + GenericParameterDidNotExist = "Generic parameter did not exist on the generic type definition"; + IsPlayerWithHotReloadFalse = "IsPlayerWithHotReload() is false"; + UnknownExceptionReadingBuildInfo = "Uknown exception happened when reading build info"; + BuildInfoNotFound = "Uknown issue happened when reading build info."; + FailedPromptsPrefab = "Failed to find PromptsPrefab (are you using Hot Reload as a package?"; + HandshakeFailedInvalidBuildTarget = "Server did not declare its current Unity activeBuildTarget in the handshake response. Will assume it is {0}."; + BuildTargetMismatch = "Your Unity project is running on {0}. You may need to switch it to {1} for Hot Reload to work."; + UnableToResolveMethodInAssembly = "Unable to resolve method {0} in assembly {1}"; + UnableToResolveTypeInAssembly = "Unable to resolve type with name: {0} in assembly {1}"; + UnableToResolveFieldInAssembly = "Unable to resolve field with name: {0} in assembly {1}"; + } + + public static void LoadSimplifiedChinese() { + MethodNameMismatch = "方法名称不匹配"; + DeclaringTypeNameMismatch = "声明类型名称不匹配"; + IsGenericMethodDefinitionMismatch = "IsGenericMethodDefinition 不匹配"; + MissingThisParameter = "缺少 this 参数"; + ThisParameterTypeMismatch = "this 参数类型不匹配"; + ParameterCountMismatch = "参数数量不匹配"; + ParameterTypeMismatch = "参数类型不匹配"; + ReturnTypeMismatch = "返回类型不匹配"; + GenericParameterNotGenericType = "泛型参数未解析为泛型类型定义"; + GenericParameterDidNotExist = "泛型参数在泛型类型定义上不存在"; + IsPlayerWithHotReloadFalse = "IsPlayerWithHotReload() 为 false"; + UnknownExceptionReadingBuildInfo = "读取构建信息时发生未知异常"; + BuildInfoNotFound = "读取构建信息时发生未知问题。"; + FailedPromptsPrefab = "未能找到 PromptsPrefab(您是否将 Hot Reload 作为软件包使用?"; + HandshakeFailedInvalidBuildTarget = "服务器在握手响应中未声明其当前的 Unity activeBuildTarget。将假定为 {0}。"; + BuildTargetMismatch = "您的 Unity 项目正在 {0} 上运行。您可能需要将其切换到 {1} 才能使 Hot Reload 工作。"; + UnableToResolveMethodInAssembly = "无法在程序集 {1} 中解析方法 {0}"; + UnableToResolveTypeInAssembly = "无法在程序集 {1} 中解析名称为 {0} 的类型"; + UnableToResolveFieldInAssembly = "无法在程序集 {1} 中解析名称为 {0} 的字段"; + } + } + } + +} +#endif diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Localization/ErrorTranslations.cs.meta b/Packages/com.singularitygroup.hotreload/Runtime/Localization/ErrorTranslations.cs.meta new file mode 100644 index 0000000..2d7087a --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/Localization/ErrorTranslations.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: c96d2f0898524320839b84cf22fcd820 +timeCreated: 1762538447 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Runtime/Localization/ErrorTranslations.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Localization/LoggingTranslations.cs b/Packages/com.singularitygroup.hotreload/Runtime/Localization/LoggingTranslations.cs new file mode 100644 index 0000000..4d33a01 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/Localization/LoggingTranslations.cs @@ -0,0 +1,178 @@ +#if ENABLE_MONO && (DEVELOPMENT_BUILD || UNITY_EDITOR) +namespace SingularityGroup.HotReload.Localization { + + internal static partial class Translations { + public static class Logging { + // Server and Connection + public static string HotReloadUnreachableDisconnecting; + public static string RequestHandshakeToServer; + public static string ServerHealthyAfterHandshake; + + // Polling Errors + public static string PollMethodPatchesFailed; + public static string PollPatchStatusFailed; + public static string PollAssetChangesFailed; + + // Request Errors + public static string DeserializingResponseFailed; + public static string RequestTimeout; + + // Method Invocation + public static string InvokeOnHotReloadFailed; + public static string InvokeOnHotReloadLocalFailed; + + // Build and Player + public static string HotReloadNotAvailableBuildSettings; + public static string BuildInfoNotFound; + + // Method Compatibility + public static string UnknownIssue; + + // Patch Loading/Saving + public static string LoadingPatchesFromDiskError; + public static string LoadingPatchesFromFile; + public static string LoadedPatchesFromDisk; + public static string SavingAppliedPatches; + + // Patch Registration/Application + public static string RegisterPatches; + public static string ApplyPatchesPending; + public static string DetourMethod; + + // Exceptions + public static string ExceptionHandlingMethodPatch; + public static string ExceptionApplyingPatch; + public static string ExceptionEnsureUnityEventMethod; + public static string ExceptionRemoveUnityEventMethod; + public static string InvalidPath; + + // Field Operations + public static string FailedRegisteringInitializerInvalidMethod; + public static string FailedRegisteringInitializerException; + public static string FailedRegisteringNewFieldDefinitions; + public static string FailedRemovingInitializer; + public static string FailedRemovingFieldValue; + public static string FailedMovingFieldValue; + public static string FailedUpdatingFieldAttributes; + public static string FailedAddingFieldToInspector; + public static string FailedHidingFieldFromInspector; + + // Method Patching + public static string DebuggerAttachedNotAllowed; + public static string MethodMismatch; + public static string FailedToApplyPatchForMethod; + public static string HotReloadApplyTook; + + // Unity Events + public static string SceneLoadedWithNewUnityEventMethods; + + public static void LoadEnglish() { + HotReloadUnreachableDisconnecting = "Hot Reload was unreachable for {0} seconds, disconnecting"; + RequestHandshakeToServer = "Request handshake to Hot Reload server with hostname: {0}"; + ServerHealthyAfterHandshake = "Server is healthy after first handshake? {0}"; + + PollMethodPatchesFailed = "PollMethodPatches failed with code {0} {1} {2}"; + PollPatchStatusFailed = "PollPatchStatus failed with code {0} {1} {2}"; + PollAssetChangesFailed = "PollAssetChanges failed with code {0} {1} {2}"; + + DeserializingResponseFailed = "Deserializing response failed with {0}: {1}"; + RequestTimeout = "Request timeout"; + + InvokeOnHotReloadFailed = "[InvokeOnHotReload] {0} {1} failed. Exception:\n{2}"; + InvokeOnHotReloadLocalFailed = "[InvokeOnHotReloadLocal] {0} {1} failed. Exception:\n{2}"; + + HotReloadNotAvailableBuildSettings = "Hot Reload is not available in this build because one or more build settings were not supported."; + BuildInfoNotFound = "Build info not found"; + + UnknownIssue = "unknown issue"; + + LoadingPatchesFromDiskError = "Encountered exception when loading patches from disk:"; + LoadingPatchesFromFile = "Loading patches from file {0}"; + LoadedPatchesFromDisk = "Loaded {0} patches from disk"; + SavingAppliedPatches = "Saving {0} applied patches to {1}"; + + RegisterPatches = "Register patches.\nWarnings: {0} \nMethods:\n{1}"; + ApplyPatchesPending = "ApplyPatches. {0} patches pending."; + DetourMethod = "Detour method {0:X8} {1}, offset: {2}"; + + ExceptionHandlingMethodPatch = "Exception occured when handling method patch. Exception:"; + ExceptionApplyingPatch = "Edit requires full recompile to apply: Encountered exception when applying a patch.\nCommon causes: editing code that failed to patch previously, an unsupported change, or a real bug in Hot Reload.\nIf you think this is a bug, please report the issue on Discord and include a code-snippet before/after."; + ExceptionEnsureUnityEventMethod = "Encountered exception in EnsureUnityEventMethod: {0} {1}"; + ExceptionRemoveUnityEventMethod = "Encountered exception in RemoveUnityEventMethod: {0} {1}"; + InvalidPath = "Invalid path: {0}"; + + FailedRegisteringInitializerInvalidMethod = "Failed registering initializer for field {0} in {1}. Field value might not be initialized correctly. Invalid method."; + FailedRegisteringInitializerException = "Failed registering initializer for field {0} in {1}. Field value might not be initialized correctly. Exception: {2}"; + FailedRegisteringNewFieldDefinitions = "Failed registering new field definitions for field {0} in {1}. Exception: {2}"; + FailedRemovingInitializer = "Failed removing initializer for field {0} in {1}. Field value might not be initialized correctly. Exception: {2}"; + FailedRemovingFieldValue = "Failed removing field value from {0} in {1}. Field value in code might not be up to date. Exception: {2}"; + FailedMovingFieldValue = "Failed moving field value from {0} to {1} in {2}. Field value in code might not be up to date. Exception: {3}"; + FailedUpdatingFieldAttributes = "Failed updating field attributes of {0} in {1}. Updates might not reflect in the inspector. Exception: {2}"; + FailedAddingFieldToInspector = "Failed adding field {0}:{1} to the inspector. Field will not be displayed. Exception: {2}"; + FailedHidingFieldFromInspector = "Failed hiding field {0}:{1} from the inspector. Exception: {2}"; + + DebuggerAttachedNotAllowed = "Patching methods is not allowed while the Debugger is attached. You can change this behavior in settings if Hot Reload is compatible with the debugger you're running."; + MethodMismatch = "Edit requires full recompile to apply: Method mismatch: {0}, patch: {1}. \nCommon causes: editing code that failed to patch previously, an unsupported change, or a real bug in Hot Reload.\nIf you think this is a bug, please report the issue on Discord and include a code-snippet before/after."; + FailedToApplyPatchForMethod = "Edit requires full recompile to apply: Failed to apply patch for method {0} in assembly {1}.\nCommon causes: editing code that failed to patch previously, an unsupported change, or a real bug in Hot Reload.\nIf you think this is a bug, please report the issue on Discord and include a code-snippet before/after.\nException: {2}"; + HotReloadApplyTook = "Hot Reload apply took {0}"; + + SceneLoadedWithNewUnityEventMethods = "A new Scene was loaded while new unity event methods were added at runtime. MonoBehaviours in the Scene will not trigger these new events."; + } + + public static void LoadSimplifiedChinese() { + HotReloadUnreachableDisconnecting = "Hot Reload {0} 秒内无法访问,正在断开连接"; + RequestHandshakeToServer = "向 Hot Reload 服务器请求握手,主机名:{0}"; + ServerHealthyAfterHandshake = "第一次握手后服务器是否健康?{0}"; + + PollMethodPatchesFailed = "PollMethodPatches 失败,代码 {0} {1} {2}"; + PollPatchStatusFailed = "PollPatchStatus 失败,代码 {0} {1} {2}"; + PollAssetChangesFailed = "PollAssetChanges 失败,代码 {0} {1} {2}"; + + DeserializingResponseFailed = "反序列化响应失败,{0}:{1}"; + RequestTimeout = "请求超时"; + + InvokeOnHotReloadFailed = "[InvokeOnHotReload] {0} {1} 失败。异常:\n{2}"; + InvokeOnHotReloadLocalFailed = "[InvokeOnHotReloadLocal] {0} {1} 失败。异常:\n{2}"; + + HotReloadNotAvailableBuildSettings = "由于一个或多个构建设置不受支持,Hot Reload 在此构建中不可用。"; + BuildInfoNotFound = "未找到构建信息"; + + UnknownIssue = "未知问题"; + + LoadingPatchesFromDiskError = "从磁盘加载补丁时遇到异常:"; + LoadingPatchesFromFile = "从文件 {0} 加载补丁"; + LoadedPatchesFromDisk = "从磁盘加载了 {0} 个补丁"; + SavingAppliedPatches = "将 {0} 个已应用的补丁保存到 {1}"; + + RegisterPatches = "注册补丁。\n警告:{0} \n方法:\n{1}"; + ApplyPatchesPending = "ApplyPatches。{0} 个补丁待处理。"; + DetourMethod = "Detour 方法 {0:X8} {1},偏移量:{2}"; + + ExceptionHandlingMethodPatch = "处理方法补丁时发生异常。异常:"; + ExceptionApplyingPatch = "编辑需要完全重新编译才能应用:应用补丁时遇到异常。\n常见原因:编辑之前修补失败的代码、不支持的更改或 Hot Reload 中的真正错误。\n如果您认为这是一个错误,请在 Discord 上报告问题并附上之前/之后的代码片段。"; + ExceptionEnsureUnityEventMethod = "在 EnsureUnityEventMethod 中遇到异常:{0} {1}"; + ExceptionRemoveUnityEventMethod = "在 RemoveUnityEventMethod 中遇到异常:{0} {1}"; + InvalidPath = "无效路径:{0}"; + + FailedRegisteringInitializerInvalidMethod = "在 {1} 中为字段 {0} 注册初始化程序失败。字段值可能未正确初始化。方法无效。"; + FailedRegisteringInitializerException = "在 {1} 中为字段 {0} 注册初始化程序失败。字段值可能未正确初始化。异常:{2}"; + FailedRegisteringNewFieldDefinitions = "在 {1} 中为字段 {0} 注册新字段定义失败。异常:{2}"; + FailedRemovingInitializer = "在 {1} 中为字段 {0} 删除初始化程序失败。字段值可能未正确初始化。异常:{2}"; + FailedRemovingFieldValue = "从 {1} 中的 {0} 删除字段值失败。代码中的字段值可能不是最新的。异常:{2}"; + FailedMovingFieldValue = "在 {2} 中将字段值从 {0} 移动到 {1} 失败。代码中的字段值可能不是最新的。异常:{3}"; + FailedUpdatingFieldAttributes = "在 {1} 中更新 {0} 的字段属性失败。更新可能不会反映在检查器中。异常:{2}"; + FailedAddingFieldToInspector = "将字段 {0}:{1} 添加到检查器失败。字段将不会显示。异常:{2}"; + FailedHidingFieldFromInspector = "从检查器中隐藏字段 {0}:{1} 失败。异常:{2}"; + + DebuggerAttachedNotAllowed = "附加调试器时不允许修补方法。如果 Hot Reload 与您正在运行的调试器兼容,您可以在设置中更改此行为。"; + MethodMismatch = "编辑需要完全重新编译才能应用:方法不匹配:{0},补丁:{1}。\n常见原因:编辑之前修补失败的代码、不支持的更改或 Hot Reload 中的真正错误。\n如果您认为这是一个错误,请在 Discord 上报告问题并附上之前/之后的代码片段。"; + FailedToApplyPatchForMethod = "编辑需要完全重新编译才能应用:为程序集 {1} 中的方法 {0} 应用补丁失败。\n常见原因:编辑之前修补失败的代码、不支持的更改或 Hot Reload 中的真正错误。\n如果您认为这是一个错误,请在 Discord 上报告问题并附上之前/之后的代码片段。\n异常:{2}"; + HotReloadApplyTook = "Hot Reload 应用耗时 {0}"; + + SceneLoadedWithNewUnityEventMethods = "在运行时添加新的 unity 事件方法时加载了新场景。场景中的 MonoBehaviours 不会触发这些新事件。"; + } + } + } + +} +#endif diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Localization/LoggingTranslations.cs.meta b/Packages/com.singularitygroup.hotreload/Runtime/Localization/LoggingTranslations.cs.meta new file mode 100644 index 0000000..276e9f7 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/Localization/LoggingTranslations.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: bbabe74466b6cb84bb5d2e98d9779397 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Runtime/Localization/LoggingTranslations.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Localization/MenuItemTranslations.cs b/Packages/com.singularitygroup.hotreload/Runtime/Localization/MenuItemTranslations.cs new file mode 100644 index 0000000..c0dceb4 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/Localization/MenuItemTranslations.cs @@ -0,0 +1,16 @@ +#if ENABLE_MONO && (DEVELOPMENT_BUILD || UNITY_EDITOR) +namespace SingularityGroup.HotReload.Localization { + + internal static partial class Translations { + public static class MenuItems { + public const string UIControls = PackageConst.DefaultLocale == Locale.SimplifiedChinese ? "UI 控件" : "UI controls"; + public const string Information = PackageConst.DefaultLocale == Locale.SimplifiedChinese ? "信息" : "Information"; + public const string Other = PackageConst.DefaultLocale == Locale.SimplifiedChinese ? "其他" : "Other"; + public const string FalllbackEventSystem = PackageConst.DefaultLocale == Locale.SimplifiedChinese ? "当项目未能及早创建 EventSystem 时使用" : "Used when project does not create an EventSystem early enough"; + public const string BuildSettings = PackageConst.DefaultLocale == Locale.SimplifiedChinese ? "构建设置" : "Build Settings"; + public const string IncludeInBuildTooltip = PackageConst.DefaultLocale == Locale.SimplifiedChinese ? "Hot Reload 运行时是否应包含在开发版本中?HotReload 永远不会包含在发布版本中。" : "Should the Hot Reload runtime be included in development builds? HotReload is never included in release builds."; + public const string PlayerSettings = PackageConst.DefaultLocale == Locale.SimplifiedChinese ? "播放器设置" : "Player Settings"; + } + } +} +#endif diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Localization/MenuItemTranslations.cs.meta b/Packages/com.singularitygroup.hotreload/Runtime/Localization/MenuItemTranslations.cs.meta new file mode 100644 index 0000000..314eade --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/Localization/MenuItemTranslations.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 12be1a0b0b06402da21c46ae29d60746 +timeCreated: 1762675925 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Runtime/Localization/MenuItemTranslations.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Localization/SettingTranslations.cs b/Packages/com.singularitygroup.hotreload/Runtime/Localization/SettingTranslations.cs new file mode 100644 index 0000000..9778e9c --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/Localization/SettingTranslations.cs @@ -0,0 +1,34 @@ +#if ENABLE_MONO && (DEVELOPMENT_BUILD || UNITY_EDITOR) +namespace SingularityGroup.HotReload.Localization { + + internal static partial class Translations { + public static class Settings { + public static string BuildSettings; + public static string IncludeInBuildTooltip; + public static string PlayerSettings; + public static string Other; + public static string FallbackEventSystemTooltip; + public static string NoEventSystemWarning; + + public static void LoadEnglish() { + BuildSettings = "Build Settings"; + IncludeInBuildTooltip = "Should the Hot Reload runtime be included in development builds? HotReload is never included in release builds."; + PlayerSettings = "Player Settings"; + Other = "Other"; + FallbackEventSystemTooltip = "Used when project does not create an EventSystem early enough"; + NoEventSystemWarning = "No EventSystem is active, enabling an EventSystem inside Hot Reload {0} prefab. A Unity EventSystem and an Input module is required for tapping buttons on the Unity UI."; + } + + public static void LoadSimplifiedChinese() { + BuildSettings = "构建设置"; + IncludeInBuildTooltip = "Hot Reload 运行时是否应包含在开发版本中?HotReload 永远不会包含在发布版本中。"; + PlayerSettings = "播放器设置"; + Other = "其他"; + FallbackEventSystemTooltip = "当项目未能及早创建 EventSystem 时使用"; + NoEventSystemWarning = "没有活动的 EventSystem,正在 Hot Reload {0} 预制件内启用 EventSystem。点击 Unity UI 上的按钮需要 Unity EventSystem 和输入模块。"; + } + } + } + +} +#endif diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Localization/SettingTranslations.cs.meta b/Packages/com.singularitygroup.hotreload/Runtime/Localization/SettingTranslations.cs.meta new file mode 100644 index 0000000..0cf9f8b --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/Localization/SettingTranslations.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 0fe4b08bd0d64689be16dc995c89bf1a +timeCreated: 1762538464 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Runtime/Localization/SettingTranslations.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Localization/Translations.cs b/Packages/com.singularitygroup.hotreload/Runtime/Localization/Translations.cs new file mode 100644 index 0000000..552dc51 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/Localization/Translations.cs @@ -0,0 +1,51 @@ +#if ENABLE_MONO && (DEVELOPMENT_BUILD || UNITY_EDITOR) + +namespace SingularityGroup.HotReload.Localization { + public static class Locale { + public const string SimplifiedChinese = "zh"; + public const string English = "en"; + } + + internal static partial class Translations { + static string loadedLocale; + static Translations() { + LoadDefaultLocalization(); + } + + public static void LoadDefaultLocalization() { + LoadLocalization(PackageConst.DefaultLocale); + } + + static void LoadLocalization(string locale) { + if (loadedLocale == locale) { + return; + } + if (locale == Locale.SimplifiedChinese) { + LoadSimplifiedChinese(); + } else { + LoadEnglish(); + } + loadedLocale = locale; + } + + public static void LoadEnglish() { + // Load strings from subclasses + Common.LoadEnglish(); + Dialogs.LoadEnglish(); + Errors.LoadEnglish(); + Settings.LoadEnglish(); + Logging.LoadEnglish(); + Utility.LoadSimplifiedChinese(); + } + + static void LoadSimplifiedChinese() { + Common.LoadSimplifiedChinese(); + Dialogs.LoadSimplifiedChinese(); + Errors.LoadSimplifiedChinese(); + Settings.LoadSimplifiedChinese(); + Logging.LoadSimplifiedChinese(); + Utility.LoadSimplifiedChinese(); + } + } +} +#endif diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Localization/Translations.cs.meta b/Packages/com.singularitygroup.hotreload/Runtime/Localization/Translations.cs.meta new file mode 100644 index 0000000..15604a9 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/Localization/Translations.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 25df321785e144999ae89a3396247f3d +timeCreated: 1759652512 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Runtime/Localization/Translations.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Localization/UtilityTranslations.cs b/Packages/com.singularitygroup.hotreload/Runtime/Localization/UtilityTranslations.cs new file mode 100644 index 0000000..5e0b385 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/Localization/UtilityTranslations.cs @@ -0,0 +1,45 @@ +#if ENABLE_MONO && (DEVELOPMENT_BUILD || UNITY_EDITOR) +namespace SingularityGroup.HotReload.Localization { + internal static partial class Translations { + public static class Utility { + public static string BuildSettings; + public static string IncludeInBuildTooltip; + public static string PlayerSettings; + public static string Other; + public static string FallbackEventSystemTooltip; + public static string NoEventSystemWarning; + public static string OnHotReloadWarning; + public static string MethodCallWarning; + public static string OnHotReloadLocalCallWarning; + public static string OnHotReloadLocalWarning; + + public static void LoadEnglish() { + BuildSettings = "Build Settings"; + IncludeInBuildTooltip = "Should the Hot Reload runtime be included in development builds? HotReload is never included in release builds."; + PlayerSettings = "Player Settings"; + Other = "Other"; + FallbackEventSystemTooltip = "Used when project does not create an EventSystem early enough"; + NoEventSystemWarning = "No EventSystem is active, enabling an EventSystem inside Hot Reload {0} prefab. A Unity EventSystem and an Input module is required for tapping buttons on the Unity UI."; + OnHotReloadWarning = "failed. Make sure it has 0 parameters, or 1 parameter with type List. Exception:"; + MethodCallWarning = "failed. Make sure it's a method with 0 parameters either static or defined on MonoBehaviour."; + OnHotReloadLocalCallWarning = "failed. Make sure it has 0 parameters. Exception:"; + OnHotReloadLocalWarning = "failed to find method {0}. Make sure it exists within the same class."; + } + + public static void LoadSimplifiedChinese() { + BuildSettings = "构建设置"; + IncludeInBuildTooltip = "Hot Reload 运行时是否应包含在开发版本中?HotReload 永远不会包含在发布版本中。"; + PlayerSettings = "播放器设置"; + Other = "其他"; + FallbackEventSystemTooltip = "当项目未能及早创建 EventSystem 时使用"; + NoEventSystemWarning = "没有活动的 EventSystem,正在 Hot Reload {0} 预制件内启用 EventSystem。点击 Unity UI 上的按钮需要 Unity EventSystem 和输入模块。"; + OnHotReloadWarning = "失败。请确保它有 0 个参数,或 1 个类型为 List 的参数。异常:"; + MethodCallWarning = "失败。请确保它是一个具有 0 个参数的方法,静态或在 MonoBehaviour 上定义。"; + OnHotReloadLocalCallWarning = "失败。请确保它有 0 个参数。异常:"; + OnHotReloadLocalWarning = "未能找到方法 {0}。请确保它存在于同一个类中。"; + } + } + } + +} +#endif diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Localization/UtilityTranslations.cs.meta b/Packages/com.singularitygroup.hotreload/Runtime/Localization/UtilityTranslations.cs.meta new file mode 100644 index 0000000..d6acef0 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/Localization/UtilityTranslations.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 25823cb7b37e421ca5119f326f3e1b21 +timeCreated: 1762675217 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Runtime/Localization/UtilityTranslations.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/MethodCompatiblity.cs b/Packages/com.singularitygroup.hotreload/Runtime/MethodCompatiblity.cs new file mode 100644 index 0000000..a3d6067 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/MethodCompatiblity.cs @@ -0,0 +1,114 @@ +using System; +using System.Reflection; +using SingularityGroup.HotReload.MonoMod.Utils; +using SingularityGroup.HotReload.Localization; + +namespace SingularityGroup.HotReload { + static class MethodCompatiblity { + internal static string CheckCompatibility(MethodBase previousMethod, MethodBase patchMethod) { + var previousConstructor = previousMethod as ConstructorInfo; + var patchConstructor = patchMethod as ConstructorInfo; + if(previousConstructor != null && !ReferenceEquals(patchConstructor, null)) { + return AreConstructorsCompatible(previousConstructor, patchConstructor); + } + var previousMethodInfo = previousMethod as MethodInfo; + var patchMethodInfo = patchMethod as MethodInfo; + if(!ReferenceEquals(previousMethodInfo, null) && !ReferenceEquals(patchMethodInfo, null)) { + return AreMethodInfosCompatible(previousMethodInfo, patchMethodInfo); + } + return Localization.Translations.Logging.UnknownIssue; + } + + static string AreMethodBasesCompatible(MethodBase previousMethod, MethodBase patchMethod) { + if(previousMethod.Name != patchMethod.Name) { + return Localization.Translations.Errors.MethodNameMismatch; + } + //Declaring type of patch method is different from the target method but their full name (namespace + name) is equal + bool isDeclaringTypeCompatible = false; + var declaringType = patchMethod.DeclaringType; + while (declaringType != null) { + if(previousMethod.DeclaringType?.FullName == declaringType.FullName) { + isDeclaringTypeCompatible = true; + break; + } + declaringType = declaringType.BaseType; + } + if (!isDeclaringTypeCompatible) { + return Localization.Translations.Errors.DeclaringTypeNameMismatch; + } + //Check in case type parameter overloads to distinguish between: void M() { } <-> void M() { } + if(previousMethod.IsGenericMethodDefinition != patchMethod.IsGenericMethodDefinition) { + return Localization.Translations.Errors.IsGenericMethodDefinitionMismatch; + } + + var prevParams = previousMethod.GetParameters(); + var patchParams = patchMethod.GetParameters(); + ArraySegment patchParamsSegment; + bool patchMethodHasExplicitThis; + if(previousMethod.IsStatic || previousMethod.Name.Contains("<") && !patchMethod.IsStatic) { + patchMethodHasExplicitThis = false; + } else { + patchMethodHasExplicitThis = true; + } + if(LikelyHasExplicitThis(prevParams, patchParams, previousMethod)) { + patchMethodHasExplicitThis = true; + } + //Special edge case: User added static keyword to method. No explicit this will be generated in that case + if(!previousMethod.IsStatic && patchMethod.IsStatic && !LikelyHasExplicitThis(prevParams, patchParams, previousMethod)) { + patchMethodHasExplicitThis = false; + } + if(patchMethodHasExplicitThis) { + //Special case: patch method for an instance method is static and has an explicit this parameter. + //If the patch method doesn't have any parameters it is not compatible. + if(patchParams.Length == 0) { + return Localization.Translations.Errors.MissingThisParameter; + } + //this parameter has to be the declaring type + if(!ParamTypeMatches(patchParams[0].ParameterType, previousMethod.DeclaringType)) { + return Localization.Translations.Errors.ThisParameterTypeMismatch; + } + //Ignore the this parameter and compare the remaining ones. + patchParamsSegment = new ArraySegment(patchParams, 1, patchParams.Length - 1); + } else { + patchParamsSegment = new ArraySegment(patchParams); + } + return CompareParameters(new ArraySegment(prevParams), patchParamsSegment); + } + + static bool LikelyHasExplicitThis(ParameterInfo[] prevParams, ParameterInfo[] patchParams, MethodBase previousMethod) { + if (patchParams.Length != prevParams.Length + 1) { + return false; + } + var patchT = patchParams[0].ParameterType; + if (!ParamTypeMatches(patchT, previousMethod.DeclaringType)) { + return false; + } + return patchParams[0].Name == "this"; + } + + static bool ParamTypeMatches(Type patchT, Type originalT) { + return patchT == originalT || patchT.IsByRef && patchT.GetElementType() == originalT; + } + + static string CompareParameters(ArraySegment x, ArraySegment y) { + if(x.Count != y.Count) { + return Localization.Translations.Errors.ParameterCountMismatch; + } + for (var i = 0; i < x.Count; i++) { + if(x.Array[i + x.Offset].ParameterType != y.Array[i + y.Offset].ParameterType) { + return Localization.Translations.Errors.ParameterTypeMismatch; + } + } + return null; + } + + + static string AreConstructorsCompatible(ConstructorInfo x, ConstructorInfo y) { + return AreMethodBasesCompatible(x, y); + } + + static string AreMethodInfosCompatible(MethodInfo x, MethodInfo y) { + return AreMethodBasesCompatible(x, y) ?? (x.ReturnType == y.ReturnType ? null : Localization.Translations.Errors.ReturnTypeMismatch); + } + } +} diff --git a/Packages/com.singularitygroup.hotreload/Runtime/MethodCompatiblity.cs.meta b/Packages/com.singularitygroup.hotreload/Runtime/MethodCompatiblity.cs.meta new file mode 100644 index 0000000..46cf9ce --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/MethodCompatiblity.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: d731e763662b98941bb06ffc6994a9a8 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Runtime/MethodCompatiblity.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/MethodPatchResponsesConverter.cs b/Packages/com.singularitygroup.hotreload/Runtime/MethodPatchResponsesConverter.cs new file mode 100644 index 0000000..2ff6c28 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/MethodPatchResponsesConverter.cs @@ -0,0 +1,713 @@ +using System; +using System.Collections.Generic; +using SingularityGroup.HotReload.DTO; +using SingularityGroup.HotReload.Newtonsoft.Json; + +namespace SingularityGroup.HotReload.JsonConverters { + internal class MethodPatchResponsesConverter : JsonConverter { + public override bool CanConvert(Type objectType) { + return objectType == typeof(List); + } + + public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { + var list = new List(); + + while (reader.Read()) { + if (reader.TokenType == JsonToken.StartObject) { + list.Add(ReadMethodPatchResponse(reader)); + } else if (reader.TokenType == JsonToken.EndArray) { + break; // End of the SMethod list + } + } + + return list; + } + + private MethodPatchResponse ReadMethodPatchResponse(JsonReader reader) { + string id = null; + CodePatch[] patches = null; + string[] failures = null; + SMethod[] removedMethod = null; + SField[] alteredFields = null; + SField[] addedFieldInitializerFields = null; + SMethod[] addedFieldInitializerInitializers = null; + SField[] removedFieldInitializers = null; + SField[] newFieldDefinitions = null; + + while (reader.Read()) { + if (reader.TokenType == JsonToken.EndObject) { + break; + } + if (reader.TokenType != JsonToken.PropertyName) { + continue; + } + var propertyName = (string)reader.Value; + + switch (propertyName) { + case nameof(MethodPatchResponse.id): + id = reader.ReadAsString(); + break; + + case nameof(MethodPatchResponse.patches): + patches = ReadPatches(reader); + break; + + case nameof(MethodPatchResponse.failures): + failures = ReadStringArray(reader); + break; + + case nameof(MethodPatchResponse.removedMethod): + removedMethod = ReadSMethodArray(reader); + break; + + case nameof(MethodPatchResponse.alteredFields): + alteredFields = ReadSFields(reader); + break; + + case nameof(MethodPatchResponse.addedFieldInitializerFields): + addedFieldInitializerFields = ReadSFields(reader); + break; + + case nameof(MethodPatchResponse.addedFieldInitializerInitializers): + addedFieldInitializerInitializers = ReadSMethodArray(reader); + break; + + case nameof(MethodPatchResponse.removedFieldInitializers): + removedFieldInitializers = ReadSFields(reader); + break; + + case nameof(MethodPatchResponse.newFieldDefinitions): + newFieldDefinitions = ReadSFields(reader); + break; + + default: + reader.Skip(); // Skip unknown properties + break; + } + } + + return new MethodPatchResponse( + id ?? string.Empty, + patches ?? Array.Empty(), + failures ?? Array.Empty(), + removedMethod ?? Array.Empty(), + alteredFields ?? Array.Empty(), + // Note: suggestions don't have to be persisted here + Array.Empty(), + Array.Empty(), + addedFieldInitializerFields ?? Array.Empty(), + addedFieldInitializerInitializers ?? Array.Empty(), + removedFieldInitializers ?? Array.Empty(), + newFieldDefinitions ?? Array.Empty() + ); + } + + private CodePatch[] ReadPatches(JsonReader reader) { + var patches = new List(); + + while (reader.Read()) { + if (reader.TokenType == JsonToken.EndArray) { + break; + } + if (reader.TokenType != JsonToken.StartObject) { + continue; + } + string patchId = null; + string assemblyName = null; + byte[] patchAssembly = null; + byte[] patchPdb = null; + SMethod[] modifiedMethods = null; + SMethod[] patchMethods = null; + SMethod[] newMethods = null; + SUnityJob[] unityJobs = null; + SField[] newFields = null; + SField[] deletedFields = null; + SField[] renamedFieldsFrom = null; + SField[] renamedFieldsTo = null; + SField[] propertyAttributesFieldOriginal = null; + SField[] propertyAttributesFieldUpdated = null; + + while (reader.Read()) { + if (reader.TokenType == JsonToken.EndObject) { + break; + } + if (reader.TokenType != JsonToken.PropertyName) { + continue; + } + var propertyName = (string)reader.Value; + + switch (propertyName) { + case nameof(CodePatch.patchId): + patchId = reader.ReadAsString(); + break; + + case nameof(CodePatch.assemblyName): + assemblyName = reader.ReadAsString(); + break; + + case nameof(CodePatch.patchAssembly): + patchAssembly = Convert.FromBase64String(reader.ReadAsString()); + break; + + case nameof(CodePatch.patchPdb): + patchPdb = Convert.FromBase64String(reader.ReadAsString()); + break; + + case nameof(CodePatch.modifiedMethods): + modifiedMethods = ReadSMethodArray(reader); + break; + + case nameof(CodePatch.patchMethods): + patchMethods = ReadSMethodArray(reader); + break; + + case nameof(CodePatch.newMethods): + newMethods = ReadSMethodArray(reader); + break; + + case nameof(CodePatch.unityJobs): + unityJobs = ReadSUnityJobArray(reader); + break; + + case nameof(CodePatch.newFields): + newFields = ReadSFields(reader); + break; + case nameof(CodePatch.deletedFields): + deletedFields = ReadSFields(reader); + break; + + case nameof(CodePatch.renamedFieldsFrom): + renamedFieldsFrom = ReadSFields(reader); + break; + + case nameof(CodePatch.renamedFieldsTo): + renamedFieldsTo = ReadSFields(reader); + break; + + case nameof(CodePatch.propertyAttributesFieldOriginal): + propertyAttributesFieldOriginal = ReadSFields(reader); + break; + + case nameof(CodePatch.propertyAttributesFieldUpdated): + propertyAttributesFieldUpdated = ReadSFields(reader); + break; + + default: + reader.Skip(); // Skip unknown properties + break; + } + } + + patches.Add(new CodePatch( + patchId: patchId ?? string.Empty, + assemblyName: assemblyName ?? string.Empty, + patchAssembly: patchAssembly ?? Array.Empty(), + patchPdb: patchPdb ?? Array.Empty(), + modifiedMethods: modifiedMethods ?? Array.Empty(), + patchMethods: patchMethods ?? Array.Empty(), + newMethods: newMethods ?? Array.Empty(), + unityJobs: unityJobs ?? Array.Empty(), + newFields: newFields ?? Array.Empty(), + deletedFields: deletedFields ?? Array.Empty(), + renamedFieldsFrom: renamedFieldsFrom ?? Array.Empty(), + renamedFieldsTo: renamedFieldsTo ?? Array.Empty(), + propertyAttributesFieldOriginal: propertyAttributesFieldOriginal ?? Array.Empty(), + propertyAttributesFieldUpdated: propertyAttributesFieldUpdated ?? Array.Empty() + )); + } + + return patches.ToArray(); + } + + private string[] ReadStringArray(JsonReader reader) { + var list = new List(); + + while (reader.Read()) { + if (reader.TokenType == JsonToken.String) { + list.Add((string)reader.Value); + } else if (reader.TokenType == JsonToken.EndArray) { + break; // End of the string list + } + } + + return list.ToArray(); + } + + private SMethod[] ReadSMethodArray(JsonReader reader) { + var list = new List(); + + while (reader.Read()) { + if (reader.TokenType == JsonToken.StartObject) { + list.Add(ReadSMethod(reader)); + } else if (reader.TokenType == JsonToken.EndArray) { + break; // End of the SMethod list + } + } + + return list.ToArray(); + } + + private SType[] ReadSTypeArray(JsonReader reader) { + var list = new List(); + + while (reader.Read()) { + if (reader.TokenType == JsonToken.StartObject) { + list.Add(ReadSType(reader)); + } else if (reader.TokenType == JsonToken.EndArray) { + break; // End of the SType list + } + } + + return list.ToArray(); + } + + private SUnityJob[] ReadSUnityJobArray(JsonReader reader) { + var array = new List(); + + while (reader.Read()) { + if (reader.TokenType == JsonToken.StartObject) { + array.Add(ReadSUnityJob(reader)); + } else if (reader.TokenType == JsonToken.EndArray) { + break; // End of the SUnityJob array + } + } + + return array.ToArray(); + } + + private SField[] ReadSFields(JsonReader reader) { + var array = new List(); + while (reader.Read()) { + if (reader.TokenType == JsonToken.StartObject) { + array.Add(ReadSField(reader)); + } else if (reader.TokenType == JsonToken.EndArray) { + break; // End of the SUnityJob array + } + } + return array.ToArray(); + } + + private SMethod ReadSMethod(JsonReader reader) { + string assemblyName = null; + string displayName = null; + int metadataToken = default(int); + string simpleName = null; + + while (reader.Read()) { + if (reader.TokenType == JsonToken.EndObject) { + break; + } + if (reader.TokenType != JsonToken.PropertyName) { + continue; + } + var propertyName = (string)reader.Value; + + switch (propertyName) { + case nameof(SMethod.assemblyName): + assemblyName = reader.ReadAsString(); + break; + + case nameof(SMethod.displayName): + displayName = reader.ReadAsString(); + break; + + case nameof(SMethod.metadataToken): + metadataToken = reader.ReadAsInt32() ?? default(int); + break; + + case nameof(SMethod.simpleName): + simpleName = reader.ReadAsString(); + break; + + default: + reader.Skip(); // Skip unknown properties + break; + } + } + + return new SMethod( + assemblyName ?? string.Empty, + displayName ?? string.Empty, + metadataToken, + simpleName ?? string.Empty + ); + } + + private SType ReadSType(JsonReader reader) { + string assemblyName = null; + string typeName = null; + int? metadataToken = null; + + while (reader.Read()) { + if (reader.TokenType == JsonToken.Null) { + return null; + } + if (reader.TokenType == JsonToken.EndObject) { + break; + } + if (reader.TokenType != JsonToken.PropertyName) { + continue; + } + var propertyName = (string)reader.Value; + + switch (propertyName) { + case nameof(SType.assemblyName): + assemblyName = reader.ReadAsString(); + break; + + case nameof(SType.typeName): + typeName = reader.ReadAsString(); + break; + + case nameof(SType.metadataToken): + metadataToken = reader.ReadAsInt32(); + break; + + default: + reader.Skip(); // Skip unknown properties + break; + } + } + + return new SType( + assemblyName ?? string.Empty, + typeName ?? string.Empty, + metadataToken ?? 0 + ); + } + + private SUnityJob ReadSUnityJob(JsonReader reader) { + int metadataToken = default(int); + UnityJobKind jobKind = default(UnityJobKind); + + while (reader.Read()) { + if (reader.TokenType == JsonToken.EndObject) { + break; + } + if (reader.TokenType != JsonToken.PropertyName) { + continue; + } + var propertyName = (string)reader.Value; + + switch (propertyName) { + case nameof(SUnityJob.metadataToken): + metadataToken = reader.ReadAsInt32() ?? 0; + break; + + case nameof(SUnityJob.jobKind): + var jobKindStr = reader.ReadAsString(); + Enum.TryParse(jobKindStr, out jobKind); + break; + + default: + reader.Skip(); // Skip unknown properties + break; + } + } + + return new SUnityJob(metadataToken, jobKind); + } + + private SField ReadSField(JsonReader reader) { + SType declaringType = null; + string fieldName = null; + string assemblyName = null; + int? metadataToken = null; + bool? serializable = null; + bool? isStatic = null; + + while (reader.Read()) { + if (reader.TokenType == JsonToken.EndObject) { + break; + } + if (reader.TokenType != JsonToken.PropertyName) { + continue; + } + var propertyName = (string)reader.Value; + + switch (propertyName) { + case nameof(SField.declaringType): + declaringType = ReadSType(reader); + break; + + case nameof(SField.fieldName): + fieldName = reader.ReadAsString(); + break; + + case nameof(SField.assemblyName): + assemblyName = reader.ReadAsString(); + break; + + case nameof(SField.metadataToken): + metadataToken = reader.ReadAsInt32(); + break; + + case nameof(SField.serializable): + serializable = reader.ReadAsBoolean(); + break; + + case nameof(SField.isStatic): + isStatic = reader.ReadAsBoolean(); + break; + + default: + reader.Skip(); // Skip unknown properties + break; + } + } + + return new SField(declaringType: declaringType, fieldName: fieldName, assemblyName: assemblyName, metadataToken ?? 0, isStatic ?? false, serializable ?? false); + } + + public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { + var responses = (List)value; + if (responses == null) { + writer.WriteNull(); + return; + } + + writer.WriteStartArray(); + foreach (var response in responses) { + writer.WriteStartObject(); + + writer.WritePropertyName(nameof(response.id)); + writer.WriteValue(response.id); + + if (response.patches != null) { + writer.WritePropertyName(nameof(response.patches)); + writer.WriteStartArray(); + foreach (var responsePatch in response.patches) { + writer.WriteStartObject(); + + writer.WritePropertyName(nameof(responsePatch.patchId)); + writer.WriteValue(responsePatch.patchId); + writer.WritePropertyName(nameof(responsePatch.assemblyName)); + writer.WriteValue(responsePatch.assemblyName); + writer.WritePropertyName(nameof(responsePatch.patchAssembly)); + writer.WriteValue(Convert.ToBase64String(responsePatch.patchAssembly)); + writer.WritePropertyName(nameof(responsePatch.patchPdb)); + writer.WriteValue(Convert.ToBase64String(responsePatch.patchPdb)); + + if (responsePatch.modifiedMethods != null) { + writer.WritePropertyName(nameof(responsePatch.modifiedMethods)); + writer.WriteStartArray(); + foreach (var modifiedMethod in responsePatch.modifiedMethods) { + WriteSMethod(writer, modifiedMethod); + } + writer.WriteEndArray(); + } + + if (responsePatch.patchMethods != null) { + writer.WritePropertyName(nameof(responsePatch.patchMethods)); + writer.WriteStartArray(); + foreach (var patchMethod in responsePatch.patchMethods) { + WriteSMethod(writer, patchMethod); + } + writer.WriteEndArray(); + } + + if (responsePatch.newMethods != null) { + writer.WritePropertyName(nameof(responsePatch.newMethods)); + writer.WriteStartArray(); + foreach (var newMethod in responsePatch.newMethods) { + WriteSMethod(writer, newMethod); + } + writer.WriteEndArray(); + } + + if (responsePatch.unityJobs != null) { + writer.WritePropertyName(nameof(responsePatch.unityJobs)); + writer.WriteStartArray(); + foreach (var unityJob in responsePatch.unityJobs) { + writer.WriteStartObject(); + + writer.WritePropertyName(nameof(unityJob.metadataToken)); + writer.WriteValue(unityJob.metadataToken); + writer.WritePropertyName(nameof(unityJob.jobKind)); + writer.WriteValue(unityJob.jobKind.ToString()); + + writer.WriteEndObject(); + } + writer.WriteEndArray(); + } + + if (responsePatch.newFields != null) { + writer.WritePropertyName(nameof(responsePatch.newFields)); + writer.WriteStartArray(); + foreach (var newField in responsePatch.newFields) { + WriteSField(writer, newField); + } + writer.WriteEndArray(); + } + + if (responsePatch.deletedFields != null) { + writer.WritePropertyName(nameof(responsePatch.deletedFields)); + writer.WriteStartArray(); + foreach (var deletedField in responsePatch.deletedFields) { + WriteSField(writer, deletedField); + } + writer.WriteEndArray(); + } + + if (responsePatch.renamedFieldsFrom != null) { + writer.WritePropertyName(nameof(responsePatch.renamedFieldsFrom)); + writer.WriteStartArray(); + foreach (var removedFieldFrom in responsePatch.renamedFieldsFrom) { + WriteSField(writer, removedFieldFrom); + } + writer.WriteEndArray(); + } + + if (responsePatch.renamedFieldsTo != null) { + writer.WritePropertyName(nameof(responsePatch.renamedFieldsTo)); + writer.WriteStartArray(); + foreach (var removedFieldTo in responsePatch.renamedFieldsTo) { + WriteSField(writer, removedFieldTo); + } + writer.WriteEndArray(); + } + + if (responsePatch.propertyAttributesFieldOriginal != null) { + writer.WritePropertyName(nameof(responsePatch.propertyAttributesFieldOriginal)); + writer.WriteStartArray(); + foreach (var removedFieldFrom in responsePatch.propertyAttributesFieldOriginal) { + WriteSField(writer, removedFieldFrom); + } + writer.WriteEndArray(); + } + + if (responsePatch.propertyAttributesFieldUpdated != null) { + writer.WritePropertyName(nameof(responsePatch.propertyAttributesFieldUpdated)); + writer.WriteStartArray(); + foreach (var removedFieldTo in responsePatch.propertyAttributesFieldUpdated) { + WriteSField(writer, removedFieldTo); + } + writer.WriteEndArray(); + } + + writer.WriteEndObject(); + } + writer.WriteEndArray(); + } + + if (response.failures != null) { + writer.WritePropertyName(nameof(response.failures)); + writer.WriteStartArray(); + foreach (var failure in response.failures) { + writer.WriteValue(failure); + } + writer.WriteEndArray(); + } + + if (response.removedMethod != null) { + writer.WritePropertyName(nameof(response.removedMethod)); + writer.WriteStartArray(); + foreach (var removedMethod in response.removedMethod) { + WriteSMethod(writer, removedMethod); + } + writer.WriteEndArray(); + } + + if (response.alteredFields != null) { + writer.WritePropertyName(nameof(response.alteredFields)); + writer.WriteStartArray(); + foreach (var alteredField in response.alteredFields) { + WriteSField(writer, alteredField); + } + writer.WriteEndArray(); + } + + if (response.addedFieldInitializerFields != null) { + writer.WritePropertyName(nameof(response.addedFieldInitializerFields)); + writer.WriteStartArray(); + foreach (var addedFieldInitializerField in response.addedFieldInitializerFields) { + WriteSField(writer, addedFieldInitializerField); + } + writer.WriteEndArray(); + } + + if (response.addedFieldInitializerInitializers != null) { + writer.WritePropertyName(nameof(response.addedFieldInitializerInitializers)); + writer.WriteStartArray(); + foreach (var addedFieldInitializerInitializer in response.addedFieldInitializerInitializers) { + WriteSMethod(writer, addedFieldInitializerInitializer); + } + writer.WriteEndArray(); + } + + if (response.removedFieldInitializers != null) { + writer.WritePropertyName(nameof(response.removedFieldInitializers)); + writer.WriteStartArray(); + foreach (var removedFieldInitializer in response.removedFieldInitializers) { + WriteSField(writer, removedFieldInitializer); + } + writer.WriteEndArray(); + } + + if (response.newFieldDefinitions != null) { + writer.WritePropertyName(nameof(response.newFieldDefinitions)); + writer.WriteStartArray(); + foreach (var newFieldDefinition in response.newFieldDefinitions) { + WriteSField(writer, newFieldDefinition); + } + writer.WriteEndArray(); + } + + writer.WriteEndObject(); + } + writer.WriteEndArray(); + } + + void WriteSMethod(JsonWriter writer, SMethod method) { + writer.WriteStartObject(); + + writer.WritePropertyName(nameof(method.assemblyName)); + writer.WriteValue(method.assemblyName); + writer.WritePropertyName(nameof(method.displayName)); + writer.WriteValue(method.displayName); + writer.WritePropertyName(nameof(method.metadataToken)); + writer.WriteValue(method.metadataToken); + writer.WritePropertyName(nameof(method.simpleName)); + writer.WriteValue(method.simpleName); + + writer.WriteEndObject(); + } + + void WriteSField(JsonWriter writer, SField field) { + writer.WriteStartObject(); + + writer.WritePropertyName(nameof(field.declaringType)); + writer.WriteSType(field.declaringType); + writer.WritePropertyName(nameof(field.fieldName)); + writer.WriteValue(field.fieldName); + writer.WritePropertyName(nameof(field.assemblyName)); + writer.WriteValue(field.assemblyName); + writer.WritePropertyName(nameof(field.metadataToken)); + writer.WriteValue(field.metadataToken); + writer.WritePropertyName(nameof(field.serializable)); + writer.WriteValue(field.serializable); + + writer.WriteEndObject(); + } + + } + internal static class MethodPatchResponsesConverterExtensions { + public static void WriteSType(this JsonWriter writer, SType type) { + if (type == null) { + writer.WriteNull(); + return; + } + writer.WriteStartObject(); + + writer.WritePropertyName(nameof(type.assemblyName)); + writer.WriteValue(type.assemblyName); + writer.WritePropertyName(nameof(type.typeName)); + writer.WriteValue(type.typeName); + writer.WritePropertyName(nameof(type.metadataToken)); + writer.WriteValue(type.metadataToken); + + writer.WriteEndObject(); + } + } + +} diff --git a/Packages/com.singularitygroup.hotreload/Runtime/MethodPatchResponsesConverter.cs.meta b/Packages/com.singularitygroup.hotreload/Runtime/MethodPatchResponsesConverter.cs.meta new file mode 100644 index 0000000..8652c10 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/MethodPatchResponsesConverter.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: a35195732a094716a76d7125122c90fe +timeCreated: 1685732397 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Runtime/MethodPatchResponsesConverter.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/MethodUtils.cs b/Packages/com.singularitygroup.hotreload/Runtime/MethodUtils.cs new file mode 100644 index 0000000..6edc784 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/MethodUtils.cs @@ -0,0 +1,33 @@ +using System; +using System.Reflection; + +namespace SingularityGroup.HotReload { + static class MethodUtils { +#if ENABLE_MONO + public static unsafe void DisableVisibilityChecks(MethodBase method) { + if(IntPtr.Size == sizeof(long)) { + var ptr = (Interop.MonoMethod64*)method.MethodHandle.Value.ToPointer(); + ptr->monoMethodFlags |= Interop.MonoMethodFlags.skip_visibility; + } else { + var ptr = (Interop.MonoMethod32*)method.MethodHandle.Value.ToPointer(); + ptr->monoMethodFlags |= Interop.MonoMethodFlags.skip_visibility; + } + } + + public static unsafe bool IsMethodInlined(MethodBase method) { + if(IntPtr.Size == sizeof(long)) { + var ptr = (Interop.MonoMethod64*)method.MethodHandle.Value.ToPointer(); + return (ptr -> monoMethodFlags & Interop.MonoMethodFlags.inline_info) == Interop.MonoMethodFlags.inline_info; + } else { + var ptr = (Interop.MonoMethod32*)method.MethodHandle.Value.ToPointer(); + return (ptr -> monoMethodFlags & Interop.MonoMethodFlags.inline_info) == Interop.MonoMethodFlags.inline_info; + } + } +#else + public static void DisableVisibilityChecks(MethodBase method) { } + public static bool IsMethodInlined(MethodBase method) { + return false; + } +#endif + } +} diff --git a/Packages/com.singularitygroup.hotreload/Runtime/MethodUtils.cs.meta b/Packages/com.singularitygroup.hotreload/Runtime/MethodUtils.cs.meta new file mode 100644 index 0000000..d8ffd8e --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/MethodUtils.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: c4f19b17adc17a94192a325012f153db +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Runtime/MethodUtils.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/MonoBehaviours.meta b/Packages/com.singularitygroup.hotreload/Runtime/MonoBehaviours.meta new file mode 100644 index 0000000..fa0e4ef --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/MonoBehaviours.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: a2fd781ae18045f0b7690cd490737996 +timeCreated: 1675064423 \ No newline at end of file diff --git a/Packages/com.singularitygroup.hotreload/Runtime/MonoBehaviours/ConnectionDialog.cs b/Packages/com.singularitygroup.hotreload/Runtime/MonoBehaviours/ConnectionDialog.cs new file mode 100644 index 0000000..5aa2995 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/MonoBehaviours/ConnectionDialog.cs @@ -0,0 +1,82 @@ +#if ENABLE_MONO && (DEVELOPMENT_BUILD || UNITY_EDITOR) +using SingularityGroup.HotReload.Localization; +using UnityEngine; +using UnityEngine.UI; + +namespace SingularityGroup.HotReload { + internal class ConnectionDialog : MonoBehaviour { + + [Header(Localization.Translations.MenuItems.UIControls)] + public Button buttonHide; + + [Header(Localization.Translations.MenuItems.Information)] + public Text textSummary; + public Text textSuggestion; + + void Start() { + buttonHide.onClick.AddListener(Hide); + } + + public int pendingPatches = 0; + public int patchesApplied = 0; + + private void Awake() { + SyncPatchCounts(); + } + + bool SyncPatchCounts() { + var changed = false; + if (pendingPatches != CodePatcher.I.PendingPatches.Count) { + pendingPatches = CodePatcher.I.PendingPatches.Count; + changed = true; + } + + if (patchesApplied != CodePatcher.I.PatchesApplied) { + patchesApplied = CodePatcher.I.PatchesApplied; + changed = true; + } + + return changed; + } + + /// One of the constants + public void SetSummary(string summary) { + if (textSummary != null) textSummary.text = summary; + isConnected = summary == ConnectionSummary.Connected; + } + + private bool isConnected = false; + + // assumes that auto-pair already tried for several seconds + void Update() { + textSuggestion.enabled = isConnected; + if (SyncPatchCounts()) { + textSuggestion.text = string.Format(Localization.Translations.Dialogs.PatchesStatus, pendingPatches, patchesApplied); + } + } + + /// hide this dialog + void Hide() { + gameObject.SetActive(false); // this should disable the Update loop? + } + } + + ///

+ /// The connection between device and Hot Reload can be summarized in a few words. + /// + /// + /// The summary may be shown for less than a second, as the connection can change without warning.
+ /// Therefore, we use short and simple messages. + ///
+ internal static class ConnectionSummary { + public static string Cancelled => Localization.Translations.Dialogs.ConnectionStateCancelled; + public static string Connecting => Localization.Translations.Dialogs.ConnectionStateConnecting; + public static string Handshaking => Localization.Translations.Dialogs.ConnectionStateHandshaking; + public static string DifferencesFound => Localization.Translations.Dialogs.ConnectionStateDifferencesFound; + public static string Connected => Localization.Translations.Dialogs.ConnectionStateConnected; + // reconnecting can be shown for a long time, so a longer message is okay + public static string TryingToReconnect => Localization.Translations.Dialogs.TryingToReconnect; + public static string Disconnected => Localization.Translations.Dialogs.Disconnected; + } +} +#endif diff --git a/Packages/com.singularitygroup.hotreload/Runtime/MonoBehaviours/ConnectionDialog.cs.meta b/Packages/com.singularitygroup.hotreload/Runtime/MonoBehaviours/ConnectionDialog.cs.meta new file mode 100644 index 0000000..929d769 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/MonoBehaviours/ConnectionDialog.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: bb1cc47c374f478e861f2c3dade07e1a +timeCreated: 1675064498 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Runtime/MonoBehaviours/ConnectionDialog.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/MonoBehaviours/Prompts.cs b/Packages/com.singularitygroup.hotreload/Runtime/MonoBehaviours/Prompts.cs new file mode 100644 index 0000000..fe812d4 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/MonoBehaviours/Prompts.cs @@ -0,0 +1,144 @@ +#if ENABLE_MONO && (DEVELOPMENT_BUILD || UNITY_EDITOR) +using System; +using System.Collections; +using System.Threading.Tasks; +using UnityEngine; +using UnityEngine.EventSystems; +#if ENABLE_INPUT_SYSTEM +using UnityEngine.InputSystem; +#endif + +namespace SingularityGroup.HotReload { + internal class Prompts : MonoBehaviour { + public GameObject retryPrompt; + public GameObject connectedPrompt; + public GameObject questionPrompt; + + [Header(Localization.Translations.MenuItems.Other)] + [Tooltip(Localization.Translations.MenuItems.FalllbackEventSystem)] + public GameObject fallbackEventSystem; + + #region Singleton + + private static Prompts _I; + + /// + /// All usages must check that is true before accessing this singleton. + /// + /// + /// This getter can throw on unsupported platforms (HotReloadSettingsObject resource doesn't exist on unsupported platforms). + /// + public static Prompts I { + get { + if (_I == null) { + // allow showing prompts in editor (for testing) + if (!Application.isEditor && !PlayerEntrypoint.IsPlayerWithHotReload()) { + throw new NotSupportedException(Localization.Translations.Errors.IsPlayerWithHotReloadFalse); + } + var go = Instantiate(HotReloadSettingsObject.I.PromptsPrefab, + new Vector3(0, 0, 0), Quaternion.identity); + go.name = nameof(Prompts) + "_singleton"; + if (Application.isPlaying) { + DontDestroyOnLoad(go); + } + + _I = go.GetComponentInChildren(); + } + + return _I; + } + } + #endregion + + /// + public static void SetConnectionState(string state, bool log = true) { + var connectionDialog = I.connectedPrompt.GetComponentInChildren(); + if (log) Log.Debug($"SetConnectionState( {state} )"); + if (connectionDialog) { + connectionDialog.SetSummary(state); + } + } + + /// + public static void ShowConnectionDialog() { + I.retryPrompt.SetActive(false); + I.connectedPrompt.SetActive(true); + } + + public static async Task ShowQuestionDialog(QuestionDialog.Config config) { + var tcs = new TaskCompletionSource(); + var holder = I.questionPrompt; + var dialog = holder.GetComponentInChildren(); + dialog.completion = tcs; + dialog.UpdateView(config); + holder.SetActive(true); + return await tcs.Task; + } + + public static void ShowRetryDialog( + PatchServerInfo patchServerInfo, + ServerHandshake.Result handshakeResults = ServerHandshake.Result.None, + bool auto = true + ) { + + var retryDialog = I.retryPrompt.GetComponentInChildren(); + + RetryDialog.TargetServer = patchServerInfo; + RetryDialog.HandshakeResults = handshakeResults; + + if (patchServerInfo == null) { + retryDialog.DebugInfo = $"patchServerInfo == null {handshakeResults}"; + } else { + retryDialog.DebugInfo = $"{RequestHelper.CreateUrl(patchServerInfo)} {handshakeResults}"; + } + retryDialog.autoConnect = auto; + + I.connectedPrompt.SetActive(false); + I.retryPrompt.SetActive(true); + } + + #region fallback event system + + private void Start() { + StartCoroutine(DelayedEnsureEventSystem()); + } + + private bool userTriedToInteract = false; + + private void Update() { + if (!userTriedToInteract) { + // when user interacts with the screen, make sure overlay can handle taps +#if ENABLE_INPUT_SYSTEM + if ((Touchscreen.current != null && Touchscreen.current.touches.Count > 0) || + (Mouse.current != null && Mouse.current.leftButton.wasPressedThisFrame)) { + userTriedToInteract = true; + DoEnsureEventSystem(); + } +#else + if (Input.touchCount > 0 || Input.GetMouseButtonDown(0)) { + userTriedToInteract = true; + DoEnsureEventSystem(); + } +#endif + } + } + + private IEnumerator DelayedEnsureEventSystem() { + // allow some delay in-case the project loads the EventSystem asynchronously (perhaps in a second scene) + if (EventSystem.current == null) { + yield return new WaitForSeconds(1f); + DoEnsureEventSystem(); + } + } + + /// Scene must contain an EventSystem and StandaloneInputModule, otherwise clicking/tapping on the overlay does nothing. + private void DoEnsureEventSystem() { + if (EventSystem.current == null) { + Log.Info(string.Format(Localization.Translations.Settings.NoEventSystemWarning, name)); + fallbackEventSystem.SetActive(true); + } + } + #endregion + } +} +#endif diff --git a/Packages/com.singularitygroup.hotreload/Runtime/MonoBehaviours/Prompts.cs.meta b/Packages/com.singularitygroup.hotreload/Runtime/MonoBehaviours/Prompts.cs.meta new file mode 100644 index 0000000..ff01518 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/MonoBehaviours/Prompts.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: d92cdbfacafd433ca77184c22a384a6d +timeCreated: 1674488132 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Runtime/MonoBehaviours/Prompts.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/MonoBehaviours/QuestionDialog.cs b/Packages/com.singularitygroup.hotreload/Runtime/MonoBehaviours/QuestionDialog.cs new file mode 100644 index 0000000..d257912 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/MonoBehaviours/QuestionDialog.cs @@ -0,0 +1,67 @@ +#if ENABLE_MONO && (DEVELOPMENT_BUILD || UNITY_EDITOR) +using System; +using System.Threading.Tasks; +using SingularityGroup.HotReload.Localization; +using UnityEngine; +using UnityEngine.UI; + +namespace SingularityGroup.HotReload { + class QuestionDialog : MonoBehaviour { + + [Header(Localization.Translations.MenuItems.Information)] + public Text textSummary; + public Text textSuggestion; + + [Header(Localization.Translations.MenuItems.UIControls)] + public Button buttonContinue; + public Button buttonCancel; + public Button buttonMoreInfo; + + public TaskCompletionSource completion = new TaskCompletionSource(); + + public void UpdateView(Config config) { + textSummary.text = config.summary; + textSuggestion.text = config.suggestion; + + if (string.IsNullOrEmpty(config.continueButtonText)) { + buttonContinue.enabled = false; + } else { + buttonContinue.GetComponentInChildren().text = config.continueButtonText; + buttonContinue.onClick.AddListener(() => { + completion.TrySetResult(true); + Hide(); + }); + } + + if (string.IsNullOrEmpty(config.cancelButtonText)) { + buttonCancel.enabled = false; + } else { + buttonCancel.GetComponentInChildren().text = config.cancelButtonText; + buttonCancel.onClick.AddListener(() => { + completion.TrySetResult(false); + Hide(); + }); + } + + buttonMoreInfo.onClick.AddListener(() => { + Application.OpenURL(config.moreInfoUrl); + }); + } + + internal class Config { + public string summary; + public string suggestion; + public string continueButtonText = Localization.Translations.Dialogs.ContinueButtonText; + public string cancelButtonText = Localization.Translations.Dialogs.CancelButtonText; + public string moreInfoUrl = PackageConst.DefaultLocale == Locale.SimplifiedChinese ? + "https://hotreload.net/zh/documentation/on-device#处理不同的提交" : + "https://hotreload.net/documentation/on-device#handling-different-commits"; + } + + /// hide this dialog + void Hide() { + gameObject.SetActive(false); // this should disable the Update loop? + } + } +} +#endif diff --git a/Packages/com.singularitygroup.hotreload/Runtime/MonoBehaviours/QuestionDialog.cs.meta b/Packages/com.singularitygroup.hotreload/Runtime/MonoBehaviours/QuestionDialog.cs.meta new file mode 100644 index 0000000..4cb6859 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/MonoBehaviours/QuestionDialog.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: ef31038a0ed84685b779466bf22d53a9 +timeCreated: 1675143382 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Runtime/MonoBehaviours/QuestionDialog.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/MonoBehaviours/RetryDialog.cs b/Packages/com.singularitygroup.hotreload/Runtime/MonoBehaviours/RetryDialog.cs new file mode 100644 index 0000000..d9daaf4 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/MonoBehaviours/RetryDialog.cs @@ -0,0 +1,108 @@ +#if ENABLE_MONO && (DEVELOPMENT_BUILD || UNITY_EDITOR) +using JetBrains.Annotations; +using SingularityGroup.HotReload.Localization; +using UnityEngine; +using UnityEngine.UI; + +namespace SingularityGroup.HotReload { + internal class RetryDialog : MonoBehaviour { + [Header(Localization.Translations.MenuItems.UIControls)] + public Button buttonHide; + public Button buttonRetryAutoPair; + public Button buttonTroubleshoot; + + public Text textSummary; + public Text textSuggestion; + public InputField ipInput; + + [Tooltip("Hidden by default")] + public Text textForDebugging; + + [Header("For HotReload Devs")] + // In Unity Editor, click checkbox to see info helpful for debugging bugs + public bool enableDebugging; + + // [Header("Other")] + // [Tooltip("Used when your project does not create an EventSystem early enough")] + // public GameObject fallbackEventSystem; + + private static RetryDialog _I; + + public string DebugInfo { + set { + textForDebugging.text = value; + } + } + + public bool autoConnect { get; set; } + + void Start() { + buttonHide.onClick.AddListener(() => { + Hide(); + }); + + buttonRetryAutoPair.onClick.AddListener(() => { + Hide(); + int port; + var ipAndPort = ipInput.textComponent.text.Split(':'); + if (ipAndPort.Length != 2 || !int.TryParse(ipAndPort[1], out port)) { + port = PlayerEntrypoint.PlayerBuildInfo?.buildMachinePort ?? RequestHelper.defaultPort; + } + var ip = ipAndPort.Length > 0 ? ipAndPort[0] : string.Empty; + PlayerEntrypoint.TryConnectToIpAndPort(ip, port); + }); + + buttonTroubleshoot.onClick.AddListener(() => { + var docsUrl = PackageConst.DefaultLocale == Locale.SimplifiedChinese ? + "https://hotreload.net/zh/documentation/on-device#连接问题" : + "https://hotreload.net/documentation/on-device#connection-issues" ; + Application.OpenURL(docsUrl); + }); + } + + [CanBeNull] + public static PatchServerInfo TargetServer { private get; set; } = null; + public static ServerHandshake.Result HandshakeResults { private get; set; } = ServerHandshake.Result.None; + + private void OnEnable() { + ipInput.text = $"{PlayerEntrypoint.PlayerBuildInfo?.buildMachineHostName}:{PlayerEntrypoint.PlayerBuildInfo?.buildMachinePort}"; + UpdateUI(); + } + + void Update() { + UpdateUI(); + } + + void UpdateUI() { + // assumes that auto-pair already tried for several seconds + // suggestions to help the user when auto-pair is failing + var networkText = Application.isMobilePlatform ? "WiFi" : "LAN/WiFi"; + var noWifiNetwork = string.Format(Localization.Translations.Dialogs.IsConnected, networkText); + var waitForCompiling = Localization.Translations.Dialogs.WaitForCompiling; + var targetNetworkIsReachable = string.Format(Localization.Translations.Dialogs.TargetNetworkIsReachable, networkText); + + if (Application.internetReachability != NetworkReachability.ReachableViaLocalAreaNetwork) { + textSuggestion.text = noWifiNetwork; + } else if (HandshakeResults.HasFlag(ServerHandshake.Result.WaitForCompiling)) { + // Note: Technically the player could do the waiting itself, and handshake again with the server + // only after compiling finishes... Telling the user to do that is easier to implement though. + textSuggestion.text = waitForCompiling; + } else { + textSuggestion.text = targetNetworkIsReachable; + } + + textSummary.text = autoConnect ? Localization.Translations.Dialogs.AutoPairEncounteredIssue : Localization.Translations.Dialogs.ConnectionFailed; + + if (enableDebugging && textForDebugging) { + textForDebugging.enabled = true; + textForDebugging.text = $"the target = {TargetServer}"; + } + } + + /// hide this dialog + void Hide() { + gameObject.SetActive(false); // this should disable the Update loop? + } + } +} +#endif diff --git a/Packages/com.singularitygroup.hotreload/Runtime/MonoBehaviours/RetryDialog.cs.meta b/Packages/com.singularitygroup.hotreload/Runtime/MonoBehaviours/RetryDialog.cs.meta new file mode 100644 index 0000000..8a3dc77 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/MonoBehaviours/RetryDialog.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 7a69f8e8e50a405a84ec22ac7c2f4bdc +timeCreated: 1674408078 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Runtime/MonoBehaviours/RetryDialog.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/MonoMethod.cs b/Packages/com.singularitygroup.hotreload/Runtime/MonoMethod.cs new file mode 100644 index 0000000..2a30bab --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/MonoMethod.cs @@ -0,0 +1,194 @@ +using System; +using System.Runtime.InteropServices; + + +namespace SingularityGroup.HotReload.Interop { + //see _MonoMethod struct in class-internals.h + [StructLayout(LayoutKind.Explicit, CharSet = CharSet.Auto, Size = 8 + sizeof(long) * 3 + 4)] + internal unsafe struct MonoMethod64 { + [FieldOffset(0)] + public MethodAttributes flags; + [FieldOffset(2)] + public MethodImplAttributes iflags; + [FieldOffset(4)] + public uint token; + [FieldOffset(8)] + public void* klass; + [FieldOffset(8 + sizeof(long))] + public void* signature; + [FieldOffset(8 + sizeof(long) * 2)] + public char* name; + /* this is used by the inlining algorithm */ + [FieldOffset(8 + sizeof(long) * 3)] + public MonoMethodFlags monoMethodFlags; + [FieldOffset(8 + sizeof(long) * 3 + 2)] + public short slot; + } + + [StructLayout(LayoutKind.Explicit, CharSet = CharSet.Auto, Size = 8 + sizeof(int) * 3 + 4)] + internal unsafe struct MonoMethod32 { + [FieldOffset(0)] + public MethodAttributes flags; + [FieldOffset(2)] + public MethodImplAttributes iflags; + [FieldOffset(4)] + public uint token; + [FieldOffset(8)] + public void* klass; + [FieldOffset(8 + sizeof(int))] + public void* signature; + [FieldOffset(8 + sizeof(int) * 2)] + public char* name; + /* this is used by the inlining algorithm */ + [FieldOffset(8 + sizeof(int) * 3)] + public MonoMethodFlags monoMethodFlags; + [FieldOffset(8 + sizeof(int) * 3 + 2)] + public short slot; + } + + //Corresponds to the bitflags of the _MonoMethod struct + [Flags] + internal enum MonoMethodFlags : ushort { + inline_info = 1 << 0, //:1 + inline_failure = 1 << 1, //:1 + wrapper_type = 1 << 2, //:5 + string_ctor = 1 << 7, //:1 + save_lmf = 1 << 8, //:1 + dynamic = 1 << 9, //:1 /* created & destroyed during runtime */ + sre_method = 1 << 10, //:1 /* created at runtime using Reflection.Emit */ + is_generic = 1 << 11, //:1 /* whenever this is a generic method definition */ + is_inflated = 1 << 12, //:1 /* whether we're a MonoMethodInflated */ + skip_visibility = 1 << 13, //:1 /* whenever to skip JIT visibility checks */ + verification_success = 1 << 14, //:1 /* whether this method has been verified successfully.*/ + } + + + [Flags] + internal enum MethodImplAttributes : ushort { + /// Specifies that the method implementation is in Microsoft intermediate language (MSIL). + IL = 0, + + /// Specifies that the method is implemented in managed code. + Managed = 0, + + /// Specifies that the method implementation is native. + Native = 1, + + /// Specifies that the method implementation is in Optimized Intermediate Language (OPTIL). + OPTIL = 2, + + /// Specifies flags about code type. + CodeTypeMask = 3, + + /// Specifies that the method implementation is provided by the runtime. + Runtime = 3, + + /// Specifies whether the method is implemented in managed or unmanaged code. + ManagedMask = 4, + + /// Specifies that the method is implemented in unmanaged code. + Unmanaged = 4, + + /// Specifies that the method cannot be inlined. + NoInlining = 8, + + /// Specifies that the method is not defined. + ForwardRef = 16, // 0x00000010 + + /// + Synchronized = 32, // 0x00000020 + + /// Specifies that the method is not optimized by the just-in-time (JIT) compiler or by native code generation (see Ngen.exe) when debugging possible code generation problems. + NoOptimization = 64, // 0x00000040 + + /// Specifies that the method signature is exported exactly as declared. + PreserveSig = 128, // 0x00000080 + + /// Specifies that the method should be inlined wherever possible. + AggressiveInlining = 256, // 0x00000100 + + /// Specifies an internal call. + InternalCall = 4096, // 0x00001000 + + /// Specifies a range check value. + MaxMethodImplVal = 65535, // 0x0000FFFF + } + + + + /// Specifies flags for method attributes. These flags are defined in the corhdr.h file. + [Flags] + internal enum MethodAttributes : ushort { + /// Retrieves accessibility information. + MemberAccessMask = 7, + + /// Indicates that the member cannot be referenced. + PrivateScope = 0, + + /// Indicates that the method is accessible only to the current class. + Private = 1, + + /// Indicates that the method is accessible to members of this type and its derived types that are in this assembly only. + FamANDAssem = 2, + + /// Indicates that the method is accessible to any class of this assembly. + Assembly = FamANDAssem | Private, // 0x00000003 + + /// Indicates that the method is accessible only to members of this class and its derived classes. + Family = 4, + + /// Indicates that the method is accessible to derived classes anywhere, as well as to any class in the assembly. + FamORAssem = Family | Private, // 0x00000005 + + /// Indicates that the method is accessible to any object for which this object is in scope. + Public = Family | FamANDAssem, // 0x00000006 + + /// Indicates that the method is defined on the type; otherwise, it is defined per instance. + Static = 16, // 0x00000010 + + /// Indicates that the method cannot be overridden. + Final = 32, // 0x00000020 + + /// Indicates that the method is virtual. + Virtual = 64, // 0x00000040 + + /// Indicates that the method hides by name and signature; otherwise, by name only. + HideBySig = 128, // 0x00000080 + + /// Indicates that the method can only be overridden when it is also accessible. + CheckAccessOnOverride = 512, // 0x00000200 + + /// Retrieves vtable attributes. + VtableLayoutMask = 256, // 0x00000100 + + /// Indicates that the method will reuse an existing slot in the vtable. This is the default behavior. + ReuseSlot = 0, + + /// Indicates that the method always gets a new slot in the vtable. + NewSlot = VtableLayoutMask, // 0x00000100 + + /// Indicates that the class does not provide an implementation of this method. + Abstract = 1024, // 0x00000400 + + /// Indicates that the method is special. The name describes how this method is special. + SpecialName = 2048, // 0x00000800 + + /// Indicates that the method implementation is forwarded through PInvoke (Platform Invocation Services). + PinvokeImpl = 8192, // 0x00002000 + + /// Indicates that the managed method is exported by thunk to unmanaged code. + UnmanagedExport = 8, + + /// Indicates that the common language runtime checks the name encoding. + RTSpecialName = 4096, // 0x00001000 + + /// Indicates a reserved flag for runtime use only. + ReservedMask = 53248, // 0x0000D000 + + /// Indicates that the method has security associated with it. Reserved flag for runtime use only. + HasSecurity = 16384, // 0x00004000 + + /// Indicates that the method calls another method containing security code. Reserved flag for runtime use only. + RequireSecObject = 32768, // 0x00008000 + } +} diff --git a/Packages/com.singularitygroup.hotreload/Runtime/MonoMethod.cs.meta b/Packages/com.singularitygroup.hotreload/Runtime/MonoMethod.cs.meta new file mode 100644 index 0000000..6950a56 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/MonoMethod.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: bb9456a28c3b8644e9b0f78eb6d9ac17 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Runtime/MonoMethod.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/MultiplayerPlaymodeHelper.cs b/Packages/com.singularitygroup.hotreload/Runtime/MultiplayerPlaymodeHelper.cs new file mode 100644 index 0000000..c115acf --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/MultiplayerPlaymodeHelper.cs @@ -0,0 +1,31 @@ +using System; +using System.IO; + +namespace SingularityGroup.HotReload { + // Largely copied from CommandLineParameters.ReadIsClone of UnityEditor.MultiplayerModule.dll + internal static class MultiplayerPlaymodeHelper { +#if UNITY_EDITOR && UNITY_2023_1_OR_NEWER + public static bool? isClone; + public static bool IsClone => isClone == null ? (isClone = HasCommandLineArgument(Environment.GetCommandLineArgs(), "--virtual-project-clone")).Value : isClone.Value; +#else + public static bool IsClone => false; +#endif + + public static bool HasCommandLineArgument(string[] commandLineArgs, string argumentName) { + foreach (string commandLineArg in commandLineArgs) { + if (commandLineArg == argumentName) { + return true; + } + } + return false; + } + + public static string PathToMainProject(string path) { + if (IsClone) { + // Library/VP/ is the base path + return Path.Combine("..", "..", "..", path); + } + return path; + } + } +} diff --git a/Packages/com.singularitygroup.hotreload/Runtime/MultiplayerPlaymodeHelper.cs.meta b/Packages/com.singularitygroup.hotreload/Runtime/MultiplayerPlaymodeHelper.cs.meta new file mode 100644 index 0000000..41fcda0 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/MultiplayerPlaymodeHelper.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: caf15b822bf74e8491daf33e58c4f11e +timeCreated: 1768677740 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Runtime/MultiplayerPlaymodeHelper.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/OSX.meta b/Packages/com.singularitygroup.hotreload/Runtime/OSX.meta new file mode 100644 index 0000000..8a2fdb5 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/OSX.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 62fd71232a4784cdeb53a6ab67694087 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.singularitygroup.hotreload/Runtime/OSX/HotReloadNativeHelper.dylib b/Packages/com.singularitygroup.hotreload/Runtime/OSX/HotReloadNativeHelper.dylib new file mode 100644 index 0000000000000000000000000000000000000000..b63141af68fc450635fdaf695be5380195e7cf7b GIT binary patch literal 152352 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 literal 0 HcmV?d00001 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/OSX/HotReloadNativeHelper.dylib.meta b/Packages/com.singularitygroup.hotreload/Runtime/OSX/HotReloadNativeHelper.dylib.meta new file mode 100644 index 0000000..e1531b9 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/OSX/HotReloadNativeHelper.dylib.meta @@ -0,0 +1,87 @@ +fileFormatVersion: 2 +guid: 56a90f73ab41d4145bb173186644f641 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + : Any + second: + enabled: 0 + settings: + Exclude Android: 1 + Exclude Editor: 0 + Exclude Linux64: 1 + Exclude OSXUniversal: 0 + Exclude Win: 1 + Exclude Win64: 1 + Exclude iOS: 1 + - first: + Android: Android + second: + enabled: 0 + settings: + CPU: ARMv7 + - first: + Any: + second: + enabled: 0 + settings: {} + - first: + Editor: Editor + second: + enabled: 1 + settings: + CPU: AnyCPU + DefaultValueInitialized: true + OS: OSX + - first: + Standalone: Linux64 + second: + enabled: 0 + settings: + CPU: AnyCPU + - first: + Standalone: OSXUniversal + second: + enabled: 1 + settings: + CPU: AnyCPU + - first: + Standalone: Win + second: + enabled: 0 + settings: + CPU: x86 + - first: + Standalone: Win64 + second: + enabled: 0 + settings: + CPU: x86_64 + - first: + iPhone: iOS + second: + enabled: 0 + settings: + AddToEmbeddedBinaries: false + CPU: AnyCPU + CompileFlags: + FrameworkDependencies: + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Runtime/OSX/HotReloadNativeHelper.dylib + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/OnHotReloadDispatch.cs b/Packages/com.singularitygroup.hotreload/Runtime/OnHotReloadDispatch.cs new file mode 100644 index 0000000..bc85a30 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/OnHotReloadDispatch.cs @@ -0,0 +1,193 @@ +#pragma warning disable CS0618 // obsolete warnings (stay warning-free also in newer unity versions) +using System; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; +using System.Threading; +using System.Threading.Tasks; +using UnityEngine; +using Object = UnityEngine.Object; +using SingularityGroup.HotReload.Localization; +#if UNITY_EDITOR +using UnityEditor; +#endif + +namespace SingularityGroup.HotReload { + + static class Dispatch { + // DispatchOnHotReload is called every time a patch is applied (1x per batch of filechanges) + public static async Task OnHotReload(List patchedMethods) { + var methods = await Task.Run(() => GetOrFillMethodsCacheThreaded()); + + foreach (var m in methods) { + if (m.IsStatic) { + InvokeStaticMethod(m, nameof(InvokeOnHotReload), patchedMethods); + } else { + foreach (var go in GameObject.FindObjectsOfType(m.DeclaringType)) { + InvokeInstanceMethod(m, go, patchedMethods); + } + } + } + } + + public static void OnHotReloadLocal(MethodBase originalMethod, MethodBase patchMethod) { + if (!Attribute.IsDefined(originalMethod, typeof(InvokeOnHotReloadLocal))) { + return; + } + var attrib = Attribute.GetCustomAttribute(originalMethod, typeof(InvokeOnHotReloadLocal)) as InvokeOnHotReloadLocal; + + if (!string.IsNullOrEmpty(attrib?.methodToInvoke)) { + OnHotReloadLocalCustom(originalMethod, attrib); + return; + } + var patchMethodParams = patchMethod.GetParameters(); + if (patchMethodParams.Length == 0) { + InvokeStaticMethod(patchMethod, nameof(InvokeOnHotReloadLocal), null); + } else if (typeof(MonoBehaviour).IsAssignableFrom(patchMethodParams[0].ParameterType)) { + foreach (var go in GameObject.FindObjectsOfType(patchMethodParams[0].ParameterType)) { + InvokeInstanceMethodStatic(patchMethod, go); + } + } else { + Log.Warning($"[{nameof(InvokeOnHotReloadLocal)}] {patchMethod.DeclaringType?.Name} {patchMethod.Name} {Localization.Translations.Utility.MethodCallWarning}"); + } + } + + public static void OnHotReloadLocalCustom(MethodBase origianlMethod, InvokeOnHotReloadLocal attrib) { + var reloadForType = origianlMethod.DeclaringType; + var reloadMethod = reloadForType?.GetMethod(attrib.methodToInvoke, BindingFlags.Instance | BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic); + + if (reloadMethod == null) { + Log.Warning($"[{nameof(InvokeOnHotReloadLocal)}] {string.Format(Localization.Translations.Utility.OnHotReloadLocalWarning, attrib.methodToInvoke)}"); + return; + } + if (reloadMethod.IsStatic) { + InvokeStaticMethod(reloadMethod, nameof(InvokeOnHotReloadLocal), null); + } else if (typeof(MonoBehaviour).IsAssignableFrom(reloadForType)) { + foreach (var go in GameObject.FindObjectsOfType(reloadForType)) { + InvokeInstanceMethod(reloadMethod, go, null); + } + } else { + Log.Warning($"[{nameof(InvokeOnHotReloadLocal)}] {reloadMethod.DeclaringType?.Name} {reloadMethod.Name} {Localization.Translations.Utility.MethodCallWarning}"); + } + } + + private static List methodsCache; + + private static List GetOrFillMethodsCacheThreaded() { + if (methodsCache != null) { + return methodsCache; + } + +#if UNITY_2019_1_OR_NEWER && UNITY_EDITOR + var methodCollection = UnityEditor.TypeCache.GetMethodsWithAttribute(typeof(InvokeOnHotReload)); + var methods = new List(); + foreach (var m in methodCollection) { + methods.Add(m); + } +#else + var methods = GetMethodsReflection(); +#endif + + methodsCache = methods; + return methods; + } + + private static List GetMethodsReflection() { + var methods = new List(); + + try { + foreach (var asm in AppDomain.CurrentDomain.GetAssemblies()) { + if (asm.FullName == "System" || asm.FullName.StartsWith("System.", StringComparison.Ordinal)) { + continue; // big performance optimization + } + + try { + foreach (var type in asm.GetTypes()) { + try { + foreach (var m in type.GetMethods(BindingFlags.Instance | BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic)) { + try { + if (Attribute.IsDefined(m, typeof(InvokeOnHotReload))) { + methods.Add(m); + } + } catch (BadImageFormatException) { + // silently ignore (can happen, is very annoying if it spams) + /* + BadImageFormatException: VAR 3 (TOutput) cannot be expanded in this context with 3 instantiations + System.Reflection.MonoMethod.GetBaseMethod () (at :0) + System.MonoCustomAttrs.GetBase (System.Reflection.ICustomAttributeProvider obj) (at :0) + System.MonoCustomAttrs.IsDefined (System.Reflection.ICustomAttributeProvider obj, System.Type attributeType, System.Boolean inherit) (at :0) + */ + } catch (TypeLoadException) { + // silently ignore (can happen, is very annoying if it spams) + } catch (Exception e) { + ThreadUtility.LogException(new AggregateException(type.Name + "." + m.Name, e)); + } + } + } catch (BadImageFormatException) { + // silently ignore (can happen, is very annoying if it spams) + } catch (TypeLoadException) { + // silently ignore (can happen, is very annoying if it spams) + } catch (Exception e) { + ThreadUtility.LogException(new AggregateException(type.Name, e)); + } + } + } catch (BadImageFormatException) { + // silently ignore (can happen, is very annoying if it spams) + } catch (TypeLoadException) { + // silently ignore (can happen, is very annoying if it spams) + } catch (Exception e) { + ThreadUtility.LogException(new AggregateException(asm.FullName, e)); + } + } + } catch (Exception e) { + ThreadUtility.LogException(e); + } + return methods; + } + + private static void InvokeStaticMethod(MethodBase m, string attrName, List patchedMethods) { + try { + if (patchedMethods != null && m.GetParameters().Length == 1) { + m.Invoke(null, new object[] { patchedMethods }); + } else { + m.Invoke(null, new object[] { }); + } + } catch (Exception e) { + if (m.GetParameters().Length != 0) { + Log.Warning($"[{attrName}] {m.DeclaringType?.Name} {m.Name} {Localization.Translations.Utility.OnHotReloadWarning}\n{e}"); + } else { + Log.Warning($"[{attrName}] {m.DeclaringType?.Name} {m.Name} failed. Exception\n{e}"); + } + } + } + + private static void InvokeInstanceMethod(MethodBase m, Object go, List patchedMethods) { + try { + if (patchedMethods != null && m.GetParameters().Length == 1) { + m.Invoke(go, new object[] { patchedMethods }); + } else { + m.Invoke(go, new object[] { }); + } + } catch (Exception e) { + if (m.GetParameters().Length != 0) { + Log.Warning($"[InvokeOnHotReload] {m.DeclaringType?.Name} {m.Name} {Localization.Translations.Utility.OnHotReloadWarning}\n{e}"); + } else { + Log.Warning(string.Format(Localization.Translations.Logging.InvokeOnHotReloadFailed, m.DeclaringType?.Name, m.Name, e)); + } + } + } + + private static void InvokeInstanceMethodStatic(MethodBase m, Object go) { + try { + m.Invoke(null, new object[] { go }); + } catch (Exception e) { + if (m.GetParameters().Length != 0) { + Log.Warning($"[InvokeOnHotReloadLocal] {m.DeclaringType?.Name} {m.Name} {Localization.Translations.Utility.OnHotReloadLocalCallWarning}\n{e}"); + } else { + Log.Warning(Localization.Translations.Logging.InvokeOnHotReloadLocalFailed, m.DeclaringType?.Name, m.Name, e); + } + } + } + + } +} diff --git a/Packages/com.singularitygroup.hotreload/Runtime/OnHotReloadDispatch.cs.meta b/Packages/com.singularitygroup.hotreload/Runtime/OnHotReloadDispatch.cs.meta new file mode 100644 index 0000000..58aed81 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/OnHotReloadDispatch.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 8fde7dfa45d340eda4c6c64ccf52e17d +timeCreated: 1673824017 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Runtime/OnHotReloadDispatch.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/PackageConst.cs b/Packages/com.singularitygroup.hotreload/Runtime/PackageConst.cs new file mode 100644 index 0000000..3d8c50e --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/PackageConst.cs @@ -0,0 +1,25 @@ +using System.IO; +using UnityEngine; + +namespace SingularityGroup.HotReload { + internal static class PackageConst { + //CI changes this property to 'true' for asset store builds. + //Don't touch unless you know what you are doing + public static bool IsAssetStoreBuild => true; + + + public const string Version = "1.13.17"; + // Never higher than Version + // Used for the download + public const string ServerVersion = "1.13.17"; + public const string PackageName = "com.singularitygroup.hotreload"; + public const string DefaultLocale = Localization.Locale.English; + // avoids unreachable code warnings from using const + public static string DefaultLocaleField = DefaultLocale; + public static readonly string LibraryCachePath = MultiplayerPlaymodeHelper.PathToMainProject("Library/" + PackageName); + public const string ConfigFileName = "hot-reload-config.json"; + public static readonly string ConfigFilePath = Path.Combine(MultiplayerPlaymodeHelper.PathToMainProject(ConfigFileName)); + public const string ServerInfoFileName = "serverinfo.json"; + public static readonly string ServerInfoFilePath = Path.Combine(LibraryCachePath, ServerInfoFileName); + } +} diff --git a/Packages/com.singularitygroup.hotreload/Runtime/PackageConst.cs.meta b/Packages/com.singularitygroup.hotreload/Runtime/PackageConst.cs.meta new file mode 100644 index 0000000..bd599e0 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/PackageConst.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 877e785c22c57be45a4d79c1be346c79 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Runtime/PackageConst.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/PatchServerInfo.cs b/Packages/com.singularitygroup.hotreload/Runtime/PatchServerInfo.cs new file mode 100644 index 0000000..ee45679 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/PatchServerInfo.cs @@ -0,0 +1,39 @@ +using System; +using SingularityGroup.HotReload.Newtonsoft.Json; +using UnityEngine; + +namespace SingularityGroup.HotReload { + [Serializable] + class PatchServerInfo { + public readonly string hostName; + public readonly int port; + public readonly string commitHash; + public readonly string rootPath; + [Obsolete]public readonly bool isRemote; + public readonly string customRequestOrigin; + + public const string UnknownCommitHash = "unknown"; + + /// an ip address or "localhost" + public PatchServerInfo(string hostName, string commitHash, string rootPath) { + this.hostName = hostName; + this.commitHash = commitHash ?? UnknownCommitHash; + this.rootPath = rootPath; + this.port = RequestHelper.defaultPort; + } + + /// an ip address or "localhost" + // constructor should (must?) have a param for each field + [JsonConstructor] + public PatchServerInfo(string hostName, int port, string commitHash, string rootPath, bool isRemote = false, string customRequestOrigin = null) { + this.hostName = hostName; + this.port = port; + this.commitHash = commitHash ?? UnknownCommitHash; + this.rootPath = rootPath; +#pragma warning disable CS0612 // Type or member is obsolete + this.isRemote = isRemote; +#pragma warning restore CS0612 // Type or member is obsolete + this.customRequestOrigin = customRequestOrigin; + } + } +} diff --git a/Packages/com.singularitygroup.hotreload/Runtime/PatchServerInfo.cs.meta b/Packages/com.singularitygroup.hotreload/Runtime/PatchServerInfo.cs.meta new file mode 100644 index 0000000..bfb9635 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/PatchServerInfo.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 5795d77991613ae48870b7c349491adc +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Runtime/PatchServerInfo.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/PersistencePaths.cs b/Packages/com.singularitygroup.hotreload/Runtime/PersistencePaths.cs new file mode 100644 index 0000000..3115f9c --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/PersistencePaths.cs @@ -0,0 +1,13 @@ +using System.IO; + +namespace SingularityGroup.HotReload { + static class PersistencePaths { + public static string GetPatchesFilePath(string basePath) { + return Path.Combine(basePath, "CodePatcher", "patches.bin"); + } + + public static string GetServerInfoFilePath(string basePath) { + return Path.Combine(basePath, "CodePatcher", "hostInfo.json"); + } + } +} diff --git a/Packages/com.singularitygroup.hotreload/Runtime/PersistencePaths.cs.meta b/Packages/com.singularitygroup.hotreload/Runtime/PersistencePaths.cs.meta new file mode 100644 index 0000000..ab8386c --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/PersistencePaths.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 3742023437057a049842c5fad1019132 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Runtime/PersistencePaths.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/PlayerCodePatcher.cs b/Packages/com.singularitygroup.hotreload/Runtime/PlayerCodePatcher.cs new file mode 100644 index 0000000..239d64b --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/PlayerCodePatcher.cs @@ -0,0 +1,116 @@ +using System; +using System.Threading; +using System.Threading.Tasks; +using SingularityGroup.HotReload.DTO; +using SingularityGroup.HotReload.Localization; + +namespace SingularityGroup.HotReload { + + static class PlayerCodePatcher { + static Timer timer; + + static PlayerCodePatcher() { + if (PlayerEntrypoint.IsPlayerWithHotReload()) { + timer = new Timer(OnIntervalThreaded, (Action) OnIntervalMainThread, 500, 500); + serverHealthyAt = DateTime.MinValue; + } + } + + private static DateTime serverHealthyAt; + private static TimeSpan TimeSinceServerHealthy() => DateTime.UtcNow - serverHealthyAt; + + /// + /// Set server that you want to try connect to. + /// + /// + /// + /// This allows repetitions of: + /// - try handshake + /// - success -> try healthcheck + /// - success -> poll method patches + /// - + /// + /// + /// Only do this after confirming (with /handshake) that server is compatible with this build.
+ /// The user will be prompted if handshake needs confirmation. + ///
+ ///
+ internal static Task UpdateHost(PatchServerInfo serverInfo) { + Log.Debug($"UpdateHost to {(serverInfo == null ? "null" : serverInfo.hostName)}"); + // In player builds, server is remote, se we don't load assemblies from any paths + RequestHelper.ChangeAssemblySearchPaths(Array.Empty()); + ServerHealthCheck.I.SetServerInfo(null); // stop doing health check on old server + RequestHelper.SetServerInfo(serverInfo); + // Show feedback about connection progress (handshake can take ~5 seconds for our big game) + if (serverInfo == null) { + Prompts.SetConnectionState(ConnectionSummary.Disconnected); + } else { + Prompts.SetConnectionState(ConnectionSummary.Connected); + Prompts.ShowConnectionDialog(); + } + return ServerHandshake.I.SetServerInfo(serverInfo); + } + + public static Task Disconnect() => UpdateHost(null); + + static void OnIntervalThreaded(object o) { + ServerHandshake.I.CheckHandshake(); + ServerHealthCheck.I.CheckHealthAsync().Forget(); + + ThreadUtility.RunOnMainThread((Action)o); + } + + static string lastPatchId = string.Empty; + static void OnIntervalMainThread() { + PatchServerInfo verifiedServer; + if(ServerHandshake.I.TryGetVerifiedServer(out verifiedServer)) { + // now that handshake verified, we are connected. + // Note: If there is delay between handshake done and chosing to connect, then it may be outdated. + Prompts.SetConnectionState(ConnectionSummary.Connecting); + // Note: verified does not imply that server is running, sometimes we verify the host just from the deeplink data + ServerHealthCheck.I.SetServerInfo(verifiedServer); + } + + if(ServerHealthCheck.I.IsServerHealthy) { + // we may have reconnected to the same host, after losing connection for several seconds + Prompts.SetConnectionState(ConnectionSummary.Connected, false); + serverHealthyAt = DateTime.UtcNow; + RequestHelper.PollMethodPatches(lastPatchId, resp => HandleResponseReceived(resp)); + } else if (ServerHealthCheck.I.WasServerResponding) { // only update prompt state if disconnected server + var secondsSinceHealthy = TimeSinceServerHealthy().TotalSeconds; + var reconnectTimeout = 30; // seconds + if (secondsSinceHealthy > 2) { + Log.Info(Localization.Translations.Common.HotReloadUnreachable); + // feedback for the user so they know why patches are not applying + Prompts.SetConnectionState($"{ConnectionSummary.TryingToReconnect} {reconnectTimeout - secondsSinceHealthy:F0}s", false); + Prompts.ShowConnectionDialog(); + } + if (secondsSinceHealthy > reconnectTimeout) { + // give up on the server, give user a way to connect to another + Log.Info(string.Format(Localization.Translations.Logging.HotReloadUnreachableDisconnecting, reconnectTimeout)); + var disconnectedServer = RequestHelper.ServerInfo; + Disconnect().Forget(); + // Let user tap button to retry connecting to the same server (maybe just need to run Hot Reload again) + // Assumption: prompt also has a way to connect to a different server + Prompts.ShowRetryDialog(disconnectedServer); + } + } + } + + static void HandleResponseReceived(MethodPatchResponse response) { + Log.Debug("PollMethodPatches handling MethodPatchResponse id:{0} response.patches.Length:{1} response.failures.Length:{2}", + response.id, response.patches.Length, response.failures.Length); + if(response.patches.Length > 0) { + CodePatcher.I.RegisterPatches(response, persist: true); + } + if(response.failures.Length > 0) { + foreach (var failure in response.failures) { + // feedback to user so they know why their patch wasn't applied + Log.Warning(failure); + } + } + lastPatchId = response.id; + } + } + +} diff --git a/Packages/com.singularitygroup.hotreload/Runtime/PlayerCodePatcher.cs.meta b/Packages/com.singularitygroup.hotreload/Runtime/PlayerCodePatcher.cs.meta new file mode 100644 index 0000000..7be7b5a --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/PlayerCodePatcher.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 41b853a967284f44b36c071abf30124c +timeCreated: 1674453262 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Runtime/PlayerCodePatcher.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/PlayerEntrypoint.cs b/Packages/com.singularitygroup.hotreload/Runtime/PlayerEntrypoint.cs new file mode 100644 index 0000000..1a0be6a --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/PlayerEntrypoint.cs @@ -0,0 +1,161 @@ +#if UNITY_ANDROID && !UNITY_EDITOR +#define MOBILE_ANDROID +#endif +#if UNITY_IOS && !UNITY_EDITOR +#define MOBILE_IOS +#endif +#if MOBILE_ANDROID || MOBILE_IOS +#define MOBILE +#endif + +using System; +using System.Threading.Tasks; +#if MOBILE_ANDROID +// not able to use File apis for reading from StreamingAssets +using UnityEngine.Networking; +#endif +using UnityEngine; +using Debug = UnityEngine.Debug; +using System.IO; +using SingularityGroup.HotReload.Localization; + +namespace SingularityGroup.HotReload { + // entrypoint for Unity Player builds. Not necessary in Unity Editor. + internal static class PlayerEntrypoint { + /// Set when behaviour is created, when you access this instance through the singleton, + /// you can assume that this field is not null. + /// + /// In Player code you can assume this is set.
+ /// When in Editor this is usually null. + ///
+ static BuildInfo buildInfo { get; set; } + + /// In Player code you can assume this is set (not null) + public static BuildInfo PlayerBuildInfo => buildInfo; + + #if ENABLE_MONO + [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.AfterSceneLoad)] + #endif + private static void InitOnAppLoad() { + AppCallbackListener.Init(); // any platform might be using this + UnityHelper.Init(); + Translations.LoadDefaultLocalization(); + bool onlyPrefabMissing; + if (!IsPlayerWithHotReload(out onlyPrefabMissing)) { + if (onlyPrefabMissing) { + Log.Warning(Localization.Translations.Logging.HotReloadNotAvailableBuildSettings); + } + return; + } + + TryAutoConnect().Forget(); + } + + static async Task TryAutoConnect() { + try { + buildInfo = await GetBuildInfo(); + } catch (Exception e) { + if (e is IOException) { + Log.Warning(Localization.Translations.Logging.HotReloadNotAvailableBuildSettings); + } else { + Log.Error($"{Localization.Translations.Errors.UnknownExceptionReadingBuildInfo}\n{e.GetType().Name}: {e.Message}"); + } + return; + } + if (buildInfo == null) { + Log.Error(Localization.Translations.Errors.BuildInfoNotFound); + return; + } + + CodePatcher.I.debuggerCompatibilityEnabled = true; + + try { + var customIp = PlayerPrefs.GetString("HotReloadRuntime.CustomIP", ""); + if (!string.IsNullOrEmpty(customIp)) { + buildInfo.buildMachineHostName = customIp; + } + var customPort = PlayerPrefs.GetString("HotReloadRuntime.CustomPort", ""); + if (!string.IsNullOrEmpty(customPort)) { + buildInfo.buildMachinePort = int.Parse(customPort); + } + + if (buildInfo.BuildMachineServer == null) { + Prompts.ShowRetryDialog(null); + } else { + // try reach server running on the build machine. + TryConnect(buildInfo.BuildMachineServer, auto: true).Forget(); + } + } catch (Exception ex) { + Log.Exception(ex); + } + } + + public static Task TryConnectToIpAndPort(string ip, int port) { + ip = ip.Trim(); + if (buildInfo == null) { + throw new ArgumentException(Localization.Translations.Logging.BuildInfoNotFound); + } + buildInfo.buildMachineHostName = ip; + buildInfo.buildMachinePort = port; + PlayerPrefs.SetString("HotReloadRuntime.CustomIP", ip); + PlayerPrefs.SetString("HotReloadRuntime.CustomPort", port.ToString()); + return TryConnect(buildInfo.BuildMachineServer, auto: false); + } + + public static async Task TryConnect(PatchServerInfo serverInfo, bool auto) { + // try reach server running on the build machine. + var handshake = PlayerCodePatcher.UpdateHost(serverInfo); + await Task.WhenAny(handshake, Task.Delay(TimeSpan.FromSeconds(40))); + await ThreadUtility.SwitchToMainThread(); + var handshakeResults = await handshake; + var handshakeOk = handshakeResults.HasFlag(ServerHandshake.Result.Verified); + if (!handshakeOk) { + Log.Debug("ShowRetryPrompt because handshake result is {0}", handshakeResults); + Prompts.ShowRetryDialog(serverInfo, handshakeResults, auto); + // cancel trying to connect. They can use the retry button + PlayerCodePatcher.UpdateHost(null).Forget(); + } + + Log.Info(string.Format(Localization.Translations.Logging.ServerHealthyAfterHandshake, handshakeOk)); + } + + /// on Android, streaming assets are inside apk zip, which can only be read using unity web request + private static async Task GetBuildInfo() { + var path = BuildInfo.GetStoredPath(); + #if MOBILE_ANDROID + var json = await RequestHelper.GetAsync(path); + return await Task.Run(() => BuildInfo.FromJson(json)); + #else + return await Task.Run(() => { + return BuildInfo.FromJson(File.ReadAllText(path)); + }); + #endif + } + + public static bool IsPlayer() => !Application.isEditor; + + public static bool IsPlayerWithHotReload() { + bool _; + return IsPlayerWithHotReload(out _); + } + + public static bool IsPlayerWithHotReload(out bool onlyPrefabMissing) { + onlyPrefabMissing = false; + if (!IsPlayer() || !RuntimeSupportsHotReload || !HotReloadSettingsObject.I.IncludeInBuild) { + return false; + } + onlyPrefabMissing = !HotReloadSettingsObject.I.PromptsPrefab; + return !onlyPrefabMissing; + } + + public static bool RuntimeSupportsHotReload { + get { + #if DEVELOPMENT_BUILD && ENABLE_MONO + return true; + #else + return false; + #endif + } + } + } +} diff --git a/Packages/com.singularitygroup.hotreload/Runtime/PlayerEntrypoint.cs.meta b/Packages/com.singularitygroup.hotreload/Runtime/PlayerEntrypoint.cs.meta new file mode 100644 index 0000000..b1bdc5b --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/PlayerEntrypoint.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 79392e60063749df984beec2908685bf +timeCreated: 1674215564 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Runtime/PlayerEntrypoint.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Public.meta b/Packages/com.singularitygroup.hotreload/Runtime/Public.meta new file mode 100644 index 0000000..d48c86f --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/Public.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: da163599826f56e4f929d76e8e35c7e2 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Public/HotReloadLogging.cs b/Packages/com.singularitygroup.hotreload/Runtime/Public/HotReloadLogging.cs new file mode 100644 index 0000000..009fdd5 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/Public/HotReloadLogging.cs @@ -0,0 +1,17 @@ +namespace SingularityGroup.HotReload { + /// + /// Utility class to set the log level of the Hot Reload package + /// + public static class HotReloadLogging { + /// + /// Sets the log level for logs inside the Hot Reload package + /// The default log level is + /// + /// + /// To see more detailed logs, set the log level to + /// + public static void SetLogLevel(LogLevel level) { + Log.minLevel = level; + } + } +} diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Public/HotReloadLogging.cs.meta b/Packages/com.singularitygroup.hotreload/Runtime/Public/HotReloadLogging.cs.meta new file mode 100644 index 0000000..b521a67 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/Public/HotReloadLogging.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 48845e010a33e2d4993888d9c18e8d95 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Runtime/Public/HotReloadLogging.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Public/InvokeOnHotReload.cs b/Packages/com.singularitygroup.hotreload/Runtime/Public/InvokeOnHotReload.cs new file mode 100644 index 0000000..a814be8 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/Public/InvokeOnHotReload.cs @@ -0,0 +1,32 @@ +using System; +using System.Reflection; + +namespace SingularityGroup.HotReload { + /// + /// Methods with this attribute will get invoked after a hot reload + /// + /// + /// The method with this attribute needs to have no parameters. + /// Further more it needs to either be static or and instance method inside a . + /// For the latter case the method of all instances of the will be called. + /// In case the method has a return value it will be ignored. + /// + [AttributeUsage(AttributeTargets.Method)] + public class InvokeOnHotReload : Attribute { + } + + public class MethodPatch { + // Compiled by the Unity Editor. Null for newly added methods. + public MethodBase originalMethod; + // Method before Hot Reload applied it's patch. Null for newly added methods. + public MethodBase previousMethod; + // Method generated by Hot Reload. + public MethodBase newMethod; + + public MethodPatch(MethodBase originalMethod, MethodBase previousMethod, MethodBase newMethod) { + this.originalMethod = originalMethod; + this.previousMethod = previousMethod; + this.newMethod = newMethod; + } + } +} diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Public/InvokeOnHotReload.cs.meta b/Packages/com.singularitygroup.hotreload/Runtime/Public/InvokeOnHotReload.cs.meta new file mode 100644 index 0000000..dd7c76e --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/Public/InvokeOnHotReload.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: de8fb6e6e05ccae46a410932e1545848 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Runtime/Public/InvokeOnHotReload.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Public/InvokeOnHotReloadLocal.cs b/Packages/com.singularitygroup.hotreload/Runtime/Public/InvokeOnHotReloadLocal.cs new file mode 100644 index 0000000..4fa5ecf --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/Public/InvokeOnHotReloadLocal.cs @@ -0,0 +1,22 @@ +using System; + +namespace SingularityGroup.HotReload { + /// + /// Method with this attribute will get invoked when it gets patched + /// + /// + /// The method with this attribute needs to have no parameters. + /// Furthermore it needs to either be static or an instance method inside a . + /// For the latter case the method of all instances of the will be called. + /// In case the method has a return value it will be ignored. + /// + [AttributeUsage(AttributeTargets.Method)] + public class InvokeOnHotReloadLocal : Attribute { + public readonly string methodToInvoke; + + public InvokeOnHotReloadLocal(string methodToInvoke = null) { + this.methodToInvoke = methodToInvoke; + } + } + +} diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Public/InvokeOnHotReloadLocal.cs.meta b/Packages/com.singularitygroup.hotreload/Runtime/Public/InvokeOnHotReloadLocal.cs.meta new file mode 100644 index 0000000..63f97f7 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/Public/InvokeOnHotReloadLocal.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: f4629f348dad47d4add28eca71be748c +timeCreated: 1694274524 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Runtime/Public/InvokeOnHotReloadLocal.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Public/Log.cs b/Packages/com.singularitygroup.hotreload/Runtime/Public/Log.cs new file mode 100644 index 0000000..d790311 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/Public/Log.cs @@ -0,0 +1,108 @@ +using System; +using System.Diagnostics.CodeAnalysis; +using JetBrains.Annotations; +#if (UNITY_2019_4_OR_NEWER) +using UnityEngine; +#endif + +namespace SingularityGroup.HotReload { + public static class Log { + [SuppressMessage("ReSharper", "FieldCanBeMadeReadOnly.Global")] + public static LogLevel minLevel = LogLevel.Info; + + /// + /// Tag every log so that users know which logs came from Hot Reload + /// + private const string TAG = "[HotReload] "; + + public static void Debug(string message) { + if (minLevel <= LogLevel.Debug) { + #if (UNITY_2019_4_OR_NEWER) + UnityEngine.Debug.LogFormat(LogType.Log, LogOption.NoStacktrace, null, "{0}{1}", TAG, message); + #else + UnityEngine.Debug.Log(TAG + message); + #endif + } + } + + [StringFormatMethod("message")] + public static void Debug(string message, params object[] args) { + if (minLevel <= LogLevel.Debug) { + #if (UNITY_2019_4_OR_NEWER) + UnityEngine.Debug.LogFormat(LogType.Log, LogOption.NoStacktrace, null, TAG + message, args); + #else + UnityEngine.Debug.LogFormat(TAG + message, args); + #endif + } + } + + public static void Info(string message) { + if (minLevel <= LogLevel.Info) { + #if (UNITY_2019_4_OR_NEWER) + UnityEngine.Debug.LogFormat(LogType.Log, LogOption.NoStacktrace, null, "{0}{1}", TAG, message); + #else + UnityEngine.Debug.Log(TAG + message); + #endif + } + } + + [StringFormatMethod("message")] + public static void Info(string message, params object[] args) { + if (minLevel <= LogLevel.Info) { + #if (UNITY_2019_4_OR_NEWER) + UnityEngine.Debug.LogFormat(LogType.Log, LogOption.NoStacktrace, null, TAG + message, args); + #else + UnityEngine.Debug.LogFormat(TAG + message, args); + #endif + } + } + + public static void Warning(string message) { + if (minLevel <= LogLevel.Warning) { + #if (UNITY_2019_4_OR_NEWER) + UnityEngine.Debug.LogFormat(LogType.Warning, LogOption.NoStacktrace, null, "{0}{1}", TAG, message); + #else + UnityEngine.Debug.LogWarning(TAG + message); + #endif + } + } + + [StringFormatMethod("message")] + public static void Warning(string message, params object[] args) { + if (minLevel <= LogLevel.Warning) { + #if (UNITY_2019_4_OR_NEWER) + UnityEngine.Debug.LogFormat(LogType.Warning, LogOption.NoStacktrace, null, TAG + message, args); + #else + UnityEngine.Debug.LogWarningFormat(TAG + message, args); + #endif + } + } + + public static void Error(string message) { + if (minLevel <= LogLevel.Error) { + #if (UNITY_2019_4_OR_NEWER) + UnityEngine.Debug.LogFormat(LogType.Error, LogOption.NoStacktrace, null, "{0}{1}", TAG, message); + #else + UnityEngine.Debug.LogError(TAG + message); + #endif + } + } + + [StringFormatMethod("message")] + public static void Error(string message, params object[] args) { + if (minLevel <= LogLevel.Error) { + #if (UNITY_2019_4_OR_NEWER) + UnityEngine.Debug.LogFormat(LogType.Error, LogOption.NoStacktrace, null, TAG + message, args); + #else + UnityEngine.Debug.LogErrorFormat(TAG + message, args); + #endif + } + } + + public static void Exception(Exception exception) { + if (minLevel <= LogLevel.Exception) { + UnityEngine.Debug.LogException(exception); + } + } + } +} diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Public/Log.cs.meta b/Packages/com.singularitygroup.hotreload/Runtime/Public/Log.cs.meta new file mode 100644 index 0000000..5cf0be6 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/Public/Log.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 0719c57eeba24f4cac8d99016ba5b967 +timeCreated: 1674203567 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Runtime/Public/Log.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Public/LogLevel.cs b/Packages/com.singularitygroup.hotreload/Runtime/Public/LogLevel.cs new file mode 100644 index 0000000..e062951 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/Public/LogLevel.cs @@ -0,0 +1,25 @@ +namespace SingularityGroup.HotReload { + /// + /// The log level enumeration for the Hot Reload package + /// Used in to set the log level. + /// + public enum LogLevel { + /// Debug logs are useful for developers of Hot Reload + Debug = 1, + + /// Info logs potentially useful for users of Hot Reload + Info = 2, + + /// Warnings are visible to users of Hot Reload + Warning = 3, + + /// Errors are visible to users of Hot Reload + Error = 4, + + /// Exceptions are visible to users of Hot Reload + Exception = 5, + + /// No logs are visible to users of Hot Reload + Disabled = 6, + } +} diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Public/LogLevel.cs.meta b/Packages/com.singularitygroup.hotreload/Runtime/Public/LogLevel.cs.meta new file mode 100644 index 0000000..d74e98d --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/Public/LogLevel.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 7b5723ec3c2140041a9c25bbf16eeac4 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Runtime/Public/LogLevel.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Public/SingularityGroup.HotReload.Runtime.Public.asmdef b/Packages/com.singularitygroup.hotreload/Runtime/Public/SingularityGroup.HotReload.Runtime.Public.asmdef new file mode 100644 index 0000000..834ee8f --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/Public/SingularityGroup.HotReload.Runtime.Public.asmdef @@ -0,0 +1,3 @@ +{ + "name": "SingularityGroup.HotReload.Runtime.Public" +} diff --git a/Packages/com.singularitygroup.hotreload/Runtime/Public/SingularityGroup.HotReload.Runtime.Public.asmdef.meta b/Packages/com.singularitygroup.hotreload/Runtime/Public/SingularityGroup.HotReload.Runtime.Public.asmdef.meta new file mode 100644 index 0000000..26e6063 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/Public/SingularityGroup.HotReload.Runtime.Public.asmdef.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: f2be1b7392ef6cc4eafd0ee8ac7a090a +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Runtime/Public/SingularityGroup.HotReload.Runtime.Public.asmdef + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/RequestHelper.cs b/Packages/com.singularitygroup.hotreload/Runtime/RequestHelper.cs new file mode 100644 index 0000000..6fcaac6 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/RequestHelper.cs @@ -0,0 +1,482 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.IO; +using System.Net; +using System.Net.Http; +using System.Net.Http.Headers; +using System.Runtime.CompilerServices; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using JetBrains.Annotations; +using SingularityGroup.HotReload.DTO; +using SingularityGroup.HotReload.Localization; +using SingularityGroup.HotReload.Newtonsoft.Json; +using UnityEngine; +using UnityEngine.Networking; + +[assembly: InternalsVisibleTo("CodePatcherEditor")] +[assembly: InternalsVisibleTo("TestProject")] +[assembly: InternalsVisibleTo("SingularityGroup.HotReload.IntegrationTests")] +[assembly: InternalsVisibleTo("SingularityGroup.HotReload.EditorTests")] + +namespace SingularityGroup.HotReload { + class HttpResponse { + public readonly HttpStatusCode statusCode; + public readonly Exception exception; + public readonly string responseText; + + public HttpResponse(HttpStatusCode statusCode, Exception exception, string responseText) { + this.statusCode = statusCode; + this.exception = exception; + this.responseText = responseText; + } + } + + public class ChangelogVersion { + public string versionNum; + public List fixes; + public List improvements; + public string date; + public List features; + public string generalInfo; + } + + static class RequestHelper { + internal const ushort defaultPort = 33242; + internal const string defaultServerHost = "127.0.0.1"; + const string ChangelogURL = PackageConst.DefaultLocale == Locale.SimplifiedChinese ? + "https://d2tc55zjhw51ly.cloudfront.net/releases/latest/changelog-zh.json" : + "https://d2tc55zjhw51ly.cloudfront.net/releases/latest/changelog.json"; + static readonly string defaultOrigin = GetProjectRoot(); + public static string origin { get; private set; } = defaultOrigin; + + static string GetProjectRoot() { + if (MultiplayerPlaymodeHelper.IsClone) { + return Path.GetFullPath(MultiplayerPlaymodeHelper.PathToMainProject(".")); + } + return Path.GetFullPath("."); + } + + static PatchServerInfo serverInfo = new PatchServerInfo(defaultServerHost, null, null); + public static PatchServerInfo ServerInfo => serverInfo; + + static string cachedUrl; + static string url => cachedUrl ?? (cachedUrl = CreateUrl(serverInfo)); + + public static int port => serverInfo?.port ?? defaultPort; + + static readonly HttpClient client = CreateHttpClientWithOrigin(); + // separate client for each long polling request + static readonly HttpClient clientPollPatches = CreateHttpClientWithOrigin(); + static readonly HttpClient clientPollAssets = CreateHttpClientWithOrigin(); + static readonly HttpClient clientPollStatus = CreateHttpClientWithOrigin(); + + static readonly HttpClient[] allClients = new[] { client, clientPollPatches, clientPollAssets, clientPollStatus }; + + static HttpClient CreateHttpClientWithOrigin() { + var httpClient = HttpClientUtils.CreateHttpClient(); + httpClient.DefaultRequestHeaders.Add("origin", origin); + return httpClient; + } + + /// + /// Create url for a hostname and port + /// + internal static string CreateUrl(PatchServerInfo server) { + return $"http://{server.hostName}:{server.port.ToString()}"; + } + + public static PatchServerInfo SetServerPort(int port) { + return SetServerInfo(new PatchServerInfo(serverInfo.hostName, port, serverInfo.commitHash, serverInfo.rootPath, false, serverInfo.customRequestOrigin)); + } + + public static PatchServerInfo SetServerInfo(PatchServerInfo info) { + if (info != null) Log.Debug($"SetServerInfo to {CreateUrl(info)}"); + serverInfo = info; + cachedUrl = null; + + if (info?.customRequestOrigin != null) { + SetOrigin(info.customRequestOrigin); + } + return info; + } + + // This function is not thread safe but is currently called before the first request is sent so no issue. + static void SetOrigin(string newOrigin) { + if (newOrigin == origin) { + return; + } + origin = newOrigin; + + foreach (var httpClient in allClients) { + httpClient.DefaultRequestHeaders.Remove("origin"); + httpClient.DefaultRequestHeaders.Add("origin", newOrigin); + } + } + + static string[] assemblySearchPaths; + public static void ChangeAssemblySearchPaths(string[] paths) { + assemblySearchPaths = paths; + } + + // Don't use for requests to HR server + [UsedImplicitly] + internal static async Task GetAsync(string path) { + using (UnityWebRequest www = UnityWebRequest.Get(path)) { + await SendRequestAsync(www); + + if (string.IsNullOrEmpty(www.error)) { + return www.downloadHandler.text; + } else { + return null; + } + } + } + + internal static Task SendRequestAsync(UnityWebRequest www) { + var req = www.SendWebRequest(); + var tcs = new TaskCompletionSource(); + req.completed += op => tcs.TrySetResult((UnityWebRequestAsyncOperation)op); + return tcs.Task; + } + + static bool pollPending; + internal static async void PollMethodPatches(string lastPatchId, Action onResponseReceived) { + if (pollPending) { + return; + } + pollPending = true; + string[] searchPaths = null; + // This is here so that it doesn't override searchPaths registered by main project + if (!MultiplayerPlaymodeHelper.IsClone) { + searchPaths = assemblySearchPaths ?? CodePatcher.I.GetAssemblySearchPaths(); + } + var body = SerializeRequestBody(new MethodPatchRequest(lastPatchId, searchPaths, TimeSpan.FromSeconds(20), origin)); + + await ThreadUtility.SwitchToThreadPool(); + + try { + var result = await PostJson(url + "/patch", body, 30, overrideClient: clientPollPatches).ConfigureAwait(false); + if(result.statusCode == HttpStatusCode.OK) { + var responses = JsonConvert.DeserializeObject(result.responseText); + await ThreadUtility.SwitchToMainThread(); + foreach(var response in responses) { + onResponseReceived(response); + } + } else if(result.statusCode == HttpStatusCode.Unauthorized || result.statusCode == 0) { + // Server is not running or not authorized. + // We don't want to spam requests in that case. + await Task.Delay(5000); + } else if(result.statusCode == HttpStatusCode.ServiceUnavailable) { + //Server shut down + await Task.Delay(5000); + } else { + Log.Info(Localization.Translations.Logging.PollMethodPatchesFailed, (int)result.statusCode, result.responseText, result.exception); + } + } finally { + pollPending = false; + } + } + + static bool pollPatchStatusPending; + internal static async void PollPatchStatus(Action onResponseReceived, PatchStatus latestStatus) { + if (pollPatchStatusPending) return; + + pollPatchStatusPending = true; + var body = SerializeRequestBody(new PatchStatusRequest(TimeSpan.FromSeconds(20), latestStatus)); + + try { + var result = await PostJson(url + "/patchStatus", body, 30, overrideClient: clientPollStatus).ConfigureAwait(false); + if(result.statusCode == HttpStatusCode.OK) { + var response = JsonConvert.DeserializeObject(result.responseText); + await ThreadUtility.SwitchToMainThread(); + onResponseReceived(response); + } else if(result.statusCode == HttpStatusCode.Unauthorized || result.statusCode == 0) { + // Server is not running or not authorized. + // We don't want to spam requests in that case. + await Task.Delay(5000); + } else if(result.statusCode == HttpStatusCode.ServiceUnavailable) { + //Server shut down + await Task.Delay(5000); + } else { + Log.Info(Localization.Translations.Logging.PollPatchStatusFailed, (int)result.statusCode, result.responseText, result.exception); + } + } finally { + pollPatchStatusPending = false; + } + } + + static bool assetPollPending; + internal static async void PollAssetChanges(Action onResponseReceived) { + if (assetPollPending) return; + + assetPollPending = true; + + try { + await ThreadUtility.SwitchToThreadPool(); + var body = SerializeRequestBody(new AssetChangesRequest(TimeSpan.FromSeconds(20))); + var result = await PostJson(url + "/assetChanges", body, 30, overrideClient: clientPollAssets).ConfigureAwait(false); + + if (result.statusCode == HttpStatusCode.OK) { + var responses = JsonConvert.DeserializeObject>(result.responseText); + await ThreadUtility.SwitchToMainThread(); + // Looping in reverse order fixes moving files: + // by default new files come in before old ones which causes issues because meta files for old location has to be deleted first + for (var i = responses.Count - 1; i >= 0; i--) { + var response = responses[i]; + // Avoid importing assets twice + if (responses.Contains(response + ".meta")) { + Log.Debug($"Ignoring asset change inside Unity: {response}"); + continue; + } + onResponseReceived(response); + } + } else if(result.statusCode == HttpStatusCode.Unauthorized || result.statusCode == 0) { + // Server is not running or not authorized. + // We don't want to spam requests in that case. + await Task.Delay(5000); + } else if(result.statusCode == HttpStatusCode.ServiceUnavailable) { + //Server shut down + await Task.Delay(5000); + } else { + Log.Info(Localization.Translations.Logging.PollAssetChangesFailed, (int)result.statusCode, result.responseText, result.exception); + } + } finally { + assetPollPending = false; + } + } + + public static async Task RequestFlushErrors(int timeoutSeconds = 30) { + var cts = new CancellationTokenSource(TimeSpan.FromSeconds(timeoutSeconds)); + var resp = await PostJson(CreateUrl(serverInfo) + "/flush", "", timeoutSeconds, cts.Token); + if (resp.statusCode == HttpStatusCode.OK) { + try { + return JsonConvert.DeserializeObject(resp.responseText); + } catch { + return null; + } + } + return null; + } + + public static async Task RequestEditorsWithoutHRRunning(int timeoutSeconds = 30) { + var cts = new CancellationTokenSource(TimeSpan.FromSeconds(timeoutSeconds)); + var resp = await PostJson(CreateUrl(serverInfo) + "/editorsWithoutHR", "", timeoutSeconds, cts.Token); + if (resp.statusCode == HttpStatusCode.OK) { + try { + return JsonConvert.DeserializeObject(resp.responseText); + } catch { + return null; + } + } + return null; + } + + public static async Task RequestLogin(string email, string password, int timeoutSeconds) { + var cts = new CancellationTokenSource(TimeSpan.FromSeconds(timeoutSeconds)); + var json = SerializeRequestBody(new Dictionary { + { "email", email }, + { "password", password }, + }); + var resp = await PostJson(url + "/login", json, timeoutSeconds, cts.Token); + if (resp.exception == null) { + return JsonConvert.DeserializeObject(resp.responseText); + } else { + return LoginStatusResponse.FromRequestError($"{resp.exception.GetType().Name} {resp.exception.Message}"); + } + } + + public static async Task GetLoginStatus(int timeoutSeconds) { + var cts = new CancellationTokenSource(TimeSpan.FromSeconds(timeoutSeconds)); + var resp = await PostJson(url + "/status", string.Empty, timeoutSeconds, cts.Token); + if (resp.exception == null) { + return JsonConvert.DeserializeObject(resp.responseText); + } else { + return LoginStatusResponse.FromRequestError($"{resp.exception.GetType().Name} {resp.exception.Message}"); + } + } + + internal static async Task RequestLogout(int timeoutSeconds = 10) { + var cts = new CancellationTokenSource(TimeSpan.FromSeconds(timeoutSeconds)); + var resp = await PostJson(CreateUrl(serverInfo) + "/logout", "", timeoutSeconds, cts.Token); + if (resp.statusCode == HttpStatusCode.OK) { + try { + return JsonConvert.DeserializeObject(resp.responseText); + } catch (Exception ex) { + return LoginStatusResponse.FromRequestError(string.Format(Localization.Translations.Logging.DeserializingResponseFailed, ex.GetType().Name, ex.Message)); + } + } else { + return LoginStatusResponse.FromRequestError(resp.responseText ?? Localization.Translations.Logging.RequestTimeout); + } + } + + internal static async Task RequestActivatePromoCode(string promoCode, int timeoutSeconds = 20) { + var cts = new CancellationTokenSource(TimeSpan.FromSeconds(timeoutSeconds)); + await ThreadUtility.SwitchToThreadPool(); + try { + using (var resp = await client.PostAsync(CreateUrl(serverInfo) + "/activatePromoCode", new StringContent(promoCode), cts.Token).ConfigureAwait(false)) { + var str = await resp.Content.ReadAsStringAsync().ConfigureAwait(false); + try { + return JsonConvert.DeserializeObject(str); + } catch { + return null; + } + } + } catch { + return null; + } + } + + internal static async Task RequestEditorEventWithRetry(Stat stat, EditorExtraData extraData = null) { + if (MultiplayerPlaymodeHelper.IsClone) { + return; + } + int attempt = 0; + do { + var resp = await RequestHelper.RequestEditorEvent(stat, extraData); + if (resp.statusCode == HttpStatusCode.OK) { + return; + } + await Task.Delay(TimeSpan.FromMilliseconds(200)); + } while (attempt++ < 10000); + } + + internal static Task RequestEditorEvent(Stat stat, EditorExtraData extraData = null) { + var body = SerializeRequestBody(new EditorEventRequest(stat, extraData)); + return PostJson(url + "/editorEvent", body, int.MaxValue); + } + + public static async Task KillServer() { + await ThreadUtility.SwitchToThreadPool(); + await KillServerInternal().ConfigureAwait(false); + } + + internal static async Task RegisterClone() { + await ThreadUtility.SwitchToThreadPool(); + try { + var body = SerializeRequestBody(new RegisterCloneRequest(Process.GetCurrentProcess().Id)); + using(await client.PostAsync(CreateUrl(serverInfo) + "/registerClone", new StringContent(body)).ConfigureAwait(false)) { } + } catch { + //ignored + } + } + + internal static async Task KillServerInternal() { + try { + using(await client.PostAsync(CreateUrl(serverInfo) + "/kill", new StringContent(origin)).ConfigureAwait(false)) { } + } catch { + //ignored + } + } + + public static async Task PingServer(Uri uri) { + await ThreadUtility.SwitchToThreadPool(); + + try { + using (var resp = await client.GetAsync(uri).ConfigureAwait(false)) { + return resp.StatusCode == HttpStatusCode.OK; + } + } catch { + return false; + } + } + + public static bool IsReleaseMode() { +# if (UNITY_EDITOR && UNITY_2022_1_OR_NEWER) + return UnityEditor.Compilation.CompilationPipeline.codeOptimization == UnityEditor.Compilation.CodeOptimization.Release; +# elif (UNITY_EDITOR) + return false; +# elif (DEBUG) + return false; +# else + return true; +#endif + } + + public static Task RequestClearPatches() { + var body = SerializeRequestBody(new CompileRequest(serverInfo.rootPath, IsReleaseMode())); + return PostJson(url + "/clearpatches", body, 10); + } + + public static async Task RequestCompile(Action onResponseReceived) { + var body = SerializeRequestBody(new CompileRequest(serverInfo.rootPath, IsReleaseMode())); + var result = await PostJson(url + "/compile", body, 10); + if (result.statusCode == HttpStatusCode.OK && !string.IsNullOrEmpty(result.responseText)) { + var responses = JsonConvert.DeserializeObject>(result.responseText); + if (responses == null) { + return; + } + await ThreadUtility.SwitchToMainThread(); + foreach (var response in responses) { + // Avoid importing assets twice + if (responses.Contains(response + ".meta")) { + Log.Debug($"Ignoring asset change inside Unity: {response}"); + continue; + } + onResponseReceived(response); + } + } + } + + internal static async Task> FetchChangelog(int timeoutSeconds = 20) { + var cts = new CancellationTokenSource(TimeSpan.FromSeconds(timeoutSeconds)); + await ThreadUtility.SwitchToThreadPool(); + + try { + using(var resp = await client.GetAsync(ChangelogURL, cts.Token).ConfigureAwait(false)) { + var str = await resp.Content.ReadAsStringAsync().ConfigureAwait(false); + if (resp.StatusCode == HttpStatusCode.OK) { + return JsonConvert.DeserializeObject>(str); + } + return new List(); + } + } catch { + return new List(); + } + } + + [UsedImplicitly] + internal static async Task Post(string route, string json) { + var resp = await PostJson(url + route, json, 10); + return resp.statusCode == HttpStatusCode.OK; + } + + internal static async Task RequestHandshake(PatchServerInfo info, HashSet defineSymbols, string projectExclusionRegex) { + await ThreadUtility.SwitchToThreadPool(); + + var body = SerializeRequestBody(new MobileHandshakeRequest(defineSymbols, projectExclusionRegex)); + + var requestUrl = CreateUrl(info) + "/handshake"; + Log.Debug($"RequestHandshake to {requestUrl}"); + var resp = await PostJson(requestUrl, body, 120).ConfigureAwait(false); + if (resp.statusCode == HttpStatusCode.OK) { + return JsonConvert.DeserializeObject(resp.responseText); + } else if(resp.statusCode == HttpStatusCode.ServiceUnavailable) { + return new MobileHandshakeResponse(null, ServerHandshake.Result.WaitForCompiling.ToString()); + } else { + return new MobileHandshakeResponse(null, resp.responseText); + } + } + + static string SerializeRequestBody(T request) { + return JsonConvert.SerializeObject(request); + } + + static async Task PostJson(string uri, string json, int timeoutSeconds, CancellationToken token = default(CancellationToken), HttpClient overrideClient = null) { + var httpClient = overrideClient ?? client; + await ThreadUtility.SwitchToThreadPool(); + + try { + var content = new StringContent(json, Encoding.UTF8, "application/json"); + using(var resp = await httpClient.PostAsync(uri, content, token).ConfigureAwait(false)) { + var str = await resp.Content.ReadAsStringAsync().ConfigureAwait(false); + return new HttpResponse(resp.StatusCode, null, str); + } + } catch(Exception ex) { + return new HttpResponse(0, ex, null); + } + } + } +} diff --git a/Packages/com.singularitygroup.hotreload/Runtime/RequestHelper.cs.meta b/Packages/com.singularitygroup.hotreload/Runtime/RequestHelper.cs.meta new file mode 100644 index 0000000..9cb2b8e --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/RequestHelper.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 645498c7b1683f44b90634228dbf1626 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Runtime/RequestHelper.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/ServerHandshake.cs b/Packages/com.singularitygroup.hotreload/Runtime/ServerHandshake.cs new file mode 100644 index 0000000..dddc677 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/ServerHandshake.cs @@ -0,0 +1,244 @@ +using System; +using System.Threading; +using System.Threading.Tasks; +using UnityEngine; +using SingularityGroup.HotReload.Localization; + +namespace SingularityGroup.HotReload { + internal class ServerHandshake { + public static readonly ServerHandshake I = new ServerHandshake(); + + /// + /// Not verified as compatible yet - need to do handshake + /// + private PatchServerInfo pendingServer; + + /// + /// Handshake is complete. Player can connect to this server. + /// + private PatchServerInfo verifiedServer; + + private Task handshakeCheck; + + private CancellationTokenSource cts = new CancellationTokenSource(); + /// Track first handshake request after calling SetServerInfo. + /// Sometimes and it can take 10-30 seconds and succeed. + private TaskCompletionSource firstHandshake = new TaskCompletionSource(); + + /// Server info should be well known or a strong guess, not just a random ip address. + public Task SetServerInfo(PatchServerInfo serverInfo) { + if (verifiedServer != null && serverInfo == verifiedServer) { + return Task.FromResult(Result.Verified); + } + pendingServer = serverInfo; + if (serverInfo != null) { + Prompts.SetConnectionState(ConnectionSummary.Handshaking); + } + + // disconnect + verifiedServer = null; + + // cancel any ongoing RequestHandshake task + firstHandshake.TrySetCanceled(cts.Token); + firstHandshake = new TaskCompletionSource(); + cts.Cancel(); + cts = new CancellationTokenSource(); + if (serverInfo == null) return Task.FromResult(Result.None); + return firstHandshake.Task; + } + + /// Ensures a handshake request is running. + public void CheckHandshake() { + var serverToCheck = pendingServer; + if (verifiedServer == null && serverToCheck != null) { + if (handshakeCheck == null || handshakeCheck.IsCompleted) { + handshakeCheck = Task.Run(async () => { + try { + Log.Debug("Run RequestHandshake"); + var results = await RequestHandshake(serverToCheck); + await ThreadUtility.SwitchToMainThread(); + var decisionIsFinal = await VerifyResults(results, serverToCheck); + firstHandshake.TrySetResult(results); // VerifyResults() can also set it, this is the default fallback + if (decisionIsFinal) { + pendingServer = null; + } + } catch (Exception ex) { + Log.Exception(ex); + } finally { + // set as failed if wasnt set as true by above code + firstHandshake.TrySetResult(Result.None); + } + }, cts.Token); + } + } + } + + /// + /// Verify results of the handshake. + /// + /// + /// + /// True if the conclusion is final, otherwise false + /// + /// Must be called on main thread because it uses Unity UI methods. + /// + async Task VerifyResults(Result results, PatchServerInfo server) { + if (results.HasFlag(Result.QuietWarning)) { + // can handle here if needed later + } + if (results.HasFlag(Result.Verified)) { + if (!firstHandshake.Task.IsCompleted) { + Prompts.SetConnectionState(ConnectionSummary.Connecting); + } + OnVerified(server); + return true; + } + + // handle objections in order of obviousness, most obvious goes first + if (results.HasFlag(Result.DifferentProject)) { + await Prompts.ShowQuestionDialog(new QuestionDialog.Config { + summary = Localization.Translations.Dialogs.DifferentProjectSummary, + suggestion = Localization.Translations.Dialogs.DifferentProjectSuggestion, + continueButtonText = "OK", + cancelButtonText = null, + }); + // they need to provide a new server info + Prompts.SetConnectionState(ConnectionSummary.Cancelled); + return true; + } + if (results.HasFlag(Result.DifferentCommit)) { + Prompts.SetConnectionState(ConnectionSummary.DifferencesFound); + bool yes = await Prompts.ShowQuestionDialog(new QuestionDialog.Config { + summary = Localization.Translations.Dialogs.DifferentCommitSummary, + suggestion = Localization.Translations.Dialogs.DifferentCommitSuggestion, + continueButtonText = "Connect", + }); + if (yes) { + results |= Result.Verified; + Prompts.SetConnectionState(ConnectionSummary.Connecting); + firstHandshake.TrySetResult(results); + OnVerified(server); + } else { + Prompts.SetConnectionState(ConnectionSummary.Cancelled); + } + // cancel -> tell them to provide a new server + return true; + } + + if (results.HasFlag(Result.TempError)) { + // retry might work, its not over yet + return false; + } + // at time of writing, code should never reach here. Adding new HandshakeResult flags should be handled above. + Log.Debug("UNEXPECTED: VerifyResults continued into untested code: {0}", results); + return true; + } + + void OnVerified(PatchServerInfo serverToCheck) { + verifiedServer = serverToCheck; + } + + public bool TryGetVerifiedServer(out PatchServerInfo serverInfo) { + // take verifiedServer + var server = Interlocked.Exchange(ref verifiedServer, null); + serverInfo = server; + return serverInfo != null; + } + + /// + /// Result of a handshake with the remote Hot Reload instance. + /// + [Flags] + public enum Result { + None = 0, + DifferentCommit = 1 << 0, + DifferentProject = 1 << 1, + + /// + /// A temporary error occurred, retrying might work. + /// + TempError = 1 << 2, + + /// + /// Hot Reload is compiling, so we should wait a bit before trying again. + /// + WaitForCompiling = 1 << 3, + + [Obsolete("Not needed so far", true)] + Placeholder2 = 1 << 4, + + // use when a warning is logged, but we're allowing Hot Reload to connect bcus it probably works. + QuietWarning = 1 << 5, + Verified = 1 << 6, + } + + static async Task RequestHandshake(PatchServerInfo info) { + var buildInfo = PlayerEntrypoint.PlayerBuildInfo; + var results = Result.None; + var verified = true; + Log.Debug($"Comparing commits {buildInfo.commitHash} and {info.commitHash}"); + if (buildInfo.IsDifferentCommit(info.commitHash)) { + results |= Result.DifferentCommit; + verified = false; + } + // Check for health before sending handshake request + // If health check fails UI updates faster + var healthy = await ServerHealthCheck.CheckHealthAsync(info); + if (!healthy) { + Log.Debug("Won't send handshake request because server is not healhy"); + return results; + } + Log.Info(string.Format(Localization.Translations.Logging.RequestHandshakeToServer, info.hostName)); + //Log.Debug("Handshake with projectOmissionRegex: \"{0}\"", buildInfo.projectOmissionRegex); + var response = await RequestHelper.RequestHandshake(info, buildInfo.DefineSymbolsAsHashSet, + buildInfo.projectOmissionRegex); + if (response.error != null) { + verified = false; + Log.Debug($"RequestHandshake errored: {response.error}"); + if (response.error == Result.WaitForCompiling.ToString()) { + // WaitForCompiling is a temp error + results |= Result.WaitForCompiling; + results |= Result.TempError; + } else { + results |= Result.TempError; + } + } + + if (response.data == null) { + // need response data to continue + verified = false; + return results; + } + + // handshake response is what we post to /files which is BuildInfo + var remoteBuildTarget = response.data[nameof(BuildInfo.activeBuildTarget)] as string; + var remoteCommitHash = response.data[nameof(BuildInfo.commitHash)] as string; + var remoteProjectIdentifier = response.data[nameof(BuildInfo.projectIdentifier)] as string; + if (buildInfo.IsDifferentCommit(remoteCommitHash)) { + Log.Debug($"RequestHandshake server is on different commit {response.error}"); + results |= Result.DifferentCommit; + verified = false; + } + + if (remoteProjectIdentifier != buildInfo.projectIdentifier) { + Log.Debug("RequestHandshake remote is using a different project identifier"); + results |= Result.DifferentProject; + verified = false; + } + + if (remoteBuildTarget == null) { + // Should never happen. Server responsed with an error when no BuildInfo at all. + Log.Warning(string.Format(Localization.Translations.Errors.HandshakeFailedInvalidBuildTarget, buildInfo.activeBuildTarget)); + results |= Result.QuietWarning; + } else if (remoteBuildTarget != buildInfo.activeBuildTarget) { + Log.Warning(string.Format(Localization.Translations.Errors.BuildTargetMismatch, remoteBuildTarget, buildInfo.activeBuildTarget)); + results |= Result.QuietWarning; + } + + if (verified) { + results |= Result.Verified; + } + return results; + } + } +} diff --git a/Packages/com.singularitygroup.hotreload/Runtime/ServerHandshake.cs.meta b/Packages/com.singularitygroup.hotreload/Runtime/ServerHandshake.cs.meta new file mode 100644 index 0000000..796bbbe --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/ServerHandshake.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 2b0e8e99bb55456888ff440a83e3e082 +timeCreated: 1674459557 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Runtime/ServerHandshake.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/ServerHealthCheck.cs b/Packages/com.singularitygroup.hotreload/Runtime/ServerHealthCheck.cs new file mode 100644 index 0000000..0b077af --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/ServerHealthCheck.cs @@ -0,0 +1,56 @@ +using System; +using System.Threading.Tasks; + +namespace SingularityGroup.HotReload { + internal class ServerHealthCheck : IServerHealthCheck { + private static readonly TimeSpan heartBeatTimeout = TimeSpan.FromMilliseconds(5001); + public static readonly ServerHealthCheck I = new ServerHealthCheck(); + + private Uri healthCheckEndpoint = null; + private Task healthCheck = null; + private DateTime healthOkayAt = DateTime.MinValue; + + public void SetServerInfo(PatchServerInfo serverInfo) { + if (serverInfo == null) { + Log.Debug("ServerHealthCheck SetServerInfo to null"); + healthCheckEndpoint = null; + } else { + var url = RequestHelper.CreateUrl(serverInfo) + "/ping"; + Log.Debug("ServerHealthCheck SetServerInfo using url {0}", url); + healthCheckEndpoint = new Uri(url); + } + healthCheck = null; + healthOkayAt = DateTime.MinValue; + } + + public bool IsServerHealthy => DateTime.UtcNow - healthOkayAt < heartBeatTimeout; + + /// Is it confirmed the server has been running before? + public bool WasServerResponding => healthOkayAt != DateTime.MinValue; + + // any thread + public async Task CheckHealthAsync() { + if (healthCheckEndpoint == null + // wait for existing healthcheck to finish + || healthCheck?.IsCompleted == false + ) { + return; + } + healthCheck = CheckHealthAsync(healthCheckEndpoint); + if (await healthCheck) { + healthOkayAt = DateTime.UtcNow; + } + } + + public static async Task CheckHealthAsync(PatchServerInfo info) { + var url = RequestHelper.CreateUrl(info) + "/ping"; + return await CheckHealthAsync(new Uri(url)); + } + + public static async Task CheckHealthAsync(Uri uri) { + var ping = RequestHelper.PingServer(uri); + await Task.WhenAny(ping, Task.Delay(heartBeatTimeout)); + return ping.IsCompleted && ping.Result; + } + } +} diff --git a/Packages/com.singularitygroup.hotreload/Runtime/ServerHealthCheck.cs.meta b/Packages/com.singularitygroup.hotreload/Runtime/ServerHealthCheck.cs.meta new file mode 100644 index 0000000..9f3daed --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/ServerHealthCheck.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 6acd15aa18d34f219245201f66ac0048 +timeCreated: 1674458040 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Runtime/ServerHealthCheck.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/SingularityGroup.HotReload.Runtime.asmdef b/Packages/com.singularitygroup.hotreload/Runtime/SingularityGroup.HotReload.Runtime.asmdef new file mode 100644 index 0000000..9affeb5 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/SingularityGroup.HotReload.Runtime.asmdef @@ -0,0 +1,29 @@ +{ + "name": "SingularityGroup.HotReload.Runtime", + "rootNamespace": "SingularityGroup.HotReload", + "references": [ + "GUID:343deaaf83e0cee4ca978e7df0b80d21", + "GUID:2bafac87e7f4b9b418d9448d219b01ab", + "GUID:46c537318f0d530469a1df1fafe86c9c", + "GUID:af67dfb2ec5c9c740be50ae4470ed85f", + "SingularityGroup.HotReload.Runtime.Public", + "Unity.InputSystem" + ], + "includePlatforms": [], + "excludePlatforms": [], + "allowUnsafeCode": true, + "overrideReferences": true, + "precompiledReferences": [ + "SingularityGroup.HotReload.RuntimeDependencies.dll", + "SingularityGroup.HotReload.RuntimeDependencies2019.dll", + "SingularityGroup.HotReload.RuntimeDependencies2022.dll", + "SingularityGroup.HotReload.RuntimeDependencies2020.dll" + ], + "autoReferenced": false, + "defineConstraints": [ + "ENABLE_MONO", + "DEVELOPMENT_BUILD || UNITY_EDITOR" + ], + "versionDefines": [], + "noEngineReferences": false +} \ No newline at end of file diff --git a/Packages/com.singularitygroup.hotreload/Runtime/SingularityGroup.HotReload.Runtime.asmdef.meta b/Packages/com.singularitygroup.hotreload/Runtime/SingularityGroup.HotReload.Runtime.asmdef.meta new file mode 100644 index 0000000..1ec35dd --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/SingularityGroup.HotReload.Runtime.asmdef.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 46b7fe7fb55a0ca4aa66f90961731b83 +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Runtime/SingularityGroup.HotReload.Runtime.asmdef + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/SymbolResolver.cs b/Packages/com.singularitygroup.hotreload/Runtime/SymbolResolver.cs new file mode 100644 index 0000000..ff33f09 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/SymbolResolver.cs @@ -0,0 +1,97 @@ +using System; +using System.Collections.Generic; +using System.Reflection; +using SingularityGroup.HotReload.DTO; +using SingularityGroup.HotReload.RuntimeDependencies; +using SingularityGroup.HotReload.Localization; + +namespace SingularityGroup.HotReload { + internal class SymbolResolver { + readonly Dictionary> assembliesByName; + + public SymbolResolver(Dictionary> assembliesByName) { + this.assembliesByName = assembliesByName; + } + + public void AddAssembly(Assembly asm) { + var asmName = asm.GetNameSafe(); + List assemblies; + if(!assembliesByName.TryGetValue(asmName, out assemblies)) { + assembliesByName.Add(asmName, assemblies = new List()); + } + assemblies.Add(asm); + } + + public Type Resolve(SType t) { + var assmeblies = Resolve(t.assemblyName); + Type result = null; + Exception lastException = null; + for (var i = 0; i < assmeblies.Count; i++) { + try { + result = assmeblies[i].GetLoadedModules()[0].ResolveType(t.metadataToken); + if (t.isGenericParameter) { + if (!result.IsGenericTypeDefinition) { + throw new SymbolResolvingFailedException(t, new ApplicationException(Localization.Translations.Errors.GenericParameterNotGenericType)); + } + var genericParameters = result.GetGenericArguments(); + if (t.genericParameterPosition >= genericParameters.Length) { + throw new SymbolResolvingFailedException(t, new ApplicationException(Localization.Translations.Errors.GenericParameterDidNotExist)); + } + result = genericParameters[t.genericParameterPosition]; + } + break; + } catch(Exception ex) { + lastException = ex; + } + } + if(result == null) { + throw new SymbolResolvingFailedException(t, lastException); + } + return result; + } + + public FieldInfo Resolve(SField t) { + var assmeblies = Resolve(t.assemblyName); + FieldInfo result = null; + Exception lastException = null; + for (var i = 0; i < assmeblies.Count; i++) { + try { + result = assmeblies[i].GetLoadedModules()[0].ResolveField(t.metadataToken); + break; + } catch(Exception ex) { + lastException = ex; + } + } + if(result == null) { + throw new SymbolResolvingFailedException(t, lastException); + } + return result; + } + + public IReadOnlyList Resolve(string assembly) { + List list; + if(assembliesByName.TryGetValue(assembly, out list)) { + return list; + } + return Array.Empty(); + } + + public MethodBase Resolve(SMethod m) { + var assmeblies = Resolve(m.assemblyName); + MethodBase result = null; + Exception lastException = null; + for (var i = 0; i < assmeblies.Count; i++) { + try { + result = assmeblies[i].GetLoadedModules()[0].ResolveMethod(m.metadataToken); + break; + } catch(Exception ex) { + lastException = ex; + } + } + if(result == null) { + throw new SymbolResolvingFailedException(m, lastException); + } + return result; + } + } +} diff --git a/Packages/com.singularitygroup.hotreload/Runtime/SymbolResolver.cs.meta b/Packages/com.singularitygroup.hotreload/Runtime/SymbolResolver.cs.meta new file mode 100644 index 0000000..a28408b --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/SymbolResolver.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 90f4f3b01fb1917448d68d9477a7c932 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Runtime/SymbolResolver.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/SymbolResolvingFailedException.cs b/Packages/com.singularitygroup.hotreload/Runtime/SymbolResolvingFailedException.cs new file mode 100644 index 0000000..be4c1f8 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/SymbolResolvingFailedException.cs @@ -0,0 +1,16 @@ +using System; +using SingularityGroup.HotReload.DTO; +using SingularityGroup.HotReload.Localization; + +namespace SingularityGroup.HotReload { + internal class SymbolResolvingFailedException : Exception { + public SymbolResolvingFailedException(SMethod m, Exception inner) + : base(string.Format(Localization.Translations.Errors.UnableToResolveMethodInAssembly, m.displayName, m.assemblyName), inner) { } + + public SymbolResolvingFailedException(SType t, Exception inner) + : base(string.Format(Localization.Translations.Errors.UnableToResolveTypeInAssembly, t.typeName, t.assemblyName), inner) { } + + public SymbolResolvingFailedException(SField t, Exception inner) + : base(string.Format(Localization.Translations.Errors.UnableToResolveFieldInAssembly, t.fieldName, t.assemblyName), inner) { } + } +} diff --git a/Packages/com.singularitygroup.hotreload/Runtime/SymbolResolvingFailedException.cs.meta b/Packages/com.singularitygroup.hotreload/Runtime/SymbolResolvingFailedException.cs.meta new file mode 100644 index 0000000..474be69 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/SymbolResolvingFailedException.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 68483a4d9ffc894488e49faee539ab57 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Runtime/SymbolResolvingFailedException.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/TaskExtensions.cs b/Packages/com.singularitygroup.hotreload/Runtime/TaskExtensions.cs new file mode 100644 index 0000000..2889359 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/TaskExtensions.cs @@ -0,0 +1,47 @@ +using System; +using System.Threading; +using System.Threading.Tasks; +using UnityEngine; +using SingularityGroup.HotReload.Localization; + +namespace SingularityGroup.HotReload { + internal static class TaskExtensions { + public static async void Forget(this Task task, CancellationToken token = new CancellationToken()) { + try { + await task; + if(task.IsFaulted) { + throw task.Exception ?? new Exception(Localization.Translations.Common.UnknownException + " " + task); + } + token.ThrowIfCancellationRequested(); + } + catch(OperationCanceledException) { + // ignore + } catch(Exception ex) { + if(!token.IsCancellationRequested) { + Log.Exception(ex); + } + } + } + + /// + /// Blocks until condition is true or timeout occurs. + /// + /// The break condition. + /// The frequency at which the condition will be checked. + /// The timeout in milliseconds. + /// True on condition became true, False if timeouted + // credit: https://stackoverflow.com/a/52357854/5921285 + public static async Task WaitUntil(Func condition, int timeoutMs = -1, int pollInterval = 33) { + var waitTask = Task.Run(async () => { + while (!condition()) await Task.Delay(pollInterval); + }); + + if (waitTask != await Task.WhenAny(waitTask, + Task.Delay(timeoutMs))) { + // timed out + return false; + } + return true; + } + } +} diff --git a/Packages/com.singularitygroup.hotreload/Runtime/TaskExtensions.cs.meta b/Packages/com.singularitygroup.hotreload/Runtime/TaskExtensions.cs.meta new file mode 100644 index 0000000..e01c00a --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/TaskExtensions.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 10049b5f598dc924d99daeafd50bce16 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Runtime/TaskExtensions.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/ThreadUtility.cs b/Packages/com.singularitygroup.hotreload/Runtime/ThreadUtility.cs new file mode 100644 index 0000000..07669c1 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/ThreadUtility.cs @@ -0,0 +1,224 @@ +using System; +using System.Runtime.CompilerServices; +using System.Threading; +using UnityEngine; + +namespace SingularityGroup.HotReload { +#if UNITY_EDITOR + [UnityEditor.InitializeOnLoad] +#endif + static class ThreadUtility { + /// + /// Run code on Unity's main thread + /// + /// + /// This field is set early in [InitializeOnLoadMethod] in the editor and [RuntimeInitializeOnLoad] in playmode / for player builds, so your code assume it is already set. + /// +#if UNITY_EDITOR + static SynchronizationContext _cachedMainContext; + public static SynchronizationContext MainContext + { + get { + if(_cachedMainContext != null) { + return _cachedMainContext; + } + return EditorFallbackContext.I; + } + private set { + _cachedMainContext = value; + } + } + + class EditorFallbackContext : SynchronizationContext { + public static readonly EditorFallbackContext I = new EditorFallbackContext(); + EditorFallbackContext() { } + + public override void Send(SendOrPostCallback d, object state) { + UnityEditor.EditorApplication.delayCall += () => d(state); + } + public override void Post(SendOrPostCallback d, object state) { + UnityEditor.EditorApplication.delayCall += () => d(state); + } + } +#else + public static SynchronizationContext MainContext {get; private set;} +#endif + + public static int mainThreadId {get; private set;} + +#if UNITY_EDITOR + static ThreadUtility() { +#else + [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)] + static void InitMainThread() { +#endif + MainContext = SynchronizationContext.Current; + mainThreadId = Thread.CurrentThread.ManagedThreadId; + } + + [MethodImpl(MethodImplOptions.NoInlining)] + public static void InitEditor() { + //trigger static constructor + } + + public static bool ShouldLogException(Exception ex) { + AggregateException agg; + while((agg = ex as AggregateException) != null) { + ex = agg.InnerException; + } + if(ex is ThreadAbortException) { + return false; + } + return true; + } + + public static void LogException(Exception ex, CancellationToken token = default(CancellationToken)) { + if(ShouldLogException(ex) && !token.IsCancellationRequested) { + Log.Exception(ex); + } + } + + public static void RunOnMainThread(Action action, CancellationToken token = default(CancellationToken)) { + if(Thread.CurrentThread.ManagedThreadId == mainThreadId) { + action(); + } else { + MainContext.Post(_ => { + if(!token.IsCancellationRequested) { + action(); + } + }, null); + } + } + + public static SwitchToMainThreadAwaitable SwitchToMainThread() { + return new SwitchToMainThreadAwaitable(); + } + + public static CancellableSwitchToMainThreadAwaitable SwitchToMainThread(CancellationToken token) { + return new CancellableSwitchToMainThreadAwaitable(token); + } + + public static SwitchToThreadPoolAwaitable SwitchToThreadPool() { + return new SwitchToThreadPoolAwaitable(); + } + + public static CancellableSwitchToThreadPoolAwaitable SwitchToThreadPool(CancellationToken token) { + return new CancellableSwitchToThreadPoolAwaitable(token); + } + } + + struct SwitchToMainThreadAwaitable { + public Awaiter GetAwaiter() => new Awaiter(); + + public struct Awaiter : ICriticalNotifyCompletion { + static readonly SendOrPostCallback switchToCallback = Callback; + + public bool IsCompleted => Thread.CurrentThread.ManagedThreadId == ThreadUtility.mainThreadId; + + public void GetResult() { } + + public void OnCompleted(Action continuation) { + ThreadUtility.MainContext.Post(switchToCallback, continuation); + } + + public void UnsafeOnCompleted(Action continuation) { + ThreadUtility.MainContext.Post(switchToCallback, continuation); + } + + static void Callback(object state) { + var continuation = (Action)state; + continuation(); + } + } + } + + + struct CancellableSwitchToMainThreadAwaitable { + readonly CancellationToken token; + public CancellableSwitchToMainThreadAwaitable(CancellationToken token) { + this.token = token; + } + + public Awaiter GetAwaiter() => new Awaiter(token); + + public struct Awaiter : ICriticalNotifyCompletion { + readonly CancellationToken token; + public Awaiter(CancellationToken token) { + this.token = token; + } + + public bool IsCompleted => Thread.CurrentThread.ManagedThreadId == ThreadUtility.mainThreadId; + + public void GetResult() { } + + public void OnCompleted(Action continuation) { + UnsafeOnCompleted(continuation); + } + + public void UnsafeOnCompleted(Action continuation) { + var tokenCopy = this.token; + ThreadUtility.MainContext.Post(o => { + if(!tokenCopy.IsCancellationRequested) { + continuation(); + } + }, null); + } + } + } + + struct CancellableSwitchToThreadPoolAwaitable { + readonly CancellationToken token; + public CancellableSwitchToThreadPoolAwaitable(CancellationToken token) { + this.token = token; + } + + public Awaiter GetAwaiter() => new Awaiter(token); + + public struct Awaiter : ICriticalNotifyCompletion { + readonly CancellationToken token; + public Awaiter(CancellationToken token) { + this.token = token; + } + public bool IsCompleted => false; + public void GetResult() { } + + public void OnCompleted(Action continuation) { + ThreadPool.UnsafeQueueUserWorkItem(Callback, continuation); + } + + public void UnsafeOnCompleted(Action continuation) { + ThreadPool.UnsafeQueueUserWorkItem(Callback, continuation); + } + + void Callback(object state) { + token.ThrowIfCancellationRequested(); + var continuation = (Action)state; + continuation(); + } + } + } + + struct SwitchToThreadPoolAwaitable { + public Awaiter GetAwaiter() => new Awaiter(); + + public struct Awaiter : ICriticalNotifyCompletion { + static readonly WaitCallback switchToCallback = Callback; + + public bool IsCompleted => false; + public void GetResult() { } + + public void OnCompleted(Action continuation) { + ThreadPool.UnsafeQueueUserWorkItem(switchToCallback, continuation); + } + + public void UnsafeOnCompleted(Action continuation) { + ThreadPool.UnsafeQueueUserWorkItem(switchToCallback, continuation); + } + + static void Callback(object state) { + var continuation = (Action)state; + continuation(); + } + } + } +} diff --git a/Packages/com.singularitygroup.hotreload/Runtime/ThreadUtility.cs.meta b/Packages/com.singularitygroup.hotreload/Runtime/ThreadUtility.cs.meta new file mode 100644 index 0000000..f8142fc --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/ThreadUtility.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 833483c363c74b21a42c9c407d32fd93 +timeCreated: 1673880448 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Runtime/ThreadUtility.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Runtime/UnityHelper.cs b/Packages/com.singularitygroup.hotreload/Runtime/UnityHelper.cs new file mode 100644 index 0000000..8b12fbb --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/UnityHelper.cs @@ -0,0 +1,40 @@ +using UnityEngine; + +namespace SingularityGroup.HotReload { + static class UnityHelper { + static string m_DataPath; + public static string DataPath { get { Init(); return m_DataPath; } } + + static string m_PersistentDataPath; + public static string PersistentDataPath { get { Init(); return m_PersistentDataPath; } } + + static string m_TemporaryCachePath; + public static string TemporaryCachePath { get { Init(); return m_TemporaryCachePath; } } + + static string m_StreamingAssetsPath; + public static string StreamingAssetsPath { get { Init(); return m_StreamingAssetsPath; } } + + static string m_OperatingSystem; + public static string OperatingSystem { get { Init(); return m_OperatingSystem; } } + + static RuntimePlatform m_Platform; + public static RuntimePlatform Platform { get { Init(); return m_Platform; } } + + static bool m_IsEditor; + public static bool IsEditor { get { Init(); return m_IsEditor; } } + + static bool initialized; + public static void Init() { + if(initialized) return; + m_DataPath = Application.dataPath; + m_PersistentDataPath = Application.persistentDataPath; + m_StreamingAssetsPath = Application.streamingAssetsPath; + m_TemporaryCachePath = Application.temporaryCachePath; + m_OperatingSystem = SystemInfo.operatingSystem; + m_Platform = Application.platform; + m_IsEditor = Application.isEditor; + + initialized = true; + } + } +} diff --git a/Packages/com.singularitygroup.hotreload/Runtime/UnityHelper.cs.meta b/Packages/com.singularitygroup.hotreload/Runtime/UnityHelper.cs.meta new file mode 100644 index 0000000..f5a37b1 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Runtime/UnityHelper.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 0edc320a85054b85ab1e4916bf8176ba +timeCreated: 1674382672 +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Runtime/UnityHelper.cs + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Server.meta b/Packages/com.singularitygroup.hotreload/Server.meta new file mode 100644 index 0000000..3703025 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Server.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4b14aa074bcada145bbd7f88f364c707 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.singularitygroup.hotreload/Server/hot-reload-config.graphql b/Packages/com.singularitygroup.hotreload/Server/hot-reload-config.graphql new file mode 100644 index 0000000..41674e3 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Server/hot-reload-config.graphql @@ -0,0 +1,99 @@ +""" +The model of the config file that can optionally be added in the unity project directory. +The name of the file shall be 'hot-reload-config.json' +Example json contents: +{ + "externalSolutions": [ + "../src/Serialization/Serialization.sln", + "../src/WebSocket/WebSocket.sln" + ], + "additionalSourceDirectories": [ + "../src/SharedUtility", + "../src/UnitTestBoilerplate" + ], + "projectBlacklist": [ + "../src/UnitTests/UnitTests.csproj" + ], + "polyfillSourceFiles": [ + "Polyfills/CompilerSupport.cs", + "Polyfills/IndexRange.cs" + ] +} +""" +input HotReloadConfig { + """ + The file paths to external solutions. + Paths shall be specified relative to the unity project path. + + Consider the following example: + + UnityProject + |_ UnityProject.sln + src + |_ ExternalSlnDir + |_ External.sln + + here the path would be '../src/ExternalSlnDir/External.sln' + """ + externalSolutions: [String!] + + """ + The file paths to additional source directories that are not already part of a solution folder or its sub folders. + Paths shall be specified relative to the unity project path. + + Consider this example: + + UnityProject + |_ UnityProject.sln + src + |_ ExternalSlnDir + |_ External.sln + |_ External.csproj <- uses Foo.cs + |_ SharedUtility + |_ Foo.cs + + In such a case the path '../src/SharedUtility' needs to be specified as an additional source directory. + This is mainly to ensure that the file watcher listens to all c# files that are related to the unity project. + The Assets/ and Packages/ folders and all paths to local packages specified in the Packages/manifest.json are already covered. + """ + additionalSourceDirectories: [String!] + + """ + The file paths to project files that Hot Reload should ignore. + This is only needed when you add additional project files to the unity project solution. + Paths shall be specified relative to the unity project path. + + Consider this example: + + UnityProject + |_ UnityProject.sln + src + |_ ExternalSlnDir + |_ External.sln + |_ UnitTests + |_ UnitTests.csproj + + here the path would be '../src/ExternalSlnDir/UnitTests/UnitTests.csproj' + """ + projectBlacklist: [String!] + + + """ + The file paths to source files that should get added to all unity .csproj files. + Use this is you e.g. use a csc.rsp to include polyfill csharp files when compiling the script assemblies + Paths shall be specified relative to the unity project path. + + Consider this example: + + UnityProject + |_ UnityProject.sln + PolyFills + |_ IndexRange.cs + + here the path would be 'PolyFills/IndexRange.cs' + """ + polyfillSourceFiles: [String!] +} + +scalar String + diff --git a/Packages/com.singularitygroup.hotreload/Server/hot-reload-config.graphql.meta b/Packages/com.singularitygroup.hotreload/Server/hot-reload-config.graphql.meta new file mode 100644 index 0000000..9f3f714 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Server/hot-reload-config.graphql.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 1860afd846d14904e8e3b2ef393b11a2 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Server/hot-reload-config.graphql + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Server/linux-x64.meta b/Packages/com.singularitygroup.hotreload/Server/linux-x64.meta new file mode 100644 index 0000000..db93a91 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Server/linux-x64.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: fdab353f2769bba47aa3bf92f09515c6 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.singularitygroup.hotreload/Server/linux-x64/hotreload-start-script.sh b/Packages/com.singularitygroup.hotreload/Server/linux-x64/hotreload-start-script.sh new file mode 100644 index 0000000..46dc4d2 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Server/linux-x64/hotreload-start-script.sh @@ -0,0 +1,83 @@ +#!/bin/sh + +set -e + +CLIARGUMENTS_FILE="" +EXECUTABLESOURCEDIR="" +EXECUTABLETARGETDIR="" +TITLE="" +METHODPATCHDIR="" +PIDFILE="" + +while [ "$1" != "" ]; do + case $1 in + -c | --cli-arguments-file ) + shift + CLIARGUMENTS_FILE="$1" + ;; + --executables-source-dir ) + shift + EXECUTABLESOURCEDIR="$1" + ;; + --executable-taget-dir ) + shift + EXECUTABLETARGETDIR="$1" + ;; + --title ) + shift + TITLE="$1" + ;; + --create-no-window ) + shift + CREATENOWINDOW="$1" + ;; + -p | --pidfile ) + shift + PIDFILE="$1" + ;; + -m | --method-patch-dir ) + shift + METHODPATCHDIR="$1" + ;; + esac + shift +done + +if [ -z "/tmp/HotReloadTemp" ] || [ -z "$CLIARGUMENTS_FILE" ] || [ -z "$EXECUTABLESOURCEDIR" ] || [ -z "$EXECUTABLETARGETDIR" ] || [ -z "$TITLE" ] || [ -z "$PIDFILE" ] || [ -z "$METHODPATCHDIR" ] || [ -z "$CREATENOWINDOW" ]; then + echo "Missing arguments" + exit 1 +fi + +CLIARGUMENTS=$(cat "$CLIARGUMENTS_FILE") +rm "$CLIARGUMENTS_FILE" + +rm -rf "$METHODPATCHDIR" +SERVER="$EXECUTABLETARGETDIR/CodePatcherCLI" + +TERMINALRUNSCRIPT="$EXECUTABLESOURCEDIR/terminal-run.sh" +sed -i 's/\r//g' "$TERMINALRUNSCRIPT" + +chmod +x "$TERMINALRUNSCRIPT" +chmod +x "$SERVER" + +HAVETERMINAL="" +"$TERMINALRUNSCRIPT" && HAVETERMINAL="yes" + +INTERNALSCRIPT="$EXECUTABLETARGETDIR/hotreload-internal-start" + +# see doc/linux-system-freeze.org why I put the nice + +cat << EOF > "$INTERNALSCRIPT" +#!/bin/sh +echo \$\$ > "$PIDFILE" +nice -n 5 "$SERVER" $CLIARGUMENTS || read +EOF + +chmod +x "$INTERNALSCRIPT" + +if [[ -n "$HAVETERMINAL" && "$CREATENOWINDOW" != "True" ]]; then + "$TERMINALRUNSCRIPT" "$TITLE" "$INTERNALSCRIPT" +else + printf "Don't have a terminal to run, printing to unity console instead. Consider hacking:\n%s\n" "$TERMINALRUNSCRIPT" + exec "$INTERNALSCRIPT" +fi diff --git a/Packages/com.singularitygroup.hotreload/Server/linux-x64/hotreload-start-script.sh.meta b/Packages/com.singularitygroup.hotreload/Server/linux-x64/hotreload-start-script.sh.meta new file mode 100644 index 0000000..061f4fe --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Server/linux-x64/hotreload-start-script.sh.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 69a1a07fd70ddb97f9c75ee89579d1ea +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Server/linux-x64/hotreload-start-script.sh + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Server/linux-x64/terminal-run.sh b/Packages/com.singularitygroup.hotreload/Server/linux-x64/terminal-run.sh new file mode 100644 index 0000000..39fee8d --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Server/linux-x64/terminal-run.sh @@ -0,0 +1,39 @@ +#!/bin/bash + +# Run a terminal with title and command + +# User can already hack this file with their own terminal etc. + + # I didn't check the other ones + # TODO: User can provide a "terminal-program" in the settings, say you can get inspired by Packages/CodePatcher/Server/linux-x64/terminal-run.sh + # the script is run with 2 args, a title and a command script to run. + +# If called with 0 args, signal the capability to start a terminal. +# If you add your own terminal, make sure to also return 0 when called with 0 args. + +TITLE="$1" +COMMAND="$2" + +if [ -z "$1" ]; then + [ -x "$(command -v gnome-terminal)" ] && exit 0 + [ -x "$(command -v xterm)" ] && exit 0 + [ -x "$(command -v konsole)" ] && exit 0 + [ -x "$(command -v terminator)" ] && exit 0 + [ -x "$(command -v urxvt)" ] && exit 0 + [ -x "$(command -v Alacritty)" ] && exit 0 + exit 1 +fi + +if [ -x "$(command -v gnome-terminal)" ]; then + gnome-terminal --title="$TITLE" -- "$SHELL" -c "$COMMAND" +elif [ -x "$(command -v xterm)" ]; then + xterm -title "$TITLE" -e "$SHELL -c '$COMMAND'" +elif [ -x "$(command -v konsole)" ]; then + konsole --title "$TITLE" --noclose -e "$SHELL -c '$COMMAND'" +elif [ -x "$(command -v terminator)" ]; then + terminator --title="$TITLE" --command="$SHELL -c '$COMMAND'" +elif [ -x "$(command -v urxvt)" ]; then + urxvt -title "$TITLE" -e "$SHELL" -c "clear && $COMMAND" +elif [ -x "$(command -v Alacritty)" ]; then + alacritty -t "$TITLE" -e "$SHELL -c '$COMMAND'" +fi diff --git a/Packages/com.singularitygroup.hotreload/Server/linux-x64/terminal-run.sh.meta b/Packages/com.singularitygroup.hotreload/Server/linux-x64/terminal-run.sh.meta new file mode 100644 index 0000000..cc05200 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Server/linux-x64/terminal-run.sh.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: c3a7f96ba696eb649b581af931f26247 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Server/linux-x64/terminal-run.sh + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/Third Party Notices.md b/Packages/com.singularitygroup.hotreload/Third Party Notices.md new file mode 100644 index 0000000..991b856 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Third Party Notices.md @@ -0,0 +1,327 @@ +# Dotnet - https://github.com/Microsoft/dotnet/blob/main/LICENSE + +The MIT License (MIT) + +Copyright (c) 2019 Microsoft + +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. + +# Harmony2 - https://www.nuget.org/packages/Lib.Harmony/2.2.2/License + +MIT License + +Copyright (c) 2017 Andreas Pardeike + +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. + + + +# Monomod - https://github.com/MonoMod/MonoMod/blob/master/LICENSE + +The MIT License (MIT) + +Copyright (c) 2015 - 2020 0x0ade + +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. + + + +# Roslyn - https://github.com/dotnet/roslyn/blob/main/License.txt + +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +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. + + + +# ZXing - https://github.com/zxing/zxing/blob/master/LICENSE + +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +======================================================================== +jai-imageio +======================================================================== + +Copyright (c) 2005 Sun Microsystems, Inc. +Copyright © 2010-2014 University of Manchester +Copyright © 2010-2015 Stian Soiland-Reyes +Copyright © 2015 Peter Hull +All Rights Reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +- Redistribution of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +- Redistribution in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +Neither the name of Sun Microsystems, Inc. or the names of +contributors may be used to endorse or promote products derived +from this software without specific prior written permission. + +This software is provided "AS IS," without a warranty of any +kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND +WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY +EXCLUDED. SUN MIDROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL +NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF +USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS +DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR +ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, +CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND +REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR +INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + +You acknowledge that this software is not designed or intended for +use in the design, construction, operation or maintenance of any +nuclear facility. + + +# Newtonsoft - https://github.com/JamesNK/Newtonsoft.Json/blob/master/LICENSE.md + +The MIT License (MIT) + +Copyright (c) 2007 James Newton-King + +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. + + + +# Jetbrains.Annotations - https://github.com/JetBrains/java-annotations/blob/master/LICENSE.txt + +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +Copyright 2000-2016 JetBrains s.r.o. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + + +# IL-repack - https://github.com/gluck/il-repack/blob/master/LICENSE + +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + + +# Serilog - https://github.com/serilog/serilog/blob/dev/LICENSE + +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + + +# SQLitePCLRaw - https://github.com/ericsink/SQLitePCL.raw/blob/master/LICENSE.TXT + +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + + +# Humanizer - https://github.com/Humanizr/Humanizer/blob/main/LICENSE + +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +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. + +============================================================================== + +Inflector (https://github.com/srkirkland/Inflector) +The MIT License (MIT) +Copyright (c) 2013 Scott Kirkland + +============================================================================== + +ByteSize (https://github.com/omar/ByteSize) +The MIT License (MIT) +Copyright (c) 2013-2014 Omar Khudeira (http://omar.io) + +============================================================================== + + + +# ManagedEsent - https://github.com/microsoft/ManagedEsent/blob/master/LICENSE.md + +The MIT License (MIT) + +Copyright (c) Microsoft Corporation + +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. + + +# MsBuild Confuser - https://github.com/mkaring/ConfuserEx/blob/master/LICENSE.md + +The MIT License (MIT) + +Copyright (c) 2014 yck1509 +Copyright (c) 2018 Martin Karing + +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. + + + +# Mono Cecil - https://github.com/jbevain/cecil/blob/master/LICENSE.txt + +The MIT License (MIT) + +Copyright (c) 2008 - 2015 Jb Evain +Copyright (c) 2008 - 2011 Novell, Inc. + +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. + + +# Semver - https://github.com/maxhauser/semver/blob/master/License.txt + +Copyright (c) 2013 Max Hauser, Jeff Walker + +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. diff --git a/Packages/com.singularitygroup.hotreload/Third Party Notices.md.meta b/Packages/com.singularitygroup.hotreload/Third Party Notices.md.meta new file mode 100644 index 0000000..0913d57 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/Third Party Notices.md.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: b78a618995758fa44b4d046ff92ea93b +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/Third Party Notices.md + uploadId: 870414 diff --git a/Packages/com.singularitygroup.hotreload/package.json b/Packages/com.singularitygroup.hotreload/package.json new file mode 100644 index 0000000..cae7096 --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/package.json @@ -0,0 +1,20 @@ +{ + "displayName": "Hot Reload", + "name": "com.singularitygroup.hotreload", + "unity": "2019.4", + "description": "Change code and get immediate updates in the Unity Editor or on-device.", + "category": "Engineering", + "keywords": [ + "Hot", + "Reload", + "patch", + "code", + "sg", + "singularity" + ], + "version": "1.13.17", + "dependencies": { + "com.unity.ugui": "1.0.0", + "com.unity.modules.unitywebrequest": "1.0.0" + } +} diff --git a/Packages/com.singularitygroup.hotreload/package.json.meta b/Packages/com.singularitygroup.hotreload/package.json.meta new file mode 100644 index 0000000..639ce0d --- /dev/null +++ b/Packages/com.singularitygroup.hotreload/package.json.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: b701518d055fa954b8adaa8000734e5a +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 254358 + packageName: Hot Reload | Edit Code Without Compiling + packageVersion: 1.13.17 + assetPath: Packages/com.singularitygroup.hotreload/package.json + uploadId: 870414 diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json index 6de98f4..afd4471 100644 --- a/Packages/packages-lock.json +++ b/Packages/packages-lock.json @@ -1,5 +1,14 @@ { "dependencies": { + "com.singularitygroup.hotreload": { + "version": "file:com.singularitygroup.hotreload", + "depth": 0, + "source": "embedded", + "dependencies": { + "com.unity.ugui": "1.0.0", + "com.unity.modules.unitywebrequest": "1.0.0" + } + }, "com.unity.ai.navigation": { "version": "2.0.10", "depth": 0,
Specifies that the method is single-threaded through the body. Static methods (Shared in Visual Basic) lock on the type, whereas instance methods lock on the instance. You can also use the C# lock statement or the Visual Basic SyncLock statement for this purpose.

19B0JALWR?d;8# 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%0DG{;7^e^04i4uTiqD(jd)fquLOX9D7P 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�f%+I4!N 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 z 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 z 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

19B0JALWR?d;8# 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%0DG{;7^e^04i4uTiqD(jd)fquLOX9D7P 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�f%+I4!N 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 z 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 z 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