This commit is contained in:
2026-04-29 01:04:28 +07:00
parent 29888fadfa
commit 21c999a904
32 changed files with 1423 additions and 894 deletions

View File

@@ -5,14 +5,35 @@
</component>
<component name="ChangeListManager">
<list default="true" id="f9183c68-daf0-43b8-be4c-fad79983f91b" name="Changes" comment="">
<change beforePath="$PROJECT_DIR$/.gitignore" beforeDir="false" afterPath="$PROJECT_DIR$/.gitignore" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/.idea.HALLUCINATE/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/.idea.HALLUCINATE/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Fonts/VCR_OSD_MONO_1.001.ttf" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Fonts/VCR_OSD_MONO_1.001.ttf.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Fonts/VCR_OSD_MONO_1.asset" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Fonts/VCR_OSD_MONO_1.asset.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Prefabs/UIManager.prefab" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Prefabs/UIManager.prefab.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Scove/UIScaleTest.unity" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scove/UIScaleTest.unity" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Scripts/UI/FirebaseService.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/UI/FirebaseService.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Scripts/Player Controller/InputReader.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Player Controller/InputReader.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Scripts/UI/BaseUIController.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/UI/BaseUIController.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Scripts/UI/LobbyController.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/UI/LobbyController.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Scripts/UI/LoginController.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/UI/LoginController.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Scripts/UI/MainMenuController.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/UI/MainMenuController.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Scripts/UI/ProfileController.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/UI/ProfileController.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Scripts/UI/SettingsController.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/UI/SettingsController.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Scripts/UI/UIManager.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/UI/UIManager.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Third Parties/Plugins/PrimeTween/PrimeTweenInstaller.asset.meta" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Third Parties/Plugins/PrimeTween/PrimeTweenInstaller.asset.meta" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Third Parties/Plugins/PrimeTween/internal/PrimeTween.Installer.asmdef.meta" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Third Parties/Plugins/PrimeTween/internal/PrimeTween.Installer.asmdef.meta" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Third Parties/Plugins/PrimeTween/internal/PrimeTweenInstaller.cs.meta" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Third Parties/Plugins/PrimeTween/internal/PrimeTweenInstaller.cs.meta" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/UI Toolkit.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/UI Toolkit/UnityThemes.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/UI Toolkit/UnityThemes/UnityDefaultRuntimeTheme.tss" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/UI Toolkit/UnityThemes/UnityDefaultRuntimeTheme.tss.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/UI/Global.uss" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/UI/Global.uss" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/UI/Lobby.uxml" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/UI/Lobby.uxml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/UI/LoginPopup.uxml" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/UI/LoginPopup.uxml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/UI/MainGameHUD.uxml" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/UI/MainGameHUD.uxml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/UI/MainMenu.uxml" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/UI/MainMenu.uxml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/UI/Profile.uxml" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/UI/Profile.uxml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/UI/RoomItem.uxml" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/UI/RoomItem.uxml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/UI/Settings.uxml" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/UI/Settings.uxml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Packages/manifest.json" beforeDir="false" afterPath="$PROJECT_DIR$/Packages/manifest.json" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Packages/packages-lock.json" beforeDir="false" afterPath="$PROJECT_DIR$/Packages/packages-lock.json" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -20,12 +41,17 @@
<option name="LAST_RESOLUTION" value="IGNORE" />
</component>
<component name="EmbeddingIndexingInfo">
<option name="cachedIndexableFilesCount" value="11" />
<option name="cachedIndexableFilesCount" value="8" />
<option name="fileBasedEmbeddingIndicesEnabled" value="true" />
</component>
<component name="Git.Settings">
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
</component>
<component name="HighlightingSettingsPerFile">
<setting file="file://$PROJECT_DIR$/Assets/Third Parties/Photon/Fusion/Editor/Fusion.Unity.Editor.cs" root0="SKIP_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Assets/UI/MainPanelSettings.asset" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Library/PackageCache/com.wooshii.foldericons@201a18f355d3/FolderIcons/Editor/FolderIcons.cs" root0="SKIP_HIGHLIGHTING" />
</component>
<component name="McpProjectServerCommands">
<commands />
<urls />
@@ -142,7 +168,8 @@
<workItem from="1777181837663" duration="1519000" />
<workItem from="1777269364664" duration="40284000" />
<workItem from="1777373072815" duration="1852000" />
<workItem from="1777376778745" duration="8452000" />
<workItem from="1777376778745" duration="10727000" />
<workItem from="1777392719306" duration="6423000" />
</task>
<servers />
</component>
@@ -157,6 +184,17 @@
<option name="unityProjectFolder" value="true" />
</component>
<component name="UnityUnitTestConfiguration" currentTestLauncher="Both" />
<component name="Vcs.Log.Tabs.Properties">
<option name="TAB_STATES">
<map>
<entry key="MAIN">
<value>
<State />
</value>
</entry>
</map>
</option>
</component>
<component name="VcsManagerConfiguration">
<option name="CLEAR_INITIAL_COMMIT_MESSAGE" value="true" />
</component>

View File

@@ -1,433 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &1516699870267512982
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6453919682029617511}
- component: {fileID: 6813582908554084193}
- component: {fileID: 7974153401190947535}
m_Layer: 0
m_Name: Doc_Lobby
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &6453919682029617511
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1516699870267512982}
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: 8276456597194509742}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &6813582908554084193
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1516699870267512982}
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!114 &7974153401190947535
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1516699870267512982}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 9c37c552a9c18a242bcc8860a0a5212f, type: 3}
m_Name:
m_EditorClassIdentifier: Assembly-CSharp::UI.LobbyController
--- !u!1 &2410419006187484205
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8461124296799354270}
- component: {fileID: 3626156559027302038}
- component: {fileID: 764133115834169797}
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 &8461124296799354270
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2410419006187484205}
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: 8276456597194509742}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &3626156559027302038
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2410419006187484205}
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 &764133115834169797
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2410419006187484205}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 691980524acfc544f9660cfc35ce3616, type: 3}
m_Name:
m_EditorClassIdentifier: Assembly-CSharp::UI.MainMenuController
--- !u!1 &6159906463171050867
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 822770786713092587}
- component: {fileID: 8053006371428885710}
- component: {fileID: 2147182326353943992}
m_Layer: 0
m_Name: Doc_HUD
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &822770786713092587
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6159906463171050867}
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: 8276456597194509742}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &8053006371428885710
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6159906463171050867}
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!114 &2147182326353943992
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6159906463171050867}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: e79b70607af6eeb458c8eb6605e39b56, type: 3}
m_Name:
m_EditorClassIdentifier: Assembly-CSharp::UI.HUDController
hudDocument: {fileID: 8053006371428885710}
--- !u!1 &6763625687744439349
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7659132307210635102}
- component: {fileID: 6856417540668204016}
- component: {fileID: 1773991564882589527}
m_Layer: 0
m_Name: Doc_Profile
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &7659132307210635102
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6763625687744439349}
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: 8276456597194509742}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &6856417540668204016
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6763625687744439349}
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!114 &1773991564882589527
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6763625687744439349}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fdea16b110511ef45889ed832b63560b, type: 3}
m_Name:
m_EditorClassIdentifier: Assembly-CSharp::UI.ProfileController
--- !u!1 &7591431613855332517
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1702629541674960093}
- component: {fileID: 3426083132238065776}
- component: {fileID: 8400758018383374091}
- component: {fileID: 7573251387093448480}
m_Layer: 0
m_Name: Doc_Settings
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1702629541674960093
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7591431613855332517}
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: 8276456597194509742}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &3426083132238065776
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7591431613855332517}
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!114 &8400758018383374091
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7591431613855332517}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5534bcf4869df944883c6fd2a17a6a5a, type: 3}
m_Name:
m_EditorClassIdentifier: Assembly-CSharp::UI.SettingsController
--- !u!114 &7573251387093448480
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7591431613855332517}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5c17a3f09ee49ff48a0e3e2b45080257, type: 3}
m_Name:
m_EditorClassIdentifier: Assembly-CSharp::UI.LocalizationManager
--- !u!1 &7733679024748988208
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8276456597194509742}
- component: {fileID: 5040632603729643308}
m_Layer: 0
m_Name: UIManager
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &8276456597194509742
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7733679024748988208}
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: 8461124296799354270}
- {fileID: 6453919682029617511}
- {fileID: 822770786713092587}
- {fileID: 1702629541674960093}
- {fileID: 7659132307210635102}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &5040632603729643308
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7733679024748988208}
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: 3626156559027302038}
isActive: 1
isOverlay: 0
customCursor: {fileID: 0}
- screenName: Lobby
document: {fileID: 6813582908554084193}
isActive: 0
isOverlay: 0
customCursor: {fileID: 0}
- screenName: HUD
document: {fileID: 8053006371428885710}
isActive: 0
isOverlay: 0
customCursor: {fileID: 0}
- screenName: Settings
document: {fileID: 3426083132238065776}
isActive: 0
isOverlay: 1
customCursor: {fileID: 0}
- screenName: Profile
document: {fileID: 6856417540668204016}
isActive: 0
isOverlay: 0
customCursor: {fileID: 0}
defaultCursor: {fileID: 0}
initialScreen: MainMenu

View File

@@ -119,51 +119,6 @@ NavMeshSettings:
debug:
m_Flags: 0
m_NavMeshData: {fileID: 0}
--- !u!1 &124258137
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 124258138}
- component: {fileID: 124258139}
m_Layer: 0
m_Name: Firebase
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &124258138
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 124258137}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 1.04132, y: -0.00001, z: -0.88474}
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!114 &124258139
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 124258137}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: db205c30e8f41d84fa79269745feaf84, type: 3}
m_Name:
m_EditorClassIdentifier: Assembly-CSharp::Hallucinate.UI.FirebaseTest
testUsername: TuanPlayer_01
--- !u!1 &458228298
GameObject:
m_ObjectHideFlags: 0
@@ -819,4 +774,3 @@ SceneRoots:
- {fileID: 626355270}
- {fileID: 2128442885}
- {fileID: 458228301}
- {fileID: 124258138}

View File

@@ -6,6 +6,9 @@ namespace OnlyScove.Scripts
{
public class InputReader : MonoBehaviour
{
[SerializeField] private InputActionAsset inputActions;
public InputActionAsset InputActions => inputActions;
// Continuous Inputs
public virtual Vector2 MoveInput { get; protected set; }
public virtual Vector2 LookInput { get; protected set; }

View File

@@ -5,7 +5,7 @@ using System.Threading.Tasks;
namespace Hallucinate.UI
{
public abstract class BaseUIController
public abstract class BaseUIController : ScriptableObject
{
protected VisualElement root;
protected UIManager uiManager;

View File

@@ -47,7 +47,7 @@ namespace Hallucinate.UI
// Event Bindings
root.Q<Button>("GoToCreateBtn").clicked += ShowCreate;
root.Q<Button>("CancelCreateBtn").clicked += ShowJoin;
root.Q<Button>("BackToMenuBtn").clicked += () => uiManager.Pop();
root.Q<Button>("BackToMenuBtn").clicked += async () => await uiManager.Pop();
root.Q<Button>("ConfirmCreateBtn").clicked += OnCreateRoomClicked;
root.Q<Button>("ConfirmJoinBtn").clicked += OnConfirmPasswordClicked;
root.Q<Button>("ClosePassBtn").clicked += () => _passOverlay.style.display = DisplayStyle.None;
@@ -88,7 +88,6 @@ namespace Hallucinate.UI
if (string.IsNullOrEmpty(id)) return;
await _spawner.StartHost(id, pass);
// Logic chuyển sang Lounge sẽ được xử lý qua sự kiện OnPlayerJoined trong Spawner
}
private void UpdateRoomList(List<SessionInfo> sessions)
@@ -100,7 +99,7 @@ namespace Hallucinate.UI
item.Q<Label>("RoomName").text = session.Name;
item.Q<Label>("PlayerCount").text = $"{session.PlayerCount}/{session.MaxPlayers}";
bool needsPass = session.Properties.ContainsKey("pw"); // Giả sử dùng metadata
bool needsPass = session.Properties.ContainsKey("pw");
item.Q<Label>("LockIcon").style.display = needsPass ? DisplayStyle.Flex : DisplayStyle.None;
var joinBtn = item.Q<Button>("JoinBtn");
@@ -113,7 +112,6 @@ namespace Hallucinate.UI
private void OnRoomItemClicked(SessionInfo session)
{
_selectedSession = session;
// Fusion dùng Password trong StartGameArgs, nên ta hiện popup nhập trước
_passOverlay.style.display = DisplayStyle.Flex;
_joinPassError.style.display = DisplayStyle.None;
_joinPassInput.value = "";

View File

@@ -1,5 +1,6 @@
using UnityEngine;
using UnityEngine.UIElements;
using PrimeTween;
using System.Threading.Tasks;
namespace Hallucinate.UI
@@ -84,7 +85,7 @@ namespace Hallucinate.UI
root.style.opacity = 0;
}
Show();
await PrimeTween.Tween.Custom(0f, 1f, duration: 0.5f, onValueChange: val => root.style.opacity = val);
await Tween.Custom(0f, 1f, duration: 0.5f, onValueChange: val => root.style.opacity = val);
}
}
}

