From 252489f48ace55482f4563a0840d65c21d015f81 Mon Sep 17 00:00:00 2001 From: scove Date: Tue, 28 Apr 2026 00:07:42 +0700 Subject: [PATCH] Update --- .idea/.idea.HALLUCINATE/.idea/workspace.xml | 554 +- Assets/Editor/UIManagerEditor.cs | 70 - Assets/Editor/UIManagerEditor.cs.meta | 2 - Assets/Prefabs/Player.prefab | 498 +- Assets/Scove/UIScaleTest.unity | 499 +- Assets/Scripts/Fusion/BasicSpawner.cs | 1 + .../PlayerAnimationHandler.cs | 54 + .../PlayerAnimationHandler.cs.meta | 2 + .../Player Controller/PlayerInteraction.cs | 75 + .../PlayerInteraction.cs.meta | 2 + .../Player Controller/PlayerMovement.cs | 71 + .../Player Controller/PlayerMovement.cs.meta | 2 + .../Player Controller/PlayerStateMachine.cs | 175 +- .../Scripts/Player Controller/PlayerStats.cs | 58 + .../Player Controller/PlayerStats.cs.meta | 2 + Assets/Scripts/UI/BaseUIController.cs | 55 + Assets/Scripts/UI/BaseUIController.cs.meta | 2 + Assets/Scripts/UI/HUDController.cs | 217 +- Assets/Scripts/UI/LobbyController.cs | 110 +- Assets/Scripts/UI/LocalizationManager.cs | 70 - Assets/Scripts/UI/LocalizationManager.cs.meta | 2 - Assets/Scripts/UI/LoungeController.cs | 36 - Assets/Scripts/UI/LoungeController.cs.meta | 2 - Assets/Scripts/UI/MainMenuController.cs | 262 +- Assets/Scripts/UI/MyUIDisplay.cs | 75 - Assets/Scripts/UI/MyUIDisplay.cs.meta | 3 - Assets/Scripts/UI/ProfileController.cs | 33 +- Assets/Scripts/UI/SettingsController.cs | 81 +- Assets/Scripts/UI/UIManager.cs | 282 +- .../Project Setting/FolderIcons.asset | 10 +- .../LiberationSans SDF - Fallback.asset | 8404 ----------------- .../CustomFolderIcons/Project Setting.png | Bin 21246 -> 0 bytes Assets/Textures/CustomFolderIcons/Recover.png | Bin 0 -> 389807 bytes ...ject Setting.png.meta => Recover.png.meta} | 10 +- .../CustomFolderIcons/Third Parties.png | Bin 20186 -> 81525 bytes .../CustomFolderIcons/Third Parties.png.meta | 10 +- Assets/Textures/CustomFolderIcons/UI.png | Bin 0 -> 408813 bytes Assets/Textures/CustomFolderIcons/UI.png.meta | 130 + Assets/Third Parties.png | Bin 0 -> 81525 bytes Assets/Third Parties.png.meta | 130 + Assets/{ => Third Parties}/Photon.meta | 0 Assets/{ => Third Parties}/Photon/Fusion.meta | 0 .../Photon/Fusion/Assemblies.meta | 0 .../Photon/Fusion/Assemblies/Debug.meta | 0 .../Assemblies/Debug/Fusion.Common.dll.debug | Bin .../Debug/Fusion.Common.dll.debug.meta | 0 .../Assemblies/Debug/Fusion.Log.dll.debug | Bin .../Debug/Fusion.Log.dll.debug.meta | 0 .../Debug/Fusion.Realtime.dll.debug | Bin .../Debug/Fusion.Realtime.dll.debug.meta | 0 .../Assemblies/Debug/Fusion.Runtime.dll.debug | Bin .../Debug/Fusion.Runtime.dll.debug.meta | 0 .../Assemblies/Debug/Fusion.Sockets.dll.debug | Bin .../Debug/Fusion.Sockets.dll.debug.meta | 0 .../Fusion/Assemblies/Fusion.Common.dll | Bin .../Fusion/Assemblies/Fusion.Common.dll.meta | 0 .../Fusion/Assemblies/Fusion.Common.xml | 0 .../Fusion/Assemblies/Fusion.Common.xml.meta | 0 .../Photon/Fusion/Assemblies/Fusion.Log.dll | Bin .../Fusion/Assemblies/Fusion.Log.dll.meta | 0 .../Photon/Fusion/Assemblies/Fusion.Log.xml | 0 .../Fusion/Assemblies/Fusion.Log.xml.meta | 0 .../Fusion/Assemblies/Fusion.Realtime.dll | Bin .../Assemblies/Fusion.Realtime.dll.meta | 0 .../Fusion/Assemblies/Fusion.Realtime.xml | 0 .../Assemblies/Fusion.Realtime.xml.meta | 0 .../Fusion/Assemblies/Fusion.Runtime.dll | Bin .../Fusion/Assemblies/Fusion.Runtime.dll.meta | 0 .../Fusion/Assemblies/Fusion.Runtime.xml | 0 .../Fusion/Assemblies/Fusion.Runtime.xml.meta | 0 .../Fusion/Assemblies/Fusion.Sockets.dll | Bin .../Fusion/Assemblies/Fusion.Sockets.dll.meta | 0 .../Fusion/Assemblies/Fusion.Sockets.xml | 0 .../Fusion/Assemblies/Fusion.Sockets.xml.meta | 0 .../Photon/Fusion/Assemblies/Release.meta | 0 .../Release/Fusion.Common.dll.release | Bin .../Release/Fusion.Common.dll.release.meta | 0 .../Assemblies/Release/Fusion.Log.dll.release | Bin .../Release/Fusion.Log.dll.release.meta | 0 .../Release/Fusion.Realtime.dll.release | Bin .../Release/Fusion.Realtime.dll.release.meta | 0 .../Release/Fusion.Runtime.dll.release | Bin .../Release/Fusion.Runtime.dll.release.meta | 0 .../Release/Fusion.Sockets.dll.release | Bin .../Release/Fusion.Sockets.dll.release.meta | 0 .../Photon/Fusion/CodeGen.meta | 0 ...Fusion.CodeGen.Trigger.fusionweavertrigger | 0 ...n.CodeGen.Trigger.fusionweavertrigger.meta | 0 .../Fusion/CodeGen/Fusion.CodeGen.User.cs | 0 .../CodeGen/Fusion.CodeGen.User.cs.meta | 0 .../Fusion/CodeGen/Fusion.CodeGen.asmdef | 0 .../Fusion/CodeGen/Fusion.CodeGen.asmdef.meta | 0 .../Photon/Fusion/CodeGen/Fusion.CodeGen.cs | 0 .../Fusion/CodeGen/Fusion.CodeGen.cs.meta | 0 .../Photon/Fusion/Editor.meta | 0 .../Photon/Fusion/Editor/EditorResources.meta | 0 .../Fusion/Editor/EditorResources/Fonts.meta | 0 .../Editor/EditorResources/Fonts/OFL.txt | 0 .../Editor/EditorResources/Fonts/OFL.txt.meta | 0 .../EditorResources/Fonts/Oswald-Header.ttf | Bin .../Fonts/Oswald-Header.ttf.meta | 0 .../Fusion-dark-help-button-off.png | Bin .../Fusion-dark-help-button-off.png.meta | 0 .../Fusion-dark-help-button-on.png | Bin .../Fusion-dark-help-button-on.png.meta | 0 .../EditorResources/Fusion-inline-box-2x.png | Bin .../Fusion-inline-box-2x.png.meta | 0 .../Fusion-inline-box-no-vertical-borders.png | Bin ...on-inline-box-no-vertical-borders.png.meta | 0 .../EditorResources/Fusion-inline-box.png | Bin .../Fusion-inline-box.png.meta | 0 .../Fusion-inline-help-box.png | Bin .../Fusion-inline-help-box.png.meta | 0 .../Fusion-inline-selector.png | Bin .../Fusion-inline-selector.png.meta | 0 .../Fusion-light-help-button-off.png | Bin .../Fusion-light-help-button-off.png.meta | 0 .../Fusion-light-help-button-on.png | Bin .../Fusion-light-help-button-on.png.meta | 0 .../Editor/EditorResources/Fusion-logo-2x.png | Bin .../EditorResources/Fusion-logo-2x.png.meta | 0 .../Editor/EditorResources/Fusion-logo.png | Bin .../EditorResources/Fusion-logo.png.meta | 0 .../EditorResources/Fusion-outline-box.png | Bin .../Fusion-outline-box.png.meta | 0 .../Fusion-script-header-2x.png | Bin .../Fusion-script-header-2x.png.meta | 0 .../EditorResources/Fusion-script-header.png | Bin .../Fusion-script-header.png.meta | 0 .../Editor/EditorResources/Fusion.Unity.xml | 0 .../EditorResources/Fusion.Unity.xml.meta | 0 .../EditorResources/FusionEditorSkin.guiskin | 0 .../FusionEditorSkin.guiskin.meta | 0 .../Editor/EditorResources/FusionHub.meta | 0 .../FusionHub/Fusion-hub-community.png | Bin .../FusionHub/Fusion-hub-community.png.meta | 0 .../FusionHub/Fusion-hub-correct-icon.png | Bin .../Fusion-hub-correct-icon.png.meta | 0 .../FusionHub/Fusion-hub-documentation.png | Bin .../Fusion-hub-documentation.png.meta | 0 .../FusionHub/Fusion-hub-icon.png | Bin .../FusionHub/Fusion-hub-icon.png.meta | 0 .../FusionHub/Fusion-hub-information.png | Bin .../FusionHub/Fusion-hub-information.png.meta | 0 .../FusionHub/Fusion-hub-logo.png | Bin .../FusionHub/Fusion-hub-logo.png.meta | 0 .../Fusion-hub-photon-cloud-32-dark.png | Bin .../Fusion-hub-photon-cloud-32-dark.png.meta | 0 .../FusionHub/Fusion-hub-samples.png | Bin .../FusionHub/Fusion-hub-samples.png.meta | 0 .../FusionHub/Fusion-hub-skin-box.png | Bin .../FusionHub/Fusion-hub-skin-box.png.meta | 0 .../Fusion-hub-skin-button-active.png | Bin .../Fusion-hub-skin-button-active.png.meta | 0 .../Fusion-hub-skin-button-hover.png | Bin .../Fusion-hub-skin-button-hover.png.meta | 0 .../FusionHub/Fusion-hub-skin-button.png | Bin .../FusionHub/Fusion-hub-skin-button.png.meta | 0 .../FusionHub/Fusion-hub-skin-sand.png | Bin .../FusionHub/Fusion-hub-skin-sand.png.meta | 0 .../FusionHub/Fusion-hub-skin-steel.png | Bin .../FusionHub/Fusion-hub-skin-steel.png.meta | 0 .../FusionHub/Fusion-hub-skin-window.png | Bin .../FusionHub/Fusion-hub-skin-window.png.meta | 0 .../FusionHub/Fusion-hub-tanknarok-logo.png | Bin .../Fusion-hub-tanknarok-logo.png.meta | 0 .../FusionHub/FusionHubSkin.guiskin | 0 .../FusionHub/FusionHubSkin.guiskin.meta | 0 .../Fusion.Unity.Editor.AssemblyAttributes.cs | 0 ...on.Unity.Editor.AssemblyAttributes.cs.meta | 0 .../Fusion/Editor/Fusion.Unity.Editor.asmdef | 0 .../Editor/Fusion.Unity.Editor.asmdef.meta | 0 .../Fusion/Editor/Fusion.Unity.Editor.cs | 0 .../Fusion/Editor/Fusion.Unity.Editor.cs.meta | 0 .../Editor/FusionEditorConfigImporter.cs | 0 .../Editor/FusionEditorConfigImporter.cs.meta | 0 .../Photon/Fusion/Editor/FusionEditorSkin.cs | 0 .../Fusion/Editor/FusionEditorSkin.cs.meta | 0 .../Photon/Fusion/Editor/FusionHubWindow.cs | 0 .../Fusion/Editor/FusionHubWindow.cs.meta | 0 .../FusionRunnerVisibilityControlsWindow.cs | 0 ...sionRunnerVisibilityControlsWindow.cs.meta | 0 .../Editor/FusionWeaverTriggerImporter.cs | 0 .../FusionWeaverTriggerImporter.cs.meta | 0 .../Fusion/Editor/NetworkPrefabsInspector.cs | 0 .../Editor/NetworkPrefabsInspector.cs.meta | 0 .../Editor/NetworkProjectConfigImporter.cs | 0 .../NetworkProjectConfigImporter.cs.meta | 0 .../NetworkProjectConfigImporterEditor.cs | 0 ...NetworkProjectConfigImporterEditor.cs.meta | 0 .../Photon/Fusion/Plugins.meta | 0 .../Photon/Fusion/Plugins/NanoSockets.meta | 0 .../Fusion/Plugins/NanoSockets/Android.meta | 0 .../NanoSockets/Android/arm64-v8a.meta | 0 .../Android/arm64-v8a/libnanosockets.so | Bin .../Android/arm64-v8a/libnanosockets.so.meta | 0 .../NanoSockets/Android/armeabi-v7a.meta | 0 .../Android/armeabi-v7a/libnanosockets.so | Bin .../armeabi-v7a/libnanosockets.so.meta | 0 .../Plugins/NanoSockets/Android/x86.meta | 0 .../NanoSockets/Android/x86/libnanosockets.so | Bin .../Android/x86/libnanosockets.so.meta | 0 .../Plugins/NanoSockets/Android/x86_64.meta | 0 .../Android/x86_64/libnanosockets.so | Bin .../Android/x86_64/libnanosockets.so.meta | 0 .../Fusion/Plugins/NanoSockets/Linux.meta | 0 .../NanoSockets/Linux/libnanosockets.so | Bin .../NanoSockets/Linux/libnanosockets.so.meta | 0 .../Fusion/Plugins/NanoSockets/Metro.meta | 0 .../Fusion/Plugins/NanoSockets/Metro/ARM.meta | 0 .../NanoSockets/Metro/ARM/libnanosockets.dll | Bin .../Metro/ARM/libnanosockets.dll.meta | 0 .../Plugins/NanoSockets/Metro/ARM64.meta | 0 .../Metro/ARM64/libnanosockets.dll | Bin .../Metro/ARM64/libnanosockets.dll.meta | 0 .../Plugins/NanoSockets/Metro/NanoSockets.dll | Bin .../NanoSockets/Metro/NanoSockets.dll.meta | 0 .../Fusion/Plugins/NanoSockets/Metro/x64.meta | 0 .../NanoSockets/Metro/x64/libnanosockets.dll | Bin .../Metro/x64/libnanosockets.dll.meta | 0 .../Fusion/Plugins/NanoSockets/Metro/x86.meta | 0 .../NanoSockets/Metro/x86/libnanosockets.dll | Bin .../Metro/x86/libnanosockets.dll.meta | 0 .../Plugins/NanoSockets/NanoSockets.meta | 0 .../NanoSockets/NanoSockets/Dynamic.meta | 0 .../NanoSockets/Dynamic/NanoSockets.dll | Bin .../NanoSockets/Dynamic/NanoSockets.dll.meta | 0 .../NanoSockets/NanoSockets/Static.meta | 0 .../NanoSockets/Static/NanoSockets.dll | Bin .../NanoSockets/Static/NanoSockets.dll.meta | 0 .../Fusion/Plugins/NanoSockets/WebGL.meta | 0 .../Plugins/NanoSockets/WebGL/NanoSockets.dll | Bin .../NanoSockets/WebGL/NanoSockets.dll.meta | 0 .../Fusion/Plugins/NanoSockets/Windows.meta | 0 .../NanoSockets/Windows/nanosockets.dll | Bin .../NanoSockets/Windows/nanosockets.dll.meta | 0 .../Fusion/Plugins/NanoSockets/iOS.meta | 0 .../Plugins/NanoSockets/iOS/libnanosockets.a | Bin .../NanoSockets/iOS/libnanosockets.a.meta | 0 .../NanoSockets/libnanosockets_LICENSE.txt | 0 .../libnanosockets_LICENSE.txt.meta | 0 .../Fusion/Plugins/NanoSockets/macOS.meta | 0 .../NanoSockets/macOS/libnanosockets.dylib | Bin .../macOS/libnanosockets.dylib.meta | 0 .../Fusion/Plugins/NanoSockets/tvOS.meta | 0 .../Plugins/NanoSockets/tvOS/libnanosockets.a | Bin .../NanoSockets/tvOS/libnanosockets.a.meta | 0 .../Fusion/Plugins/NanoSockets/visionOS.meta | 0 .../NanoSockets/visionOS/libnanosockets.a | Bin .../visionOS/libnanosockets.a.meta | 0 .../Photon/Fusion/Resources.meta | 0 .../Resources/NetworkProjectConfig.fusion | 0 .../NetworkProjectConfig.fusion.meta | 0 .../Fusion/Resources/PhotonAppSettings.asset | 0 .../Resources/PhotonAppSettings.asset.meta | 0 .../Photon/Fusion/Runtime.meta | 0 .../Fusion.Unity.AssemblyAttributes.cs | 0 .../Fusion.Unity.AssemblyAttributes.cs.meta | 0 .../Photon/Fusion/Runtime/Fusion.Unity.asmdef | 0 .../Fusion/Runtime/Fusion.Unity.asmdef.meta | 0 .../Photon/Fusion/Runtime/Fusion.Unity.cs | 0 .../Fusion/Runtime/Fusion.Unity.cs.meta | 0 .../FusionAddressablePrefabsPreloader.cs | 0 .../FusionAddressablePrefabsPreloader.cs.meta | 0 .../Fusion/Runtime/FusionBasicBillboard.cs | 0 .../Runtime/FusionBasicBillboard.cs.meta | 0 .../Photon/Fusion/Runtime/FusionBootstrap.cs | 0 .../Fusion/Runtime/FusionBootstrap.cs.meta | 0 .../Fusion/Runtime/FusionBootstrapDebugGUI.cs | 0 .../Runtime/FusionBootstrapDebugGUI.cs.meta | 0 .../FusionBootstrapDebugGUISkin.guiskin | 0 .../FusionBootstrapDebugGUISkin.guiskin.meta | 0 .../FusionBootstrapDebugGUIStartButton.png | Bin ...usionBootstrapDebugGUIStartButton.png.meta | 0 ...FusionBootstrapDebugGUIStartButtonDown.png | Bin ...nBootstrapDebugGUIStartButtonDown.png.meta | 0 ...FusionBootstrapDebugGUIStartButtonOver.png | Bin ...nBootstrapDebugGUIStartButtonOver.png.meta | 0 .../FusionBootstrapDebugGUIStartWindow.png | Bin ...usionBootstrapDebugGUIStartWindow.png.meta | 0 .../Runtime/NetworkCharacterController.cs | 0 .../NetworkCharacterController.cs.meta | 0 .../Runtime/NetworkObjectProviderDefault.cs | 0 .../NetworkObjectProviderDefault.cs.meta | 0 .../Runtime/NetworkSceneManagerDefault.cs | 0 .../NetworkSceneManagerDefault.cs.meta | 0 .../Photon/Fusion/Runtime/RuntimeAssets.meta | 0 .../RuntimeAssets/JetBrainsMono OFL.txt | 0 .../RuntimeAssets/JetBrainsMono OFL.txt.meta | 0 .../RuntimeAssets/JetBrainsMono-Regular.ttf | Bin .../JetBrainsMono-Regular.ttf.meta | 0 .../Runtime/RuntimeAssets/Roboto-Regular.ttf | Bin .../RuntimeAssets/Roboto-Regular.ttf.meta | 0 .../Photon/Fusion/Runtime/Statistics.meta | 0 .../FusionNetworkObjectStatistics.cs | 0 .../FusionNetworkObjectStatistics.cs.meta | 0 .../FusionNetworkObjectStatsGraph.cs | 0 .../FusionNetworkObjectStatsGraph.cs.meta | 0 .../FusionNetworkObjectStatsGraphCombine.cs | 0 ...sionNetworkObjectStatsGraphCombine.cs.meta | 0 .../Runtime/Statistics/FusionStatistics.cs | 0 .../Statistics/FusionStatistics.cs.meta | 0 .../Runtime/Statistics/FusionStatsCanvas.cs | 0 .../Statistics/FusionStatsCanvas.cs.meta | 0 .../Runtime/Statistics/FusionStatsConfig.cs | 0 .../Statistics/FusionStatsConfig.cs.meta | 0 .../Statistics/FusionStatsGraphDefault.cs | 0 .../FusionStatsGraphDefault.cs.meta | 0 .../Statistics/FusionStatsGraphMaterial.mat | 0 .../FusionStatsGraphMaterial.mat.meta | 0 .../Statistics/FusionStatsGraphShader.shader | 0 .../FusionStatsGraphShader.shader.meta | 0 .../Statistics/FusionStatsPanelHeader.cs | 0 .../Statistics/FusionStatsPanelHeader.cs.meta | 0 .../Statistics/FusionStatsWorldAnchor.cs | 0 .../Statistics/FusionStatsWorldAnchor.cs.meta | 0 .../Fusion/Runtime/Statistics/Prefabs.meta | 0 .../Prefabs/FusionStatsSimpleButton.prefab | 0 .../FusionStatsSimpleButton.prefab.meta | 0 .../Statistics/Prefabs/NOStatGraph.prefab | 0 .../Prefabs/NOStatGraph.prefab.meta | 0 .../Prefabs/SingleStatistics.prefab | 0 .../Prefabs/SingleStatistics.prefab.meta | 0 .../Prefabs/StatisticsRenderGraph.prefab | 0 .../Prefabs/StatisticsRenderGraph.prefab.meta | 0 .../Fusion/Runtime/Statistics/Resources.meta | 0 .../Resources/FusionStatsResources.meta | 0 .../FusionStatsRenderPanel.prefab | 0 .../FusionStatsRenderPanel.prefab.meta | 0 .../NetworkObjectStatistics.prefab | 0 .../NetworkObjectStatistics.prefab.meta | 0 .../Fusion/Runtime/Statistics/StatsIcons.meta | 0 .../StatsIcons/FusionStatsCancelIcon.png | Bin .../StatsIcons/FusionStatsCancelIcon.png.meta | 0 .../StatsIcons/FusionStatsGearIcon.png | Bin .../StatsIcons/FusionStatsGearIcon.png.meta | 0 .../StatsIcons/FusionStatsResetIcon.png | Bin .../StatsIcons/FusionStatsResetIcon.png.meta | 0 .../StatsIcons/FusionStatsToggleArrowIcon.png | Bin .../FusionStatsToggleArrowIcon.png.meta | 0 .../Photon/Fusion/Runtime/Utilities.meta | 0 .../Runtime/Utilities/RunnerVisibility.meta | 0 .../RunnerVisibility/EnableOnSingleRunner.cs | 0 .../EnableOnSingleRunner.cs.meta | 0 .../RunnerVisibility/RunnerAOIGizmos.cs | 0 .../RunnerVisibility/RunnerAOIGizmos.cs.meta | 0 .../RunnerEnableVisibility.cs | 0 .../RunnerEnableVisibility.cs.meta | 0 .../RunnerLagCompensationGizmos.cs | 0 .../RunnerLagCompensationGizmos.cs.meta | 0 .../RunnerVisibility/RunnerVisibilityLink.cs | 0 .../RunnerVisibilityLink.cs.meta | 0 .../RunnerVisibilityLinksRoot.cs | 0 .../RunnerVisibilityLinksRoot.cs.meta | 0 .../Photon/Fusion/build_info.txt | 0 .../Photon/Fusion/build_info.txt.meta | 0 .../Photon/Fusion/package.json | 0 .../Photon/Fusion/package.json.meta | 0 .../Photon/Fusion/release_history.txt | 0 .../Photon/Fusion/release_history.txt.meta | 0 .../Photon/FusionDemos.meta | 0 .../Photon/FusionMenu.meta | 0 .../Photon/PhotonLibs.meta | 0 .../Photon/PhotonLibs/WebSocket.meta | 0 .../WebSocket/PhotonWebSocket.asmdef | 0 .../WebSocket/PhotonWebSocket.asmdef.meta | 0 .../PhotonLibs/WebSocket/SocketWebTcp.cs | 0 .../PhotonLibs/WebSocket/SocketWebTcp.cs.meta | 0 .../Photon/PhotonLibs/WebSocket/WebSocket.cs | 0 .../PhotonLibs/WebSocket/WebSocket.cs.meta | 0 .../PhotonLibs/WebSocket/WebSocket.jslib | 0 .../PhotonLibs/WebSocket/WebSocket.jslib.meta | 0 .../WebSocket/websocket-sharp.README | 0 .../WebSocket/websocket-sharp.README.meta | 0 .../PhotonLibs/WebSocket/websocket-sharp.dll | Bin .../WebSocket/websocket-sharp.dll.meta | 0 .../Photon/PhotonLibs/changes-library.txt | 0 .../PhotonLibs/changes-library.txt.meta | 0 .../Photon/PhotonLibs/netstandard2.0.meta | 0 .../netstandard2.0/Photon3Unity3D.dll | Bin .../netstandard2.0/Photon3Unity3D.dll.meta | 0 .../netstandard2.0/Photon3Unity3D.xml | 0 .../netstandard2.0/Photon3Unity3D.xml.meta | 0 Assets/{ => Third Parties}/Plugins.meta | 0 .../Plugins/PrimeTween.meta | 0 .../PrimeTween/PrimeTweenInstaller.asset | 0 .../PrimeTween/PrimeTweenInstaller.asset.meta | 0 .../Plugins/PrimeTween/internal.meta | 0 .../internal/PrimeTween.Installer.asmdef | 0 .../internal/PrimeTween.Installer.asmdef.meta | 0 .../internal/PrimeTweenInstaller.cs | 0 .../internal/PrimeTweenInstaller.cs.meta | 0 .../internal/com.kyrylokuzyk.primetween.tgz | Bin .../com.kyrylokuzyk.primetween.tgz.meta | 0 .../SpaceZeta_StreetLamps2.meta | 0 .../SpaceZeta_StreetLamps2/Materials.meta | 0 .../Materials/M_StreetLampRound1A.mat | 0 .../Materials/M_StreetLampRound1A.mat.meta | 0 .../Materials/M_StreetLampRound1B.mat | 0 .../Materials/M_StreetLampRound1B.mat.meta | 0 .../Materials/M_StreetLampRound2A.mat | 0 .../Materials/M_StreetLampRound2A.mat.meta | 0 .../Materials/M_StreetLampRound2B.mat | 0 .../Materials/M_StreetLampRound2B.mat.meta | 0 .../Materials/Showcase.meta | 0 .../Materials/Showcase/Floor.mat | 0 .../Materials/Showcase/Floor.mat.meta | 0 .../T_StreetLampRound1A_basecolor.png | Bin .../T_StreetLampRound1A_basecolor.png.meta | 0 .../T_StreetLampRound1A_emission.png | Bin .../T_StreetLampRound1A_emission.png.meta | 0 .../T_StreetLampRound1A_metallic.png | Bin .../T_StreetLampRound1A_metallic.png.meta | 0 .../Materials/T_StreetLampRound1A_normal.png | Bin .../T_StreetLampRound1A_normal.png.meta | 0 .../T_StreetLampRound1A_roughness.png | Bin .../T_StreetLampRound1A_roughness.png.meta | 0 .../T_StreetLampRound1B_basecolor.png | Bin .../T_StreetLampRound1B_basecolor.png.meta | 0 .../T_StreetLampRound1B_emission.png | Bin .../T_StreetLampRound1B_emission.png.meta | 0 .../T_StreetLampRound1B_metallic.png | Bin .../T_StreetLampRound1B_metallic.png.meta | 0 .../Materials/T_StreetLampRound1B_normal.png | Bin .../T_StreetLampRound1B_normal.png.meta | 0 .../T_StreetLampRound1B_roughness.png | Bin .../T_StreetLampRound1B_roughness.png.meta | 0 .../T_StreetLampRound2A_basecolor.png | Bin .../T_StreetLampRound2A_basecolor.png.meta | 0 .../T_StreetLampRound2A_emission.png | Bin .../T_StreetLampRound2A_emission.png.meta | 0 .../T_StreetLampRound2A_metallic.png | Bin .../T_StreetLampRound2A_metallic.png.meta | 0 .../Materials/T_StreetLampRound2A_normal.png | Bin .../T_StreetLampRound2A_normal.png.meta | 0 .../T_StreetLampRound2A_roughness.png | Bin .../T_StreetLampRound2A_roughness.png.meta | 0 .../T_StreetLampRound2B_basecolor.png | Bin .../T_StreetLampRound2B_basecolor.png.meta | 0 .../T_StreetLampRound2B_emission.png | Bin .../T_StreetLampRound2B_emission.png.meta | 0 .../T_StreetLampRound2B_metallic.png | Bin .../T_StreetLampRound2B_metallic.png.meta | 0 .../Materials/T_StreetLampRound2B_normal.png | Bin .../T_StreetLampRound2B_normal.png.meta | 0 .../T_StreetLampRound2B_roughness.png | Bin .../T_StreetLampRound2B_roughness.png.meta | 0 .../SpaceZeta_StreetLamps2/Meshes.meta | 0 .../Meshes/StreetLampRound1.fbx | Bin .../Meshes/StreetLampRound1.fbx.meta | 0 .../Meshes/StreetLampRound2.fbx | Bin .../Meshes/StreetLampRound2.fbx.meta | 0 .../SpaceZeta_StreetLamps2/Prefabs.meta | 0 .../Prefabs/StreetLampRound1A.prefab | 0 .../Prefabs/StreetLampRound1A.prefab.meta | 0 .../Prefabs/StreetLampRound1B.prefab | 0 .../Prefabs/StreetLampRound1B.prefab.meta | 0 .../Prefabs/StreetLampRound2A.prefab | 0 .../Prefabs/StreetLampRound2A.prefab.meta | 0 .../Prefabs/StreetLampRound2B.prefab | 0 .../Prefabs/StreetLampRound2B.prefab.meta | 0 .../SpaceZeta_StreetLamps2/Showcase.unity | 0 .../Showcase.unity.meta | 0 Assets/{ => Third Parties}/TextMesh Pro.meta | 0 .../TextMesh Pro/Fonts.meta | 0 .../Fonts/LiberationSans - OFL.txt | 0 .../Fonts/LiberationSans - OFL.txt.meta | 0 .../TextMesh Pro/Fonts/LiberationSans.ttf | Bin .../Fonts/LiberationSans.ttf.meta | 0 .../TextMesh Pro/Resources.meta | 0 .../Resources/Fonts & Materials.meta | 0 .../LiberationSans SDF - Drop Shadow.mat | 0 .../LiberationSans SDF - Drop Shadow.mat.meta | 0 .../LiberationSans SDF - Fallback.asset | 348 + .../LiberationSans SDF - Fallback.asset.meta | 0 .../LiberationSans SDF - Outline.mat | 0 .../LiberationSans SDF - Outline.mat.meta | 0 .../LiberationSans SDF.asset | 0 .../LiberationSans SDF.asset.meta | 0 .../LineBreaking Following Characters.txt | 0 ...LineBreaking Following Characters.txt.meta | 0 .../LineBreaking Leading Characters.txt | 0 .../LineBreaking Leading Characters.txt.meta | 0 .../TextMesh Pro/Resources/Sprite Assets.meta | 0 .../Resources/Sprite Assets/EmojiOne.asset | 0 .../Sprite Assets/EmojiOne.asset.meta | 0 .../TextMesh Pro/Resources/Style Sheets.meta | 0 .../Style Sheets/Default Style Sheet.asset | 0 .../Default Style Sheet.asset.meta | 0 .../TextMesh Pro/Resources/TMP Settings.asset | 0 .../Resources/TMP Settings.asset.meta | 0 .../TextMesh Pro/Shaders.meta | 0 .../TextMesh Pro/Shaders/SDFFunctions.hlsl | 0 .../Shaders/SDFFunctions.hlsl.meta | 0 .../Shaders/TMP_Bitmap-Custom-Atlas.shader | 0 .../TMP_Bitmap-Custom-Atlas.shader.meta | 0 .../Shaders/TMP_Bitmap-Mobile.shader | 0 .../Shaders/TMP_Bitmap-Mobile.shader.meta | 0 .../TextMesh Pro/Shaders/TMP_Bitmap.shader | 0 .../Shaders/TMP_Bitmap.shader.meta | 0 .../Shaders/TMP_SDF Overlay.shader | 0 .../Shaders/TMP_SDF Overlay.shader.meta | 0 .../TextMesh Pro/Shaders/TMP_SDF SSD.shader | 0 .../Shaders/TMP_SDF SSD.shader.meta | 0 .../Shaders/TMP_SDF-HDRP LIT.shadergraph | 0 .../Shaders/TMP_SDF-HDRP LIT.shadergraph.meta | 0 .../Shaders/TMP_SDF-HDRP UNLIT.shadergraph | 0 .../TMP_SDF-HDRP UNLIT.shadergraph.meta | 0 .../Shaders/TMP_SDF-Mobile Masking.shader | 0 .../TMP_SDF-Mobile Masking.shader.meta | 0 .../Shaders/TMP_SDF-Mobile Overlay.shader | 0 .../TMP_SDF-Mobile Overlay.shader.meta | 0 .../Shaders/TMP_SDF-Mobile SSD.shader | 0 .../Shaders/TMP_SDF-Mobile SSD.shader.meta | 0 .../Shaders/TMP_SDF-Mobile-2-Pass.shader | 0 .../Shaders/TMP_SDF-Mobile-2-Pass.shader.meta | 0 .../Shaders/TMP_SDF-Mobile.shader | 0 .../Shaders/TMP_SDF-Mobile.shader.meta | 0 .../Shaders/TMP_SDF-Surface-Mobile.shader | 0 .../TMP_SDF-Surface-Mobile.shader.meta | 0 .../Shaders/TMP_SDF-Surface.shader | 0 .../Shaders/TMP_SDF-Surface.shader.meta | 0 .../Shaders/TMP_SDF-URP Lit.shadergraph | 0 .../Shaders/TMP_SDF-URP Lit.shadergraph.meta | 0 .../Shaders/TMP_SDF-URP Unlit.shadergraph | 0 .../TMP_SDF-URP Unlit.shadergraph.meta | 0 .../TextMesh Pro/Shaders/TMP_SDF.shader | 0 .../TextMesh Pro/Shaders/TMP_SDF.shader.meta | 0 .../TextMesh Pro/Shaders/TMP_Sprite.shader | 0 .../Shaders/TMP_Sprite.shader.meta | 0 .../TextMesh Pro/Shaders/TMPro.cginc | 0 .../TextMesh Pro/Shaders/TMPro.cginc.meta | 0 .../TextMesh Pro/Shaders/TMPro_Mobile.cginc | 0 .../Shaders/TMPro_Mobile.cginc.meta | 0 .../Shaders/TMPro_Properties.cginc | 0 .../Shaders/TMPro_Properties.cginc.meta | 0 .../TextMesh Pro/Shaders/TMPro_Surface.cginc | 0 .../Shaders/TMPro_Surface.cginc.meta | 0 .../TextMesh Pro/Sprites.meta | 0 .../Sprites/EmojiOne Attribution.txt | 0 .../Sprites/EmojiOne Attribution.txt.meta | 0 .../TextMesh Pro/Sprites/EmojiOne.json | 0 .../TextMesh Pro/Sprites/EmojiOne.json.meta | 0 .../TextMesh Pro/Sprites/EmojiOne.png | Bin .../TextMesh Pro/Sprites/EmojiOne.png.meta | 0 Assets/UI/Documents.meta | 8 - Assets/UI/Documents/Lobby.uxml | 71 - Assets/UI/Documents/Lounge.uxml | 39 - Assets/UI/Documents/Lounge.uxml.meta | 10 - Assets/UI/Documents/MainGameHUD.uxml | 56 - Assets/UI/Documents/MainMenu.uxml | 54 - Assets/UI/Documents/Profile.uxml | 57 - Assets/UI/Documents/Settings.uxml | 31 - ...UX Architecture & Routing Specification.md | 275 +- Assets/UI/Global.uss | 37 + Assets/UI/{Styles => }/Global.uss.meta | 2 +- Assets/UI/Lobby.uxml | 38 + Assets/UI/{Documents => }/Lobby.uxml.meta | 2 +- Assets/UI/MainGameHUD.uxml | 30 + .../UI/{Documents => }/MainGameHUD.uxml.meta | 2 +- Assets/UI/MainMenu.uxml | 18 + Assets/UI/{Documents => }/MainMenu.uxml.meta | 2 +- Assets/UI/MainPanelSettings.asset | 6 +- Assets/UI/MainPanelSettings.asset.meta | 2 +- Assets/UI/Profile.uxml | 27 + Assets/UI/{Documents => }/Profile.uxml.meta | 2 +- Assets/UI/Settings.uxml | 23 + Assets/UI/{Documents => }/Settings.uxml.meta | 2 +- Assets/UI/Styles.meta | 8 - Assets/UI/Styles/Global.uss | 159 - 570 files changed, 2423 insertions(+), 10875 deletions(-) delete mode 100644 Assets/Editor/UIManagerEditor.cs delete mode 100644 Assets/Editor/UIManagerEditor.cs.meta create mode 100644 Assets/Scripts/Player Controller/PlayerAnimationHandler.cs create mode 100644 Assets/Scripts/Player Controller/PlayerAnimationHandler.cs.meta create mode 100644 Assets/Scripts/Player Controller/PlayerInteraction.cs create mode 100644 Assets/Scripts/Player Controller/PlayerInteraction.cs.meta create mode 100644 Assets/Scripts/Player Controller/PlayerMovement.cs create mode 100644 Assets/Scripts/Player Controller/PlayerMovement.cs.meta create mode 100644 Assets/Scripts/Player Controller/PlayerStats.cs create mode 100644 Assets/Scripts/Player Controller/PlayerStats.cs.meta create mode 100644 Assets/Scripts/UI/BaseUIController.cs create mode 100644 Assets/Scripts/UI/BaseUIController.cs.meta delete mode 100644 Assets/Scripts/UI/LocalizationManager.cs delete mode 100644 Assets/Scripts/UI/LocalizationManager.cs.meta delete mode 100644 Assets/Scripts/UI/LoungeController.cs delete mode 100644 Assets/Scripts/UI/LoungeController.cs.meta delete mode 100644 Assets/Scripts/UI/MyUIDisplay.cs delete mode 100644 Assets/Scripts/UI/MyUIDisplay.cs.meta delete mode 100644 Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset delete mode 100644 Assets/Textures/CustomFolderIcons/Project Setting.png create mode 100644 Assets/Textures/CustomFolderIcons/Recover.png rename Assets/Textures/CustomFolderIcons/{Project Setting.png.meta => Recover.png.meta} (94%) create mode 100644 Assets/Textures/CustomFolderIcons/UI.png create mode 100644 Assets/Textures/CustomFolderIcons/UI.png.meta create mode 100644 Assets/Third Parties.png create mode 100644 Assets/Third Parties.png.meta rename Assets/{ => Third Parties}/Photon.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Debug.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Debug/Fusion.Common.dll.debug (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Debug/Fusion.Common.dll.debug.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Debug/Fusion.Log.dll.debug (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Debug/Fusion.Log.dll.debug.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Debug/Fusion.Realtime.dll.debug (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Debug/Fusion.Realtime.dll.debug.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Debug/Fusion.Runtime.dll.debug (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Debug/Fusion.Runtime.dll.debug.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Debug/Fusion.Sockets.dll.debug (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Debug/Fusion.Sockets.dll.debug.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Fusion.Common.dll (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Fusion.Common.dll.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Fusion.Common.xml (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Fusion.Common.xml.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Fusion.Log.dll (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Fusion.Log.dll.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Fusion.Log.xml (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Fusion.Log.xml.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Fusion.Realtime.dll (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Fusion.Realtime.dll.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Fusion.Realtime.xml (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Fusion.Realtime.xml.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Fusion.Runtime.dll (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Fusion.Runtime.dll.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Fusion.Runtime.xml (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Fusion.Runtime.xml.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Fusion.Sockets.dll (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Fusion.Sockets.dll.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Fusion.Sockets.xml (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Fusion.Sockets.xml.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Release.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Release/Fusion.Common.dll.release (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Release/Fusion.Common.dll.release.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Release/Fusion.Log.dll.release (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Release/Fusion.Log.dll.release.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Release/Fusion.Realtime.dll.release (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Release/Fusion.Realtime.dll.release.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Release/Fusion.Runtime.dll.release (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Release/Fusion.Runtime.dll.release.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Release/Fusion.Sockets.dll.release (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Release/Fusion.Sockets.dll.release.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/CodeGen.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/CodeGen/Fusion.CodeGen.Trigger.fusionweavertrigger (100%) rename Assets/{ => Third Parties}/Photon/Fusion/CodeGen/Fusion.CodeGen.Trigger.fusionweavertrigger.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/CodeGen/Fusion.CodeGen.User.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/CodeGen/Fusion.CodeGen.User.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/CodeGen/Fusion.CodeGen.asmdef (100%) rename Assets/{ => Third Parties}/Photon/Fusion/CodeGen/Fusion.CodeGen.asmdef.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/CodeGen/Fusion.CodeGen.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/CodeGen/Fusion.CodeGen.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fonts.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fonts/OFL.txt (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fonts/OFL.txt.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fonts/Oswald-Header.ttf (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fonts/Oswald-Header.ttf.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fusion-dark-help-button-off.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fusion-dark-help-button-off.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fusion-dark-help-button-on.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fusion-dark-help-button-on.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fusion-inline-box-2x.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fusion-inline-box-2x.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fusion-inline-box-no-vertical-borders.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fusion-inline-box-no-vertical-borders.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fusion-inline-box.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fusion-inline-box.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fusion-inline-help-box.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fusion-inline-help-box.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fusion-inline-selector.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fusion-inline-selector.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fusion-light-help-button-off.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fusion-light-help-button-off.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fusion-light-help-button-on.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fusion-light-help-button-on.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fusion-logo-2x.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fusion-logo-2x.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fusion-logo.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fusion-logo.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fusion-outline-box.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fusion-outline-box.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fusion-script-header-2x.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fusion-script-header-2x.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fusion-script-header.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fusion-script-header.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fusion.Unity.xml (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fusion.Unity.xml.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionEditorSkin.guiskin (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionEditorSkin.guiskin.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-community.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-community.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-correct-icon.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-correct-icon.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-documentation.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-documentation.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-icon.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-icon.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-information.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-information.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-logo.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-logo.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-photon-cloud-32-dark.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-photon-cloud-32-dark.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-samples.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-samples.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-skin-box.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-skin-box.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-skin-button-active.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-skin-button-active.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-skin-button-hover.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-skin-button-hover.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-skin-button.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-skin-button.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-skin-sand.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-skin-sand.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-skin-steel.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-skin-steel.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-skin-window.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-skin-window.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-tanknarok-logo.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-tanknarok-logo.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/FusionHubSkin.guiskin (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/FusionHubSkin.guiskin.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/Fusion.Unity.Editor.AssemblyAttributes.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/Fusion.Unity.Editor.AssemblyAttributes.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/Fusion.Unity.Editor.asmdef (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/Fusion.Unity.Editor.asmdef.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/Fusion.Unity.Editor.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/Fusion.Unity.Editor.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/FusionEditorConfigImporter.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/FusionEditorConfigImporter.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/FusionEditorSkin.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/FusionEditorSkin.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/FusionHubWindow.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/FusionHubWindow.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/FusionRunnerVisibilityControlsWindow.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/FusionRunnerVisibilityControlsWindow.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/FusionWeaverTriggerImporter.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/FusionWeaverTriggerImporter.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/NetworkPrefabsInspector.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/NetworkPrefabsInspector.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/NetworkProjectConfigImporter.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/NetworkProjectConfigImporter.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/NetworkProjectConfigImporterEditor.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/NetworkProjectConfigImporterEditor.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Android.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Android/arm64-v8a.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Android/arm64-v8a/libnanosockets.so (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Android/arm64-v8a/libnanosockets.so.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Android/armeabi-v7a.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Android/armeabi-v7a/libnanosockets.so (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Android/armeabi-v7a/libnanosockets.so.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Android/x86.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Android/x86/libnanosockets.so (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Android/x86/libnanosockets.so.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Android/x86_64.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Android/x86_64/libnanosockets.so (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Android/x86_64/libnanosockets.so.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Linux.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Linux/libnanosockets.so (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Linux/libnanosockets.so.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Metro.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Metro/ARM.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Metro/ARM/libnanosockets.dll (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Metro/ARM/libnanosockets.dll.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Metro/ARM64.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Metro/ARM64/libnanosockets.dll (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Metro/ARM64/libnanosockets.dll.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Metro/NanoSockets.dll (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Metro/NanoSockets.dll.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Metro/x64.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Metro/x64/libnanosockets.dll (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Metro/x64/libnanosockets.dll.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Metro/x86.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Metro/x86/libnanosockets.dll (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Metro/x86/libnanosockets.dll.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/NanoSockets.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/NanoSockets/Dynamic.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/NanoSockets/Dynamic/NanoSockets.dll (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/NanoSockets/Dynamic/NanoSockets.dll.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/NanoSockets/Static.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/NanoSockets/Static/NanoSockets.dll (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/NanoSockets/Static/NanoSockets.dll.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/WebGL.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/WebGL/NanoSockets.dll (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/WebGL/NanoSockets.dll.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Windows.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Windows/nanosockets.dll (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Windows/nanosockets.dll.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/iOS.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/iOS/libnanosockets.a (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/iOS/libnanosockets.a.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/libnanosockets_LICENSE.txt (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/libnanosockets_LICENSE.txt.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/macOS.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/macOS/libnanosockets.dylib (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/macOS/libnanosockets.dylib.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/tvOS.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/tvOS/libnanosockets.a (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/tvOS/libnanosockets.a.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/visionOS.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/visionOS/libnanosockets.a (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/visionOS/libnanosockets.a.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Resources.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Resources/NetworkProjectConfig.fusion (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Resources/NetworkProjectConfig.fusion.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Resources/PhotonAppSettings.asset (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Resources/PhotonAppSettings.asset.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Fusion.Unity.AssemblyAttributes.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Fusion.Unity.AssemblyAttributes.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Fusion.Unity.asmdef (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Fusion.Unity.asmdef.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Fusion.Unity.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Fusion.Unity.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/FusionAddressablePrefabsPreloader.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/FusionAddressablePrefabsPreloader.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/FusionBasicBillboard.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/FusionBasicBillboard.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/FusionBootstrap.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/FusionBootstrap.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/FusionBootstrapDebugGUI.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/FusionBootstrapDebugGUI.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/FusionBootstrapDebugGUISkin.guiskin (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/FusionBootstrapDebugGUISkin.guiskin.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/FusionBootstrapDebugGUIStartButton.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/FusionBootstrapDebugGUIStartButton.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/FusionBootstrapDebugGUIStartButtonDown.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/FusionBootstrapDebugGUIStartButtonDown.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/FusionBootstrapDebugGUIStartButtonOver.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/FusionBootstrapDebugGUIStartButtonOver.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/FusionBootstrapDebugGUIStartWindow.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/FusionBootstrapDebugGUIStartWindow.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/NetworkCharacterController.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/NetworkCharacterController.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/NetworkObjectProviderDefault.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/NetworkObjectProviderDefault.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/NetworkSceneManagerDefault.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/NetworkSceneManagerDefault.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/RuntimeAssets.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/RuntimeAssets/JetBrainsMono OFL.txt (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/RuntimeAssets/JetBrainsMono OFL.txt.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/RuntimeAssets/JetBrainsMono-Regular.ttf (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/RuntimeAssets/JetBrainsMono-Regular.ttf.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/RuntimeAssets/Roboto-Regular.ttf (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/RuntimeAssets/Roboto-Regular.ttf.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/FusionNetworkObjectStatistics.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/FusionNetworkObjectStatistics.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/FusionNetworkObjectStatsGraph.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/FusionNetworkObjectStatsGraph.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/FusionNetworkObjectStatsGraphCombine.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/FusionNetworkObjectStatsGraphCombine.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/FusionStatistics.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/FusionStatistics.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/FusionStatsCanvas.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/FusionStatsCanvas.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/FusionStatsConfig.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/FusionStatsConfig.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/FusionStatsGraphDefault.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/FusionStatsGraphDefault.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/FusionStatsGraphMaterial.mat (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/FusionStatsGraphMaterial.mat.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/FusionStatsGraphShader.shader (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/FusionStatsGraphShader.shader.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/FusionStatsPanelHeader.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/FusionStatsPanelHeader.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/FusionStatsWorldAnchor.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/FusionStatsWorldAnchor.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/Prefabs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/Prefabs/FusionStatsSimpleButton.prefab (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/Prefabs/FusionStatsSimpleButton.prefab.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/Prefabs/NOStatGraph.prefab (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/Prefabs/NOStatGraph.prefab.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/Prefabs/SingleStatistics.prefab (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/Prefabs/SingleStatistics.prefab.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/Prefabs/StatisticsRenderGraph.prefab (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/Prefabs/StatisticsRenderGraph.prefab.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/Resources.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/Resources/FusionStatsResources.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/Resources/FusionStatsResources/FusionStatsRenderPanel.prefab (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/Resources/FusionStatsResources/FusionStatsRenderPanel.prefab.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/Resources/FusionStatsResources/NetworkObjectStatistics.prefab (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/Resources/FusionStatsResources/NetworkObjectStatistics.prefab.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/StatsIcons.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/StatsIcons/FusionStatsCancelIcon.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/StatsIcons/FusionStatsCancelIcon.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/StatsIcons/FusionStatsGearIcon.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/StatsIcons/FusionStatsGearIcon.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/StatsIcons/FusionStatsResetIcon.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/StatsIcons/FusionStatsResetIcon.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/StatsIcons/FusionStatsToggleArrowIcon.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/StatsIcons/FusionStatsToggleArrowIcon.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Utilities.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Utilities/RunnerVisibility.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Utilities/RunnerVisibility/EnableOnSingleRunner.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Utilities/RunnerVisibility/EnableOnSingleRunner.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Utilities/RunnerVisibility/RunnerAOIGizmos.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Utilities/RunnerVisibility/RunnerAOIGizmos.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Utilities/RunnerVisibility/RunnerEnableVisibility.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Utilities/RunnerVisibility/RunnerEnableVisibility.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Utilities/RunnerVisibility/RunnerLagCompensationGizmos.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Utilities/RunnerVisibility/RunnerLagCompensationGizmos.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Utilities/RunnerVisibility/RunnerVisibilityLink.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Utilities/RunnerVisibility/RunnerVisibilityLink.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Utilities/RunnerVisibility/RunnerVisibilityLinksRoot.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Utilities/RunnerVisibility/RunnerVisibilityLinksRoot.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/build_info.txt (100%) rename Assets/{ => Third Parties}/Photon/Fusion/build_info.txt.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/package.json (100%) rename Assets/{ => Third Parties}/Photon/Fusion/package.json.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/release_history.txt (100%) rename Assets/{ => Third Parties}/Photon/Fusion/release_history.txt.meta (100%) rename Assets/{ => Third Parties}/Photon/FusionDemos.meta (100%) rename Assets/{ => Third Parties}/Photon/FusionMenu.meta (100%) rename Assets/{ => Third Parties}/Photon/PhotonLibs.meta (100%) rename Assets/{ => Third Parties}/Photon/PhotonLibs/WebSocket.meta (100%) rename Assets/{ => Third Parties}/Photon/PhotonLibs/WebSocket/PhotonWebSocket.asmdef (100%) rename Assets/{ => Third Parties}/Photon/PhotonLibs/WebSocket/PhotonWebSocket.asmdef.meta (100%) rename Assets/{ => Third Parties}/Photon/PhotonLibs/WebSocket/SocketWebTcp.cs (100%) rename Assets/{ => Third Parties}/Photon/PhotonLibs/WebSocket/SocketWebTcp.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/PhotonLibs/WebSocket/WebSocket.cs (100%) rename Assets/{ => Third Parties}/Photon/PhotonLibs/WebSocket/WebSocket.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/PhotonLibs/WebSocket/WebSocket.jslib (100%) rename Assets/{ => Third Parties}/Photon/PhotonLibs/WebSocket/WebSocket.jslib.meta (100%) rename Assets/{ => Third Parties}/Photon/PhotonLibs/WebSocket/websocket-sharp.README (100%) rename Assets/{ => Third Parties}/Photon/PhotonLibs/WebSocket/websocket-sharp.README.meta (100%) rename Assets/{ => Third Parties}/Photon/PhotonLibs/WebSocket/websocket-sharp.dll (100%) rename Assets/{ => Third Parties}/Photon/PhotonLibs/WebSocket/websocket-sharp.dll.meta (100%) rename Assets/{ => Third Parties}/Photon/PhotonLibs/changes-library.txt (100%) rename Assets/{ => Third Parties}/Photon/PhotonLibs/changes-library.txt.meta (100%) rename Assets/{ => Third Parties}/Photon/PhotonLibs/netstandard2.0.meta (100%) rename Assets/{ => Third Parties}/Photon/PhotonLibs/netstandard2.0/Photon3Unity3D.dll (100%) rename Assets/{ => Third Parties}/Photon/PhotonLibs/netstandard2.0/Photon3Unity3D.dll.meta (100%) rename Assets/{ => Third Parties}/Photon/PhotonLibs/netstandard2.0/Photon3Unity3D.xml (100%) rename Assets/{ => Third Parties}/Photon/PhotonLibs/netstandard2.0/Photon3Unity3D.xml.meta (100%) rename Assets/{ => Third Parties}/Plugins.meta (100%) rename Assets/{ => Third Parties}/Plugins/PrimeTween.meta (100%) rename Assets/{ => Third Parties}/Plugins/PrimeTween/PrimeTweenInstaller.asset (100%) rename Assets/{ => Third Parties}/Plugins/PrimeTween/PrimeTweenInstaller.asset.meta (100%) rename Assets/{ => Third Parties}/Plugins/PrimeTween/internal.meta (100%) rename Assets/{ => Third Parties}/Plugins/PrimeTween/internal/PrimeTween.Installer.asmdef (100%) rename Assets/{ => Third Parties}/Plugins/PrimeTween/internal/PrimeTween.Installer.asmdef.meta (100%) rename Assets/{ => Third Parties}/Plugins/PrimeTween/internal/PrimeTweenInstaller.cs (100%) rename Assets/{ => Third Parties}/Plugins/PrimeTween/internal/PrimeTweenInstaller.cs.meta (100%) rename Assets/{ => Third Parties}/Plugins/PrimeTween/internal/com.kyrylokuzyk.primetween.tgz (100%) rename Assets/{ => Third Parties}/Plugins/PrimeTween/internal/com.kyrylokuzyk.primetween.tgz.meta (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2.meta (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Materials.meta (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Materials/M_StreetLampRound1A.mat (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Materials/M_StreetLampRound1A.mat.meta (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Materials/M_StreetLampRound1B.mat (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Materials/M_StreetLampRound1B.mat.meta (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Materials/M_StreetLampRound2A.mat (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Materials/M_StreetLampRound2A.mat.meta (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Materials/M_StreetLampRound2B.mat (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Materials/M_StreetLampRound2B.mat.meta (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Materials/Showcase.meta (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Materials/Showcase/Floor.mat (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Materials/Showcase/Floor.mat.meta (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Materials/T_StreetLampRound1A_basecolor.png (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Materials/T_StreetLampRound1A_basecolor.png.meta (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Materials/T_StreetLampRound1A_emission.png (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Materials/T_StreetLampRound1A_emission.png.meta (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Materials/T_StreetLampRound1A_metallic.png (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Materials/T_StreetLampRound1A_metallic.png.meta (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Materials/T_StreetLampRound1A_normal.png (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Materials/T_StreetLampRound1A_normal.png.meta (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Materials/T_StreetLampRound1A_roughness.png (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Materials/T_StreetLampRound1A_roughness.png.meta (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Materials/T_StreetLampRound1B_basecolor.png (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Materials/T_StreetLampRound1B_basecolor.png.meta (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Materials/T_StreetLampRound1B_emission.png (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Materials/T_StreetLampRound1B_emission.png.meta (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Materials/T_StreetLampRound1B_metallic.png (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Materials/T_StreetLampRound1B_metallic.png.meta (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Materials/T_StreetLampRound1B_normal.png (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Materials/T_StreetLampRound1B_normal.png.meta (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Materials/T_StreetLampRound1B_roughness.png (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Materials/T_StreetLampRound1B_roughness.png.meta (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Materials/T_StreetLampRound2A_basecolor.png (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Materials/T_StreetLampRound2A_basecolor.png.meta (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Materials/T_StreetLampRound2A_emission.png (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Materials/T_StreetLampRound2A_emission.png.meta (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Materials/T_StreetLampRound2A_metallic.png (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Materials/T_StreetLampRound2A_metallic.png.meta (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Materials/T_StreetLampRound2A_normal.png (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Materials/T_StreetLampRound2A_normal.png.meta (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Materials/T_StreetLampRound2A_roughness.png (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Materials/T_StreetLampRound2A_roughness.png.meta (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Materials/T_StreetLampRound2B_basecolor.png (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Materials/T_StreetLampRound2B_basecolor.png.meta (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Materials/T_StreetLampRound2B_emission.png (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Materials/T_StreetLampRound2B_emission.png.meta (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Materials/T_StreetLampRound2B_metallic.png (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Materials/T_StreetLampRound2B_metallic.png.meta (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Materials/T_StreetLampRound2B_normal.png (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Materials/T_StreetLampRound2B_normal.png.meta (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Materials/T_StreetLampRound2B_roughness.png (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Materials/T_StreetLampRound2B_roughness.png.meta (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Meshes.meta (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Meshes/StreetLampRound1.fbx (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Meshes/StreetLampRound1.fbx.meta (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Meshes/StreetLampRound2.fbx (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Meshes/StreetLampRound2.fbx.meta (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Prefabs.meta (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Prefabs/StreetLampRound1A.prefab (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Prefabs/StreetLampRound1A.prefab.meta (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Prefabs/StreetLampRound1B.prefab (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Prefabs/StreetLampRound1B.prefab.meta (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Prefabs/StreetLampRound2A.prefab (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Prefabs/StreetLampRound2A.prefab.meta (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Prefabs/StreetLampRound2B.prefab (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Prefabs/StreetLampRound2B.prefab.meta (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Showcase.unity (100%) rename Assets/{ => Third Parties}/SpaceZeta_StreetLamps2/Showcase.unity.meta (100%) rename Assets/{ => Third Parties}/TextMesh Pro.meta (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Fonts.meta (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Fonts/LiberationSans - OFL.txt (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Fonts/LiberationSans - OFL.txt.meta (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Fonts/LiberationSans.ttf (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Fonts/LiberationSans.ttf.meta (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Resources.meta (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Resources/Fonts & Materials.meta (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Drop Shadow.mat (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Drop Shadow.mat.meta (100%) create mode 100644 Assets/Third Parties/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset rename Assets/{ => Third Parties}/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset.meta (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Outline.mat (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Outline.mat.meta (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF.asset (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF.asset.meta (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Resources/LineBreaking Following Characters.txt (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Resources/LineBreaking Following Characters.txt.meta (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Resources/LineBreaking Leading Characters.txt (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Resources/LineBreaking Leading Characters.txt.meta (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Resources/Sprite Assets.meta (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Resources/Sprite Assets/EmojiOne.asset (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Resources/Sprite Assets/EmojiOne.asset.meta (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Resources/Style Sheets.meta (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Resources/Style Sheets/Default Style Sheet.asset (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Resources/Style Sheets/Default Style Sheet.asset.meta (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Resources/TMP Settings.asset (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Resources/TMP Settings.asset.meta (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Shaders.meta (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Shaders/SDFFunctions.hlsl (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Shaders/SDFFunctions.hlsl.meta (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Shaders/TMP_Bitmap-Custom-Atlas.shader (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Shaders/TMP_Bitmap-Custom-Atlas.shader.meta (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Shaders/TMP_Bitmap-Mobile.shader (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Shaders/TMP_Bitmap-Mobile.shader.meta (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Shaders/TMP_Bitmap.shader (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Shaders/TMP_Bitmap.shader.meta (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Shaders/TMP_SDF Overlay.shader (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Shaders/TMP_SDF Overlay.shader.meta (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Shaders/TMP_SDF SSD.shader (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Shaders/TMP_SDF SSD.shader.meta (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Shaders/TMP_SDF-HDRP LIT.shadergraph (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Shaders/TMP_SDF-HDRP LIT.shadergraph.meta (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Shaders/TMP_SDF-HDRP UNLIT.shadergraph (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Shaders/TMP_SDF-HDRP UNLIT.shadergraph.meta (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Shaders/TMP_SDF-Mobile Masking.shader (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Shaders/TMP_SDF-Mobile Masking.shader.meta (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Shaders/TMP_SDF-Mobile Overlay.shader (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Shaders/TMP_SDF-Mobile Overlay.shader.meta (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Shaders/TMP_SDF-Mobile SSD.shader (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Shaders/TMP_SDF-Mobile SSD.shader.meta (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Shaders/TMP_SDF-Mobile-2-Pass.shader (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Shaders/TMP_SDF-Mobile-2-Pass.shader.meta (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Shaders/TMP_SDF-Mobile.shader (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Shaders/TMP_SDF-Mobile.shader.meta (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Shaders/TMP_SDF-Surface-Mobile.shader (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Shaders/TMP_SDF-Surface-Mobile.shader.meta (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Shaders/TMP_SDF-Surface.shader (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Shaders/TMP_SDF-Surface.shader.meta (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Shaders/TMP_SDF-URP Lit.shadergraph (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Shaders/TMP_SDF-URP Lit.shadergraph.meta (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Shaders/TMP_SDF-URP Unlit.shadergraph (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Shaders/TMP_SDF-URP Unlit.shadergraph.meta (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Shaders/TMP_SDF.shader (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Shaders/TMP_SDF.shader.meta (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Shaders/TMP_Sprite.shader (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Shaders/TMP_Sprite.shader.meta (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Shaders/TMPro.cginc (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Shaders/TMPro.cginc.meta (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Shaders/TMPro_Mobile.cginc (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Shaders/TMPro_Mobile.cginc.meta (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Shaders/TMPro_Properties.cginc (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Shaders/TMPro_Properties.cginc.meta (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Shaders/TMPro_Surface.cginc (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Shaders/TMPro_Surface.cginc.meta (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Sprites.meta (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Sprites/EmojiOne Attribution.txt (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Sprites/EmojiOne Attribution.txt.meta (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Sprites/EmojiOne.json (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Sprites/EmojiOne.json.meta (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Sprites/EmojiOne.png (100%) rename Assets/{ => Third Parties}/TextMesh Pro/Sprites/EmojiOne.png.meta (100%) delete mode 100644 Assets/UI/Documents.meta delete mode 100644 Assets/UI/Documents/Lobby.uxml delete mode 100644 Assets/UI/Documents/Lounge.uxml delete mode 100644 Assets/UI/Documents/Lounge.uxml.meta delete mode 100644 Assets/UI/Documents/MainGameHUD.uxml delete mode 100644 Assets/UI/Documents/MainMenu.uxml delete mode 100644 Assets/UI/Documents/Profile.uxml delete mode 100644 Assets/UI/Documents/Settings.uxml create mode 100644 Assets/UI/Global.uss rename Assets/UI/{Styles => }/Global.uss.meta (88%) create mode 100644 Assets/UI/Lobby.uxml rename Assets/UI/{Documents => }/Lobby.uxml.meta (86%) create mode 100644 Assets/UI/MainGameHUD.uxml rename Assets/UI/{Documents => }/MainGameHUD.uxml.meta (86%) create mode 100644 Assets/UI/MainMenu.uxml rename Assets/UI/{Documents => }/MainMenu.uxml.meta (86%) create mode 100644 Assets/UI/Profile.uxml rename Assets/UI/{Documents => }/Profile.uxml.meta (86%) create mode 100644 Assets/UI/Settings.uxml rename Assets/UI/{Documents => }/Settings.uxml.meta (86%) delete mode 100644 Assets/UI/Styles.meta delete mode 100644 Assets/UI/Styles/Global.uss diff --git a/.idea/.idea.HALLUCINATE/.idea/workspace.xml b/.idea/.idea.HALLUCINATE/.idea/workspace.xml index 529e290e..71ec12d6 100644 --- a/.idea/.idea.HALLUCINATE/.idea/workspace.xml +++ b/.idea/.idea.HALLUCINATE/.idea/workspace.xml @@ -6,8 +6,553 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -141,7 +689,7 @@ - + diff --git a/Assets/Editor/UIManagerEditor.cs b/Assets/Editor/UIManagerEditor.cs deleted file mode 100644 index f7bb900a..00000000 --- a/Assets/Editor/UIManagerEditor.cs +++ /dev/null @@ -1,70 +0,0 @@ -using UnityEditor; -using UnityEngine; -using UI; - -namespace UIEditor -{ - [CustomEditor(typeof(UIManager))] - public class UIManagerEditor : UnityEditor.Editor - { - public override void OnInspectorGUI() - { - UIManager manager = (UIManager)target; - - // Draw default fields (Initial Screen, Focus Radius, Global Opacity, etc.) - base.OnInspectorGUI(); - - EditorGUILayout.Space(10); - EditorGUILayout.LabelField("GLOBAL STYLING", EditorStyles.boldLabel); - - // Re-sync if opacity slider changes - EditorGUI.BeginChangeCheck(); - if (EditorGUI.EndChangeCheck()) - { - manager.SyncScreens(); - EditorUtility.SetDirty(manager); - } - - EditorGUILayout.Space(20); - EditorGUILayout.LabelField("QUICK DASHBOARD", EditorStyles.boldLabel); - EditorGUILayout.HelpBox("Click các nút dưới đây để xem nhanh giao diện mà không cần Play game.", MessageType.Info); - - if (manager.screens != null) - { - foreach (var screen in manager.screens) - { - EditorGUILayout.BeginHorizontal(); - - // Nút bấm để hiện duy nhất màn hình này - if (GUILayout.Button($"SHOW: {screen.screenName}", GUILayout.Height(30))) - { - manager.ShowOnly(screen.screenName); - EditorUtility.SetDirty(manager); - } - - // Toggle nhanh trạng thái Active - bool newActive = EditorGUILayout.Toggle(screen.isActive, GUILayout.Width(20)); - if (newActive != screen.isActive) - { - screen.isActive = newActive; - manager.SyncScreens(); - EditorUtility.SetDirty(manager); - } - - EditorGUILayout.EndHorizontal(); - } - } - - EditorGUILayout.Space(10); - if (GUILayout.Button("HIDE ALL SCREENS", GUILayout.Height(25))) - { - foreach (var s in manager.screens) s.isActive = false; - manager.SyncScreens(); - EditorUtility.SetDirty(manager); - } - - EditorGUILayout.Space(10); - EditorGUILayout.HelpBox("TIP: Bạn có thể thay đổi Global Opacity ở trên để xem độ mờ của toàn bộ UI.", MessageType.None); - } - } -} diff --git a/Assets/Editor/UIManagerEditor.cs.meta b/Assets/Editor/UIManagerEditor.cs.meta deleted file mode 100644 index e0e7bda8..00000000 --- a/Assets/Editor/UIManagerEditor.cs.meta +++ /dev/null @@ -1,2 +0,0 @@ -fileFormatVersion: 2 -guid: 0e118f8ca802ae54e92d305688e5b5e3 \ No newline at end of file diff --git a/Assets/Prefabs/Player.prefab b/Assets/Prefabs/Player.prefab index 4cb4b488..a0f81df1 100644 --- a/Assets/Prefabs/Player.prefab +++ b/Assets/Prefabs/Player.prefab @@ -9,19 +9,23 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 3154409663696148700} - - component: {fileID: 5811177247042239962} - component: {fileID: 8915611492738107882} + - component: {fileID: 5811177247042239962} - component: {fileID: 9098752589608501196} - component: {fileID: 5600577104145922999} - component: {fileID: 3010251870038942475} - component: {fileID: 830356296960548640} - - component: {fileID: 3043298118541876184} - - component: {fileID: 3866929919288054183} - - component: {fileID: 5773292363125757170} - component: {fileID: 504047695906043424} - component: {fileID: -5076913349690967641} - component: {fileID: 5474834257287499008} - component: {fileID: 591040529181574494} + - component: {fileID: 7826563193135964281} + - component: {fileID: 517879385770431681} + - component: {fileID: 8601091490777624370} + - component: {fileID: 7730391503324595278} + - component: {fileID: 3043298118541876184} + - component: {fileID: 5773292363125757170} + - component: {fileID: 3866929919288054183} m_Layer: 0 m_Name: Player m_TagString: Player @@ -45,29 +49,8 @@ Transform: - {fileID: 8004958684693924044} - {fileID: 1837528887711025940} - {fileID: 2204320233506982349} - - {fileID: 197467923929726417} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &5811177247042239962 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1054594849095937263} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 169e37d35fede30409266070c88b118f, type: 3} - m_Name: - m_EditorClassIdentifier: Assembly-CSharp::OnlyScove.Scripts.EnvironmentScanner - forwardRayOffset: {x: 0, y: 2.5, z: 0} - forwardRayLength: 10 - obstacleLayer: - serializedVersion: 2 - m_Bits: 128 - heightRayLength: 0 - interactionOffset: {x: 0, y: 1.5, z: 0} - interactionRadius: 0.5 --- !u!143 &8915611492738107882 CharacterController: m_ObjectHideFlags: 0 @@ -93,6 +76,26 @@ CharacterController: m_SkinWidth: 0.019215723 m_MinMoveDistance: 0.001 m_Center: {x: 0, y: 0.8984509, z: 0.05} +--- !u!114 &5811177247042239962 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1054594849095937263} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 169e37d35fede30409266070c88b118f, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::OnlyScove.Scripts.EnvironmentScanner + forwardRayOffset: {x: 0, y: 2.5, z: 0} + forwardRayLength: 10 + obstacleLayer: + serializedVersion: 2 + m_Bits: 128 + heightRayLength: 0 + interactionOffset: {x: 0, y: 1.5, z: 0} + interactionRadius: 0.5 --- !u!95 &9098752589608501196 Animator: serializedVersion: 7 @@ -377,93 +380,13 @@ MonoBehaviour: k__BackingField: {fileID: 5600577104145922999} k__BackingField: {fileID: 9098752589608501196} k__BackingField: {fileID: 5811177247042239962} - speedParamName: Speed - velocityXParamName: Velocity X - velocityZParamName: Velocity Z - k__BackingField: 5 - k__BackingField: 10 - k__BackingField: 9 - k__BackingField: 1.5 - k__BackingField: 15 - k__BackingField: 500 - k__BackingField: 0.2 - k__BackingField: 2 - k__BackingField: -9.81 - k__BackingField: -20 - k__BackingField: 0.11529434 - k__BackingField: {x: 0, y: 0.079278834, z: 0.05} - k__BackingField: - serializedVersion: 2 - m_Bits: 64 - k__BackingField: 2 - k__BackingField: - serializedVersion: 2 - m_Bits: 512 + Stats: {fileID: 7826563193135964281} + Interaction: {fileID: 517879385770431681} + Movement: {fileID: 8601091490777624370} + AnimationHandler: {fileID: 7730391503324595278} _NetworkedCameraRotation: {x: 0, y: 0, z: 0, w: 0} _NetworkedMoveInput: {x: 0, y: 0} _NetworkedSpeed: 0 - _NetworkedPosition: {x: 0, y: 0, z: 0} ---- !u!114 &3043298118541876184 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1054594849095937263} - m_Enabled: 0 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: e16a6690e589f0449ad89a6bf508ab62, type: 3} - m_Name: - m_EditorClassIdentifier: Assembly-CSharp::OnlyScove.Scripts.GameSetup.CharacterAutoSetup - defaultHeight: 1.8 - defaultShoulderWidth: 0.4 - modelRoot: {fileID: 0} - autoDetectOnStart: 0 - zCenterOffset: 0.05 ---- !u!114 &3866929919288054183 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1054594849095937263} - m_Enabled: 0 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 1630760c9d97a5f4eb1bc179549c95cd, type: 3} - m_Name: - m_EditorClassIdentifier: Assembly-CSharp::SukunaAbilityController - inputReader: {fileID: 5600577104145922999} - blackProjectilePrefab: {fileID: 7925862234553078923, guid: a9db8dc0d7288b8418ab54e786fbffa7, type: 3} - redProjectilePrefab: {fileID: 1113287330716207023, guid: 03163717f6c5cad409e7e7f079f06ea5, type: 3} - attackRate: 0.1 - forwardOffset: 4.55 - verticalOffset: 1 - rangeX: {x: -360, y: 360} - rangeY: {x: -10, y: 10} - rangeZ: {x: 50, y: 120} ---- !u!114 &5773292363125757170 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1054594849095937263} - m_Enabled: 0 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 271dd39a46bad974485107bb1a070e0a, type: 3} - m_Name: - m_EditorClassIdentifier: Assembly-CSharp::OnlyScove.Scripts.SukunaDomainController - playerStateMachine: {fileID: 830356296960548640} - slashPrefab: {fileID: 7424378359907903745, guid: 80f98b444eac25541afe9e9081c8303a, type: 3} - shrinePrefab: {fileID: 5712645696331672719, guid: b0b71c635e9971346ae9ab6b7ecdd65d, type: 3} - domainVolumeProfile: {fileID: 11400000, guid: 837c34edbcc0ece44ae8c54e25ec20de, type: 2} - cinematicCameraPoint: {fileID: 0} - domainRadius: 30 - domainDuration: 10 - slashRate: 100 - shrineRiseHeight: 5 - shrineFloorOffset: 0.5 - camMoveSpeed: 4 --- !u!114 &504047695906043424 MonoBehaviour: m_ObjectHideFlags: 0 @@ -501,6 +424,10 @@ MonoBehaviour: - {fileID: 830356296960548640} - {fileID: 504047695906043424} - {fileID: 5474834257287499008} + - {fileID: 7826563193135964281} + - {fileID: 517879385770431681} + - {fileID: 8601091490777624370} + - {fileID: 7730391503324595278} ForceRemoteRenderTimeframe: 0 --- !u!114 &5474834257287499008 MonoBehaviour: @@ -514,9 +441,9 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 70abb536cf50f2948882e913634daedf, type: 3} m_Name: m_EditorClassIdentifier: Assembly-CSharp::_PlayerInfo - _playerName: + _playerName: Runner playerDataManager: {fileID: 0} - nameText: {fileID: 4162277074137292865} + nameText: {fileID: 0} characterIcons: - {fileID: 2663176581072049613} - {fileID: 9158604782533009244} @@ -537,108 +464,144 @@ MonoBehaviour: followOffset: {x: 1.5, y: 2, z: 0} smoothTime: 0.15 lookAtCamera: 1 ---- !u!1 &2962936552048247184 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 197467923929726417} - - component: {fileID: 1018225786754720096} - - component: {fileID: 4475173704176190241} - - component: {fileID: 289368611602352569} - m_Layer: 5 - m_Name: Canvas - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &197467923929726417 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2962936552048247184} - m_LocalRotation: {x: 0, y: 1, z: 0, w: 0} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 0.01, y: 0.01, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 7931877178581140798} - m_Father: {fileID: 3154409663696148700} - m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: -0.9036, y: 1.8528} - m_SizeDelta: {x: 509.2823, y: 17.4373} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!223 &1018225786754720096 -Canvas: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2962936552048247184} - m_Enabled: 1 - serializedVersion: 3 - m_RenderMode: 2 - m_Camera: {fileID: 0} - m_PlaneDistance: 100 - m_PixelPerfect: 0 - m_ReceivesEvents: 1 - m_OverrideSorting: 0 - m_OverridePixelPerfect: 0 - m_SortingBucketNormalizedSize: 0 - m_VertexColorAlwaysGammaSpace: 0 - m_AdditionalShaderChannelsFlag: 25 - m_UpdateRectTransformForStandalone: 0 - m_SortingLayerID: 0 - m_SortingOrder: 0 - m_TargetDisplay: 0 ---- !u!114 &4475173704176190241 +--- !u!114 &7826563193135964281 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2962936552048247184} + m_GameObject: {fileID: 1054594849095937263} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Script: {fileID: 11500000, guid: a1494b79b59fcdf4d9f7956dde31bc42, type: 3} m_Name: - m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.CanvasScaler - m_UiScaleMode: 0 - m_ReferencePixelsPerUnit: 100 - m_ScaleFactor: 1 - m_ReferenceResolution: {x: 800, y: 600} - m_ScreenMatchMode: 0 - m_MatchWidthOrHeight: 0 - m_PhysicalUnit: 3 - m_FallbackScreenDPI: 96 - m_DefaultSpriteDPI: 96 - m_DynamicPixelsPerUnit: 1 - m_PresetInfoIsWorld: 1 ---- !u!114 &289368611602352569 + m_EditorClassIdentifier: Assembly-CSharp::OnlyScove.Scripts.PlayerStats + _Health: 100 + _Stamina: 100 + _NoiseLevel: 0 +--- !u!114 &517879385770431681 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2962936552048247184} + m_GameObject: {fileID: 1054594849095937263} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Script: {fileID: 11500000, guid: 9dcff2851697b4f4c8c25ef8381665ba, type: 3} m_Name: - m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.GraphicRaycaster - m_IgnoreReversedGraphics: 1 - m_BlockingObjects: 0 - m_BlockingMask: + m_EditorClassIdentifier: Assembly-CSharp::OnlyScove.Scripts.PlayerInteraction + InteractionRange: 2 + InteractionMask: serializedVersion: 2 - m_Bits: 4294967295 + m_Bits: 512 +--- !u!114 &8601091490777624370 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1054594849095937263} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 79bbcfd4d37b7834ebe0d61bb649714d, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::OnlyScove.Scripts.PlayerMovement + k__BackingField: 3 + k__BackingField: 6 + k__BackingField: 9 + k__BackingField: 1.5 + k__BackingField: 10 + k__BackingField: 500 + k__BackingField: 2 + k__BackingField: -15 + k__BackingField: -20 + k__BackingField: 0.2 + k__BackingField: {x: 0, y: 0, z: 0} + k__BackingField: + serializedVersion: 2 + m_Bits: 64 + _IsGrounded: 0 + _WasGrounded: 0 + _VelocityY: 0 + _NetworkedPosition: {x: 0, y: 0, z: 0} +--- !u!114 &7730391503324595278 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1054594849095937263} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 965ec86f3b9695640bdc85e624d0e9e7, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::OnlyScove.Scripts.PlayerAnimationHandler + speedParamName: Speed + velocityXParamName: Velocity X + velocityZParamName: Velocity Z + animationDamping: 0.2 +--- !u!114 &3043298118541876184 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1054594849095937263} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e16a6690e589f0449ad89a6bf508ab62, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::OnlyScove.Scripts.GameSetup.CharacterAutoSetup + defaultHeight: 1.8 + defaultShoulderWidth: 0.4 + modelRoot: {fileID: 0} + autoDetectOnStart: 0 + zCenterOffset: 0.05 +--- !u!114 &5773292363125757170 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1054594849095937263} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 271dd39a46bad974485107bb1a070e0a, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::OnlyScove.Scripts.SukunaDomainController + playerStateMachine: {fileID: 830356296960548640} + slashPrefab: {fileID: 7424378359907903745, guid: 80f98b444eac25541afe9e9081c8303a, type: 3} + shrinePrefab: {fileID: 5712645696331672719, guid: b0b71c635e9971346ae9ab6b7ecdd65d, type: 3} + domainVolumeProfile: {fileID: 11400000, guid: 837c34edbcc0ece44ae8c54e25ec20de, type: 2} + cinematicCameraPoint: {fileID: 0} + domainRadius: 30 + domainDuration: 10 + slashRate: 100 + shrineRiseHeight: 5 + shrineFloorOffset: 0.5 + camMoveSpeed: 4 +--- !u!114 &3866929919288054183 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1054594849095937263} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1630760c9d97a5f4eb1bc179549c95cd, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::SukunaAbilityController + inputReader: {fileID: 5600577104145922999} + blackProjectilePrefab: {fileID: 7925862234553078923, guid: a9db8dc0d7288b8418ab54e786fbffa7, type: 3} + redProjectilePrefab: {fileID: 1113287330716207023, guid: 03163717f6c5cad409e7e7f079f06ea5, type: 3} + attackRate: 0.1 + forwardOffset: 4.55 + verticalOffset: 1 + rangeX: {x: -360, y: 360} + rangeY: {x: -10, y: 10} + rangeZ: {x: 50, y: 120} --- !u!1 &3751838835891881608 GameObject: m_ObjectHideFlags: 0 @@ -803,143 +766,6 @@ Transform: m_Children: [] m_Father: {fileID: 3154409663696148700} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &8169517334317903866 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7931877178581140798} - - component: {fileID: 5886073058445326450} - - component: {fileID: 4162277074137292865} - m_Layer: 5 - m_Name: PlayerNameCanvas - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &7931877178581140798 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8169517334317903866} - m_LocalRotation: {x: 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: 197467923929726417} - 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: -90.9, y: 14.141} - m_SizeDelta: {x: 291.33, y: 45.719} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &5886073058445326450 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8169517334317903866} - m_CullTransparentMesh: 1 ---- !u!114 &4162277074137292865 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8169517334317903866} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} - m_Name: - m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI - 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_text: PlayerName - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: a32ff21294cb0854181fe2ea1602ab9f, type: 2} - m_sharedMaterial: {fileID: -5366533617542256513, guid: a32ff21294cb0854181fe2ea1602ab9f, type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4294967295 - m_fontColor: {r: 1, g: 1, b: 1, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: -1183493901 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 44.85 - m_fontSizeBase: 36 - m_fontWeight: 400 - m_enableAutoSizing: 1 - m_fontSizeMin: 18 - m_fontSizeMax: 72 - m_fontStyle: 1 - m_HorizontalAlignment: 2 - m_VerticalAlignment: 512 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_characterHorizontalScale: 1 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_TextWrappingMode: 1 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 0 - m_ActiveFontFeatures: 6e72656b - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_EmojiFallbackSupport: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 0 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} --- !u!1 &8335303598418656312 GameObject: m_ObjectHideFlags: 0 @@ -1074,15 +900,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: -8679921383154817045, guid: 5847774ba45dc754598435b50d4a0247, type: 3} propertyPath: m_LocalRotation.x - value: -0 + value: 0 objectReference: {fileID: 0} - target: {fileID: -8679921383154817045, guid: 5847774ba45dc754598435b50d4a0247, type: 3} propertyPath: m_LocalRotation.y - value: -0 + value: 0 objectReference: {fileID: 0} - target: {fileID: -8679921383154817045, guid: 5847774ba45dc754598435b50d4a0247, type: 3} propertyPath: m_LocalRotation.z - value: -0 + value: 0 objectReference: {fileID: 0} - target: {fileID: -8679921383154817045, guid: 5847774ba45dc754598435b50d4a0247, type: 3} propertyPath: m_LocalEulerAnglesHint.x diff --git a/Assets/Scove/UIScaleTest.unity b/Assets/Scove/UIScaleTest.unity index f372bdb2..78116e9d 100644 --- a/Assets/Scove/UIScaleTest.unity +++ b/Assets/Scove/UIScaleTest.unity @@ -119,7 +119,7 @@ NavMeshSettings: debug: m_Flags: 0 m_NavMeshData: {fileID: 0} ---- !u!1 &257796813 +--- !u!1 &458228298 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -127,31 +127,49 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 257796816} - - component: {fileID: 257796814} - - component: {fileID: 257796815} + - component: {fileID: 458228301} + - component: {fileID: 458228300} + - component: {fileID: 458228299} m_Layer: 0 - m_Name: Doc_Lounge + m_Name: UIManager m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!114 &257796814 +--- !u!114 &458228299 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 257796813} + m_GameObject: {fileID: 458228298} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: bcb7b8ed439bb4546b0648c627c2ce5d, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::Hallucinate.UI.UIManager + mainMenuTemplate: {fileID: 9197481963319205126, guid: 8dcbe9fd5e8c43c43921af21a6347624, type: 3} + lobbyTemplate: {fileID: 9197481963319205126, guid: 2b2480fff4320714e9b503e7d5ef2c9f, type: 3} + profileTemplate: {fileID: 9197481963319205126, guid: e481c7d94f843374cb57e215bf9b0624, type: 3} + settingsTemplate: {fileID: 9197481963319205126, guid: 1e24e32e93afac8449d0bb181ab5c6a9, type: 3} + hudTemplate: {fileID: 9197481963319205126, guid: b87ba33c06a8c1d46a3d9f03416ebf3f, type: 3} + showDebugInfo: 1 +--- !u!114 &458228300 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 458228298} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 19102, guid: 0000000000000000e000000000000000, type: 0} m_Name: m_EditorClassIdentifier: UnityEngine.dll::UnityEngine.UIElements.UIDocument - m_PanelSettings: {fileID: 11400000, guid: 04bb65da4fe76fc4a9926df48b2ba88b, type: 2} + m_PanelSettings: {fileID: 11400000, guid: c093ebe66178f9047be53f245ccc3c2d, type: 2} m_ParentUI: {fileID: 0} - sourceAsset: {fileID: 9197481963319205126, guid: 1acf05b4c3eb7964b9b87b16b66c85f8, type: 3} + sourceAsset: {fileID: 0} m_SortingOrder: 0 m_Position: 0 m_WorldSpaceSizeMode: 1 @@ -160,32 +178,20 @@ MonoBehaviour: m_PivotReferenceSize: 0 m_Pivot: 0 m_WorldSpaceCollider: {fileID: 0} ---- !u!114 &257796815 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 257796813} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: ac201603ede0899488995be3d88ea0dc, type: 3} - m_Name: - m_EditorClassIdentifier: Assembly-CSharp::UI.LoungeController ---- !u!4 &257796816 +--- !u!4 &458228301 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 257796813} + m_GameObject: {fileID: 458228298} serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalPosition: {x: -16124.571, y: -11651.664, z: 100.93924} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] - m_Father: {fileID: 1183887570} + m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &626355268 GameObject: @@ -314,144 +320,6 @@ MonoBehaviour: m_ShadowLayerMask: 1 m_RenderingLayers: 1 m_ShadowRenderingLayers: 1 ---- !u!1 &666657091 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 666657093} - - component: {fileID: 666657092} - - component: {fileID: 666657094} - m_Layer: 0 - m_Name: Doc_Profile - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &666657092 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 666657091} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 19102, guid: 0000000000000000e000000000000000, type: 0} - m_Name: - m_EditorClassIdentifier: UnityEngine.dll::UnityEngine.UIElements.UIDocument - m_PanelSettings: {fileID: 11400000, guid: 04bb65da4fe76fc4a9926df48b2ba88b, type: 2} - m_ParentUI: {fileID: 0} - sourceAsset: {fileID: 9197481963319205126, guid: 4b61efb7dda830a43ad6b05998e85a6d, type: 3} - m_SortingOrder: 0 - m_Position: 0 - m_WorldSpaceSizeMode: 1 - m_WorldSpaceWidth: 1920 - m_WorldSpaceHeight: 1080 - m_PivotReferenceSize: 0 - m_Pivot: 0 - m_WorldSpaceCollider: {fileID: 0} ---- !u!4 &666657093 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 666657091} - serializedVersion: 2 - m_LocalRotation: {x: 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: 1183887570} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &666657094 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 666657091} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fdea16b110511ef45889ed832b63560b, type: 3} - m_Name: - m_EditorClassIdentifier: Assembly-CSharp::UI.ProfileController ---- !u!1 &1136953558 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1136953560} - - component: {fileID: 1136953559} - - component: {fileID: 1136953561} - m_Layer: 0 - m_Name: Doc_HUD - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &1136953559 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1136953558} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 19102, guid: 0000000000000000e000000000000000, type: 0} - m_Name: - m_EditorClassIdentifier: UnityEngine.dll::UnityEngine.UIElements.UIDocument - m_PanelSettings: {fileID: 11400000, guid: 04bb65da4fe76fc4a9926df48b2ba88b, type: 2} - m_ParentUI: {fileID: 0} - sourceAsset: {fileID: 9197481963319205126, guid: b8da157d472223d4889a01228b36ef8b, type: 3} - m_SortingOrder: 0 - m_Position: 0 - m_WorldSpaceSizeMode: 1 - m_WorldSpaceWidth: 1920 - m_WorldSpaceHeight: 1080 - m_PivotReferenceSize: 0 - m_Pivot: 0 - m_WorldSpaceCollider: {fileID: 0} ---- !u!4 &1136953560 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1136953558} - serializedVersion: 2 - m_LocalRotation: {x: -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: 1183887570} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &1136953561 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1136953558} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: e79b70607af6eeb458c8eb6605e39b56, type: 3} - m_Name: - m_EditorClassIdentifier: Assembly-CSharp::UI.HUDController - hudDocument: {fileID: 1136953559} - autoHideDelay: 5 --- !u!1 &1157680018 GameObject: m_ObjectHideFlags: 0 @@ -499,237 +367,6 @@ Transform: m_Children: [] m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1183887568 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1183887570} - - component: {fileID: 1183887569} - m_Layer: 0 - m_Name: UIManager - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &1183887569 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1183887568} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: bcb7b8ed439bb4546b0648c627c2ce5d, type: 3} - m_Name: - m_EditorClassIdentifier: Assembly-CSharp::UI.UIManager - screens: - - screenName: MainMenu - document: {fileID: 2003742651} - isOverlay: 0 - isActive: 1 - - screenName: Lobby - document: {fileID: 1471116802} - isOverlay: 0 - isActive: 0 - - screenName: Lounge - document: {fileID: 257796814} - isOverlay: 0 - isActive: 0 - - screenName: HUD - document: {fileID: 1136953559} - isOverlay: 0 - isActive: 0 - - screenName: Settings - document: {fileID: 1582124357} - isOverlay: 1 - isActive: 0 - - screenName: Profile - document: {fileID: 666657092} - isOverlay: 0 - isActive: 0 - initialScreen: MainMenu - trailSprite: {fileID: 21300000, guid: b9c4a623634019648b505c6122243b00, type: 3} - trailFadeSpeed: 3 - trailCount: 15 - focusRadius: 300 - globalOpacity: 1 - isMainMenuActive: 0 ---- !u!4 &1183887570 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1183887568} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -16135.612, y: -11645.337, z: 92.19762} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 2003742650} - - {fileID: 1471116803} - - {fileID: 257796816} - - {fileID: 1136953560} - - {fileID: 1582124358} - - {fileID: 666657093} - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1471116801 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1471116803} - - component: {fileID: 1471116802} - - component: {fileID: 1471116804} - m_Layer: 0 - m_Name: Doc_Lobby - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &1471116802 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1471116801} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 19102, guid: 0000000000000000e000000000000000, type: 0} - m_Name: - m_EditorClassIdentifier: UnityEngine.dll::UnityEngine.UIElements.UIDocument - m_PanelSettings: {fileID: 11400000, guid: 04bb65da4fe76fc4a9926df48b2ba88b, type: 2} - m_ParentUI: {fileID: 0} - sourceAsset: {fileID: 9197481963319205126, guid: 971b07b6bc60233469ca493b8f558225, type: 3} - m_SortingOrder: 0 - m_Position: 0 - m_WorldSpaceSizeMode: 1 - m_WorldSpaceWidth: 1920 - m_WorldSpaceHeight: 1080 - m_PivotReferenceSize: 0 - m_Pivot: 0 - m_WorldSpaceCollider: {fileID: 0} ---- !u!4 &1471116803 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1471116801} - serializedVersion: 2 - m_LocalRotation: {x: 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: 1183887570} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &1471116804 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1471116801} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 9c37c552a9c18a242bcc8860a0a5212f, type: 3} - m_Name: - m_EditorClassIdentifier: Assembly-CSharp::UI.LobbyController ---- !u!1 &1582124356 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1582124358} - - component: {fileID: 1582124357} - - component: {fileID: 1582124359} - - component: {fileID: 1582124360} - m_Layer: 0 - m_Name: Doc_Settings - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &1582124357 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1582124356} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 19102, guid: 0000000000000000e000000000000000, type: 0} - m_Name: - m_EditorClassIdentifier: UnityEngine.dll::UnityEngine.UIElements.UIDocument - m_PanelSettings: {fileID: 11400000, guid: 04bb65da4fe76fc4a9926df48b2ba88b, type: 2} - m_ParentUI: {fileID: 0} - sourceAsset: {fileID: 9197481963319205126, guid: b35e62e5dcc1bfb42bf0d3f630fc356d, type: 3} - m_SortingOrder: 0 - m_Position: 0 - m_WorldSpaceSizeMode: 1 - m_WorldSpaceWidth: 1920 - m_WorldSpaceHeight: 1080 - m_PivotReferenceSize: 0 - m_Pivot: 0 - m_WorldSpaceCollider: {fileID: 0} ---- !u!4 &1582124358 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1582124356} - serializedVersion: 2 - m_LocalRotation: {x: 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: 1183887570} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &1582124359 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1582124356} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5534bcf4869df944883c6fd2a17a6a5a, type: 3} - m_Name: - m_EditorClassIdentifier: Assembly-CSharp::UI.SettingsController ---- !u!114 &1582124360 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1582124356} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5c17a3f09ee49ff48a0e3e2b45080257, type: 3} - m_Name: - m_EditorClassIdentifier: Assembly-CSharp::UI.LocalizationManager --- !u!1 &1588175186 GameObject: m_ObjectHideFlags: 0 @@ -917,84 +554,12 @@ MonoBehaviour: m_VarianceClampScale: 0.9 m_ContrastAdaptiveSharpening: 0 m_Version: 2 ---- !u!1 &2003742649 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2003742650} - - component: {fileID: 2003742651} - - component: {fileID: 2003742652} - m_Layer: 0 - m_Name: Doc_MainMenu - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2003742650 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2003742649} - serializedVersion: 2 - m_LocalRotation: {x: 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: 1183887570} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &2003742651 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2003742649} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 19102, guid: 0000000000000000e000000000000000, type: 0} - m_Name: - m_EditorClassIdentifier: UnityEngine.dll::UnityEngine.UIElements.UIDocument - m_PanelSettings: {fileID: 11400000, guid: 04bb65da4fe76fc4a9926df48b2ba88b, type: 2} - m_ParentUI: {fileID: 0} - sourceAsset: {fileID: 9197481963319205126, guid: 1e4b5a7d928d98949af5f96c310e5e05, type: 3} - m_SortingOrder: 0 - m_Position: 0 - m_WorldSpaceSizeMode: 1 - m_WorldSpaceWidth: 1920 - m_WorldSpaceHeight: 1080 - m_PivotReferenceSize: 0 - m_Pivot: 0 - m_WorldSpaceCollider: {fileID: 0} ---- !u!114 &2003742652 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2003742649} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 691980524acfc544f9660cfc35ce3616, type: 3} - m_Name: - m_EditorClassIdentifier: Assembly-CSharp::UI.MainMenuController - transitionDuration: 0.5 - idleTimeout: 5 - pulseSpeed: 2 - pulseAmount: 0.1 --- !u!1660057539 &9223372036854775807 SceneRoots: m_ObjectHideFlags: 0 m_Roots: - {fileID: 1848374381} - {fileID: 626355270} - - {fileID: 1183887570} - {fileID: 1588175188} - {fileID: 1157680020} + - {fileID: 458228301} diff --git a/Assets/Scripts/Fusion/BasicSpawner.cs b/Assets/Scripts/Fusion/BasicSpawner.cs index ebf2d098..7f9488a9 100644 --- a/Assets/Scripts/Fusion/BasicSpawner.cs +++ b/Assets/Scripts/Fusion/BasicSpawner.cs @@ -166,6 +166,7 @@ public class BasicSpawner : MonoBehaviour, INetworkRunnerCallbacks public void OnSessionListUpdated(NetworkRunner runner, List sessionList) { if (LobbyManager != null) LobbyManager.DisplayRoomList(sessionList); + // UI.UIEventBus.TriggerRoomListUpdate(); } public void OnInputMissing(NetworkRunner runner, PlayerRef player, NetworkInput input) { } diff --git a/Assets/Scripts/Player Controller/PlayerAnimationHandler.cs b/Assets/Scripts/Player Controller/PlayerAnimationHandler.cs new file mode 100644 index 00000000..ae394559 --- /dev/null +++ b/Assets/Scripts/Player Controller/PlayerAnimationHandler.cs @@ -0,0 +1,54 @@ +using UnityEngine; +using Fusion; + +namespace OnlyScove.Scripts +{ + public class PlayerAnimationHandler : NetworkBehaviour + { + [Header("Animator Settings")] + [SerializeField] private string speedParamName = "Speed"; + [SerializeField] private string velocityXParamName = "Velocity X"; + [SerializeField] private string velocityZParamName = "Velocity Z"; + [SerializeField] private float animationDamping = 0.2f; + + private Animator anim; + private int speedHash; + private int velocityXHash; + private int velocityZHash; + private bool hasSpeedParam; + private bool hasVelocityXParam; + private bool hasVelocityZParam; + + public void Initialize(Animator animator) + { + this.anim = animator; + if (anim != null) + { + foreach (AnimatorControllerParameter param in anim.parameters) + { + if (param.name == speedParamName) hasSpeedParam = true; + if (param.name == velocityXParamName) hasVelocityXParam = true; + if (param.name == velocityZParamName) hasVelocityZParam = true; + } + } + + speedHash = Animator.StringToHash(speedParamName); + velocityXHash = Animator.StringToHash(velocityXParamName); + velocityZHash = Animator.StringToHash(velocityZParamName); + } + + public void UpdateAnimator(float speed, Vector2 moveInput, float deltaTime) + { + if (anim == null) return; + + if (hasSpeedParam) anim.SetFloat(speedHash, speed, animationDamping, deltaTime); + if (hasVelocityXParam) anim.SetFloat(velocityXHash, moveInput.x * speed, animationDamping, deltaTime); + if (hasVelocityZParam) anim.SetFloat(velocityZHash, moveInput.y * speed, animationDamping, deltaTime); + } + + public void SetSpeed(float speed) + { + if (anim != null && hasSpeedParam) anim.SetFloat(speedHash, speed); + } + } +} diff --git a/Assets/Scripts/Player Controller/PlayerAnimationHandler.cs.meta b/Assets/Scripts/Player Controller/PlayerAnimationHandler.cs.meta new file mode 100644 index 00000000..d6f88fc0 --- /dev/null +++ b/Assets/Scripts/Player Controller/PlayerAnimationHandler.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 965ec86f3b9695640bdc85e624d0e9e7 \ No newline at end of file diff --git a/Assets/Scripts/Player Controller/PlayerInteraction.cs b/Assets/Scripts/Player Controller/PlayerInteraction.cs new file mode 100644 index 00000000..1e7c713b --- /dev/null +++ b/Assets/Scripts/Player Controller/PlayerInteraction.cs @@ -0,0 +1,75 @@ +using UnityEngine; +using Fusion; +using System.Collections.Generic; +using System; + +namespace OnlyScove.Scripts +{ + public class PlayerInteraction : NetworkBehaviour + { + [Header("Interaction Settings")] + [SerializeField] public float InteractionRange = 2f; + [SerializeField] public LayerMask InteractionMask; + + public event Action OnInteractableTargetChanged; + + private List interactablesNearby = new List(); + private int currentInteractableIndex = 0; + private EnvironmentScanner scanner; + + public void Initialize(EnvironmentScanner scanner) + { + this.scanner = scanner; + } + + public void UpdateInteractables() + { + if (scanner == null) return; + + interactablesNearby.Clear(); + IInteractable target = scanner.ScanForInteractable(InteractionRange, InteractionMask); + + if (target != null) interactablesNearby.Add(target); + OnInteractableTargetChanged?.Invoke(target); + + if (Object != null && Object.HasInputAuthority) + { + // UI Placeholder: Interaction UI + // Example: UI.UIEventBus.TriggerInteractionPrompt(target?.InteractionPrompt); + // Example: UI.UIEventBus.TriggerInteractionVisibility(target != null); + } + + currentInteractableIndex = 0; + } + + public void NextInteract() + { + if (interactablesNearby.Count <= 1) return; + currentInteractableIndex = (currentInteractableIndex + 1) % interactablesNearby.Count; + NotifyTargetChanged(); + } + + public void PreviousInteract() + { + if (interactablesNearby.Count <= 1) return; + currentInteractableIndex = (currentInteractableIndex - 1 + interactablesNearby.Count) % interactablesNearby.Count; + NotifyTargetChanged(); + } + + private void NotifyTargetChanged() + { + IInteractable target = GetInteractable(); + OnInteractableTargetChanged?.Invoke(target); + if (Object != null && Object.HasInputAuthority) + { + // UI Placeholder: Update Prompt + // Example: UI.UIEventBus.TriggerInteractionPrompt(target?.InteractionPrompt); + } + } + + public IInteractable GetInteractable() + { + return (interactablesNearby == null || interactablesNearby.Count == 0) ? null : interactablesNearby[currentInteractableIndex]; + } + } +} diff --git a/Assets/Scripts/Player Controller/PlayerInteraction.cs.meta b/Assets/Scripts/Player Controller/PlayerInteraction.cs.meta new file mode 100644 index 00000000..a9d1ab85 --- /dev/null +++ b/Assets/Scripts/Player Controller/PlayerInteraction.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 9dcff2851697b4f4c8c25ef8381665ba \ No newline at end of file diff --git a/Assets/Scripts/Player Controller/PlayerMovement.cs b/Assets/Scripts/Player Controller/PlayerMovement.cs new file mode 100644 index 00000000..04b6b24f --- /dev/null +++ b/Assets/Scripts/Player Controller/PlayerMovement.cs @@ -0,0 +1,71 @@ +using UnityEngine; +using Fusion; + +namespace OnlyScove.Scripts +{ + public class PlayerMovement : NetworkBehaviour + { + [field: Header("Movement Settings")] + [field: SerializeField] public float WalkSpeed { get; private set; } = 3f; + [field: SerializeField] public float RunSpeed { get; private set; } = 6f; + [field: SerializeField] public float SprintSpeed { get; private set; } = 9f; + [field: SerializeField] public float SneakSpeed { get; private set; } = 1.5f; + [field: SerializeField] public float DashForce { get; private set; } = 10f; + [field: SerializeField] public float RotationSpeed { get; private set; } = 500f; + + [field: Header("Airborne Settings")] + [field: SerializeField] public float JumpHeight { get; private set; } = 2f; + [field: SerializeField] public float Gravity { get; private set; } = -15f; + [field: SerializeField] public float ThrustDownwardForce { get; private set; } = -20f; + + [field: Header("Ground Check")] + [field: SerializeField] public float GroundCheckRadius { get; private set; } = 0.2f; + [field: SerializeField] public Vector3 GroundCheckOffset { get; private set; } + [field: SerializeField] public LayerMask GroundMask { get; private set; } + + [Networked] public bool IsGrounded { get; set; } + [Networked] public bool WasGrounded { get; set; } + [Networked] public float VelocityY { get; set; } + [Networked] public Vector3 NetworkedPosition { get; set; } + + private CharacterController controller; + + public void Initialize(CharacterController controller) + { + this.controller = controller; + } + + public void CheckGround(Transform playerTransform) + { + if (Object == null || (!Object.HasStateAuthority && !Object.HasInputAuthority)) return; + + WasGrounded = IsGrounded; + IsGrounded = Physics.CheckSphere(playerTransform.TransformPoint(GroundCheckOffset), GroundCheckRadius, GroundMask); + } + + public void Move(CharacterController controller, Vector3 velocity, float deltaTime) + { + if (controller != null && controller.enabled) + { + controller.Move(velocity * deltaTime); + if (Object != null && Object.HasStateAuthority) + { + NetworkedPosition = transform.position; + } + } + } + + public void Rotate(Transform playerTransform, Vector3 moveDirection, float deltaTime) + { + if (moveDirection == Vector3.zero) return; + Quaternion targetRot = Quaternion.LookRotation(moveDirection); + playerTransform.rotation = Quaternion.RotateTowards(playerTransform.rotation, targetRot, RotationSpeed * deltaTime); + } + + public void SetGroundCheck(float radius, Vector3 offset) + { + GroundCheckRadius = radius; + GroundCheckOffset = offset; + } + } +} diff --git a/Assets/Scripts/Player Controller/PlayerMovement.cs.meta b/Assets/Scripts/Player Controller/PlayerMovement.cs.meta new file mode 100644 index 00000000..f97ca812 --- /dev/null +++ b/Assets/Scripts/Player Controller/PlayerMovement.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 79bbcfd4d37b7834ebe0d61bb649714d \ No newline at end of file diff --git a/Assets/Scripts/Player Controller/PlayerStateMachine.cs b/Assets/Scripts/Player Controller/PlayerStateMachine.cs index 3e302b04..128e4b6d 100644 --- a/Assets/Scripts/Player Controller/PlayerStateMachine.cs +++ b/Assets/Scripts/Player Controller/PlayerStateMachine.cs @@ -5,6 +5,8 @@ using Fusion; namespace OnlyScove.Scripts { [RequireComponent(typeof(CharacterController), typeof(InputReader), typeof(Animator))] + [RequireComponent(typeof(PlayerStats), typeof(PlayerInteraction), typeof(PlayerMovement))] + [RequireComponent(typeof(PlayerAnimationHandler))] public class PlayerStateMachine : NetworkBehaviour { [field: Header("References")] @@ -14,61 +16,38 @@ namespace OnlyScove.Scripts [field: SerializeField] public EnvironmentScanner Scanner { get; private set; } public CameraController Cam { get; private set; } - [field: Header("Animator Settings")] - [SerializeField] private string speedParamName = "Speed"; - [SerializeField] private string velocityXParamName = "Velocity X"; - [SerializeField] private string velocityZParamName = "Velocity Z"; - - private int speedHash; - private int velocityXHash; - private int velocityZHash; - - [field: Header("Movement Settings")] - [field: SerializeField] public float WalkSpeed { get; private set; } = 3f; - [field: SerializeField] public float RunSpeed { get; private set; } = 6f; - [field: SerializeField] public float SprintSpeed { get; private set; } = 9f; - [field: SerializeField] public float SneakSpeed { get; private set; } = 1.5f; - [field: SerializeField] public float DashForce { get; private set; } = 10f; - [field: SerializeField] public float RotationSpeed { get; private set; } = 500f; - [field: SerializeField] public float AnimationDamping { get; private set; } = 0.2f; - - [field: Header("Airborne Settings")] - [field: SerializeField] public float JumpHeight { get; private set; } = 2f; - [field: SerializeField] public float Gravity { get; private set; } = -15f; - [field: SerializeField] public float ThrustDownwardForce { get; private set; } = -20f; - - [field: Header("Ground Check")] - [field: SerializeField] public float GroundCheckRadius { get; private set; } = 0.2f; - [field: SerializeField] public Vector3 GroundCheckOffset { get; private set; } - [field: SerializeField] public LayerMask GroundMask { get; private set; } - - [field: Header("Interaction")] - [field: SerializeField] public float InteractionRange { get; private set; } = 2f; - [field: SerializeField] public LayerMask InteractionMask { get; private set; } + [Header("Modules")] + public PlayerStats Stats; + public PlayerInteraction Interaction; + public PlayerMovement Movement; + public PlayerAnimationHandler AnimationHandler; [Networked] public Quaternion NetworkedCameraRotation { get; set; } [Networked] public Vector2 NetworkedMoveInput { get; set; } [Networked] public float NetworkedSpeed { get; set; } - [Networked] public Vector3 NetworkedPosition { get; set; } - - [Header("Player Stats")] - [Networked, OnChangedRender(nameof(OnHealthChangedRender))] public float Health { get; set; } = 100f; - [Networked, OnChangedRender(nameof(OnStaminaChangedRender))] public float Stamina { get; set; } = 100f; - [Networked, OnChangedRender(nameof(OnNoiseLevelChangedRender))] public float NoiseLevel { get; set; } = 0f; - - public event System.Action OnHealthChanged; - public event System.Action OnStaminaChanged; - public event System.Action OnNoiseLevelChanged; - public event System.Action OnInteractableTargetChanged; + // Pass-through properties for State Compatibility public Vector2 MoveInput { get; private set; } public bool IsSprintHeld { get; private set; } - public float VelocityY { get; set; } - public bool IsGrounded { get; private set; } - public bool WasGrounded { get; private set; } - public string CurrentStateName => currentState != null ? currentState.GetType().Name : "None"; - public static PlayerStateMachine Local { get; private set; } + public float VelocityY { get => Movement.VelocityY; set => Movement.VelocityY = value; } + public bool IsGrounded => Movement.IsGrounded; + public bool WasGrounded => Movement.WasGrounded; + public float WalkSpeed => Movement.WalkSpeed; + public float RunSpeed => Movement.RunSpeed; + public float SprintSpeed => Movement.SprintSpeed; + public float SneakSpeed => Movement.SneakSpeed; + public float DashForce => Movement.DashForce; + public float JumpHeight => Movement.JumpHeight; + public float ThrustDownwardForce => Movement.ThrustDownwardForce; + public float Gravity => Movement.Gravity; + + public float InteractionRange => Interaction.InteractionRange; + public LayerMask InteractionMask => Interaction.InteractionMask; + + public static PlayerStateMachine Local { get; private set; } + public string CurrentStateName => currentState != null ? currentState.GetType().Name : "None"; + public Quaternion CameraRotation { get @@ -80,11 +59,6 @@ namespace OnlyScove.Scripts private PlayerBaseState currentState; private bool hasControl = true; - private bool hasSpeedParam; - private bool hasVelocityXParam; - private bool hasVelocityZParam; - private List interactablesNearby = new List(); - private int currentInteractableIndex = 0; private float localAnimatorSpeed; protected virtual void Awake() @@ -93,20 +67,15 @@ namespace OnlyScove.Scripts Input = GetComponent(); Anim = GetComponentInChildren(); Scanner = GetComponent(); + + Stats = GetComponent(); + Interaction = GetComponent(); + Movement = GetComponent(); + AnimationHandler = GetComponent(); - if (Anim != null) - { - foreach (AnimatorControllerParameter param in Anim.parameters) - { - if (param.name == speedParamName) hasSpeedParam = true; - if (param.name == velocityXParamName) hasVelocityXParam = true; - if (param.name == velocityZParamName) hasVelocityZParam = true; - } - } - - speedHash = Animator.StringToHash(speedParamName); - velocityXHash = Animator.StringToHash(velocityXParamName); - velocityZHash = Animator.StringToHash(velocityZParamName); + AnimationHandler.Initialize(Anim); + Movement.Initialize(Controller); + Interaction.Initialize(Scanner); } private void Start() @@ -123,10 +92,6 @@ namespace OnlyScove.Scripts } } - void OnHealthChangedRender() => OnHealthChanged?.Invoke(Health); - void OnStaminaChangedRender() => OnStaminaChanged?.Invoke(Stamina); - void OnNoiseLevelChangedRender() => OnNoiseLevelChanged?.Invoke(NoiseLevel); - private void InitializePlayer() { if (currentState == null) SwitchState(new PlayerIdleState(this)); @@ -142,17 +107,15 @@ namespace OnlyScove.Scripts Cam.followTarget = transform; Cam.inputReader = Input; } - Input.OnNextInteractEvent += OnNextInteract; - Input.OnPreviousInteractEvent += OnPreviousInteract; + Input.OnNextInteractEvent += Interaction.NextInteract; + Input.OnPreviousInteractEvent += Interaction.PreviousInteract; if (Controller != null) Controller.enabled = true; } } public void Rotate(Vector3 moveDirection, float deltaTime) { - if (moveDirection == Vector3.zero) return; - Quaternion targetRot = Quaternion.LookRotation(moveDirection); - transform.rotation = Quaternion.RotateTowards(transform.rotation, targetRot, RotationSpeed * deltaTime); + Movement.Rotate(transform, moveDirection, deltaTime); } public void Move(Vector3 velocity, float animatorSpeed, float deltaTime) @@ -160,12 +123,8 @@ namespace OnlyScove.Scripts bool canMove = (Runner == null || !Runner.IsRunning) || Object.HasInputAuthority || Runner.IsServer; if (!canMove) return; - if (Controller != null && Controller.enabled) - { - Controller.Move(velocity * deltaTime); - if (Object != null && Runner != null && Runner.IsRunning) NetworkedPosition = transform.position; - } - + Movement.Move(Controller, velocity, deltaTime); + localAnimatorSpeed = animatorSpeed; if (Object != null && Object.HasStateAuthority) { @@ -177,13 +136,9 @@ namespace OnlyScove.Scripts private void UpdateAnimator(float deltaTime) { - if (Anim == null) return; float speedValue = (Runner == null || !Runner.IsRunning || Object.HasInputAuthority) ? localAnimatorSpeed : NetworkedSpeed; Vector2 inputVector = (Runner == null || !Runner.IsRunning || Object.HasInputAuthority) ? MoveInput : NetworkedMoveInput; - - if (hasSpeedParam) Anim.SetFloat(speedHash, speedValue, AnimationDamping, deltaTime); - if (hasVelocityXParam) Anim.SetFloat(velocityXHash, inputVector.x * speedValue, AnimationDamping, deltaTime); - if (hasVelocityZParam) Anim.SetFloat(velocityZHash, inputVector.y * speedValue, AnimationDamping, deltaTime); + AnimationHandler.UpdateAnimator(speedValue, inputVector, deltaTime); } public override void FixedUpdateNetwork() @@ -191,10 +146,11 @@ namespace OnlyScove.Scripts bool isRunning = Runner != null && Runner.IsRunning; if (Object == null && isRunning) return; - if (isRunning && NetworkedPosition != Vector3.zero && !Object.HasInputAuthority) + // Proxy Sync + if (isRunning && Movement.NetworkedPosition != Vector3.zero && !Object.HasInputAuthority) { Controller.enabled = false; - transform.position = NetworkedPosition; + transform.position = Movement.NetworkedPosition; Controller.enabled = true; } @@ -209,19 +165,13 @@ namespace OnlyScove.Scripts MoveInput = new Vector2(UnityEngine.Input.GetAxisRaw("Horizontal"), UnityEngine.Input.GetAxisRaw("Vertical")); IsSprintHeld = UnityEngine.Input.GetKey(KeyCode.LeftShift); } - else - { - MoveInput = Vector2.zero; - IsSprintHeld = false; - } if (!isRunning || Object.HasInputAuthority || Runner.IsServer) { if (hasControl) { - WasGrounded = IsGrounded; - CheckGround(); - UpdateInteractablesList(); + Movement.CheckGround(transform); + Interaction.UpdateInteractables(); currentState?.Tick(isRunning ? Runner.DeltaTime : Time.fixedDeltaTime); } } @@ -236,34 +186,8 @@ namespace OnlyScove.Scripts if (Runner == null || !Runner.IsRunning) FixedUpdateNetwork(); } - private void CheckGround() => IsGrounded = Physics.CheckSphere(transform.TransformPoint(GroundCheckOffset), GroundCheckRadius, GroundMask); - - private void UpdateInteractablesList() - { - interactablesNearby.Clear(); - IInteractable target = Scanner.ScanForInteractable(InteractionRange, InteractionMask); - if (target != null) interactablesNearby.Add(target); - OnInteractableTargetChanged?.Invoke(target); - currentInteractableIndex = 0; - } - - private void OnNextInteract() - { - if (interactablesNearby.Count <= 1) return; - currentInteractableIndex = (currentInteractableIndex + 1) % interactablesNearby.Count; - OnInteractableTargetChanged?.Invoke(GetInteractable()); - } - - private void OnPreviousInteract() - { - if (interactablesNearby.Count <= 1) return; - currentInteractableIndex = (currentInteractableIndex - 1 + interactablesNearby.Count) % interactablesNearby.Count; - OnInteractableTargetChanged?.Invoke(GetInteractable()); - } - - public IInteractable GetInteractable() => interactablesNearby.Count == 0 ? null : interactablesNearby[currentInteractableIndex]; - - public void SetGroundCheck(float radius, Vector3 offset) { GroundCheckRadius = radius; GroundCheckOffset = offset; } + public IInteractable GetInteractable() => Interaction.GetInteractable(); + public void SetGroundCheck(float radius, Vector3 offset) => Movement.SetGroundCheck(radius, offset); public void SwitchState(PlayerBaseState newState) { @@ -276,13 +200,14 @@ namespace OnlyScove.Scripts { hasControl = control; if (Controller != null) Controller.enabled = control; - if (!control && Anim != null) Anim.SetFloat(speedHash, 0f); + if (!control) AnimationHandler.SetSpeed(0f); } private void OnDrawGizmosSelected() { + if (Movement == null) return; Gizmos.color = new Color(0, 1, 0, 0.5f); - Gizmos.DrawSphere(transform.TransformPoint(GroundCheckOffset), GroundCheckRadius); + Gizmos.DrawSphere(transform.TransformPoint(Movement.GroundCheckOffset), Movement.GroundCheckRadius); } } } diff --git a/Assets/Scripts/Player Controller/PlayerStats.cs b/Assets/Scripts/Player Controller/PlayerStats.cs new file mode 100644 index 00000000..ae81db9b --- /dev/null +++ b/Assets/Scripts/Player Controller/PlayerStats.cs @@ -0,0 +1,58 @@ +using UnityEngine; +using Fusion; +using System; + +namespace OnlyScove.Scripts +{ + public class PlayerStats : NetworkBehaviour + { + [Header("Player Stats")] + [Networked, OnChangedRender(nameof(OnHealthChangedRender))] public float Health { get; set; } = 100f; + [Networked, OnChangedRender(nameof(OnStaminaChangedRender))] public float Stamina { get; set; } = 100f; + [Networked, OnChangedRender(nameof(OnNoiseLevelChangedRender))] public float NoiseLevel { get; set; } = 0f; + + public event Action OnHealthChanged; + public event Action OnStaminaChanged; + public event Action OnNoiseLevelChanged; + + public override void Spawned() + { + // Initial UI sync placeholder + UpdateUI(); + } + + void OnHealthChangedRender() + { + OnHealthChanged?.Invoke(Health); + if (Object.HasInputAuthority) + { + // UI Placeholder: Trigger Health UI Change + // Example: UI.UIEventBus.TriggerHealthChange(Health / 100f); + } + } + + void OnStaminaChangedRender() + { + OnStaminaChanged?.Invoke(Stamina); + if (Object.HasInputAuthority) + { + // UI Placeholder: Trigger Stamina UI Change + // Example: UI.UIEventBus.TriggerStaminaChange(Stamina / 100f); + } + } + + void OnNoiseLevelChangedRender() + { + OnNoiseLevelChanged?.Invoke(NoiseLevel); + } + + private void UpdateUI() + { + if (Object.HasInputAuthority) + { + OnHealthChangedRender(); + OnStaminaChangedRender(); + } + } + } +} diff --git a/Assets/Scripts/Player Controller/PlayerStats.cs.meta b/Assets/Scripts/Player Controller/PlayerStats.cs.meta new file mode 100644 index 00000000..d9ae7dc2 --- /dev/null +++ b/Assets/Scripts/Player Controller/PlayerStats.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: a1494b79b59fcdf4d9f7956dde31bc42 \ No newline at end of file diff --git a/Assets/Scripts/UI/BaseUIController.cs b/Assets/Scripts/UI/BaseUIController.cs new file mode 100644 index 00000000..ad14c5f4 --- /dev/null +++ b/Assets/Scripts/UI/BaseUIController.cs @@ -0,0 +1,55 @@ +using UnityEngine; +using UnityEngine.UIElements; +using PrimeTween; +using System.Threading.Tasks; + +namespace Hallucinate.UI +{ + public abstract class BaseUIController + { + protected VisualElement root; + protected UIManager uiManager; + + public virtual void Initialize(VisualElement uxmlRoot, UIManager manager) + { + root = uxmlRoot; + uiManager = manager; + + // Default to hidden + Hide(); + } + + public virtual void Show() + { + if (root != null) + root.style.display = DisplayStyle.Flex; + } + + public virtual void Hide() + { + if (root != null) + root.style.display = DisplayStyle.None; + } + + public virtual async Task PlayTransitionIn() + { + if (root == null) return; + + Show(); + // Fly-in from right using Custom tween for style.translate + root.style.translate = new StyleTranslate(new Translate(Length.Percent(100), 0)); + await Tween.Custom(100f, 0f, duration: 0.5f, ease: Ease.OutBack, + onValueChange: val => root.style.translate = new StyleTranslate(new Translate(Length.Percent(val), 0))); + } + + public virtual async Task PlayTransitionOut() + { + if (root == null) return; + + // Fly-out to left + await Tween.Custom(0f, -100f, duration: 0.5f, ease: Ease.InBack, + onValueChange: val => root.style.translate = new StyleTranslate(new Translate(Length.Percent(val), 0))); + Hide(); + } + } +} diff --git a/Assets/Scripts/UI/BaseUIController.cs.meta b/Assets/Scripts/UI/BaseUIController.cs.meta new file mode 100644 index 00000000..349e027d --- /dev/null +++ b/Assets/Scripts/UI/BaseUIController.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 872f8bfaee91588488a3393579135de9 \ No newline at end of file diff --git a/Assets/Scripts/UI/HUDController.cs b/Assets/Scripts/UI/HUDController.cs index f020b780..1dffb2e4 100644 --- a/Assets/Scripts/UI/HUDController.cs +++ b/Assets/Scripts/UI/HUDController.cs @@ -1,197 +1,80 @@ using UnityEngine; using UnityEngine.UIElements; -using OnlyScove.Scripts; -using System.Collections.Generic; -using UnityEngine.InputSystem; +using PrimeTween; +using System.Threading.Tasks; -namespace UI +namespace Hallucinate.UI { - public class HUDController : MonoBehaviour + public class HUDController : BaseUIController { - [Header("UI Document")] - public UIDocument hudDocument; + private VisualElement _topLeft; + private VisualElement _bottomLeft; + + private ProgressBar _healthBar; + private ProgressBar _staminaBar; + + private float _lastActionTime; + private const float FADE_TIMEOUT = 5.0f; + private bool _isFaded = false; - private VisualElement _healthFill; - private VisualElement _staminaFill; - private Label _healthText; - private VisualElement _interactionPrompt; - private Label _interactionLabel; - - private VisualElement _statsArea; - private VisualElement _inventoryArea; - private VisualElement _infoArea; - - private float _lastInputTime; - private bool _isHUDVisible = true; - public float autoHideDelay = 5f; - - private void OnEnable() + public override void Initialize(VisualElement uxmlRoot, UIManager manager) { - if (hudDocument == null) - hudDocument = GetComponent(); + base.Initialize(uxmlRoot, manager); - var root = hudDocument.rootVisualElement; + _topLeft = root.Q("TopLeft"); + _bottomLeft = root.Q("BottomLeft"); + _healthBar = root.Q("HealthBar"); + _staminaBar = root.Q("StaminaBar"); - _healthFill = root.Q("health-fill"); - _staminaFill = root.Q("stamina-fill"); - _healthText = root.Q