diff --git a/Assets/GAME/Prefabs/UI/SplashCanvas.prefab b/Assets/GAME/Prefabs/UI/SplashCanvas.prefab new file mode 100644 index 00000000..5383dbd9 --- /dev/null +++ b/Assets/GAME/Prefabs/UI/SplashCanvas.prefab @@ -0,0 +1,354 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1467519895388300042 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4530942015993292516} + - component: {fileID: 640685929507075600} + - component: {fileID: 8004279594609801697} + - component: {fileID: 6210998126118184323} + m_Layer: 5 + m_Name: RawImage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4530942015993292516 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1467519895388300042} + m_LocalRotation: {x: 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: 4330893296756181241} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &640685929507075600 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1467519895388300042} + m_CullTransparentMesh: 1 +--- !u!114 &8004279594609801697 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1467519895388300042} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.RawImage + 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_Texture: {fileID: 8400000, guid: fa5cab9dda2f0a44880e1720b84d1305, type: 2} + m_UVRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 +--- !u!328 &6210998126118184323 +VideoPlayer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1467519895388300042} + m_Enabled: 1 + m_VideoClip: {fileID: 32900000, guid: b934ac5a789301e43ac6f471a318cd3b, type: 3} + m_TargetCameraAlpha: 1 + m_TargetCamera3DLayout: 0 + m_TargetCamera: {fileID: 0} + m_TargetTexture: {fileID: 8400000, guid: fa5cab9dda2f0a44880e1720b84d1305, type: 2} + m_TimeReference: 0 + m_TargetMaterialRenderer: {fileID: 0} + m_TargetMaterialProperty: + m_RenderMode: 2 + m_AspectRatio: 2 + m_DataSource: 0 + m_TimeUpdateMode: 2 + m_PlaybackSpeed: 1 + m_AudioOutputMode: 2 + m_TargetAudioSources: [] + m_DirectAudioVolumes: [] + m_Url: + m_EnabledAudioTracks: + m_DirectAudioMutes: + m_ControlledAudioTrackCount: 0 + m_PlayOnAwake: 0 + m_SkipOnDrop: 1 + m_Looping: 0 + m_WaitForFirstFrame: 1 + m_FrameReadyEventEnabled: 0 + m_VideoShaders: [] +--- !u!1 &3154080954364521771 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 9193447597108539175} + - component: {fileID: 7588534362789153403} + - component: {fileID: 4709856196407652826} + m_Layer: 5 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &9193447597108539175 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3154080954364521771} + m_LocalRotation: {x: 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: 6956993613265752017} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &7588534362789153403 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3154080954364521771} + m_CullTransparentMesh: 1 +--- !u!114 &4709856196407652826 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3154080954364521771} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &3191702848673662068 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4330893296756181241} + m_Layer: 5 + m_Name: Spach Screen + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4330893296756181241 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3191702848673662068} + m_LocalRotation: {x: -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: + - {fileID: 4530942015993292516} + m_Father: {fileID: 6956993613265752017} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &8677966506035882811 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6956993613265752017} + - component: {fileID: 6133113902096782194} + - component: {fileID: 7806603601828432257} + - component: {fileID: 7021588227111962773} + - component: {fileID: 4438823835892580401} + - component: {fileID: 3061605827138363901} + m_Layer: 5 + m_Name: SplashCanvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6956993613265752017 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8677966506035882811} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 9193447597108539175} + - {fileID: 4330893296756181241} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!223 &6133113902096782194 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8677966506035882811} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_VertexColorAlwaysGammaSpace: 0 + m_AdditionalShaderChannelsFlag: 0 + m_UpdateRectTransformForStandalone: 0 + m_SortingLayerID: 0 + m_SortingOrder: 5000 + m_TargetDisplay: 0 +--- !u!114 &7806603601828432257 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8677966506035882811} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.CanvasScaler + m_UiScaleMode: 1 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 1920, y: 1080} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 +--- !u!114 &7021588227111962773 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8677966506035882811} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.GraphicRaycaster + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!225 &4438823835892580401 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8677966506035882811} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 +--- !u!114 &3061605827138363901 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8677966506035882811} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fa15413694b8834479471597e5ca825d, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::SplashScreenController + videoPlayer: {fileID: 6210998126118184323} + videoImage: {fileID: 8004279594609801697} + renderTexture: {fileID: 8400000, guid: fa5cab9dda2f0a44880e1720b84d1305, type: 2} + fadeOutDuration: 0.5 + fadeOutEase: 5 diff --git a/Assets/Resources/PerformanceTestRunInfo.json.meta b/Assets/GAME/Prefabs/UI/SplashCanvas.prefab.meta similarity index 62% rename from Assets/Resources/PerformanceTestRunInfo.json.meta rename to Assets/GAME/Prefabs/UI/SplashCanvas.prefab.meta index 3b2f5282..ba67b70a 100644 --- a/Assets/Resources/PerformanceTestRunInfo.json.meta +++ b/Assets/GAME/Prefabs/UI/SplashCanvas.prefab.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: 20292f7ac06f54c4ea68d8e953565f86 -TextScriptImporter: +guid: b0a7d152aef64334883a26c9c954d403 +PrefabImporter: externalObjects: {} userData: assetBundleName: diff --git a/Assets/GAME/Scenes/0_Init.unity b/Assets/GAME/Scenes/0_Init.unity index c68b1685..d8641b0f 100644 --- a/Assets/GAME/Scenes/0_Init.unity +++ b/Assets/GAME/Scenes/0_Init.unity @@ -144,6 +144,116 @@ GameObject: m_CorrespondingSourceObject: {fileID: 644616578240863000, guid: 3fb44d71f7c08954d8dcf499eea57508, type: 3} m_PrefabInstance: {fileID: 2017677970} m_PrefabAsset: {fileID: 0} +--- !u!1001 &932487654 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 3061605827138363901, guid: b0a7d152aef64334883a26c9c954d403, type: 3} + propertyPath: fadeOutDuration + value: 0.75 + objectReference: {fileID: 0} + - target: {fileID: 6133113902096782194, guid: b0a7d152aef64334883a26c9c954d403, type: 3} + propertyPath: m_SortingOrder + value: 32767 + objectReference: {fileID: 0} + - target: {fileID: 6956993613265752017, guid: b0a7d152aef64334883a26c9c954d403, type: 3} + propertyPath: m_Pivot.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6956993613265752017, guid: b0a7d152aef64334883a26c9c954d403, type: 3} + propertyPath: m_Pivot.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6956993613265752017, guid: b0a7d152aef64334883a26c9c954d403, type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6956993613265752017, guid: b0a7d152aef64334883a26c9c954d403, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6956993613265752017, guid: b0a7d152aef64334883a26c9c954d403, type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6956993613265752017, guid: b0a7d152aef64334883a26c9c954d403, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6956993613265752017, guid: b0a7d152aef64334883a26c9c954d403, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6956993613265752017, guid: b0a7d152aef64334883a26c9c954d403, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6956993613265752017, guid: b0a7d152aef64334883a26c9c954d403, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6956993613265752017, guid: b0a7d152aef64334883a26c9c954d403, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6956993613265752017, guid: b0a7d152aef64334883a26c9c954d403, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6956993613265752017, guid: b0a7d152aef64334883a26c9c954d403, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6956993613265752017, guid: b0a7d152aef64334883a26c9c954d403, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6956993613265752017, guid: b0a7d152aef64334883a26c9c954d403, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6956993613265752017, guid: b0a7d152aef64334883a26c9c954d403, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6956993613265752017, guid: b0a7d152aef64334883a26c9c954d403, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6956993613265752017, guid: b0a7d152aef64334883a26c9c954d403, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6956993613265752017, guid: b0a7d152aef64334883a26c9c954d403, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6956993613265752017, guid: b0a7d152aef64334883a26c9c954d403, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6956993613265752017, guid: b0a7d152aef64334883a26c9c954d403, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8677966506035882811, guid: b0a7d152aef64334883a26c9c954d403, type: 3} + propertyPath: m_Name + value: SplashCanvas + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: b0a7d152aef64334883a26c9c954d403, type: 3} +--- !u!1 &932487655 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 8677966506035882811, guid: b0a7d152aef64334883a26c9c954d403, type: 3} + m_PrefabInstance: {fileID: 932487654} + m_PrefabAsset: {fileID: 0} --- !u!1 &1431263253 GameObject: m_ObjectHideFlags: 11 @@ -200,6 +310,8 @@ MonoBehaviour: - _gameObject: {fileID: 461851942} _prefab: Assets/Plugins/Graphy - Ultimate Stats Monitor/Prefab/Internal/ADVANCED - Module.prefab + - _gameObject: {fileID: 932487655} + _prefab: Assets/GAME/Prefabs/UI/SplashCanvas.prefab --- !u!4 &1431263255 Transform: m_ObjectHideFlags: 11 @@ -215,6 +327,143 @@ Transform: m_Children: [] m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1655756636 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1655756640} + - component: {fileID: 1655756639} + - component: {fileID: 1655756638} + - component: {fileID: 1655756637} + m_Layer: 0 + m_Name: Camera + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1655756637 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1655756636} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Runtime::UnityEngine.Rendering.Universal.UniversalAdditionalCameraData + m_RenderShadows: 1 + m_RequiresDepthTextureOption: 2 + m_RequiresOpaqueTextureOption: 2 + m_CameraType: 0 + m_Cameras: [] + m_RendererIndex: -1 + m_VolumeLayerMask: + serializedVersion: 2 + m_Bits: 1 + m_VolumeTrigger: {fileID: 0} + m_VolumeFrameworkUpdateModeOption: 2 + m_RenderPostProcessing: 0 + m_Antialiasing: 0 + m_AntialiasingQuality: 2 + m_StopNaN: 0 + m_Dithering: 0 + m_ClearDepth: 1 + m_AllowXRRendering: 1 + m_AllowHDROutput: 1 + m_UseScreenCoordOverride: 0 + m_ScreenSizeOverride: {x: 0, y: 0, z: 0, w: 0} + m_ScreenCoordScaleBias: {x: 0, y: 0, z: 0, w: 0} + m_RequiresDepthTexture: 0 + m_RequiresColorTexture: 0 + m_TaaSettings: + m_Quality: 3 + m_FrameInfluence: 0.1 + m_JitterScale: 1 + m_MipBias: 0 + m_VarianceClampScale: 0.9 + m_ContrastAdaptiveSharpening: 0 + m_Version: 2 +--- !u!81 &1655756638 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1655756636} + m_Enabled: 1 +--- !u!20 &1655756639 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1655756636} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_Iso: 200 + m_ShutterSpeed: 0.005 + m_Aperture: 16 + m_FocusDistance: 10 + m_FocalLength: 50 + m_BladeCount: 5 + m_Curvature: {x: 2, y: 11} + m_BarrelClipping: 0.25 + m_Anamorphism: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &1655756640 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1655756636} + serializedVersion: 2 + m_LocalRotation: {x: 0.0056904936, y: -0.001941351, z: -0.00008342272, w: -0.99998194} + m_LocalPosition: {x: 1274.0485, y: 702.55, z: -1533.1309} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1001 &2017677970 PrefabInstance: m_ObjectHideFlags: 0 @@ -227,6 +476,30 @@ PrefabInstance: propertyPath: m_Name value: Init_Manager objectReference: {fileID: 0} + - target: {fileID: 3491771655488537520, guid: 3fb44d71f7c08954d8dcf499eea57508, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3491771655488537520, guid: 3fb44d71f7c08954d8dcf499eea57508, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3491771655488537520, guid: 3fb44d71f7c08954d8dcf499eea57508, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3491771655488537520, guid: 3fb44d71f7c08954d8dcf499eea57508, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3491771655488537520, guid: 3fb44d71f7c08954d8dcf499eea57508, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3491771655488537520, guid: 3fb44d71f7c08954d8dcf499eea57508, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} - target: {fileID: 3491771655488540520, guid: 3fb44d71f7c08954d8dcf499eea57508, type: 3} propertyPath: m_AnchorMax.x value: 0 @@ -239,6 +512,114 @@ PrefabInstance: propertyPath: m_AnchorMin.y value: 0 objectReference: {fileID: 0} + - target: {fileID: 3491771655488576394, guid: 3fb44d71f7c08954d8dcf499eea57508, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3491771655488576394, guid: 3fb44d71f7c08954d8dcf499eea57508, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3491771655488576394, guid: 3fb44d71f7c08954d8dcf499eea57508, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3491771655488576394, guid: 3fb44d71f7c08954d8dcf499eea57508, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3491771655488576394, guid: 3fb44d71f7c08954d8dcf499eea57508, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3491771655488576394, guid: 3fb44d71f7c08954d8dcf499eea57508, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3491771655488595880, guid: 3fb44d71f7c08954d8dcf499eea57508, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3491771655488595880, guid: 3fb44d71f7c08954d8dcf499eea57508, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3491771655488595880, guid: 3fb44d71f7c08954d8dcf499eea57508, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3491771655488595880, guid: 3fb44d71f7c08954d8dcf499eea57508, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3491771655488595880, guid: 3fb44d71f7c08954d8dcf499eea57508, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3491771655488595880, guid: 3fb44d71f7c08954d8dcf499eea57508, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3491771655488608470, guid: 3fb44d71f7c08954d8dcf499eea57508, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3491771655488608470, guid: 3fb44d71f7c08954d8dcf499eea57508, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3491771655488608470, guid: 3fb44d71f7c08954d8dcf499eea57508, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3491771655488608470, guid: 3fb44d71f7c08954d8dcf499eea57508, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3491771655488608470, guid: 3fb44d71f7c08954d8dcf499eea57508, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3491771655488608470, guid: 3fb44d71f7c08954d8dcf499eea57508, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3491771655488612060, guid: 3fb44d71f7c08954d8dcf499eea57508, type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3491771655488612060, guid: 3fb44d71f7c08954d8dcf499eea57508, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3491771655488612060, guid: 3fb44d71f7c08954d8dcf499eea57508, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3491771655488634692, guid: 3fb44d71f7c08954d8dcf499eea57508, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3491771655488634692, guid: 3fb44d71f7c08954d8dcf499eea57508, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3491771655488634692, guid: 3fb44d71f7c08954d8dcf499eea57508, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3491771655488634692, guid: 3fb44d71f7c08954d8dcf499eea57508, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3491771655488634692, guid: 3fb44d71f7c08954d8dcf499eea57508, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3491771655488634692, guid: 3fb44d71f7c08954d8dcf499eea57508, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} - target: {fileID: 3491771655488794738, guid: 3fb44d71f7c08954d8dcf499eea57508, type: 3} propertyPath: m_AnchoredPosition.y value: 0.000034332275 @@ -251,6 +632,66 @@ PrefabInstance: propertyPath: m_Value value: 1 objectReference: {fileID: 0} + - target: {fileID: 3491771655516389002, guid: 3fb44d71f7c08954d8dcf499eea57508, type: 3} + propertyPath: startMinimized + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3491771655516389002, guid: 3fb44d71f7c08954d8dcf499eea57508, type: 3} + propertyPath: popupVisibility + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 3491771655516389002, guid: 3fb44d71f7c08954d8dcf499eea57508, type: 3} + propertyPath: avoidScreenCutout + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3705127471182616160, guid: 3fb44d71f7c08954d8dcf499eea57508, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3705127471182616160, guid: 3fb44d71f7c08954d8dcf499eea57508, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3705127471182616160, guid: 3fb44d71f7c08954d8dcf499eea57508, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3705127471182616160, guid: 3fb44d71f7c08954d8dcf499eea57508, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3705127471182616160, guid: 3fb44d71f7c08954d8dcf499eea57508, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3705127471182616160, guid: 3fb44d71f7c08954d8dcf499eea57508, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3705224969354217102, guid: 3fb44d71f7c08954d8dcf499eea57508, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3705224969354217102, guid: 3fb44d71f7c08954d8dcf499eea57508, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3705224969354217102, guid: 3fb44d71f7c08954d8dcf499eea57508, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3705224969354217102, guid: 3fb44d71f7c08954d8dcf499eea57508, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3705224969354217102, guid: 3fb44d71f7c08954d8dcf499eea57508, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3705224969354217102, guid: 3fb44d71f7c08954d8dcf499eea57508, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} - target: {fileID: 4965406541838574643, guid: 3fb44d71f7c08954d8dcf499eea57508, type: 3} propertyPath: m_LocalPosition.x value: 0 @@ -291,8 +732,10 @@ PrefabInstance: propertyPath: m_LocalEulerAnglesHint.z value: 0 objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] + m_RemovedComponents: + - {fileID: 3491771655516414816, guid: 3fb44d71f7c08954d8dcf499eea57508, type: 3} + m_RemovedGameObjects: + - {fileID: 3491771655510529102, guid: 3fb44d71f7c08954d8dcf499eea57508, type: 3} m_AddedGameObjects: [] m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 3fb44d71f7c08954d8dcf499eea57508, type: 3} @@ -332,3 +775,5 @@ SceneRoots: m_Roots: - {fileID: 1431263255} - {fileID: 2017677970} + - {fileID: 932487654} + - {fileID: 1655756640} diff --git a/Assets/GAME/Scenes/MenuScene.unity b/Assets/GAME/Scenes/MenuScene.unity index d7cbb8ad..bf9c7c35 100644 --- a/Assets/GAME/Scenes/MenuScene.unity +++ b/Assets/GAME/Scenes/MenuScene.unity @@ -44743,113 +44743,6 @@ GameObject: m_CorrespondingSourceObject: {fileID: 1943840481686832250, guid: b624eb0dda237994d8d9b91e71be14ea, type: 3} m_PrefabInstance: {fileID: 1517619341} m_PrefabAsset: {fileID: 0} ---- !u!1 &254786487 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 254786488} - - component: {fileID: 254786490} - - component: {fileID: 254786489} - - component: {fileID: 254786491} - m_Layer: 5 - m_Name: RawImage - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &254786488 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 254786487} - m_LocalRotation: {x: 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: 1317925562} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &254786489 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 254786487} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} - m_Name: - m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.RawImage - 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_Texture: {fileID: 8400000, guid: fa5cab9dda2f0a44880e1720b84d1305, type: 2} - m_UVRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 ---- !u!222 &254786490 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 254786487} - m_CullTransparentMesh: 1 ---- !u!328 &254786491 -VideoPlayer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 254786487} - m_Enabled: 1 - m_VideoClip: {fileID: 32900000, guid: b934ac5a789301e43ac6f471a318cd3b, type: 3} - m_TargetCameraAlpha: 1 - m_TargetCamera3DLayout: 0 - m_TargetCamera: {fileID: 0} - m_TargetTexture: {fileID: 8400000, guid: fa5cab9dda2f0a44880e1720b84d1305, type: 2} - m_TimeReference: 0 - m_TargetMaterialRenderer: {fileID: 0} - m_TargetMaterialProperty: - m_RenderMode: 2 - m_AspectRatio: 2 - m_DataSource: 0 - m_TimeUpdateMode: 2 - m_PlaybackSpeed: 1 - m_AudioOutputMode: 2 - m_TargetAudioSources: [] - m_DirectAudioVolumes: [] - m_Url: - m_EnabledAudioTracks: - m_DirectAudioMutes: - m_ControlledAudioTrackCount: 0 - m_PlayOnAwake: 0 - m_SkipOnDrop: 1 - m_Looping: 0 - m_WaitForFirstFrame: 1 - m_FrameReadyEventEnabled: 0 - m_VideoShaders: [] --- !u!1001 &254800006 PrefabInstance: m_ObjectHideFlags: 0 @@ -90512,7 +90405,6 @@ RectTransform: - {fileID: 975457364} - {fileID: 177589890} - {fileID: 1000816234} - - {fileID: 1888798132} - {fileID: 231042140} - {fileID: 97763626} m_Father: {fileID: 1036516496} @@ -133226,81 +133118,6 @@ GameObject: m_CorrespondingSourceObject: {fileID: 3552718611955523198, guid: 56f986943fa82864394e61d72414fd0a, type: 3} m_PrefabInstance: {fileID: 463224892} m_PrefabAsset: {fileID: 0} ---- !u!1 &769435689 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 769435690} - - component: {fileID: 769435692} - - component: {fileID: 769435691} - m_Layer: 5 - m_Name: Image - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &769435690 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 769435689} - m_LocalRotation: {x: 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: 1082966175} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &769435691 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 769435689} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image - m_Material: {fileID: 0} - m_Color: {r: 0, g: 0, b: 0, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 0} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 ---- !u!222 &769435692 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 769435689} - m_CullTransparentMesh: 1 --- !u!1001 &769877267 PrefabInstance: m_ObjectHideFlags: 0 @@ -136239,7 +136056,6 @@ MonoBehaviour: - {fileID: 975457365} - {fileID: 177589891} - {fileID: 1000816235} - - {fileID: 1888798133} - {fileID: 231042141} defaultPanel: {fileID: 1270833944} escapeFallbackPanel: {fileID: 0} @@ -175594,7 +175410,6 @@ Transform: m_ConstrainProportionsScale: 0 m_Children: - {fileID: 527371216} - - {fileID: 1082966175} - {fileID: 1978709205} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -184515,140 +184330,6 @@ GameObject: m_CorrespondingSourceObject: {fileID: 31030231758592610, guid: 73362c9b46a5b1d47a67e05320cbf324, type: 3} m_PrefabInstance: {fileID: 479434487} m_PrefabAsset: {fileID: 0} ---- !u!1 &1082966171 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1082966175} - - component: {fileID: 1082966174} - - component: {fileID: 1082966173} - - component: {fileID: 1082966172} - - component: {fileID: 1082966177} - - component: {fileID: 1082966176} - m_Layer: 5 - m_Name: SplashCanvas - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 0 ---- !u!114 &1082966172 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1082966171} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} - m_Name: - m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.GraphicRaycaster - m_IgnoreReversedGraphics: 1 - m_BlockingObjects: 0 - m_BlockingMask: - serializedVersion: 2 - m_Bits: 4294967295 ---- !u!114 &1082966173 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1082966171} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} - m_Name: - m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.CanvasScaler - m_UiScaleMode: 1 - m_ReferencePixelsPerUnit: 100 - m_ScaleFactor: 1 - m_ReferenceResolution: {x: 1920, y: 1080} - m_ScreenMatchMode: 0 - m_MatchWidthOrHeight: 0 - m_PhysicalUnit: 3 - m_FallbackScreenDPI: 96 - m_DefaultSpriteDPI: 96 - m_DynamicPixelsPerUnit: 1 - m_PresetInfoIsWorld: 0 ---- !u!223 &1082966174 -Canvas: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1082966171} - m_Enabled: 1 - serializedVersion: 3 - m_RenderMode: 0 - m_Camera: {fileID: 0} - m_PlaneDistance: 100 - m_PixelPerfect: 0 - m_ReceivesEvents: 1 - m_OverrideSorting: 0 - m_OverridePixelPerfect: 0 - m_SortingBucketNormalizedSize: 0 - m_VertexColorAlwaysGammaSpace: 0 - m_AdditionalShaderChannelsFlag: 0 - m_UpdateRectTransformForStandalone: 0 - m_SortingLayerID: 0 - m_SortingOrder: 5000 - m_TargetDisplay: 0 ---- !u!224 &1082966175 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1082966171} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 0, y: 0, z: 0} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 769435690} - - {fileID: 1317925562} - m_Father: {fileID: 1036516496} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0, y: 0} ---- !u!114 &1082966176 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1082966171} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fa15413694b8834479471597e5ca825d, type: 3} - m_Name: - m_EditorClassIdentifier: Assembly-CSharp::SplashScreenController - videoPlayer: {fileID: 254786491} - videoImage: {fileID: 254786489} - renderTexture: {fileID: 8400000, guid: fa5cab9dda2f0a44880e1720b84d1305, type: 2} - fadeOutDuration: 0.5 - fadeOutEase: 5 ---- !u!225 &1082966177 -CanvasGroup: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1082966171} - m_Enabled: 1 - m_Alpha: 1 - m_Interactable: 1 - m_BlocksRaycasts: 1 - m_IgnoreParentGroups: 0 --- !u!1001 &1082984588 PrefabInstance: m_ObjectHideFlags: 0 @@ -200886,7 +200567,6 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: - - {fileID: 1864310051} - {fileID: 788705990} - {fileID: 47787598} - {fileID: 1781598443} @@ -221037,42 +220717,6 @@ GameObject: m_CorrespondingSourceObject: {fileID: 1865462917792640134, guid: 3509cc298abc88947a6039b32df1582e, type: 3} m_PrefabInstance: {fileID: 1069808220} m_PrefabAsset: {fileID: 0} ---- !u!1 &1317925561 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1317925562} - m_Layer: 5 - m_Name: Spach Screen - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1317925562 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1317925561} - m_LocalRotation: {x: -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: - - {fileID: 254786488} - m_Father: {fileID: 1082966175} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} --- !u!1001 &1318081467 PrefabInstance: m_ObjectHideFlags: 0 @@ -257908,6 +257552,85 @@ GameObject: m_CorrespondingSourceObject: {fileID: 31030231758592610, guid: 73362c9b46a5b1d47a67e05320cbf324, type: 3} m_PrefabInstance: {fileID: 465916992} m_PrefabAsset: {fileID: 0} +--- !u!1 &1471463644 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1471463647} + - component: {fileID: 1471463646} + - component: {fileID: 1471463645} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1471463645 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1471463644} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 01614664b831546d2ae94a42149d80ac, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.InputSystem::UnityEngine.InputSystem.UI.InputSystemUIInputModule + m_SendPointerHoverToParent: 1 + m_MoveRepeatDelay: 0.5 + m_MoveRepeatRate: 0.1 + m_XRTrackingOrigin: {fileID: 0} + m_ActionsAsset: {fileID: -944628639613478452, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3} + m_PointAction: {fileID: -1654692200621890270, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3} + m_MoveAction: {fileID: -8784545083839296357, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3} + m_SubmitAction: {fileID: 392368643174621059, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3} + m_CancelAction: {fileID: 7727032971491509709, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3} + m_LeftClickAction: {fileID: 3001919216989983466, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3} + m_MiddleClickAction: {fileID: -2185481485913320682, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3} + m_RightClickAction: {fileID: -4090225696740746782, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3} + m_ScrollWheelAction: {fileID: 6240969308177333660, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3} + m_TrackedDevicePositionAction: {fileID: 6564999863303420839, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3} + m_TrackedDeviceOrientationAction: {fileID: 7970375526676320489, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3} + m_DeselectOnBackgroundClick: 1 + m_PointerBehavior: 0 + m_CursorLockBehavior: 0 + m_ScrollDeltaPerTick: 6 +--- !u!114 &1471463646 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1471463644} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.EventSystems.EventSystem + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 10 +--- !u!4 &1471463647 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1471463644} + 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: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1471483972 stripped GameObject: m_CorrespondingSourceObject: {fileID: 3608565221961673181, guid: ed38accba62b7c94184fc0834de42aa7, type: 3} @@ -325229,85 +324952,6 @@ Transform: m_Children: [] m_Father: {fileID: 114002040} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1864310048 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1864310051} - - component: {fileID: 1864310050} - - component: {fileID: 1864310049} - m_Layer: 0 - m_Name: EventSystem - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &1864310049 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1864310048} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 01614664b831546d2ae94a42149d80ac, type: 3} - m_Name: - m_EditorClassIdentifier: Unity.InputSystem::UnityEngine.InputSystem.UI.InputSystemUIInputModule - m_SendPointerHoverToParent: 1 - m_MoveRepeatDelay: 0.5 - m_MoveRepeatRate: 0.1 - m_XRTrackingOrigin: {fileID: 0} - m_ActionsAsset: {fileID: -944628639613478452, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3} - m_PointAction: {fileID: -1654692200621890270, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3} - m_MoveAction: {fileID: -8784545083839296357, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3} - m_SubmitAction: {fileID: 392368643174621059, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3} - m_CancelAction: {fileID: 7727032971491509709, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3} - m_LeftClickAction: {fileID: 3001919216989983466, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3} - m_MiddleClickAction: {fileID: -2185481485913320682, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3} - m_RightClickAction: {fileID: -4090225696740746782, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3} - m_ScrollWheelAction: {fileID: 6240969308177333660, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3} - m_TrackedDevicePositionAction: {fileID: 6564999863303420839, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3} - m_TrackedDeviceOrientationAction: {fileID: 7970375526676320489, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3} - m_DeselectOnBackgroundClick: 1 - m_PointerBehavior: 0 - m_CursorLockBehavior: 0 - m_ScrollDeltaPerTick: 6 ---- !u!114 &1864310050 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1864310048} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} - m_Name: - m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.EventSystems.EventSystem - m_FirstSelected: {fileID: 0} - m_sendNavigationEvents: 1 - m_DragThreshold: 10 ---- !u!4 &1864310051 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1864310048} - serializedVersion: 2 - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -49.00837, y: 0, z: -48.92608} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1190823797} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1864385754 stripped GameObject: m_CorrespondingSourceObject: {fileID: 7848062430336066766, guid: 72699399f6de5954aa85fd6e6fe905fe, type: 3} @@ -328835,73 +328479,6 @@ GameObject: m_CorrespondingSourceObject: {fileID: 3608565221961673181, guid: ed38accba62b7c94184fc0834de42aa7, type: 3} m_PrefabInstance: {fileID: 1189315893} m_PrefabAsset: {fileID: 0} ---- !u!1 &1888798131 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1888798132} - - component: {fileID: 1888798134} - - component: {fileID: 1888798133} - m_Layer: 5 - m_Name: 'CreditsPanel ' - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1888798132 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1888798131} - m_LocalRotation: {x: 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: 527371216} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 100, y: 100} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &1888798133 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1888798131} - m_Enabled: 0 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 657a2ad4cbef2c741bb6ef740874225b, type: 3} - m_Name: - m_EditorClassIdentifier: Assembly-CSharp::CreditsPanel - showDuration: 0.25 - hideDuration: 0.15 - showEase: 27 - hideEase: 5 - showScaleFrom: 0.9 - backButton: {fileID: 0} ---- !u!225 &1888798134 -CanvasGroup: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1888798131} - m_Enabled: 1 - m_Alpha: 1 - m_Interactable: 1 - m_BlocksRaycasts: 0 - m_IgnoreParentGroups: 0 --- !u!1 &1888958765 stripped GameObject: m_CorrespondingSourceObject: {fileID: 3552718611955523198, guid: 56f986943fa82864394e61d72414fd0a, type: 3} @@ -343604,7 +343181,7 @@ Canvas: m_AdditionalShaderChannelsFlag: 25 m_UpdateRectTransformForStandalone: 0 m_SortingLayerID: 0 - m_SortingOrder: 0 + m_SortingOrder: 8000 m_TargetDisplay: 0 --- !u!114 &1978709209 MonoBehaviour: @@ -343625,6 +343202,7 @@ MonoBehaviour: fadeInEase: 6 fadeOutEase: 5 minimumDisplayTime: 1.5 + settleDelay: 0.75 quoteDuration: 4 quoteFadeDuration: 0.4 --- !u!225 &1978709210 @@ -371860,3 +371438,4 @@ SceneRoots: - {fileID: 1036516496} - {fileID: 114002040} - {fileID: 1373238770} + - {fileID: 1471463647} diff --git a/Assets/GAME/Scenes/TestScene.unity b/Assets/GAME/Scenes/TestScene.unity index e28c7354..c348a6f2 100644 Binary files a/Assets/GAME/Scenes/TestScene.unity and b/Assets/GAME/Scenes/TestScene.unity differ diff --git a/Assets/GAME/Script/Network/NetworkSessionManager.cs b/Assets/GAME/Script/Network/NetworkSessionManager.cs index cedcdbeb..57904c39 100644 --- a/Assets/GAME/Script/Network/NetworkSessionManager.cs +++ b/Assets/GAME/Script/Network/NetworkSessionManager.cs @@ -1,3 +1,4 @@ +using System.Collections; using System.Collections.Generic; using FishNet; using FishNet.Connection; @@ -29,6 +30,10 @@ namespace Ashwild.Network [Tooltip("The single source of truth for the gameplay scene loaded over the network.")] [SerializeField] private string gameSceneName = "TestScene"; + [Tooltip("Max seconds to wait for the loading curtain to fully fade in before loading the game " + + "scene anyway. Safety net so a missing/disabled LoadingScreen can never soft-lock the host.")] + [SerializeField] private float curtainWaitTimeout = 3f; + [Header("Player")] [Tooltip("The networked player prefab (NetworkObject + PlayerNetworkController).")] [SerializeField] private NetworkObject playerPrefab; @@ -61,6 +66,12 @@ namespace Ashwild.Network /// private bool pendingSceneLoad; + /// + /// Set once the loading curtain has fully faded in; gates the heavy game scene load so the + /// activation freeze happens behind an opaque curtain. Reset at the start of every host launch. + /// + private bool curtainShown; + /// /// Round-robin cursor over the available spawn points. /// @@ -107,6 +118,7 @@ namespace Ashwild.Network networkManager.ServerManager.OnRemoteConnectionState += HandleRemoteState; networkManager.ClientManager.OnClientConnectionState += HandleClientState; networkManager.SceneManager.OnClientPresenceChangeEnd += HandleClientPresenceEnd; + PlayerEvents.LoadingCurtainShown += HandleLoadingCurtainShown; } /// @@ -120,6 +132,7 @@ namespace Ashwild.Network networkManager.ServerManager.OnRemoteConnectionState -= HandleRemoteState; networkManager.ClientManager.OnClientConnectionState -= HandleClientState; networkManager.SceneManager.OnClientPresenceChangeEnd -= HandleClientPresenceEnd; + PlayerEvents.LoadingCurtainShown -= HandleLoadingCurtainShown; } /// @@ -151,6 +164,7 @@ namespace Ashwild.Network PlayerEvents.RaiseSessionStarting(); Log("Starting host (server + client) over Steam…"); + curtainShown = false; pendingSceneLoad = true; bool serverOk = networkManager.ServerManager.StartConnection(); @@ -215,6 +229,26 @@ namespace Ashwild.Network if (networkManager.ServerManager.Started) networkManager.ServerManager.StopConnection(true); } + /// + /// Leaves the current session and returns to the menu scene behind the loading curtain. Mirrors + /// the host launch: it raises the curtain, waits for it to fully fade in (so the menu-load freeze + /// is hidden), tears the session down, loads the menu, then signals MenuReady to drop the curtain. + /// Orchestrated here — not on the per-scene GameUIManager — because this object persists across + /// the scene swap while the caller is destroyed by the load. + /// + public void ReturnToMenu(string menuSceneName) + { + if (string.IsNullOrWhiteSpace(menuSceneName)) + { + Debug.LogError("[NetworkSession] ReturnToMenu called with no menu scene name.", this); + return; + } + + PlayerEvents.RaiseReturningToMenu(); + curtainShown = false; + StartCoroutine(ReturnToMenuRoutine(menuSceneName)); + } + #endregion #region Connection Handlers @@ -235,7 +269,7 @@ namespace Ashwild.Network if (pendingSceneLoad) { pendingSceneLoad = false; - LoadGameSceneNetworked(); + StartCoroutine(LoadGameSceneWhenCurtainShown()); } } else if (args.ConnectionState == LocalConnectionState.Stopped) @@ -268,6 +302,12 @@ namespace Ashwild.Network } } + /// + /// The loading curtain finished fading in — release the gate so the deferred game scene + /// load can proceed (see ). + /// + private void HandleLoadingCurtainShown() => curtainShown = true; + /// /// A *remote* client connected to or disconnected from our server; updates the count. /// @@ -343,6 +383,53 @@ namespace Ashwild.Network #region Internal Helpers + /// + /// Defers the heavy networked scene load until the loading curtain has fully faded in + /// (PlayerEvents.LoadingCurtainShown), so the unavoidable activation freeze of a big scene + /// happens behind an already-opaque curtain instead of stalling the frame the curtain was + /// meant to appear on. Falls back to loading anyway after so + /// a missing or disabled LoadingScreen can never soft-lock the host. Runs on unscaled time. + /// + private IEnumerator LoadGameSceneWhenCurtainShown() + { + float start = Time.unscaledTime; + while (!curtainShown && Time.unscaledTime - start < curtainWaitTimeout) + yield return null; + + if (!curtainShown) + Log($"Loading curtain not reported within {curtainWaitTimeout}s — loading scene anyway."); + + LoadGameSceneNetworked(); + } + + /// + /// Waits for the curtain to fully fade in (or the timeout), tears the session down, loads the + /// menu scene locally (Single — the persistent NetworkManager survives), then raises MenuReady + /// so the curtain drops once the menu is up. Runs on the persistent NetworkManager object so it + /// outlives the game scene being unloaded. Uses unscaled time. + /// + private IEnumerator ReturnToMenuRoutine(string menuSceneName) + { + float start = Time.unscaledTime; + while (!curtainShown && Time.unscaledTime - start < curtainWaitTimeout) + yield return null; + + StopSession(); + + AsyncOperation op = UnityEngine.SceneManagement.SceneManager.LoadSceneAsync(menuSceneName, LoadSceneMode.Single); + if (op != null) + { + while (!op.isDone) + yield return null; + } + else + { + Debug.LogError($"[NetworkSession] Could not load menu scene '{menuSceneName}' — is it in Build Settings?", this); + } + + PlayerEvents.RaiseMenuReady(); + } + /// /// Loads the gameplay scene as a global networked scene, replacing the menu. /// diff --git a/Assets/GAME/Script/Player/Events/PlayerEvents.cs b/Assets/GAME/Script/Player/Events/PlayerEvents.cs index fcbf96d9..484d1005 100644 --- a/Assets/GAME/Script/Player/Events/PlayerEvents.cs +++ b/Assets/GAME/Script/Player/Events/PlayerEvents.cs @@ -150,6 +150,9 @@ namespace Ashwild.Player public static event Action SessionError; // human-readable failure reason public static event Action RemotePlayerCountChanged; // number of *other* connected clients public static event Action LocalPlayerSpawned; // the local owned player NetworkObject is ready + public static event Action LoadingCurtainShown; // loading curtain finished fading in — safe to start the heavy scene load behind it + public static event Action ReturningToMenu; // leaving the session back to the menu — raise the curtain over the swap + public static event Action MenuReady; // the menu scene has finished loading — lower the curtain public static event Action InviteReceived; // inviter SteamID64, inviter name, connect code // ============================================================ @@ -330,6 +333,9 @@ namespace Ashwild.Player public static void RaiseSessionError(string reason) { Log(nameof(SessionError)); SessionError?.Invoke(reason); } public static void RaiseRemotePlayerCountChanged(int count) { Log(nameof(RemotePlayerCountChanged)); RemotePlayerCountChanged?.Invoke(count); } public static void RaiseLocalPlayerSpawned() { Log(nameof(LocalPlayerSpawned)); LocalPlayerSpawned?.Invoke(); } + public static void RaiseLoadingCurtainShown() { Log(nameof(LoadingCurtainShown)); LoadingCurtainShown?.Invoke(); } + public static void RaiseReturningToMenu() { Log(nameof(ReturningToMenu)); ReturningToMenu?.Invoke(); } + public static void RaiseMenuReady() { Log(nameof(MenuReady)); MenuReady?.Invoke(); } /// /// A friend invited the local player to their session (delivered by Steam). Carries the diff --git a/Assets/GAME/Script/UI/GameUIManager.cs b/Assets/GAME/Script/UI/GameUIManager.cs index b437e4aa..3c67a64d 100644 --- a/Assets/GAME/Script/UI/GameUIManager.cs +++ b/Assets/GAME/Script/UI/GameUIManager.cs @@ -147,13 +147,19 @@ namespace Ashwild.UI } /// - /// Leaves the session and returns to the main menu scene. + /// Leaves the session and returns to the main menu scene behind the loading curtain. The + /// transition is owned by the persistent NetworkSessionManager (it survives the scene swap, + /// this manager does not); falls back to a direct, uncovered load only if it is missing. /// public void QuitToMenu() { if (NetworkSessionManager.Instance != null) - NetworkSessionManager.Instance.StopSession(); + { + NetworkSessionManager.Instance.ReturnToMenu(menuSceneName); + return; + } + Debug.LogWarning("[GameUIManager] NetworkSessionManager missing — loading menu directly without the loading curtain.", this); SceneManager.LoadScene(menuSceneName); } diff --git a/Assets/GAME/Script/UI/LoadingScreen.cs b/Assets/GAME/Script/UI/LoadingScreen.cs index 45f3761a..a32ec88c 100644 --- a/Assets/GAME/Script/UI/LoadingScreen.cs +++ b/Assets/GAME/Script/UI/LoadingScreen.cs @@ -15,9 +15,11 @@ namespace Ashwild.UI /// switch behind a quote-cycling curtain. /// /// Place it on its own high-sorting-order Canvas in the menu scene (mirror SplashScreenController). - /// It is driven entirely by the PlayerEvents bus: SessionStarting/SessionJoining raise it, - /// LocalPlayerSpawned lowers it, and SessionError/SessionStopped lower it as a safety net so a - /// failed host never leaves the player stuck behind the curtain. + /// It is driven entirely by the PlayerEvents bus: SessionStarting/SessionJoining raise it for the + /// menu→game transition (lowered by LocalPlayerSpawned), and ReturningToMenu raises it for the + /// game→menu transition (lowered by MenuReady once the menu has loaded). SessionError lowers it as + /// a safety net so a failed host never leaves the player stuck behind the curtain; SessionStopped + /// does the same except while a return-to-menu is in flight, where that teardown event is expected. /// [DisallowMultipleComponent] [RequireComponent(typeof(CanvasGroup))] @@ -41,6 +43,12 @@ namespace Ashwild.UI [Tooltip("Minimum time the curtain stays up once raised, so an instant load doesn't flash.")] [SerializeField] private float minimumDisplayTime = 1.5f; + [Tooltip("Extra time the curtain holds after the ready signal (player spawned / menu loaded) " + + "before fading out, so the scene's first heavy frames (object pop-in, shader warmup) " + + "settle behind it instead of stuttering on screen. Stacks as the max with the " + + "remaining minimum display time.")] + [SerializeField] private float settleDelay = 0.75f; + [Header("Quote Cycling")] [Tooltip("How long each quote stays on screen before swapping to the next.")] [SerializeField] private float quoteDuration = 4f; @@ -68,6 +76,13 @@ namespace Ashwild.UI /// private float shownAt; + /// + /// True while the curtain is covering a return-to-menu transition. SessionStopped fires during + /// that teardown, so this flag tells the curtain to ignore it and wait for MenuReady instead — + /// otherwise the curtain would drop the instant the session stopped, before the menu has loaded. + /// + private bool awaitingMenu; + /// /// Index of the quote currently displayed, so the next pick can avoid repeating it. /// @@ -82,6 +97,12 @@ namespace Ashwild.UI /// /// Enforces the singleton, persists across the menu→game scene swap, and starts hidden. + /// + /// Detaches to a root object before : that call is a + /// no-op on a child, so a nested curtain would be destroyed the moment FishNet unloads the menu + /// (ReplaceOption.All) — leaving the load uncovered and, later, no curtain at all to raise on + /// the return to menu. Promoting it here keeps the scene authoring free to nest it under a + /// layout object while still guaranteeing it survives every scene swap. /// private void Awake() { @@ -91,6 +112,7 @@ namespace Ashwild.UI return; } instance = this; + transform.SetParent(null, false); DontDestroyOnLoad(gameObject); canvasGroup = GetComponent(); @@ -107,6 +129,8 @@ namespace Ashwild.UI PlayerEvents.SessionStarting += HandleSessionBeginning; PlayerEvents.SessionJoining += HandleSessionJoining; PlayerEvents.LocalPlayerSpawned += HandleLocalPlayerSpawned; + PlayerEvents.ReturningToMenu += HandleReturningToMenu; + PlayerEvents.MenuReady += HandleMenuReady; PlayerEvents.SessionError += HandleSessionError; PlayerEvents.SessionStopped += HandleSessionStopped; } @@ -119,6 +143,8 @@ namespace Ashwild.UI PlayerEvents.SessionStarting -= HandleSessionBeginning; PlayerEvents.SessionJoining -= HandleSessionJoining; PlayerEvents.LocalPlayerSpawned -= HandleLocalPlayerSpawned; + PlayerEvents.ReturningToMenu -= HandleReturningToMenu; + PlayerEvents.MenuReady -= HandleMenuReady; PlayerEvents.SessionError -= HandleSessionError; PlayerEvents.SessionStopped -= HandleSessionStopped; } @@ -140,12 +166,30 @@ namespace Ashwild.UI /// /// Raises the curtain when the local player starts hosting a session. /// - private void HandleSessionBeginning() => Show(); + private void HandleSessionBeginning() + { + awaitingMenu = false; + Show(); + } /// /// Raises the curtain when the local player begins joining a remote session. /// - private void HandleSessionJoining(string code) => Show(); + private void HandleSessionJoining(string code) + { + awaitingMenu = false; + Show(); + } + + /// + /// Raises the curtain over a return-to-menu transition and arms the wait for MenuReady, so the + /// upcoming SessionStopped (part of the teardown) does not drop it prematurely. + /// + private void HandleReturningToMenu() + { + awaitingMenu = true; + Show(); + } /// /// Lowers the curtain once the local player has spawned into the loaded game scene. @@ -153,14 +197,32 @@ namespace Ashwild.UI private void HandleLocalPlayerSpawned() => Hide(); /// - /// Safety net: a connection failure must drop the curtain so the menu becomes usable again. + /// Lowers the curtain once the menu scene has finished loading on a return-to-menu transition. /// - private void HandleSessionError(string reason) => Hide(); + private void HandleMenuReady() + { + awaitingMenu = false; + Hide(); + } /// - /// Safety net: if the session tears down before a player spawns, never leave the curtain up. + /// Safety net: a connection failure must drop the curtain so the menu becomes usable again. /// - private void HandleSessionStopped() => Hide(); + private void HandleSessionError(string reason) + { + awaitingMenu = false; + Hide(); + } + + /// + /// Safety net for a session that tears down before a player spawns. Skipped while returning to + /// the menu, where SessionStopped is expected and the curtain must stay up until MenuReady. + /// + private void HandleSessionStopped() + { + if (awaitingMenu) return; + Hide(); + } #endregion @@ -169,6 +231,12 @@ namespace Ashwild.UI /// /// Fades the curtain in (blocking input underneath) and starts cycling quotes. Ignored when /// already shown so re-entrant session events don't restart the animation. + /// + /// Raises only once the fade-in has fully + /// completed: NetworkSessionManager waits for that signal before kicking off the heavy game + /// scene load, so the unavoidable activation freeze always happens behind an already-opaque + /// curtain instead of stalling the very frame the curtain was meant to appear on. Killing the + /// tween early (an instant Hide) suppresses the signal, which is the intended behaviour. /// private void Show() { @@ -182,15 +250,18 @@ namespace Ashwild.UI curtainTween = canvasGroup.DOFade(1f, fadeInDuration) .SetEase(fadeInEase) - .SetUpdate(true); + .SetUpdate(true) + .OnComplete(PlayerEvents.RaiseLoadingCurtainShown); ShowNextQuote(instant: true); StartQuoteCycle(); } /// - /// Fades the curtain out and stops the quote cycle. Honours the minimum display time so an - /// instant load still shows the loading screen for a readable beat instead of flashing. + /// Fades the curtain out and stops the quote cycle. The fade is delayed by the larger of the + /// remaining minimum display time (so an instant load still shows the curtain for a readable + /// beat instead of flashing) and the settle delay (so the scene's first heavy frames after the + /// ready signal happen behind the curtain rather than stuttering on screen). /// private void Hide() { @@ -198,7 +269,7 @@ namespace Ashwild.UI isShown = false; float elapsed = Time.unscaledTime - shownAt; - float delay = Mathf.Max(0f, minimumDisplayTime - elapsed); + float delay = Mathf.Max(settleDelay, minimumDisplayTime - elapsed); curtainTween?.Kill(); curtainTween = canvasGroup.DOFade(0f, fadeOutDuration) diff --git a/Assets/GAME/Script/UI/SplashScreenController.cs b/Assets/GAME/Script/UI/SplashScreenController.cs index 02545423..ff8216ca 100644 --- a/Assets/GAME/Script/UI/SplashScreenController.cs +++ b/Assets/GAME/Script/UI/SplashScreenController.cs @@ -1,58 +1,171 @@ using UnityEngine; using UnityEngine.UI; using UnityEngine.Video; +using UnityEngine.SceneManagement; using DG.Tweening; namespace Ashwild.UI { /// - /// Plays a full-screen splash video at launch, then fades out to reveal the menu underneath. - /// Decoupled from UIManager: it lives on its own high-sorting-order Canvas and simply covers - /// the menu until the clip ends. + /// Boot splash: plays a full-screen video at launch while loading the menu scene additively in + /// the background, then hands off to it. It lives on its own high-sorting-order Canvas in a tiny + /// bootstrap scene (0_Init) so the menu — and the persistent objects it carries (NetworkManager, + /// NetworkSessionManager, LoadingScreen) — initialize hidden beneath the splash. Once BOTH the + /// video has ended AND the menu scene has finished loading, it fades out, makes the menu the + /// active scene, and unloads its own bootstrap scene. + /// + /// Loading the menu in parallel (not after) means the splash playback time doubles as the menu's + /// loading screen, so the swap is seamless with no black flash. When + /// is left empty the controller falls back to legacy overlay mode: it simply fades out to reveal + /// a menu already present in the same scene, and never unloads anything. /// + [DisallowMultipleComponent] [RequireComponent(typeof(CanvasGroup))] public class SplashScreenController : MonoBehaviour { + #region Serialized Fields + [Header("References")] [SerializeField] private VideoPlayer videoPlayer; [SerializeField] private RawImage videoImage; [SerializeField] private RenderTexture renderTexture; + [Header("Boot")] + [Tooltip("Menu scene to load additively while the splash plays, then hand off to. Leave empty " + + "for legacy overlay mode (fade out to reveal a menu already in this scene).")] + [SerializeField] private string menuSceneName = "MenuScene"; + [Header("Fade Out")] [SerializeField] private float fadeOutDuration = 0.5f; [SerializeField] private Ease fadeOutEase = Ease.InQuad; + #endregion + + #region State + private CanvasGroup canvasGroup; + + /// + /// True once the handoff (fade out + unload) has begun, so it can never run twice. + /// private bool finished; + /// + /// True once the splash video has ended (or was skipped because none is assigned). + /// + private bool videoFinished; + + /// + /// True once the menu scene has finished loading (or immediately in legacy overlay mode). + /// + private bool menuReady; + + private Tween fadeTween; + + #endregion + + #region Unity Lifecycle + + /// + /// Caches the CanvasGroup and covers the screen immediately so whatever loads underneath + /// (the menu) initializes hidden. + /// private void Awake() { canvasGroup = GetComponent(); - // Cover everything immediately so the menu initializes hidden underneath. canvasGroup.alpha = 1f; canvasGroup.blocksRaycasts = true; canvasGroup.interactable = true; } + /// + /// Subscribes to the video end event. + /// private void OnEnable() { if (videoPlayer != null) videoPlayer.loopPointReached += OnVideoFinished; } + /// + /// Unsubscribes — mirrors OnEnable exactly. + /// private void OnDisable() { if (videoPlayer != null) videoPlayer.loopPointReached -= OnVideoFinished; } + /// + /// Kicks off the background menu load and starts the splash video in parallel. + /// private void Start() + { + BeginMenuLoad(); + BeginVideo(); + } + + /// + /// Kills the fade tween so it never animates a destroyed CanvasGroup on teardown. + /// + private void OnDestroy() => fadeTween?.Kill(); + + #endregion + + #region Menu Load + + /// + /// Starts loading the menu scene additively. Overlay mode (no scene name, or the splash already + /// lives in the menu scene) marks the menu ready at once and never loads/unloads anything — this + /// also guards against a misconfiguration where the splash sits in the menu scene yet names it, + /// which would otherwise make the handoff unload the menu out from under itself. An already-loaded + /// target is likewise treated as ready, guarding against a double-load. + /// + private void BeginMenuLoad() + { + if (IsOverlayMode()) + { + menuReady = true; + return; + } + + if (SceneManager.GetSceneByName(menuSceneName).isLoaded) + { + menuReady = true; + return; + } + + AsyncOperation op = SceneManager.LoadSceneAsync(menuSceneName, LoadSceneMode.Additive); + if (op == null) + { + Debug.LogError($"[Splash] Could not start loading menu scene '{menuSceneName}' — is it in Build Settings?", this); + menuReady = true; + return; + } + + op.completed += _ => + { + menuReady = true; + TryHandoff(); + }; + } + + #endregion + + #region Video + + /// + /// Prepares and plays the splash video, preparing first to avoid a black flash on the first + /// frame. When no player/clip is assigned the video step is skipped so the handoff still runs. + /// + private void BeginVideo() { if (videoPlayer == null || videoPlayer.clip == null) { - Debug.LogWarning("SplashScreenController: no VideoPlayer/clip assigned, skipping splash."); - FadeOut(); + Debug.LogWarning("[Splash] No VideoPlayer/clip assigned — skipping splash video.", this); + videoFinished = true; + TryHandoff(); return; } @@ -60,11 +173,13 @@ namespace Ashwild.UI videoPlayer.renderMode = VideoRenderMode.RenderTexture; videoPlayer.targetTexture = renderTexture; - // Prepare first to avoid a black flash / stutter on the first frame. videoPlayer.prepareCompleted += OnPrepared; videoPlayer.Prepare(); } + /// + /// Plays the clip once it is prepared. + /// private void OnPrepared(VideoPlayer vp) { vp.prepareCompleted -= OnPrepared; @@ -73,23 +188,75 @@ namespace Ashwild.UI vp.Play(); } - private void OnVideoFinished(VideoPlayer vp) => FadeOut(); + /// + /// Marks the video done and attempts the handoff. + /// + private void OnVideoFinished(VideoPlayer vp) + { + videoFinished = true; + TryHandoff(); + } - private void FadeOut() + #endregion + + #region Handoff + + /// + /// Fades out and hands off only once both the video has ended and the menu is loaded, so the + /// splash never cuts the menu's load short nor lingers after the clip. + /// + private void TryHandoff() { if (finished) return; + if (!videoFinished || !menuReady) return; + FadeOutAndHandoff(); + } + + /// + /// Fades the curtain out, then makes the menu the active scene and unloads this bootstrap + /// scene (in overlay mode it just deactivates itself, leaving the surrounding scene intact). + /// + private void FadeOutAndHandoff() + { finished = true; canvasGroup.blocksRaycasts = false; canvasGroup.interactable = false; - canvasGroup.DOFade(0f, fadeOutDuration) + fadeTween = canvasGroup.DOFade(0f, fadeOutDuration) .SetEase(fadeOutEase) - .OnComplete(() => - { - if (videoPlayer != null) videoPlayer.Stop(); - gameObject.SetActive(false); - }); + .OnComplete(CompleteHandoff); } + + /// + /// Stops the video and either unloads this bootstrap scene (after promoting the menu to the + /// active scene) or simply deactivates the overlay when running in legacy overlay mode. + /// + private void CompleteHandoff() + { + if (videoPlayer != null) videoPlayer.Stop(); + + if (IsOverlayMode() || !SceneManager.GetSceneByName(menuSceneName).isLoaded) + { + gameObject.SetActive(false); + return; + } + + SceneManager.SetActiveScene(SceneManager.GetSceneByName(menuSceneName)); + SceneManager.UnloadSceneAsync(gameObject.scene); + } + + /// + /// True when there is no separate menu scene to hand off to: either no name is set, or the + /// splash itself lives in the named scene. In that case the splash is just an overlay above an + /// already-present menu and must never unload its own scene. + /// + private bool IsOverlayMode() + { + return string.IsNullOrWhiteSpace(menuSceneName) + || gameObject.scene.name == menuSceneName; + } + + #endregion } } diff --git a/Assets/GAME/World/Generated/TerrainData_1_3.asset b/Assets/GAME/World/Generated/TerrainData_1_3.asset index dbf8c073..f129d04c 100644 Binary files a/Assets/GAME/World/Generated/TerrainData_1_3.asset and b/Assets/GAME/World/Generated/TerrainData_1_3.asset differ diff --git a/Assets/GAME/World/Generated/TerrainData_2_3.asset b/Assets/GAME/World/Generated/TerrainData_2_3.asset index d8fa2311..77284deb 100644 Binary files a/Assets/GAME/World/Generated/TerrainData_2_3.asset and b/Assets/GAME/World/Generated/TerrainData_2_3.asset differ diff --git a/Assets/GAME/World/Generated/TerrainData_2_4.asset b/Assets/GAME/World/Generated/TerrainData_2_4.asset index 8501d424..cfecfc85 100644 Binary files a/Assets/GAME/World/Generated/TerrainData_2_4.asset and b/Assets/GAME/World/Generated/TerrainData_2_4.asset differ diff --git a/Assets/Resources/PerformanceTestRunInfo.json b/Assets/Resources/PerformanceTestRunInfo.json deleted file mode 100644 index fd436d41..00000000 --- a/Assets/Resources/PerformanceTestRunInfo.json +++ /dev/null @@ -1 +0,0 @@ -{"TestSuite":"","Date":0,"Player":{"Development":false,"ScreenWidth":0,"ScreenHeight":0,"ScreenRefreshRate":0,"Fullscreen":false,"Vsync":0,"AntiAliasing":0,"Batchmode":false,"RenderThreadingMode":"Split","MtRendering":false,"GraphicsJobs":false,"GpuSkinning":true,"Platform":"","ColorSpace":"","AnisotropicFiltering":"","BlendWeights":"","GraphicsApi":"","ScriptingBackend":"IL2CPP","AndroidTargetSdkVersion":"AndroidApiLevelAuto","AndroidBuildSystem":"Gradle","BuildTarget":"StandaloneWindows64","StereoRenderingPath":"MultiPass"},"Hardware":{"OperatingSystem":"","DeviceModel":"","DeviceName":"","ProcessorType":"","ProcessorCount":0,"GraphicsDeviceName":"","SystemMemorySizeMB":0},"Editor":{"Version":"6000.3.18f1","Branch":"6000.3/staging","Changeset":"5ebeb53e4c07","Date":1781016895},"Dependencies":["com.unity.2d.sprite@1.0.0","com.unity.ai.navigation@2.0.13","com.unity.burst@1.8.29","com.unity.collab-proxy@2.12.4","com.unity.collections@2.6.6","com.unity.editorcoroutines@1.1.0","com.unity.ext.nunit@2.0.5","com.unity.ide.rider@3.0.40","com.unity.ide.visualstudio@2.0.26","com.unity.inputsystem@1.19.0","com.unity.mathematics@1.3.3","com.unity.modules.accessibility@1.0.0","com.unity.modules.adaptiveperformance@1.0.0","com.unity.modules.ai@1.0.0","com.unity.modules.androidjni@1.0.0","com.unity.modules.animation@1.0.0","com.unity.modules.assetbundle@1.0.0","com.unity.modules.audio@1.0.0","com.unity.modules.cloth@1.0.0","com.unity.modules.director@1.0.0","com.unity.modules.hierarchycore@1.0.0","com.unity.modules.imageconversion@1.0.0","com.unity.modules.imgui@1.0.0","com.unity.modules.jsonserialize@1.0.0","com.unity.modules.particlesystem@1.0.0","com.unity.modules.physics@1.0.0","com.unity.modules.physics2d@1.0.0","com.unity.modules.screencapture@1.0.0","com.unity.modules.subsystems@1.0.0","com.unity.modules.terrain@1.0.0","com.unity.modules.terrainphysics@1.0.0","com.unity.modules.tilemap@1.0.0","com.unity.modules.ui@1.0.0","com.unity.modules.uielements@1.0.0","com.unity.modules.umbra@1.0.0","com.unity.modules.unityanalytics@1.0.0","com.unity.modules.unitywebrequest@1.0.0","com.unity.modules.unitywebrequestassetbundle@1.0.0","com.unity.modules.unitywebrequestaudio@1.0.0","com.unity.modules.unitywebrequesttexture@1.0.0","com.unity.modules.unitywebrequestwww@1.0.0","com.unity.modules.vectorgraphics@1.0.0","com.unity.modules.vehicles@1.0.0","com.unity.modules.video@1.0.0","com.unity.modules.vr@1.0.0","com.unity.modules.wind@1.0.0","com.unity.modules.xr@1.0.0","com.unity.multiplayer.center@1.0.1","com.unity.nuget.mono-cecil@1.11.6","com.unity.render-pipelines.core@17.3.0","com.unity.render-pipelines.universal@17.3.0","com.unity.render-pipelines.universal-config@17.0.3","com.unity.searcher@4.9.4","com.unity.shadergraph@17.3.0","com.unity.test-framework.performance@3.5.0","com.unity.test-framework@1.6.0","com.unity.timeline@1.8.12","com.unity.ugui@2.0.0","com.unity.visualscripting@1.9.11"],"Results":[]} \ No newline at end of file diff --git a/Assets/Resources/PerformanceTestRunSettings.json b/Assets/Resources/PerformanceTestRunSettings.json deleted file mode 100644 index 49438ae1..00000000 --- a/Assets/Resources/PerformanceTestRunSettings.json +++ /dev/null @@ -1 +0,0 @@ -{"MeasurementCount":-1} \ No newline at end of file diff --git a/Assets/Resources/PerformanceTestRunSettings.json.meta b/Assets/Resources/PerformanceTestRunSettings.json.meta deleted file mode 100644 index 5f34fd04..00000000 --- a/Assets/Resources/PerformanceTestRunSettings.json.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 7ad871b73de89a043995971d03574d93 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/ProjectSettings/EditorBuildSettings.asset b/ProjectSettings/EditorBuildSettings.asset index 9357a180..78722bb9 100644 --- a/ProjectSettings/EditorBuildSettings.asset +++ b/ProjectSettings/EditorBuildSettings.asset @@ -5,6 +5,9 @@ EditorBuildSettings: m_ObjectHideFlags: 0 serializedVersion: 2 m_Scenes: + - enabled: 1 + path: Assets/GAME/Scenes/0_Init.unity + guid: 0eaa44a17bc75f74fa8a70ab8cbf22fb - enabled: 1 path: Assets/GAME/Scenes/MenuScene.unity guid: 8c0360124e5bea64781f06c2708833eb diff --git a/ProjectSettings/ProjectSettings.asset b/ProjectSettings/ProjectSettings.asset index 04c0bf88..572d4703 100644 --- a/ProjectSettings/ProjectSettings.asset +++ b/ProjectSettings/ProjectSettings.asset @@ -13,7 +13,7 @@ PlayerSettings: useOnDemandResources: 0 accelerometerFrequency: 60 companyName: Highland Game Studio - productName: Aetheris + productName: Emberwild defaultCursor: {fileID: 2800000, guid: 80f044bf43884bf498e2d9aaecb1bbe5, type: 3} cursorHotspot: {x: 0, y: 0} m_SplashScreenBackgroundColor: {r: 0, g: 0, b: 0, a: 1}