View File

@@ -16,7 +16,7 @@ namespace Hallucinate.UI
private float _lastInteractionTime;
private const float IDLE_TIMEOUT = 5.0f;
private bool _isFirstLoad = true; // Biến cờ để nhận biết lần đầu vào game
private bool _isFirstLoad = true;
private Tween _pulseTween;
private Tween _rotationTween;
@@ -38,13 +38,12 @@ namespace Hallucinate.UI
_logo.RegisterCallback<ClickEvent>(OnLogoClicked);
// Bind Buttons
var settingsBtn = root.Q<Button>("SettingsBtn");
if (settingsBtn != null) settingsBtn.clicked += () => uiManager.ToggleSettings();
root.Q<Button>("JoinBtn").clicked += () => uiManager.Push<LobbyController>();
root.Q<Button>("CreateBtn").clicked += () => uiManager.Push<LobbyController>();
root.Q<Button>("ProfileBtn").clicked += () => uiManager.Push<ProfileController>();
root.Q<Button>("JoinBtn").clicked += async () => await uiManager.Push<LobbyController>();
root.Q<Button>("CreateBtn").clicked += async () => await uiManager.Push<LobbyController>();
root.Q<Button>("ProfileBtn").clicked += async () => await uiManager.Push<ProfileController>();
root.Q<Button>("ExitBtn").clicked += () => Application.Quit();
ResetLogoPosition();
@@ -86,8 +85,10 @@ namespace Hallucinate.UI
if (_currentIcon == null) return;
if (_rotationTween.isAlive) _rotationTween.Stop();
_rotationTween = Tween.Custom(0f, 360f, duration: 4f, cycles: -1, ease: Ease.Linear,
onValueChange: val => _logo.style.rotate = new StyleRotate(new Rotate(Angle.Degrees(val))));
_rotationTween = Tween.Custom(0f, 360f, duration: 4f,
onValueChange: val => _logo.style.rotate = new StyleRotate(new Rotate(Angle.Degrees(val))),
cycles: -1,
ease: Ease.Linear);
}
public override async Task PlayTransitionIn()
@@ -102,20 +103,11 @@ namespace Hallucinate.UI
_ribbon.style.opacity = 0;
}
// Khởi động lại rotation nếu có icon
StartRotation();
await base.PlayTransitionIn();
// Nếu không phải lần đầu load (tức là quay lại bằng nút Back), tự động bung Ribbon
if (!_isFirstLoad)
{
TransitionToRibbon();
}
else
{
_isFirstLoad = false; // Đã xong lần đầu, các lần sau sẽ tự động bung
}
if (!_isFirstLoad) TransitionToRibbon();
else _isFirstLoad = false;
}
public override async Task PlayTransitionOut()
@@ -124,11 +116,11 @@ namespace Hallucinate.UI
await base.PlayTransitionOut();
}
private void OnLogoClicked(ClickEvent evt)
private async void OnLogoClicked(ClickEvent evt)
{
_lastInteractionTime = Time.time;
if (_currentState == MenuState.Idle) TransitionToRibbon();
else _ = uiManager.Push<LobbyController>();
else await uiManager.Push<LobbyController>();
}
private void TransitionToRibbon()
@@ -149,17 +141,25 @@ namespace Hallucinate.UI
Rect targetBounds = _logoSpace.worldBound;
if (targetBounds.width <= 0) return;
Tween.Custom(_logo.resolvedStyle.left, targetBounds.x, duration: 0.5f, ease: Ease.OutQuad,
onValueChange: val => _logo.style.left = val);
// Center logo in LogoSpace (within the centered Ribbon)
float targetX = targetBounds.x + (targetBounds.width / 2f) - 50f;
float targetY = targetBounds.y + (targetBounds.height / 2f) - 50f;
Tween.Custom(_logo.resolvedStyle.left, targetX, duration: 0.5f,
onValueChange: val => _logo.style.left = val,
ease: Ease.OutQuad);
Tween.Custom(_logo.resolvedStyle.top, targetBounds.y - 35, duration: 0.5f, ease: Ease.OutQuad,
onValueChange: val => _logo.style.top = val);
Tween.Custom(_logo.resolvedStyle.top, targetY, duration: 0.5f,
onValueChange: val => _logo.style.top = val,
ease: Ease.OutQuad);
Tween.Custom(_logo.resolvedStyle.width, 120f, duration: 0.5f, ease: Ease.OutQuad,
onValueChange: val => _logo.style.width = val);
Tween.Custom(_logo.resolvedStyle.width, 100f, duration: 0.5f,
onValueChange: val => _logo.style.width = val,
ease: Ease.OutQuad);
Tween.Custom(_logo.resolvedStyle.height, 120f, duration: 0.5f, ease: Ease.OutQuad,
onValueChange: val => _logo.style.height = val);
Tween.Custom(_logo.resolvedStyle.height, 100f, duration: 0.5f,
onValueChange: val => _logo.style.height = val,
ease: Ease.OutQuad);
_lastInteractionTime = Time.time;
}
@@ -172,14 +172,10 @@ namespace Hallucinate.UI
float targetX = (Screen.width / 2f) - 100;
float targetY = (Screen.height / 2f) - 100;
Tween.Custom(_logo.resolvedStyle.left, targetX, duration: 0.5f, ease: Ease.OutQuad,
onValueChange: val => _logo.style.left = val);
Tween.Custom(_logo.resolvedStyle.top, targetY, duration: 0.5f, ease: Ease.OutQuad,
onValueChange: val => _logo.style.top = val);
Tween.Custom(_logo.resolvedStyle.width, 200f, duration: 0.5f, ease: Ease.OutQuad,
onValueChange: val => _logo.style.width = val);
Tween.Custom(_logo.resolvedStyle.height, 200f, duration: 0.5f, ease: Ease.OutQuad,
onValueChange: val => _logo.style.height = val);
Tween.Custom(_logo.resolvedStyle.left, targetX, duration: 0.5f, onValueChange: val => _logo.style.left = val, ease: Ease.OutQuad);
Tween.Custom(_logo.resolvedStyle.top, targetY, duration: 0.5f, onValueChange: val => _logo.style.top = val, ease: Ease.OutQuad);
Tween.Custom(_logo.resolvedStyle.width, 200f, duration: 0.5f, onValueChange: val => _logo.style.width = val, ease: Ease.OutQuad);
Tween.Custom(_logo.resolvedStyle.height, 200f, duration: 0.5f, onValueChange: val => _logo.style.height = val, ease: Ease.OutQuad);
Tween.Custom(1f, 0f, duration: 0.5f, onValueChange: val => _ribbon.style.opacity = val)
.OnComplete(() => _ribbon.style.display = DisplayStyle.None);
@@ -200,7 +196,12 @@ namespace Hallucinate.UI
private void StartPulse()
{
_pulseTween = Tween.Scale(_logo.transform, Vector3.one * 1.1f, duration: 0.8f, cycles: -1, cycleMode: CycleMode.Yoyo, ease: Ease.InOutSine);
if (_pulseTween.isAlive) _pulseTween.Stop();
_pulseTween = Tween.Custom(Vector3.one, Vector3.one * 1.1f, duration: 0.8f,
onValueChange: val => _logo.style.scale = new StyleScale(new Scale(val)),
cycles: -1,
cycleMode: CycleMode.Yoyo,
ease: Ease.InOutSine);
}
}
}

View File

@@ -20,7 +20,7 @@ namespace Hallucinate.UI
_winRateBar = root.Q<ProgressBar>("WinRateBar");
_winRateText = root.Q<Label>("WinRateText");
root.Q<Button>("BackBtn").clicked += () => uiManager.Pop();
root.Q<Button>("BackBtn").clicked += async () => await uiManager.Pop();
LoadProfileData();
}

View File

@@ -1,7 +1,12 @@
using UnityEngine;
using UnityEngine.UIElements;
using UnityEngine.InputSystem;
using PrimeTween;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using UnityEngine.SceneManagement;
using OnlyScove.Scripts; // Namespace của InputReader
namespace Hallucinate.UI
{
@@ -10,6 +15,10 @@ namespace Hallucinate.UI
private VisualElement _sidebar;
private Label _tabTitle;
private ScrollView _content;
private InputActionAsset _inputActions;
private Dictionary<string, Button> _tabButtons = new Dictionary<string, Button>();
private string _activeTab = "GENERAL";
public override void Initialize(VisualElement uxmlRoot, UIManager manager)
{
@@ -19,28 +28,201 @@ namespace Hallucinate.UI
_tabTitle = root.Q<Label>("TabTitle");
_content = root.Q<ScrollView>("SettingsContent");
// Đăng ký sự kiện Click vào vùng nền tối
// Ưu tiên 1: Lấy từ InputReader đã gán trong UIManager
_inputActions = uiManager.InputReader?.InputActions;
// Ưu tiên 2: Nếu null, thử tìm PlayerInput trong scene
if (_inputActions == null)
{
_inputActions = GameObject.FindAnyObjectByType<PlayerInput>()?.actions;
}
// Click outside to close
root.RegisterCallback<PointerDownEvent>(evt => {
// Nếu click trực tiếp vào SettingsRoot (không phải sidebar)
if (evt.target == root)
{
Debug.Log("[Settings] Clicked outside sidebar, closing...");
uiManager.ToggleSettings();
}
});
root.Q<Button>("GeneralTab").clicked += () => SwitchTab("GENERAL");
root.Q<Button>("VideoTab").clicked += () => SwitchTab("VIDEO");
root.Q<Button>("SoundTab").clicked += () => SwitchTab("SOUND");
root.Q<Button>("ControlTab").clicked += () => SwitchTab("CONTROL");
root.Q<Button>("CloseSettingsBtn").clicked += () => uiManager.ToggleSettings();
SetupTab("GeneralTab", "GENERAL");
SetupTab("VideoTab", "VIDEO");
SetupTab("SoundTab", "SOUND");
SetupTab("ControlTab", "CONTROL");
var closeBtn = root.Q<Button>("CloseSettingsBtn");
if (closeBtn != null) closeBtn.clicked += () => uiManager.ToggleSettings();
// Default tab
SwitchTab("GENERAL");
}
private void SwitchTab(string title)
private void SetupTab(string btnName, string tabId)
{
_tabTitle.text = title;
var btn = root.Q<Button>(btnName);
if (btn != null)
{
_tabButtons[tabId] = btn;
btn.clicked += () => SwitchTab(tabId);
}
}
private void SwitchTab(string tabId)
{
_activeTab = tabId;
_tabTitle.text = tabId;
// Update tab styles
foreach (var kvp in _tabButtons)
{
if (kvp.Key == tabId) kvp.Value.AddToClassList("active-tab");
else kvp.Value.RemoveFromClassList("active-tab");
}
_content.Clear();
_content.Add(new Label($"Settings for {title} coming soon..."));
switch (tabId)
{
case "GENERAL":
RenderGeneralSettings();
break;
case "CONTROL":
RenderControlSettings();
break;
default:
var comingSoon = new Label($"Settings for {tabId} coming soon...");
comingSoon.AddToClassList("text-body");
_content.Add(comingSoon);
break;
}
}
private void RenderGeneralSettings()
{
var section = CreateSection("ACCOUNT & DATA");
var wipeBtn = new Button { text = "WIPE ALL USER DATA (TEST ONLY)" };
wipeBtn.AddToClassList("button-spring");
wipeBtn.AddToClassList("btn-exit");
wipeBtn.style.marginTop = 20;
wipeBtn.style.backgroundColor = new Color(0.8f, 0.2f, 0.2f, 0.8f);
wipeBtn.clicked += () => {
bool confirm = true;
#if UNITY_EDITOR
confirm = UnityEditor.EditorUtility.DisplayDialog("Wipe Data", "This will delete your local username and restart the game. Proceed?", "Yes", "Cancel");
#endif
if (confirm)
{
PlayerPrefs.DeleteAll();
PlayerPrefs.Save();
Debug.Log("[Settings] Data wiped. Restarting...");
SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex);
}
};
_content.Add(section);
_content.Add(wipeBtn);
_content.Add(new Label("\nNote: This will force the game to ask for your name again on next launch.") {
style = { fontSize = 12, color = new Color(0.6f, 0.6f, 0.6f), whiteSpace = WhiteSpace.Normal, marginTop = 10 }
});
}
private void RenderControlSettings()
{
if (_inputActions == null)
{
var errorLabel = new Label("Input Actions not found. Cannot rebind.");
errorLabel.AddToClassList("text-body");
_content.Add(errorLabel);
return;
}
var playerMap = _inputActions.FindActionMap("Player");
if (playerMap == null) return;
// Categories
RenderSection("MOVEMENT", playerMap, new[] { "Move", "Jump", "Sprint", "Crouch" });
RenderSection("COMBAT", playerMap, new[] { "Attack" });
RenderSection("INTERACTION", playerMap, new[] { "Interact", "Next", "Previous" });
RenderSection("VIEW", playerMap, new[] { "Look", "ToggleView", "Scroll" });
}
private void RenderSection(string header, InputActionMap map, string[] actionNames)
{
_content.Add(CreateSection(header));
foreach (var name in actionNames)
{
var action = map.FindAction(name);
if (action != null)
{
_content.Add(CreateRebindRow(action));
}
}
}
private VisualElement CreateSection(string title)
{
var header = new Label(title);
header.AddToClassList("setting-section-header");
return header;
}
private VisualElement CreateRebindRow(InputAction action)
{
var row = new VisualElement();
row.AddToClassList("rebind-row");
var label = new Label(action.name.ToUpper());
label.AddToClassList("rebind-label");
var rebindBtn = new Button();
rebindBtn.AddToClassList("rebind-button");
// Get current binding text
UpdateBindingText(action, rebindBtn);
rebindBtn.clicked += () => StartRebind(action, rebindBtn);
row.Add(label);
row.Add(rebindBtn);
return row;
}
private void UpdateBindingText(InputAction action, Button btn)
{
int bindingIndex = action.GetBindingIndexForControl(action.controls[0]);
btn.text = action.GetBindingDisplayString(bindingIndex);
}
private void StartRebind(InputAction action, Button btn)
{
string oldText = btn.text;
btn.text = "...";
btn.style.color = Color.yellow;
action.Disable();
var rebindOperation = action.PerformInteractiveRebinding()
.WithControlsExcluding("<Mouse>/delta") // Don't bind to mouse movement
.WithControlsExcluding("<Mouse>/scroll")
.OnMatchWaitForAnother(0.1f)
.OnComplete(operation => {
btn.style.color = new Color(0f, 1f, 0.8f); // Reset color
UpdateBindingText(action, btn);
action.Enable();
operation.Dispose();
// Save bindings here if you have a save system
})
.OnCancel(operation => {
btn.style.color = new Color(0f, 1f, 0.8f);
btn.text = oldText;
action.Enable();
operation.Dispose();
});
rebindOperation.Start();
}
public override async Task PlayTransitionIn()
@@ -49,9 +231,9 @@ namespace Hallucinate.UI
{
root.style.translate = new StyleTranslate(new Translate(0, 0));
root.style.display = DisplayStyle.Flex;
root.style.opacity = 1;
}
// Hiệu ứng trượt sidebar
_sidebar.style.translate = new StyleTranslate(new Translate(Length.Percent(-100), 0));
await Tween.Custom(-100f, 0f, duration: 0.4f, ease: Ease.OutQuad,
onValueChange: val => _sidebar.style.translate = new StyleTranslate(new Translate(Length.Percent(val), 0)));

View File

@@ -7,6 +7,7 @@ using PrimeTween;
using OnlyScove.Scripts;
#if UNITY_EDITOR
using UnityEditor;
using UnityEditor.Build;
#endif
namespace Hallucinate.UI
@@ -26,6 +27,7 @@ namespace Hallucinate.UI
[Header("References")]
[SerializeField] private InputReader inputReader;
public InputReader InputReader => inputReader;
[Header("Game Metadata")]
[SerializeField] private Texture2D gameIcon;
@@ -43,7 +45,7 @@ namespace Hallucinate.UI
[SerializeField] private VisualTreeAsset loginTemplate;
[SerializeField] private VisualTreeAsset mainMenuTemplate;
[SerializeField] private VisualTreeAsset lobbyTemplate;
[SerializeField] private VisualTreeAsset roomItemTemplate; // Template cho dòng phòng
[SerializeField] private VisualTreeAsset roomItemTemplate;
[SerializeField] private VisualTreeAsset profileTemplate;
[SerializeField] private VisualTreeAsset settingsTemplate;
[SerializeField] private VisualTreeAsset hudTemplate;
@@ -68,8 +70,19 @@ namespace Hallucinate.UI
private void Start()
{
if (_uiDocument == null) return;
if (_uiDocument == null) _uiDocument = GetComponent<UIDocument>();
if (_uiDocument == null)
{
Debug.LogError("[UIManager] UIDocument component missing!");
return;
}
_rootElement = _uiDocument.rootVisualElement;
if (_rootElement == null)
{
Debug.LogError("[UIManager] Root VisualElement is null!");
return;
}
_cursorLayer = new VisualElement();
_cursorLayer.name = "CursorLayer";
@@ -92,7 +105,7 @@ namespace Hallucinate.UI
#if UNITY_EDITOR
if (gameIcon == null)
{
var icons = PlayerSettings.GetIconsForTargetGroup(BuildTargetGroup.Unknown);
var icons = PlayerSettings.GetIcons(NamedBuildTarget.Unknown, IconKind.Any);
if (icons != null && icons.Length > 0) gameIcon = icons[0];
}
#endif
@@ -159,6 +172,8 @@ namespace Hallucinate.UI
private void SetupVirtualCursor()
{
if (_cursorLayer == null) return;
_cursorLayer.Clear();
_trailSegments.Clear();
_posHistory.Clear();
@@ -200,7 +215,7 @@ namespace Hallucinate.UI
private void OnGlobalClick(PointerDownEvent evt)
{
if (!enableRipples) return;
if (!enableRipples || _cursorLayer == null) return;
var ripple = new VisualElement();
ripple.style.position = Position.Absolute;
@@ -229,14 +244,18 @@ namespace Hallucinate.UI
_cursorLayer.Add(ripple);
Tween.Scale(ripple.transform, Vector3.one * 2.5f, duration: 0.4f, ease: Ease.OutQuad);
// Correct Fluent API for PrimeTween
Tween.Custom(Vector3.one, Vector3.one * 2.5f, duration: 0.4f,
onValueChange: val => ripple.style.scale = new StyleScale(new Scale(val)),
ease: Ease.OutQuad);
Tween.Custom(1f, 0f, duration: 0.4f, onValueChange: val => ripple.style.opacity = val)
.OnComplete(() => ripple.RemoveFromHierarchy());
}
private void UpdateCursorAndTrail()
{
if (!Application.isFocused)
if (!Application.isFocused || _cursorLayer == null)
{
if (_cursorLayer != null) _cursorLayer.style.display = DisplayStyle.None;
return;
@@ -247,11 +266,11 @@ namespace Hallucinate.UI
if (!isMouseInWindow)
{
if (_cursorLayer != null) _cursorLayer.style.display = DisplayStyle.None;
_cursorLayer.style.display = DisplayStyle.None;
return;
}
if (_cursorLayer != null) _cursorLayer.style.display = DisplayStyle.Flex;
_cursorLayer.style.display = DisplayStyle.Flex;
Vector2 uiPos = new Vector2(mousePos.x, Screen.height - mousePos.y);
float mouseSpeed = Vector2.Distance(uiPos, _lastMousePos);
@@ -285,32 +304,59 @@ namespace Hallucinate.UI
private void InitializeControllers()
{
_mainMenuController = RegisterController<MainMenuController>(mainMenuTemplate);
if (_mainMenuController != null && gameIcon != null) _mainMenuController.SetGameIcon(gameIcon);
try
{
_mainMenuController = RegisterController<MainMenuController>(mainMenuTemplate);
if (_mainMenuController != null && gameIcon != null) _mainMenuController.SetGameIcon(gameIcon);
_lobbyController = RegisterController<LobbyController>(lobbyTemplate);
if (_lobbyController != null) _lobbyController.SetRoomTemplate(roomItemTemplate);
_lobbyController = RegisterController<LobbyController>(lobbyTemplate);
if (_lobbyController != null) _lobbyController.SetRoomTemplate(roomItemTemplate);
RegisterController<ProfileController>(profileTemplate);
_settingsController = RegisterController<SettingsController>(settingsTemplate);
RegisterController<HUDController>(hudTemplate);
RegisterController<ProfileController>(profileTemplate);
_settingsController = RegisterController<SettingsController>(settingsTemplate);
RegisterController<HUDController>(hudTemplate);
_loginController = RegisterController<LoginController>(loginTemplate);
_loginController = RegisterController<LoginController>(loginTemplate);
}
catch (Exception e)
{
Debug.LogError($"[UIManager] Failed to initialize controllers: {e}");
}
}
private T RegisterController<T>(VisualTreeAsset template) where T : BaseUIController, new()
private T RegisterController<T>(VisualTreeAsset template) where T : BaseUIController
{
if (template == null) return null;
var instance = template.Instantiate();
if (template == null)
{
Debug.LogWarning($"[UIManager] Template for {typeof(T).Name} is missing in Inspector.");
return null;
}
if (_rootElement == null) return null;
VisualElement instance = null;
try
{
instance = template.Instantiate();
}
catch (Exception e)
{
Debug.LogError($"[UIManager] Failed to instantiate template for {typeof(T).Name}: {e.Message}");
return null;
}
if (instance == null) return null;
instance.style.flexGrow = 1;
instance.style.position = Position.Absolute;
instance.style.width = Length.Percent(100);
instance.style.height = Length.Percent(100);
instance.style.display = DisplayStyle.None;
_rootElement.Add(instance);
if (_cursorLayer != null) _cursorLayer.BringToFront();
var controller = new T();
var controller = ScriptableObject.CreateInstance<T>();
controller.Initialize(instance, this);
_controllers[typeof(T)] = controller;
return controller;

View File

@@ -11,5 +11,5 @@ AssetOrigin:
productId: 252960
packageName: "PrimeTween \xB7 High-Performance Animations and Sequences"
packageVersion: 1.4.0
assetPath: Assets/Plugins/PrimeTween/PrimeTweenInstaller.asset
assetPath: Assets/Third Parties/Plugins/PrimeTween/PrimeTweenInstaller.asset
uploadId: 900888

View File

@@ -10,5 +10,5 @@ AssetOrigin:
productId: 252960
packageName: "PrimeTween \xB7 High-Performance Animations and Sequences"
packageVersion: 1.4.0
assetPath: Assets/Plugins/PrimeTween/internal/PrimeTween.Installer.asmdef
assetPath: Assets/Third Parties/Plugins/PrimeTween/internal/PrimeTween.Installer.asmdef
uploadId: 900888

View File

@@ -14,5 +14,5 @@ AssetOrigin:
productId: 252960
packageName: "PrimeTween \xB7 High-Performance Animations and Sequences"
packageVersion: 1.4.0
assetPath: Assets/Plugins/PrimeTween/internal/PrimeTweenInstaller.cs
assetPath: Assets/Third Parties/Plugins/PrimeTween/internal/PrimeTweenInstaller.cs
uploadId: 900888

View File

@@ -0,0 +1,14 @@
fileFormatVersion: 2
guid: 6414010ec15eae34a957451b27b5593b
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 252960
packageName: "PrimeTween \xB7 High-Performance Animations and Sequences"
packageVersion: 1.4.0
assetPath: Assets/Third Parties/Plugins/PrimeTween/internal/com.kyrylokuzyk.primetween-1.4.0.tgz
uploadId: 900888

View File

@@ -1,51 +1,18 @@
/* Global Styles for Hallucinate UI */
/* osu!lazer-inspired — refined for Bitcount fonts */
/* ============================================================
DESIGN TOKENS
============================================================ */
:root {
/* Fonts - Using SDF assets for crisp rendering */
--font-heading: resource("Fonts/BitcountGridDouble-VariableFont_CRSV,ELSH,ELXP,slnt,wght SDF");
--font-body: resource("Fonts/BitcountSingleInk-VariableFont_CRSV,ELSH,ELXP,SZP1,SZP2,XPN1,XPN2,YPN1,YPN2,slnt,wght SDF");
/* Colors */
--primary-color: #ffffff;
--accent-color: #00ffcc;
--background-blur: rgba(0, 0, 0, 0.7);
/* Spacing system */
--space-1: 4px;
--space-2: 8px;
--space-3: 12px;
--space-4: 16px;
--space-6: 24px;
--space-8: 32px;
/* Surface & Borders */
--color-surface: rgba(10, 10, 10, 0.85);
--color-surface-light: rgba(255, 255, 255, 0.08);
--color-border: rgba(255, 255, 255, 0.15);
--color-border-hover: rgba(0, 255, 204, 0.5);
/* Palette — osu! inspired colors */
--color-btn-settings: #7B6EE8; /* purple */
--color-btn-join: #4DC8A0; /* teal */
--color-btn-create: #E8834D; /* orange */
--color-btn-profile: #E84D8A; /* pink */
--color-btn-exit: #666666; /* gray */
--color-btn-cancel: #FF4444; /* red */
/* Text */
--color-text-primary: rgba(255, 255, 255, 0.95);
--color-text-secondary: rgba(255, 255, 255, 0.6);
--color-text-accent: #00ffcc;
/* Border radius */
--radius-sm: 6px;
--radius-md: 12px;
--radius-lg: 20px;
--color-surface: rgba(10, 10, 10, 0.85);
--color-text-primary: #ffffff;
--color-text-secondary: #aaaaaa;
--color-text-accent: #00ffcc;
--radius-md: 12px;
--radius-pill: 999px;
--space-4: 16px;
}
/* ============================================================
@@ -55,8 +22,11 @@
width: 100%;
height: 100%;
position: absolute;
background-color: transparent;
-unity-font-definition: var(--font-body);
background-color: rgba(0, 0, 0, 0);
color: #ffffff;
/* Fallback to TTF if SDF fails */
-unity-font: url("../Fonts/BitcountSingleInk-VariableFont_CRSV,ELSH,ELXP,SZP1,SZP2,XPN1,XPN2,YPN1,YPN2,slnt,wght.ttf");
-unity-font-definition: url("../Fonts/BitcountSingleInk-VariableFont_CRSV,ELSH,ELXP,SZP1,SZP2,XPN1,XPN2,YPN1,YPN2,slnt,wght SDF.asset");
}
/* ============================================================
@@ -65,262 +35,237 @@
.text-heading {
font-size: 32px;
-unity-font-style: bold;
color: var(--color-text-primary);
-unity-font-definition: var(--font-heading);
margin-bottom: var(--space-4);
letter-spacing: 2px;
color: #ffffff;
-unity-font: url("../Fonts/BitcountGridDouble-VariableFont_CRSV,ELSH,ELXP,slnt,wght.ttf");
-unity-font-definition: url("../Fonts/BitcountGridDouble-VariableFont_CRSV,ELSH,ELXP,slnt,wght SDF.asset");
margin-bottom: 16px;
}
.text-subheading {
font-size: 24px;
-unity-font-style: bold;
color: var(--color-text-accent);
-unity-font-definition: var(--font-heading);
margin-bottom: var(--space-3);
color: #00ffcc;
-unity-font: url("../Fonts/BitcountGridDouble-VariableFont_CRSV,ELSH,ELXP,slnt,wght.ttf");
-unity-font-definition: url("../Fonts/BitcountGridDouble-VariableFont_CRSV,ELSH,ELXP,slnt,wght SDF.asset");
margin-bottom: 12px;
}
.text-label {
font-size: 14px;
color: var(--color-text-secondary);
-unity-font-definition: var(--font-body);
font-size: 15px;
color: #aaaaaa;
-unity-font-style: bold;
text-transform: uppercase;
letter-spacing: 1px;
}
.text-body {
font-size: 16px;
color: var(--color-text-primary);
-unity-font-definition: var(--font-body);
font-size: 18px;
color: #eeeeee;
-unity-font-style: normal;
/* Giúp chữ mượt hơn */
-unity-text-outline-width: 0.1px;
-unity-text-outline-color: rgba(255, 255, 255, 0.1);
}
.text-accent {
color: var(--color-text-accent);
color: #00ffcc;
}
/* ============================================================
BUTTON — SPRING
SCROLL VIEW CUSTOMIZATION
============================================================ */
.scroll-list {
padding-right: 12px;
}
/* Ẩn background của thanh cuộn */
.unity-scroller {
background-color: transparent;
width: 6px;
}
.unity-base-slider__tracker {
background-color: transparent;
border-width: 0;
}
/* Thanh dragger mặc định: Rất mỏng và mờ */
.unity-base-slider__dragger {
background-color: rgba(0, 255, 204, 0.3);
border-radius: 3px;
width: 3px;
left: 1.5px;
border-width: 0;
transition-property: width, background-color, left;
transition-duration: 0.2s;
}
/* Khi di chuột vào vùng scroller: Phình to ra */
.unity-scroller:hover .unity-base-slider__dragger {
background-color: rgba(0, 255, 204, 0.8);
width: 6px;
left: 0;
}
/* Ẩn các nút mũi tên lên xuống của scrollbar cho đẹp */
.unity-scroller__low-button, .unity-scroller__high-button {
display: none;
}
/* ============================================================
BUTTONS
============================================================ */
.button-spring {
height: 48px;
padding-left: var(--space-6);
padding-right: var(--space-6);
border-radius: var(--radius-md);
padding: 0 24px;
border-radius: 12px;
border-width: 0;
-unity-font-definition: var(--font-body);
-unity-font-style: bold;
font-size: 16px;
color: white;
background-color: var(--color-surface-light);
transition-property: scale, background-color, border-color;
color: #ffffff;
background-color: rgba(255, 255, 255, 0.1);
transition-duration: 0.1s;
transition-timing-function: ease-out-back;
cursor: link;
align-items: center;
justify-content: center;
}
.button-spring:hover {
scale: 1.05;
background-color: rgba(255, 255, 255, 0.15);
border-width: 1px;
border-color: var(--color-border-hover);
background-color: rgba(255, 255, 255, 0.2);
}
.button-spring:active {
scale: 0.95;
}
/* Per-button accent colors */
.btn-settings { background-color: var(--color-btn-settings); }
.btn-join { background-color: var(--color-btn-join); }
.btn-create { background-color: var(--color-btn-create); }
.btn-profile { background-color: var(--color-btn-profile); }
.btn-exit { background-color: var(--color-btn-exit); }
.btn-cancel { background-color: var(--color-btn-cancel); }
.btn-settings { background-color: #7B6EE8; }
.btn-join { background-color: #4DC8A0; }
.btn-create { background-color: #E8834D; }
.btn-profile { background-color: #E84D8A; }
.btn-exit { background-color: #666666; }
/* ============================================================
RIBBON — dải băng main menu
============================================================ */
.ribbon {
flex-direction: row;
align-items: center;
justify-content: center;
background-color: var(--color-surface);
padding: var(--space-3) var(--space-6);
border-radius: var(--radius-pill);
border-width: 2px;
border-color: var(--color-border);
}
.ribbon .button-spring {
margin-left: var(--space-2);
margin-right: var(--space-2);
min-width: 110px;
height: 54px;
}
/* ============================================================
LOGO
============================================================ */
.logo-pulse {
width: 200px;
height: 200px;
align-self: center;
justify-content: center;
border-radius: var(--radius-pill);
border-width: 4px;
border-color: var(--color-border-hover);
background-color: white;
overflow: hidden;
}
.logo-text {
-unity-font-definition: var(--font-heading);
font-size: 40px;
color: black;
-unity-font-style: bold;
}
/* ============================================================
SURFACE / PANEL
UTILITY
============================================================ */
.panel-glass {
background-color: var(--color-surface);
border-radius: var(--radius-lg);
border-radius: 20px;
border-width: 2px;
border-color: var(--color-border);
padding: var(--space-8);
border-color: rgba(255, 255, 255, 0.15);
}
.panel-glass--right {
width: 40%;
height: 100%;
border-radius: 0;
border-top-left-radius: var(--radius-lg);
border-bottom-left-radius: var(--radius-lg);
border-top-left-radius: 20px;
border-bottom-left-radius: 20px;
border-left-width: 3px;
border-left-color: var(--color-text-accent);
border-left-color: #00ffcc;
}
/* ============================================================
INPUT FIELD
============================================================ */
.input-field {
height: 48px;
border-radius: var(--radius-md);
border-radius: 12px;
border-width: 1px;
border-color: var(--color-border);
background-color: var(--color-surface-light);
color: var(--color-text-primary);
-unity-font-definition: var(--font-body);
font-size: 16px;
padding-left: var(--space-4);
margin-bottom: var(--space-4);
}
.input-field:focus {
border-color: var(--color-text-accent);
background-color: rgba(255, 255, 255, 0.12);
border-color: rgba(255, 255, 255, 0.15);
background-color: rgba(255, 255, 255, 0.08);
color: #ffffff;
padding-left: 16px;
margin-bottom: 16px;
}
.unity-base-text-field__input {
background-color: transparent;
background-color: rgba(0, 0, 0, 0);
border-width: 0;
}
.radius-pill { border-radius: 999px; }
.ribbon {
flex-direction: row;
height: 120px;
width: 100%;
background-color: rgba(10, 10, 10, 0.95);
border-top-width: 2px;
border-bottom-width: 2px;
border-top-color: #00ffcc;
border-bottom-color: #00ffcc;
align-items: center;
justify-content: center;
padding: 0 50px;
position: absolute;
top: 50%;
translate: 0 -50%;
}
.bg-dark-50 { background-color: rgba(0, 0, 0, 0.5); }
.border-default { border-color: rgba(255, 255, 255, 0.15); }
.border-accent { border-color: #00ffcc; }
.text-color-accent { color: #00ffcc; }
/* ============================================================
SIDEBAR (Settings)
SETTINGS & REBINDING
============================================================ */
.sidebar-tab {
height: 52px;
padding-left: var(--space-6);
border-radius: var(--radius-sm);
height: 50px;
background-color: transparent;
border-width: 0;
color: var(--color-text-secondary);
color: #aaaaaa;
-unity-font-style: bold;
font-size: 16px;
border-left-width: 4px;
border-left-color: transparent;
padding-left: 20px;
border-radius: 0;
margin: 5px 0;
-unity-text-align: middle-left;
margin-bottom: var(--space-2);
-unity-font-definition: var(--font-body);
}
.sidebar-tab:hover {
background-color: var(--color-surface-light);
color: var(--color-text-primary);
color: #ffffff;
background-color: rgba(255, 255, 255, 0.05);
}
.sidebar-tab.active-tab {
background-color: rgba(123, 110, 232, 0.2);
color: var(--color-text-accent);
border-left-color: var(--color-text-accent);
border-left-width: 4px;
border-radius: 0;
border-top-right-radius: var(--radius-sm);
border-bottom-right-radius: var(--radius-sm);
.active-tab {
color: #00ffcc;
border-left-color: #00ffcc;
background-color: rgba(0, 255, 204, 0.1);
}
/* ============================================================
HUD
============================================================ */
.hud-bar {
height: 24px;
border-radius: var(--radius-pill);
border-width: 2px;
border-color: var(--color-border);
background-color: rgba(0, 0, 0, 0.6);
overflow: hidden;
}
.unity-progress-bar__container {
height: 100%;
min-height: 100%;
}
.unity-progress-bar__background {
background-color: transparent;
border-width: 0;
}
.unity-progress-bar__progress {
border-radius: var(--radius-pill);
}
#HealthBar .unity-progress-bar__progress { background-color: #ff4444; }
#StaminaBar .unity-progress-bar__progress { background-color: #44ff44; }
.hud-slot {
width: 64px;
height: 64px;
border-radius: var(--radius-md);
border-width: 2px;
border-color: var(--color-border);
background-color: var(--color-surface);
margin-right: var(--space-2);
}
.hud-slot--active {
width: 80px;
height: 80px;
border-color: var(--color-text-accent);
border-width: 3px;
}
/* ============================================================
ROOM ITEM
============================================================ */
.room-item {
height: 80px;
margin-bottom: var(--space-3);
border-radius: var(--radius-md);
background-color: var(--color-surface-light);
border-width: 1px;
border-color: var(--color-border);
padding: 0 var(--space-4);
.rebind-row {
flex-direction: row;
justify-content: space-between;
align-items: center;
padding: 12px 16px;
background-color: rgba(255, 255, 255, 0.03);
border-radius: 8px;
margin-bottom: 4px;
}
.room-item:hover {
background-color: rgba(255, 255, 255, 0.12);
border-color: var(--color-text-accent);
.rebind-label {
font-size: 14px;
color: #dddddd;
}
.rebind-button {
width: 120px;
height: 32px;
background-color: rgba(255, 255, 255, 0.1);
border-radius: 6px;
border-width: 1px;
border-color: rgba(255, 255, 255, 0.2);
color: #00ffcc;
font-size: 12px;
-unity-font-style: bold;
}
.rebind-button:hover {
background-color: rgba(255, 255, 255, 0.2);
}
.setting-section-header {
margin-top: 24px;
margin-bottom: 8px;
font-size: 12px;
color: #888888;
-unity-font-style: bold;
border-bottom-width: 1px;
border-bottom-color: rgba(255, 255, 255, 0.1);
padding-bottom: 4px;
}

View File

@@ -2,82 +2,82 @@
<Style src="project:/Assets/UI/Global.uss" />
<ui:VisualElement name="LobbyRoot" class="screen-root" style="flex-direction: row;">
<!-- Left Pane: 3D Character View -->
<ui:VisualElement name="LeftPane" style="width: 60%; background-color: transparent;" />
<ui:VisualElement name="LeftPane" style="width: 60%; background-color: rgba(0, 0, 0, 0);" />
<!-- Right Pane: UI Content -->
<ui:VisualElement name="RightPane" style="width: 40%; background-color: rgba(0, 0, 0, 0.85); padding: 30px; border-left-width: 1px; border-left-color: #333;">
<ui:VisualElement name="RightPane" class="panel-glass--right">
<!-- JOIN VIEW -->
<ui:VisualElement name="JoinContainer" style="flex-grow: 1;">
<ui:Label text="FIND SESSIONS" style="font-size: 28px; -unity-font-style: bold; color: #00ffcc; margin-bottom: 20px;" />
<ui:TextField name="SearchInput" placeholder-text="Search room by name..." />
<ui:Label text="FIND SESSIONS" class="text-heading" />
<ui:TextField name="SearchInput" class="input-field" placeholder-text="Search room by name..." />
<ui:ScrollView name="RoomList" style="flex-grow: 1; margin-top: 15px; margin-bottom: 15px;" />
<ui:ScrollView name="RoomList" class="scroll-list" style="flex-grow: 1; margin-top: 15px; margin-bottom: 15px;" />
<ui:VisualElement style="flex-direction: row; justify-content: space-between;">
<ui:Button name="BackToMenuBtn" text="BACK" class="button-spring" style="width: 48%;" />
<ui:Button name="GoToCreateBtn" text="CREATE NEW" class="button-spring" style="width: 48%; background-color: #333; color: white;" />
<ui:Button name="BackToMenuBtn" text="BACK" class="button-spring btn-exit" style="width: 48%;" />
<ui:Button name="GoToCreateBtn" text="CREATE NEW" class="button-spring btn-create" style="width: 48%;" />
</ui:VisualElement>
</ui:VisualElement>
<!-- CREATE VIEW -->
<ui:VisualElement name="CreateContainer" style="flex-grow: 1; display: none;">
<ui:Label text="CREATE SESSION" style="font-size: 28px; -unity-font-style: bold; color: #00ffcc; margin-bottom: 20px;" />
<ui:Label text="CREATE SESSION" class="text-heading" />
<ui:Label text="ROOM ID (Required)" style="font-size: 12px; color: #888; margin-top: 10px;" />
<ui:TextField name="RoomIDInput" placeholder-text="e.g. ROOM_123" />
<ui:Label text="ROOM ID (Required)" class="text-label" />
<ui:TextField name="RoomIDInput" class="input-field" placeholder-text="e.g. ROOM_123" />
<ui:Label text="ROOM NAME (Optional)" style="font-size: 12px; color: #888; margin-top: 10px;" />
<ui:TextField name="RoomNameInput" placeholder-text="e.g. Pro Match Only" />
<ui:Label text="ROOM NAME (Optional)" class="text-label" />
<ui:TextField name="RoomNameInput" class="input-field" placeholder-text="e.g. Pro Match Only" />
<ui:Toggle name="PassToggle" label="REQUIRE PASSWORD" style="margin-top: 20px;" />
<ui:TextField name="RoomPassInput" password="true" placeholder-text="Password..." style="display: none;" />
<ui:Toggle name="PassToggle" label="REQUIRE PASSWORD" class="text-body" style="margin-top: 10px; margin-bottom: 10px;" />
<ui:TextField name="RoomPassInput" password="true" class="input-field" placeholder-text="Password..." style="display: none;" />
<ui:VisualElement style="flex-grow: 1;" />
<ui:VisualElement style="flex-direction: row; justify-content: space-between; margin-top: 20px;">
<ui:Button name="CancelCreateBtn" text="CANCEL" class="button-spring" style="width: 48%;" />
<ui:Button name="ConfirmCreateBtn" text="CREATE" class="button-spring" style="width: 48%; background-color: #00ffcc; color: black; -unity-font-style: bold;" />
<ui:Button name="CancelCreateBtn" text="CANCEL" class="button-spring btn-exit" style="width: 48%;" />
<ui:Button name="ConfirmCreateBtn" text="CREATE" class="button-spring btn-join" style="width: 48%;" />
</ui:VisualElement>
</ui:VisualElement>
<!-- LOUNGE VIEW -->
<ui:VisualElement name="LoungeContainer" style="flex-grow: 1; display: none;">
<ui:Label name="LoungeTitle" text="SESSION NAME" style="font-size: 24px; -unity-font-style: bold; color: #00ffcc;" />
<ui:Label name="LoungeID" text="ID: 12345" style="font-size: 12px; color: #888; margin-bottom: 30px;" />
<ui:Label name="LoungeTitle" text="SESSION NAME" class="text-heading" />
<ui:Label name="LoungeID" text="ID: 12345" class="text-label" style="margin-bottom: 30px;" />
<ui:VisualElement style="flex-direction: row; flex-grow: 1;">
<ui:VisualElement name="HostSlot" style="flex-grow: 1; background-color: rgba(255, 255, 255, 0.05); margin: 5px; padding: 15px; border-radius: 10px; align-items: center;">
<ui:VisualElement name="HostAvatar" style="width: 80px; height: 80px; border-radius: 40px; background-color: #333;" />
<ui:Label name="HostName" text="HOST" style="margin-top: 10px; -unity-font-style: bold;" />
<ui:Label name="HostReadyStatus" text="NOT READY" style="color: #ff4444; font-size: 10px;" />
<ui:VisualElement name="HostSlot" class="panel-glass border-create" style="flex-grow: 1; margin: 5px; padding: 15px; align-items: center;">
<ui:VisualElement name="HostAvatar" class="border-create" style="width: 80px; height: 80px; border-radius: 40px; background-color: #333; border-width: 2px;" />
<ui:Label name="HostName" text="HOST" class="text-body" style="-unity-font-style: bold; margin-top: 10px;" />
<ui:Label name="HostReadyStatus" text="NOT READY" class="text-label" style="color: #ff4444;" />
</ui:VisualElement>
<ui:VisualElement name="GuestSlot" style="flex-grow: 1; background-color: rgba(255, 255, 255, 0.05); margin: 5px; padding: 15px; border-radius: 10px; align-items: center;">
<ui:VisualElement name="GuestSlot" class="panel-glass" style="flex-grow: 1; margin: 5px; padding: 15px; align-items: center;">
<ui:VisualElement name="GuestAvatar" style="width: 80px; height: 80px; border-radius: 40px; background-color: #333;" />
<ui:Label name="GuestName" text="WAITING..." style="margin-top: 10px; color: #555;" />
<ui:Label name="GuestReadyStatus" text="-" style="color: #555; font-size: 10px;" />
<ui:Label name="GuestName" text="WAITING..." class="text-body" style="margin-top: 10px; color: #555;" />
<ui:Label name="GuestReadyStatus" text="-" class="text-label" />
</ui:VisualElement>
</ui:VisualElement>
<ui:Button name="ReadyToggleBtn" text="READY" class="button-spring" style="height: 50px; margin-top: 20px;" />
<ui:Button name="StartGameBtn" text="START GAME" class="button-spring" style="height: 60px; background-color: #00ffcc; color: black; -unity-font-style: bold; margin-top: 10px;" />
<ui:Button name="ReadyToggleBtn" text="READY" class="button-spring" style="height: 56px; margin-top: 20px;" />
<ui:Button name="StartGameBtn" text="START GAME" class="button-spring btn-join" style="height: 64px; margin-top: 10px;" />
</ui:VisualElement>
</ui:VisualElement>
<!-- PASSWORD OVERLAY -->
<ui:VisualElement name="PasswordOverlay" style="position: absolute; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.9); justify-content: center; align-items: center; display: none;">
<ui:VisualElement style="width: 350px; padding: 25px; background-color: #1a1a1a; border-radius: 15px; border-width: 2px; border-color: #333;">
<ui:Label text="PROTECTED SESSION" style="font-size: 20px; -unity-font-style: bold; color: white; align-self: center;" />
<ui:Label text="This room requires a password" style="font-size: 12px; color: #888; align-self: center; margin-bottom: 20px;" />
<ui:VisualElement class="panel-glass" style="width: 400px;">
<ui:Label text="PROTECTED SESSION" class="text-subheading" style="align-self: center;" />
<ui:Label text="This room requires a password" class="text-label" style="align-self: center; margin-bottom: 20px;" />
<ui:TextField name="JoinPassInput" password="true" placeholder-text="Enter password..." />
<ui:Label name="JoinPassError" text="Incorrect password!" style="color: #ff4444; font-size: 10px; margin-bottom: 10px; display: none;" />
<ui:TextField name="JoinPassInput" password="true" class="input-field" placeholder-text="Enter password..." />
<ui:Label name="JoinPassError" text="Incorrect password!" class="text-label" style="color: #ff4444; margin-bottom: 10px; display: none;" />
<ui:VisualElement style="flex-direction: row; justify-content: space-between; margin-top: 10px;">
<ui:Button name="ClosePassBtn" text="CANCEL" class="button-spring" style="width: 48%;" />
<ui:Button name="ConfirmJoinBtn" text="JOIN" class="button-spring" style="width: 48%; background-color: #00ffcc; color: black;" />
<ui:Button name="ClosePassBtn" text="CANCEL" class="button-spring btn-exit" style="width: 48%;" />
<ui:Button name="ConfirmJoinBtn" text="JOIN" class="button-spring btn-join" style="width: 48%;" />
</ui:VisualElement>
</ui:VisualElement>
</ui:VisualElement>

View File

@@ -1,14 +1,14 @@
<ui:UXML xmlns:ui="UnityEngine.UIElements" xmlns:uie="UnityEditor.UIElements" editor-extension-mode="False">
<Style src="project:/Assets/UI/Global.uss" />
<ui:VisualElement name="LoginRoot" class="screen-root" style="background-color: rgba(0, 0, 0, 0.85); justify-content: center; align-items: center;">
<ui:VisualElement name="Window" style="width: 400px; padding: 30px; background-color: #1a1a1a; border-radius: 15px; border-width: 2px; border-color: #333;">
<ui:Label text="WELCOME TRAVELLER" style="font-size: 24px; -unity-font-style: bold; color: white; align-self: center; margin-bottom: 10px;" />
<ui:Label text="Enter your username to begin" style="font-size: 14px; color: #888; align-self: center; margin-bottom: 25px;" />
<ui:VisualElement name="LoginRoot" class="screen-root" style="background-color: rgba(0, 0, 0, 0.8); justify-content: center; align-items: center;">
<ui:VisualElement name="Window" class="panel-glass" style="width: 450px;">
<ui:Label text="WELCOME TRAVELLER" class="text-heading" style="align-self: center;" />
<ui:Label text="Enter your username to begin" class="text-label" style="align-self: center; margin-bottom: 30px;" />
<ui:TextField name="UsernameInput" placeholder-text="Your name..." style="margin-bottom: 10px;" />
<ui:Label name="ErrorMsg" text="Name is already taken!" style="color: #ff4444; font-size: 12px; display: none; margin-bottom: 10px;" />
<ui:TextField name="UsernameInput" class="input-field" placeholder-text="Your name..." />
<ui:Label name="ErrorMsg" text="Name is already taken!" class="text-label" style="color: #ff4444; display: none; margin-bottom: 10px;" />
<ui:Button name="ConfirmBtn" text="CONFIRM" class="button-spring" style="height: 45px; background-color: #00ffcc; color: black; -unity-font-style: bold; margin-top: 10px;" />
<ui:Button name="ConfirmBtn" text="CONFIRM" class="button-spring btn-join" style="height: 54px; margin-top: 10px;" />
</ui:VisualElement>
</ui:VisualElement>
</ui:UXML>

View File

@@ -1,26 +1,29 @@
<ui:UXML xmlns:ui="UnityEngine.UIElements" xmlns:uie="UnityEditor.UIElements" editor-extension-mode="False">
<Style src="project:/Assets/UI/Global.uss" />
<ui:VisualElement name="HUD_Root" class="screen-root" picking-mode="Ignore">
<ui:VisualElement name="TopLeft" picking-mode="Ignore" style="position: absolute; top: 20px; left: 20px; width: 300px;">
<ui:ProgressBar name="HealthBar" title="HEALTH" value="100" style="margin-bottom: 5px;" />
<ui:ProgressBar name="StaminaBar" title="STAMINA" value="100" />
<ui:VisualElement name="TopLeft" picking-mode="Ignore" style="position: absolute; top: 30px; left: 30px; width: 350px;">
<ui:Label text="HEALTH" class="text-label" style="color: #ff4444; margin-bottom: 2px;" />
<ui:ProgressBar name="HealthBar" value="100" class="hud-bar" />
<ui:Label text="STAMINA" class="text-label" style="color: #44ff44; margin-top: 10px; margin-bottom: 2px;" />
<ui:ProgressBar name="StaminaBar" value="100" class="hud-bar" />
</ui:VisualElement>
<ui:VisualElement name="TopRight" picking-mode="Ignore" style="position: absolute; top: 20px; right: 20px; width: 200px; height: 200px; background-color: rgba(0, 0, 0, 0.5); border-radius: 10px; border-width: 2px; border-color: white;">
<ui:Label text="MINIMAP" style="align-self: center; margin-top: 80px;" />
<ui:VisualElement name="TopRight" picking-mode="Ignore" class="panel-glass" style="position: absolute; top: 30px; right: 30px; width: 220px; height: 220px; padding: 0; justify-content: center; align-items: center; border-color: rgba(255, 255, 255, 0.3);">
<ui:Label text="MINIMAP" class="text-label" />
</ui:VisualElement>
<ui:VisualElement name="BottomLeft" picking-mode="Ignore" style="position: absolute; bottom: 20px; left: 20px; flex-direction: row; align-items: flex-end;">
<ui:VisualElement name="MainSlot" style="width: 80px; height: 80px; background-color: rgba(255, 255, 255, 0.1); border-width: 2px; border-color: white; margin-right: 10px;" />
<ui:VisualElement name="QuickSlot1" style="width: 50px; height: 50px; background-color: rgba(255, 255, 255, 0.1); border-width: 1px; border-color: gray; margin-right: 5px;" />
<ui:VisualElement name="QuickSlot2" style="width: 50px; height: 50px; background-color: rgba(255, 255, 255, 0.1); border-width: 1px; border-color: gray; margin-right: 5px;" />
<ui:VisualElement name="QuickSlot3" style="width: 50px; height: 50px; background-color: rgba(255, 255, 255, 0.1); border-width: 1px; border-color: gray;" />
<ui:VisualElement name="BottomLeft" picking-mode="Ignore" style="position: absolute; bottom: 30px; left: 30px; flex-direction: row; align-items: flex-end;">
<ui:VisualElement name="MainSlot" class="hud-slot hud-slot--active" />
<ui:VisualElement name="QuickSlot1" class="hud-slot" />
<ui:VisualElement name="QuickSlot2" class="hud-slot" />
<ui:VisualElement name="QuickSlot3" class="hud-slot" />
</ui:VisualElement>
<ui:VisualElement name="BottomCenter" picking-mode="Ignore" style="position: absolute; bottom: 10px; width: 100%; align-items: center;">
<ui:VisualElement style="flex-direction: row; background-color: rgba(0, 0, 0, 0.3); padding: 2px 10px; border-radius: 5px;">
<ui:Label name="PingLabel" text="PING: 25ms" style="font-size: 12px; margin-right: 15px;" />
<ui:Label name="FPSLabel" text="FPS: 144" style="font-size: 12px;" />
<ui:VisualElement name="BottomCenter" picking-mode="Ignore" style="position: absolute; bottom: 15px; width: 100%; align-items: center;">
<ui:VisualElement class="radius-pill border-default bg-dark-50" style="flex-direction: row; padding: 4px 16px; border-width: 1px;">
<ui:Label name="PingLabel" text="PING: 25ms" class="text-body text-color-accent" style="font-size: 12px; margin-right: 20px;" />
<ui:Label name="FPSLabel" text="FPS: 144" class="text-body" style="font-size: 12px;" />
</ui:VisualElement>
</ui:VisualElement>
</ui:VisualElement>

View File

@@ -1,20 +1,17 @@
<ui:UXML xmlns:ui="UnityEngine.UIElements" xmlns:uie="UnityEditor.UIElements" editor-extension-mode="False">
<Style src="project:/Assets/UI/Global.uss" />
<ui:VisualElement name="MainMenuRoot" class="screen-root" picking-mode="Position">
<ui:VisualElement name="MenuContainer" picking-mode="Position" style="flex-grow: 1; justify-content: center; align-items: center;">
<ui:VisualElement name="Ribbon" picking-mode="Position" style="flex-direction: row; display: none; background-color: rgba(0, 0, 0, 0.8); padding: 5px 20px; border-radius: 10px; align-items: center; justify-content: center;">
<ui:Button name="SettingsBtn" text="Settings" class="button-spring" style="width: 100px; height: 50px;" />
<ui:VisualElement name="LogoSpace" style="width: 120px; height: 50px; background-color: transparent; margin: 0 10px;" />
<ui:Button name="JoinBtn" text="Join" class="button-spring" style="width: 100px; height: 50px;" />
<ui:Button name="CreateBtn" text="Create" class="button-spring" style="width: 100px; height: 50px;" />
<ui:Button name="ProfileBtn" text="Profile" class="button-spring" style="width: 100px; height: 50px;" />
<ui:Button name="ExitBtn" text="Exit" class="button-spring" style="width: 100px; height: 50px;" />
</ui:VisualElement>
<ui:VisualElement name="Ribbon" class="ribbon" picking-mode="Position" style="display: none; opacity: 0;">
<ui:Button name="SettingsBtn" text="SETTINGS" class="button-spring btn-settings" />
<ui:VisualElement name="LogoSpace" style="width: 100px; height: 100px; background-color: transparent; margin: 0 40px;" />
<ui:Button name="JoinBtn" text="JOIN" class="button-spring btn-join" />
<ui:Button name="CreateBtn" text="CREATE" class="button-spring btn-create" />
<ui:Button name="ProfileBtn" text="PROFILE" class="button-spring btn-profile" />
<ui:Button name="ExitBtn" text="EXIT" class="button-spring btn-exit" />
</ui:VisualElement>
<!-- Đặt Logo ở giữa màn hình mặc định bằng Percent và Translate -->
<ui:VisualElement name="Logo" class="logo-pulse" picking-mode="Position" style="background-color: white; border-radius: 100px; position: absolute; width: 200px; height: 200px; left: 50%; top: 50%; translate: -100px -100px;">
<ui:Label text="LOGO" picking-mode="Ignore" style="color: black; align-self: center;" />
<ui:VisualElement name="Logo" class="logo-pulse" picking-mode="Position" style="position: absolute; left: 50%; top: 50%; translate: -100px -100px;">
<ui:Label text="HALLUCINATE" class="logo-text" picking-mode="Ignore" />
</ui:VisualElement>
</ui:VisualElement>
</ui:UXML>

View File

@@ -1,27 +1,28 @@
<ui:UXML xmlns:ui="UnityEngine.UIElements" xmlns:uie="UnityEditor.UIElements" editor-extension-mode="False"> <Style src="project:/Assets/UI/Global.uss" />
<ui:UXML xmlns:ui="UnityEngine.UIElements" xmlns:uie="UnityEditor.UIElements" editor-extension-mode="False">
<Style src="project:/Assets/UI/Global.uss" />
<ui:VisualElement name="ProfileRoot" class="screen-root" style="flex-direction: row;">
<ui:VisualElement name="LeftPane" style="width: 50%; background-color: transparent;" />
<ui:VisualElement name="RightPane" style="width: 50%; background-color: rgba(0, 0, 0, 0.7); padding: 40px;">
<ui:VisualElement name="LeftPane" style="width: 60%; background-color: rgba(0, 0, 0, 0);" />
<ui:VisualElement name="RightPane" class="panel-glass--right">
<ui:VisualElement name="Header" style="flex-direction: row; align-items: center; margin-bottom: 30px;">
<ui:VisualElement name="Avatar" style="width: 100px; height: 100px; border-radius: 50px; background-color: gray; margin-right: 20px;" />
<ui:VisualElement name="Avatar" class="border-accent" style="width: 100px; height: 100px; border-radius: 50px; background-color: gray; margin-right: 20px; border-width: 3px;" />
<ui:VisualElement>
<ui:Label name="Username" text="Player One" style="font-size: 32px; -unity-font-style: bold;" />
<ui:Label name="Rank" text="MASTER III" style="color: gold;" />
<ui:Label name="Username" text="Player One" class="text-heading" style="margin-bottom: 0;" />
<ui:Label name="Rank" text="MASTER III" class="text-subheading" style="font-size: 18px;" />
</ui:VisualElement>
</ui:VisualElement>
<ui:VisualElement name="Stats" style="margin-bottom: 30px;">
<ui:Label text="WIN RATE" />
<ui:ProgressBar name="WinRateBar" value="65" />
<ui:Label name="WinRateText" text="65%" style="align-self: flex-end;" />
<ui:Label text="WIN RATE" class="text-label" />
<ui:ProgressBar name="WinRateBar" value="65" class="hud-bar" />
<ui:Label name="WinRateText" text="65%" class="text-body" style="align-self: flex-end; -unity-font-style: bold;" />
</ui:VisualElement>
<ui:ScrollView name="Inventory" style="flex-grow: 1; background-color: rgba(255, 255, 255, 0.05); padding: 10px;">
<ui:Label text="INVENTORY" style="margin-bottom: 10px;" />
<ui:ScrollView name="Inventory" class="scroll-list bg-surface-light radius-md" style="flex-grow: 1; padding: 10px;">
<ui:Label text="INVENTORY" class="text-label" style="margin-bottom: 10px;" />
<!-- Skin items will go here -->
</ui:ScrollView>
<ui:Button name="BackBtn" text="BACK" class="button-spring" style="margin-top: 20px;" />
<ui:Button name="BackBtn" text="BACK" class="button-spring btn-exit" style="margin-top: 20px;" />
</ui:VisualElement>
</ui:VisualElement>
</ui:UXML>

View File

@@ -1,21 +1,22 @@
<ui:UXML xmlns:ui="UnityEngine.UIElements" xmlns:uie="UnityEditor.UIElements" editor-extension-mode="False">
<ui:VisualElement name="RoomItemRoot" style="flex-direction: row; height: 80px; background-color: rgba(255, 255, 255, 0.05); margin-bottom: 8px; border-radius: 8px; padding: 10px; align-items: center; border-width: 1px; border-color: rgba(255, 255, 255, 0.1);">
<Style src="project:/Assets/UI/Global.uss" />
<ui:VisualElement name="RoomItemRoot" class="room-item">
<!-- Avatar chủ phòng -->
<ui:VisualElement name="HostAvatar" style="width: 60px; height: 60px; border-radius: 30px; background-color: #333; margin-right: 15px; border-width: 2px; border-color: #00ffcc;" />
<ui:VisualElement name="HostAvatar" class="border-accent" style="width: 54px; height: 54px; border-radius: 27px; background-color: #333; margin-right: 15px; border-width: 2px;" />
<!-- Thông tin phòng -->
<ui:VisualElement style="flex-grow: 1;">
<ui:Label name="RoomName" text="ROOM NAME" style="font-size: 18px; -unity-font-style: bold; color: white;" />
<ui:Label name="RoomName" text="ROOM NAME" class="text-body" style="-unity-font-style: bold; color: white;" />
<ui:VisualElement style="flex-direction: row; align-items: center;">
<ui:Label name="PlayerCount" text="1/2" style="color: #888; font-size: 12px; margin-right: 10px;" />
<ui:Label name="StatusBadge" text="WAITING" style="background-color: #0088ff; color: white; font-size: 10px; padding: 2px 6px; border-radius: 4px;" />
<ui:Label name="PlayerCount" text="1/2" class="text-label text-color-secondary" style="margin-right: 10px;" />
<ui:Label name="StatusBadge" text="WAITING" class="text-label" style="background-color: #0088ff; color: white; padding: 2px 8px; border-radius: 4px; font-size: 10px;" />
</ui:VisualElement>
</ui:VisualElement>
<!-- Nút Join / Trạng thái -->
<ui:VisualElement name="ActionArea" style="width: 80px; align-items: flex-end;">
<ui:Label name="LockIcon" text="🔒" style="display: none; font-size: 16px; margin-bottom: 5px;" />
<ui:Button name="JoinBtn" text="JOIN" class="button-spring" style="width: 70px; height: 35px; background-color: #00ffcc; color: black; -unity-font-style: bold;" />
<ui:VisualElement name="ActionArea" style="width: 100px; align-items: flex-end;">
<ui:Label name="LockIcon" text="🔒" class="text-body" style="display: none; font-size: 18px; margin-bottom: 5px;" />
<ui:Button name="JoinBtn" text="JOIN" class="button-spring btn-join" style="width: 80px; height: 40px; font-size: 14px;" />
</ui:VisualElement>
</ui:VisualElement>
</ui:UXML>

View File

@@ -1,21 +1,23 @@
<ui:UXML xmlns:ui="UnityEngine.UIElements" xmlns:uie="UnityEditor.UIElements" editor-extension-mode="False">
<Style src="project:/Assets/UI/Global.uss" />
<ui:VisualElement name="SettingsRoot" class="screen-root" picking-mode="Position" style="background-color: rgba(0, 0, 0, 0.5); justify-content: flex-start;">
<ui:VisualElement name="Sidebar" picking-mode="Position" style="width: 400px; height: 100%; background-color: #1a1a1a; flex-direction: row;">
<ui:VisualElement name="SettingsRoot" class="screen-root" picking-mode="Position" style="background-color: rgba(0, 0, 0, 0.7); justify-content: flex-start;">
<ui:VisualElement name="Sidebar" picking-mode="Position" class="panel-glass border-accent" style="width: 500px; height: 100%; flex-direction: row; padding: 0; border-radius: 0; border-right-width: 2px;">
<!-- Tabs -->
<ui:VisualElement name="TabsColumn" style="width: 30%; background-color: #111; padding-top: 50px;">
<ui:Button name="GeneralTab" text="General" class="button-spring" style="margin: 5px;" />
<ui:Button name="VideoTab" text="Video" class="button-spring" style="margin: 5px;" />
<ui:Button name="SoundTab" text="Sound" class="button-spring" style="margin: 5px;" />
<ui:Button name="ControlTab" text="Control" class="button-spring" style="margin: 5px;" />
<ui:Button name="CloseSettingsBtn" text="BACK" class="button-spring" style="margin-top: auto; margin-bottom: 20px;" />
<ui:VisualElement name="TabsColumn" style="width: 35%; background-color: rgba(0, 0, 0, 0.3); padding-top: 60px;">
<ui:Button name="GeneralTab" text="GENERAL" class="sidebar-tab active-tab" />
<ui:Button name="VideoTab" text="VIDEO" class="sidebar-tab" />
<ui:Button name="SoundTab" text="SOUND" class="sidebar-tab" />
<ui:Button name="ControlTab" text="CONTROL" class="sidebar-tab" />
<ui:VisualElement style="flex-grow: 1;" />
<ui:Button name="CloseSettingsBtn" text="BACK" class="button-spring btn-exit" style="margin: 20px;" />
</ui:VisualElement>
<!-- Details -->
<ui:VisualElement name="DetailsColumn" style="width: 70%; padding: 20px;">
<ui:Label name="TabTitle" text="GENERAL" style="font-size: 24px; -unity-font-style: bold; margin-bottom: 20px;" />
<ui:ScrollView name="SettingsContent" style="flex-grow: 1;">
<!-- Content -->
<ui:VisualElement name="DetailsColumn" style="width: 65%; padding: 40px;">
<ui:Label name="TabTitle" text="GENERAL" class="text-heading" />
<ui:ScrollView name="SettingsContent" class="scroll-list" style="flex-grow: 1;">
<!-- Content will be injected here -->
</ui:ScrollView>
</ui:VisualElement>
</ui:VisualElement>

View File

@@ -0,0 +1,776 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!29 &1
OcclusionCullingSettings:
m_ObjectHideFlags: 0
serializedVersion: 2
m_OcclusionBakeSettings:
smallestOccluder: 5
smallestHole: 0.25
backfaceThreshold: 100
m_SceneGUID: 00000000000000000000000000000000
m_OcclusionCullingData: {fileID: 0}
--- !u!104 &2
RenderSettings:
m_ObjectHideFlags: 0
serializedVersion: 10
m_Fog: 0
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
m_FogMode: 3
m_FogDensity: 0.01
m_LinearFogStart: 0
m_LinearFogEnd: 300
m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
m_AmbientIntensity: 1
m_AmbientMode: 0
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
m_HaloStrength: 0.5
m_FlareStrength: 1
m_FlareFadeSpeed: 3
m_HaloTexture: {fileID: 0}
m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
m_DefaultReflectionMode: 0
m_DefaultReflectionResolution: 128
m_ReflectionBounces: 1
m_ReflectionIntensity: 1
m_CustomReflection: {fileID: 0}
m_Sun: {fileID: 0}
m_UseRadianceAmbientProbe: 0
--- !u!157 &3
LightmapSettings:
m_ObjectHideFlags: 0
serializedVersion: 13
m_BakeOnSceneLoad: 0
m_GISettings:
serializedVersion: 2
m_BounceScale: 1
m_IndirectOutputScale: 1
m_AlbedoBoost: 1
m_EnvironmentLightingMode: 0
m_EnableBakedLightmaps: 1
m_EnableRealtimeLightmaps: 0
m_LightmapEditorSettings:
serializedVersion: 12
m_Resolution: 2
m_BakeResolution: 40
m_AtlasSize: 1024
m_AO: 0
m_AOMaxDistance: 1
m_CompAOExponent: 1
m_CompAOExponentDirect: 0
m_ExtractAmbientOcclusion: 0
m_Padding: 2
m_LightmapParameters: {fileID: 0}
m_LightmapsBakeMode: 1
m_TextureCompression: 1
m_ReflectionCompression: 2
m_MixedBakeMode: 2
m_BakeBackend: 2
m_PVRSampling: 1
m_PVRDirectSampleCount: 32
m_PVRSampleCount: 512
m_PVRBounces: 2
m_PVREnvironmentSampleCount: 256
m_PVREnvironmentReferencePointCount: 2048
m_PVRFilteringMode: 1
m_PVRDenoiserTypeDirect: 1
m_PVRDenoiserTypeIndirect: 1
m_PVRDenoiserTypeAO: 1
m_PVRFilterTypeDirect: 0
m_PVRFilterTypeIndirect: 0
m_PVRFilterTypeAO: 0
m_PVREnvironmentMIS: 1
m_PVRCulling: 1
m_PVRFilteringGaussRadiusDirect: 1
m_PVRFilteringGaussRadiusIndirect: 1
m_PVRFilteringGaussRadiusAO: 1
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
m_PVRFilteringAtrousPositionSigmaIndirect: 2
m_PVRFilteringAtrousPositionSigmaAO: 1
m_ExportTrainingData: 0
m_TrainingDataDestination: TrainingData
m_LightProbeSampleCountMultiplier: 4
m_LightingDataAsset: {fileID: 20201, guid: 0000000000000000f000000000000000, type: 0}
m_LightingSettings: {fileID: 0}
--- !u!196 &4
NavMeshSettings:
serializedVersion: 2
m_ObjectHideFlags: 0
m_BuildSettings:
serializedVersion: 3
agentTypeID: 0
agentRadius: 0.5
agentHeight: 2
agentSlope: 45
agentClimb: 0.4
ledgeDropHeight: 0
maxJumpAcrossDistance: 0
minRegionArea: 2
manualCellSize: 0
cellSize: 0.16666667
manualTileSize: 0
tileSize: 256
buildHeightMesh: 0
maxJobWorkers: 0
preserveTilesOutsideBounds: 0
debug:
m_Flags: 0
m_NavMeshData: {fileID: 0}
--- !u!1 &458228298
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 458228301}
- component: {fileID: 458228300}
- component: {fileID: 458228299}
m_Layer: 0
m_Name: UIManager
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &458228299
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: 11500000, guid: bcb7b8ed439bb4546b0648c627c2ce5d, type: 3}
m_Name:
m_EditorClassIdentifier: Assembly-CSharp::Hallucinate.UI.UIManager
inputReader: {fileID: 2128442884}
gameIcon: {fileID: 0}
cursorSprite: {fileID: 21300000, guid: bf03bd4e32f382f45bd848d91517f188, type: 3}
cursorTrailSprite: {fileID: 21300000, guid: b9c4a623634019648b505c6122243b00, type: 3}
cursorSize: 57
trailLength: 15
trailSpacing: 2
enableRipples: 1
rippleColor: {r: 1, g: 1, b: 1, a: 0.5}
loginTemplate: {fileID: 9197481963319205126, guid: 4f11f2cb91fbd4748bcbc70cd0f5afe7, type: 3}
mainMenuTemplate: {fileID: 9197481963319205126, guid: 8dcbe9fd5e8c43c43921af21a6347624, type: 3}
lobbyTemplate: {fileID: 9197481963319205126, guid: 2b2480fff4320714e9b503e7d5ef2c9f, type: 3}
roomItemTemplate: {fileID: 9197481963319205126, guid: 1be64545006384b4dbaa87849f32b8ba, type: 3}
profileTemplate: {fileID: 9197481963319205126, guid: e481c7d94f843374cb57e215bf9b0624, type: 3}
settingsTemplate: {fileID: 9197481963319205126, guid: 1e24e32e93afac8449d0bb181ab5c6a9, type: 3}
hudTemplate: {fileID: 9197481963319205126, guid: b87ba33c06a8c1d46a3d9f03416ebf3f, type: 3}
--- !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: c093ebe66178f9047be53f245ccc3c2d, type: 2}
m_ParentUI: {fileID: 0}
sourceAsset: {fileID: 0}
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 &458228301
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 458228298}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
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: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &626355268
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 626355270}
- component: {fileID: 626355269}
- component: {fileID: 626355271}
m_Layer: 0
m_Name: Directional Light
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!108 &626355269
Light:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 626355268}
m_Enabled: 1
serializedVersion: 12
m_Type: 1
m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
m_Intensity: 1
m_Range: 10
m_SpotAngle: 30
m_InnerSpotAngle: 21.80208
m_CookieSize2D: {x: 0.5, y: 0.5}
m_Shadows:
m_Type: 2
m_Resolution: -1
m_CustomResolution: -1
m_Strength: 1
m_Bias: 0.05
m_NormalBias: 0.4
m_NearPlane: 0.2
m_CullingMatrixOverride:
e00: 1
e01: 0
e02: 0
e03: 0
e10: 0
e11: 1
e12: 0
e13: 0
e20: 0
e21: 0
e22: 1
e23: 0
e30: 0
e31: 0
e32: 0
e33: 1
m_UseCullingMatrixOverride: 0
m_Cookie: {fileID: 0}
m_DrawHalo: 0
m_Flare: {fileID: 0}
m_RenderMode: 0
m_CullingMask:
serializedVersion: 2
m_Bits: 4294967295
m_RenderingLayerMask: 1
m_Lightmapping: 4
m_LightShadowCasterMode: 0
m_AreaSize: {x: 1, y: 1}
m_BounceIntensity: 1
m_ColorTemperature: 6570
m_UseColorTemperature: 0
m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
m_UseBoundingSphereOverride: 0
m_UseViewFrustumForShadowCasterCull: 1
m_ForceVisible: 0
m_ShadowRadius: 0
m_ShadowAngle: 0
m_LightUnit: 1
m_LuxAtDistance: 1
m_EnableSpotReflector: 1
--- !u!4 &626355270
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 626355268}
serializedVersion: 2
m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
m_LocalPosition: {x: 0, y: 3, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
--- !u!114 &626355271
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 626355268}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 474bcb49853aa07438625e644c072ee6, type: 3}
m_Name:
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Runtime::UnityEngine.Rendering.Universal.UniversalAdditionalLightData
m_UsePipelineSettings: 1
m_AdditionalLightsShadowResolutionTier: 2
m_CustomShadowLayers: 0
m_LightCookieSize: {x: 1, y: 1}
m_LightCookieOffset: {x: 0, y: 0}
m_SoftShadowQuality: 0
m_RenderingLayersMask:
serializedVersion: 0
m_Bits: 1
m_ShadowRenderingLayersMask:
serializedVersion: 0
m_Bits: 1
m_Version: 4
m_LightLayerMask: 1
m_ShadowLayerMask: 1
m_RenderingLayers: 1
m_ShadowRenderingLayers: 1
--- !u!1 &1848374378
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1848374381}
- component: {fileID: 1848374380}
- component: {fileID: 1848374379}
- component: {fileID: 1848374382}
m_Layer: 0
m_Name: Main Camera
m_TagString: MainCamera
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!81 &1848374379
AudioListener:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1848374378}
m_Enabled: 1
--- !u!20 &1848374380
Camera:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1848374378}
m_Enabled: 1
serializedVersion: 2
m_ClearFlags: 1
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
m_projectionMatrixMode: 1
m_GateFitMode: 2
m_FOVAxisMode: 0
m_Iso: 200
m_ShutterSpeed: 0.005
m_Aperture: 16
m_FocusDistance: 10
m_FocalLength: 50
m_BladeCount: 5
m_Curvature: {x: 2, y: 11}
m_BarrelClipping: 0.25
m_Anamorphism: 0
m_SensorSize: {x: 36, y: 24}
m_LensShift: {x: 0, y: 0}
m_NormalizedViewPortRect:
serializedVersion: 2
x: 0
y: 0
width: 1
height: 1
near clip plane: 0.3
far clip plane: 1000
field of view: 60
orthographic: 0
orthographic size: 5
m_Depth: -1
m_CullingMask:
serializedVersion: 2
m_Bits: 4294967295
m_RenderingPath: -1
m_TargetTexture: {fileID: 0}
m_TargetDisplay: 0
m_TargetEye: 3
m_HDR: 1
m_AllowMSAA: 1
m_AllowDynamicResolution: 0
m_ForceIntoRT: 0
m_OcclusionCulling: 1
m_StereoConvergence: 10
m_StereoSeparation: 0.022
--- !u!4 &1848374381
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1848374378}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 1, z: -10}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &1848374382
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1848374378}
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!1 &2128442883
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2128442885}
- component: {fileID: 2128442884}
- component: {fileID: 2128442886}
m_Layer: 0
m_Name: InputReader
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &2128442884
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2128442883}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5962d8f2c8e40e240a4a4907c7b539fa, type: 3}
m_Name:
m_EditorClassIdentifier: Assembly-CSharp::OnlyScove.Scripts.InputReader
--- !u!4 &2128442885
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2128442883}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
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: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &2128442886
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2128442883}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 62899f850307741f2a39c98a8b639597, type: 3}
m_Name:
m_EditorClassIdentifier: Unity.InputSystem::UnityEngine.InputSystem.PlayerInput
m_Actions: {fileID: -944628639613478452, guid: ac73bbdc8e64ac34c9525df400c1534f, type: 3}
m_NotificationBehavior: 2
m_UIInputModule: {fileID: 0}
m_DeviceLostEvent:
m_PersistentCalls:
m_Calls: []
m_DeviceRegainedEvent:
m_PersistentCalls:
m_Calls: []
m_ControlsChangedEvent:
m_PersistentCalls:
m_Calls: []
m_ActionEvents:
- m_PersistentCalls:
m_Calls:
- m_Target: {fileID: 0}
m_TargetAssemblyTypeName: OnlyScove.Scripts.InputReader, Assembly-CSharp
m_MethodName: OnMove
m_Mode: 0
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
m_ActionId: 351f2ccd-1f9f-44bf-9bec-d62ac5c5f408
m_ActionName: 'Player/Move[/Keyboard/w,/Keyboard/upArrow,/Keyboard/s,/Keyboard/downArrow,/Keyboard/a,/Keyboard/leftArrow,/Keyboard/d,/Keyboard/rightArrow]'
- m_PersistentCalls:
m_Calls:
- m_Target: {fileID: 0}
m_TargetAssemblyTypeName: OnlyScove.Scripts.InputReader, Assembly-CSharp
m_MethodName: OnLook
m_Mode: 0
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
m_ActionId: 6b444451-8a00-4d00-a97e-f47457f736a8
m_ActionName: 'Player/Look[/Mouse/delta]'
- m_PersistentCalls:
m_Calls:
- m_Target: {fileID: 0}
m_TargetAssemblyTypeName: OnlyScove.Scripts.InputReader, Assembly-CSharp
m_MethodName: OnAttack
m_Mode: 0
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
m_ActionId: 6c2ab1b8-8984-453a-af3d-a3c78ae1679a
m_ActionName: 'Player/Attack[/Mouse/leftButton,/Keyboard/enter]'
- m_PersistentCalls:
m_Calls:
- m_Target: {fileID: 0}
m_TargetAssemblyTypeName: OnlyScove.Scripts.InputReader, Assembly-CSharp
m_MethodName: OnInteract
m_Mode: 0
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
m_ActionId: 852140f2-7766-474d-8707-702459ba45f3
m_ActionName: 'Player/Interact[/Keyboard/e]'
- m_PersistentCalls:
m_Calls:
- m_Target: {fileID: 0}
m_TargetAssemblyTypeName: OnlyScove.Scripts.InputReader, Assembly-CSharp
m_MethodName: OnCrouch
m_Mode: 0
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
m_ActionId: 27c5f898-bc57-4ee1-8800-db469aca5fe3
m_ActionName: 'Player/Crouch[/Keyboard/c]'
- m_PersistentCalls:
m_Calls:
- m_Target: {fileID: 0}
m_TargetAssemblyTypeName: OnlyScove.Scripts.InputReader, Assembly-CSharp
m_MethodName: OnJump
m_Mode: 0
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
m_ActionId: f1ba0d36-48eb-4cd5-b651-1c94a6531f70
m_ActionName: 'Player/Jump[/Keyboard/space]'
- m_PersistentCalls:
m_Calls:
- m_Target: {fileID: 0}
m_TargetAssemblyTypeName: OnlyScove.Scripts.InputReader, Assembly-CSharp
m_MethodName: OnPrevious
m_Mode: 0
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
m_ActionId: 2776c80d-3c14-4091-8c56-d04ced07a2b0
m_ActionName: 'Player/Previous[/Keyboard/1]'
- m_PersistentCalls:
m_Calls:
- m_Target: {fileID: 0}
m_TargetAssemblyTypeName: OnlyScove.Scripts.InputReader, Assembly-CSharp
m_MethodName: OnNext
m_Mode: 0
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
m_ActionId: b7230bb6-fc9b-4f52-8b25-f5e19cb2c2ba
m_ActionName: 'Player/Next[/Keyboard/2]'
- m_PersistentCalls:
m_Calls:
- m_Target: {fileID: 0}
m_TargetAssemblyTypeName: OnlyScove.Scripts.InputReader, Assembly-CSharp
m_MethodName: OnSprint
m_Mode: 0
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
m_ActionId: 641cd816-40e6-41b4-8c3d-04687c349290
m_ActionName: 'Player/Sprint[/Keyboard/leftShift]'
- m_PersistentCalls:
m_Calls: []
m_ActionId: c95b2375-e6d9-4b88-9c4c-c5e76515df4b
m_ActionName: 'UI/Navigate[/Keyboard/w,/Keyboard/upArrow,/Keyboard/s,/Keyboard/downArrow,/Keyboard/a,/Keyboard/leftArrow,/Keyboard/d,/Keyboard/rightArrow]'
- m_PersistentCalls:
m_Calls: []
m_ActionId: 7607c7b6-cd76-4816-beef-bd0341cfe950
m_ActionName: 'UI/Submit[/Keyboard/enter]'
- m_PersistentCalls:
m_Calls: []
m_ActionId: 15cef263-9014-4fd5-94d9-4e4a6234a6ef
m_ActionName: 'UI/Cancel[/Keyboard/escape]'
- m_PersistentCalls:
m_Calls: []
m_ActionId: 32b35790-4ed0-4e9a-aa41-69ac6d629449
m_ActionName: 'UI/Point[/Mouse/position]'
- m_PersistentCalls:
m_Calls: []
m_ActionId: 3c7022bf-7922-4f7c-a998-c437916075ad
m_ActionName: 'UI/Click[/Mouse/leftButton]'
- m_PersistentCalls:
m_Calls: []
m_ActionId: 44b200b1-1557-4083-816c-b22cbdf77ddf
m_ActionName: 'UI/RightClick[/Mouse/rightButton]'
- m_PersistentCalls:
m_Calls: []
m_ActionId: dad70c86-b58c-4b17-88ad-f5e53adf419e
m_ActionName: 'UI/MiddleClick[/Mouse/middleButton]'
- m_PersistentCalls:
m_Calls: []
m_ActionId: 0489e84a-4833-4c40-bfae-cea84b696689
m_ActionName: 'UI/ScrollWheel[/Mouse/scroll]'
- m_PersistentCalls:
m_Calls: []
m_ActionId: 24908448-c609-4bc3-a128-ea258674378a
m_ActionName: UI/TrackedDevicePosition
- m_PersistentCalls:
m_Calls: []
m_ActionId: 9caa3d8a-6b2f-4e8e-8bad-6ede561bd9be
m_ActionName: UI/TrackedDeviceOrientation
- m_PersistentCalls:
m_Calls: []
m_ActionId: 1702ffae-5ad3-4532-9855-bf7e2a8ae749
m_ActionName: 'Player/Scroll[/Mouse/scroll]'
- m_PersistentCalls:
m_Calls: []
m_ActionId: 7e8b9416-0a2d-4652-98d8-e7368560ede9
m_ActionName: 'Player/Change View[/Keyboard/f2]'
- m_PersistentCalls:
m_Calls:
- m_Target: {fileID: 2128442884}
m_TargetAssemblyTypeName: OnlyScove.Scripts.InputReader, Assembly-CSharp
m_MethodName: OnToggleSettings
m_Mode: 0
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 0
m_CallState: 1
m_ActionId: ae29d662-c797-4411-8ff3-8b5ad78427d8
m_ActionName: 'UI/ToggleSetting[/Keyboard/leftCtrl,/Keyboard/g]'
- m_PersistentCalls:
m_Calls:
- m_Target: {fileID: 2128442884}
m_TargetAssemblyTypeName: OnlyScove.Scripts.InputReader, Assembly-CSharp
m_MethodName: OnCancel
m_Mode: 0
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 0
m_CallState: 1
m_ActionId: 79227a8d-6fd2-496d-8466-68f007a2c355
m_ActionName: 'UI/Escape[/Keyboard/escape]'
m_NeverAutoSwitchControlSchemes: 0
m_DefaultControlScheme:
m_DefaultActionMap: UI
m_SplitScreenIndex: -1
m_Camera: {fileID: 1848374380}
--- !u!1660057539 &9223372036854775807
SceneRoots:
m_ObjectHideFlags: 0
m_Roots:
- {fileID: 1848374381}
- {fileID: 626355270}
- {fileID: 2128442885}
- {fileID: 458228301}

View File

@@ -1,6 +1,6 @@
fileFormatVersion: 2
guid: 3a2b04331ae5d7f48a3069158f4c8582
PrefabImporter:
guid: 103392760a529914bbb170a21ebdf6b6
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:

View File

@@ -1,6 +1,5 @@
{
"dependencies": {
"com.kyrylokuzyk.primetween": "file:../Assets/Plugins/PrimeTween/internal/com.kyrylokuzyk.primetween.tgz",
"com.unity.2d.sprite": "1.0.0",
"com.unity.ai.navigation": "2.0.10",
"com.unity.collab-proxy": "2.11.3",
@@ -14,6 +13,7 @@
"com.unity.timeline": "1.8.10",
"com.unity.ugui": "2.0.0",
"com.unity.visualscripting": "1.9.9",
"com.kyrylokuzyk.primetween": "file:../Assets/Third Parties/Plugins/PrimeTween/internal/com.kyrylokuzyk.primetween.tgz",
"com.wooshii.foldericons": "https://github.com/WooshiiDev/Unity-Folder-Icons.git",
"com.unity.modules.accessibility": "1.0.0",
"com.unity.modules.adaptiveperformance": "1.0.0",

View File

@@ -1,7 +1,7 @@
{
"dependencies": {
"com.kyrylokuzyk.primetween": {
"version": "file:../Assets/Plugins/PrimeTween/internal/com.kyrylokuzyk.primetween.tgz",
"version": "file:../Assets/Third Parties/Plugins/PrimeTween/internal/com.kyrylokuzyk.primetween.tgz",
"depth": 0,
"source": "local-tarball",
"dependencies": {}