From e422d30f2ce0637f5aaea33c1827bec639fffa85 Mon Sep 17 00:00:00 2001 From: Lncvrt Date: Thu, 22 Jan 2026 20:41:28 -0700 Subject: [PATCH] Add websockets --- Assets/Scenes/AccountMenu.unity | 50 ++- Assets/Scenes/ChatroomMenu.unity | 222 ++++++---- Assets/Scenes/CustomGamePlayer.unity | 50 ++- Assets/Scenes/GamePlayer.unity | 50 ++- Assets/Scenes/IconMarketplaceMenu.unity | 95 ++++- Assets/Scenes/IconsMenu.unity | 378 ++++++++++-------- Assets/Scenes/LeaderboardMenu.unity | 50 ++- Assets/Scenes/LoadingMenu.unity | 50 ++- Assets/Scenes/MainMenu.unity | 50 ++- Assets/Scenes/SettingsMenu.unity | 218 ++++++---- Assets/Scenes/StatsMenu.unity | 97 ++++- Assets/Scripts/Other/Endpoints.cs | 2 + Assets/Scripts/WSMessages.meta | 8 + .../ConnectedWithCurrentSceneMessage.cs | 9 + .../ConnectedWithCurrentSceneMessage.cs.meta | 2 + .../Scripts/WSMessages/RequestInfoMessage.cs | 9 + .../WSMessages/RequestInfoMessage.cs.meta | 2 + .../Scripts/WSMessages/SceneChangeMessage.cs | 10 + .../WSMessages/SceneChangeMessage.cs.meta | 2 + Assets/Scripts/WebsocketHandler.cs | 124 ++++++ Assets/Scripts/WebsocketHandler.cs.meta | 2 + 21 files changed, 1125 insertions(+), 355 deletions(-) create mode 100644 Assets/Scripts/WSMessages.meta create mode 100644 Assets/Scripts/WSMessages/ConnectedWithCurrentSceneMessage.cs create mode 100644 Assets/Scripts/WSMessages/ConnectedWithCurrentSceneMessage.cs.meta create mode 100644 Assets/Scripts/WSMessages/RequestInfoMessage.cs create mode 100644 Assets/Scripts/WSMessages/RequestInfoMessage.cs.meta create mode 100644 Assets/Scripts/WSMessages/SceneChangeMessage.cs create mode 100644 Assets/Scripts/WSMessages/SceneChangeMessage.cs.meta create mode 100644 Assets/Scripts/WebsocketHandler.cs create mode 100644 Assets/Scripts/WebsocketHandler.cs.meta diff --git a/Assets/Scenes/AccountMenu.unity b/Assets/Scenes/AccountMenu.unity index 82c03f1..2634d59 100644 --- a/Assets/Scenes/AccountMenu.unity +++ b/Assets/Scenes/AccountMenu.unity @@ -3597,6 +3597,51 @@ MonoBehaviour: changeUsernameNewUsernameInput: {fileID: 844510832} changeUsernameBackButton: {fileID: 1799549043} changeUsernameSubmitButton: {fileID: 164861580} +--- !u!1 &449507487 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 449507489} + - component: {fileID: 449507488} + m_Layer: 0 + m_Name: WebsocketHandler + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &449507488 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 449507487} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 25ed18bf58d6948d095504532c27683b, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::WebsocketHandler + _Connection: {fileID: 0} +--- !u!4 &449507489 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 449507487} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &450860870 GameObject: m_ObjectHideFlags: 0 @@ -18838,7 +18883,8 @@ SceneRoots: m_ObjectHideFlags: 0 m_Roots: - {fileID: 720281946} - - {fileID: 1724546901} - - {fileID: 667608827} - {fileID: 1094007101} - {fileID: 682940903} + - {fileID: 1724546901} + - {fileID: 449507489} + - {fileID: 667608827} diff --git a/Assets/Scenes/ChatroomMenu.unity b/Assets/Scenes/ChatroomMenu.unity index a47d0f1..ef4ffb8 100644 --- a/Assets/Scenes/ChatroomMenu.unity +++ b/Assets/Scenes/ChatroomMenu.unity @@ -537,6 +537,47 @@ MonoBehaviour: invert: 0 addMore: {r: 0.18039216, g: 0.18039216, b: 0.18039216, a: 0} reverseAdd: 0 +--- !u!21 &47914434 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI/RoundedCorners/RoundedCorners + m_Shader: {fileID: 4800000, guid: 0bd2ec5d73751e34a814274a454bec41, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _OuterUV: {r: 0, g: 0, b: 1, a: 1} + - _WidthHeightRadius: {r: 1180, g: 75, b: 20, a: 0} + m_BuildTextureStacks: [] + m_AllowLocking: 1 --- !u!1 &67716541 GameObject: m_ObjectHideFlags: 0 @@ -4144,6 +4185,51 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 420273259} m_CullTransparentMesh: 1 +--- !u!1 &424193335 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 424193337} + - component: {fileID: 424193336} + m_Layer: 0 + m_Name: WebsocketHandler + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &424193336 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 424193335} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 25ed18bf58d6948d095504532c27683b, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::WebsocketHandler + _Connection: {fileID: 0} +--- !u!4 &424193337 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 424193335} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &432996040 GameObject: m_ObjectHideFlags: 0 @@ -6199,7 +6285,7 @@ MonoBehaviour: invert: 0 addMore: {r: 0, g: 0, b: 0, a: 0} reverseAdd: 0 ---- !u!21 &767066594 +--- !u!21 &727113326 Material: serializedVersion: 8 m_ObjectHideFlags: 0 @@ -6562,47 +6648,6 @@ MonoBehaviour: invert: 0 addMore: {r: 0, g: 0, b: 0, a: 0} reverseAdd: 0 ---- !u!21 &805944069 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: UI/RoundedCorners/RoundedCorners - m_Shader: {fileID: 4800000, guid: 0bd2ec5d73751e34a814274a454bec41, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: [] - m_InvalidKeywords: [] - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _MainTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _ColorMask: 15 - - _Stencil: 0 - - _StencilComp: 8 - - _StencilOp: 0 - - _StencilReadMask: 255 - - _StencilWriteMask: 255 - - _UseUIAlphaClip: 0 - m_Colors: - - _OuterUV: {r: 0, g: 0, b: 1, a: 1} - - _WidthHeightRadius: {r: 1180, g: 75, b: 20, a: 0} - m_BuildTextureStacks: [] - m_AllowLocking: 1 --- !u!1 &814088274 GameObject: m_ObjectHideFlags: 0 @@ -6822,7 +6867,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} m_Name: m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image - m_Material: {fileID: 805944069} + m_Material: {fileID: 47914434} m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} m_RaycastTarget: 1 m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} @@ -7142,7 +7187,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} m_Name: m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image - m_Material: {fileID: 767066594} + m_Material: {fileID: 727113326} m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} m_RaycastTarget: 1 m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} @@ -7929,7 +7974,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} m_Name: m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image - m_Material: {fileID: 2051329953} + m_Material: {fileID: 1583864714} m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} m_RaycastTarget: 1 m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} @@ -9044,6 +9089,47 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1570358590} m_CullTransparentMesh: 1 +--- !u!21 &1583864714 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI/RoundedCorners/RoundedCorners + m_Shader: {fileID: 4800000, guid: 0bd2ec5d73751e34a814274a454bec41, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _OuterUV: {r: 0, g: 0, b: 1, a: 1} + - _WidthHeightRadius: {r: 1180, g: 75, b: 20, a: 0} + m_BuildTextureStacks: [] + m_AllowLocking: 1 --- !u!1 &1590444472 GameObject: m_ObjectHideFlags: 0 @@ -11876,47 +11962,6 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2050991457} m_CullTransparentMesh: 1 ---- !u!21 &2051329953 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: UI/RoundedCorners/RoundedCorners - m_Shader: {fileID: 4800000, guid: 0bd2ec5d73751e34a814274a454bec41, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: [] - m_InvalidKeywords: [] - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _MainTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _ColorMask: 15 - - _Stencil: 0 - - _StencilComp: 8 - - _StencilOp: 0 - - _StencilReadMask: 255 - - _StencilWriteMask: 255 - - _UseUIAlphaClip: 0 - m_Colors: - - _OuterUV: {r: 0, g: 0, b: 1, a: 1} - - _WidthHeightRadius: {r: 1180, g: 75, b: 20, a: 0} - m_BuildTextureStacks: [] - m_AllowLocking: 1 --- !u!1 &2076766879 GameObject: m_ObjectHideFlags: 0 @@ -12265,8 +12310,9 @@ SceneRoots: m_ObjectHideFlags: 0 m_Roots: - {fileID: 1808945144} - - {fileID: 220385430} - {fileID: 459343323} - - {fileID: 1713791600} - {fileID: 769329732} - {fileID: 1784509951} + - {fileID: 220385430} + - {fileID: 424193337} + - {fileID: 1713791600} diff --git a/Assets/Scenes/CustomGamePlayer.unity b/Assets/Scenes/CustomGamePlayer.unity index 578f6b3..740ad59 100644 --- a/Assets/Scenes/CustomGamePlayer.unity +++ b/Assets/Scenes/CustomGamePlayer.unity @@ -3688,6 +3688,51 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 711083814} m_CullTransparentMesh: 1 +--- !u!1 &773586191 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 773586193} + - component: {fileID: 773586192} + m_Layer: 0 + m_Name: WebsocketHandler + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &773586192 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 773586191} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 25ed18bf58d6948d095504532c27683b, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::WebsocketHandler + _Connection: {fileID: 0} +--- !u!4 &773586193 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 773586191} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &808236448 GameObject: m_ObjectHideFlags: 0 @@ -9257,10 +9302,11 @@ SceneRoots: m_ObjectHideFlags: 0 m_Roots: - {fileID: 519420032} - - {fileID: 1261483216} - - {fileID: 1931111989} - {fileID: 1625416040} - {fileID: 808236451} - {fileID: 1811565639} - {fileID: 1035262213} - {fileID: 157908647} + - {fileID: 1261483216} + - {fileID: 773586193} + - {fileID: 1931111989} diff --git a/Assets/Scenes/GamePlayer.unity b/Assets/Scenes/GamePlayer.unity index 39c1a82..521ccc7 100644 --- a/Assets/Scenes/GamePlayer.unity +++ b/Assets/Scenes/GamePlayer.unity @@ -8048,6 +8048,51 @@ MonoBehaviour: invert: 0 addMore: {r: 0, g: 0, b: 0, a: 0} reverseAdd: 0 +--- !u!1 &1836633129 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1836633131} + - component: {fileID: 1836633130} + m_Layer: 0 + m_Name: WebsocketHandler + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1836633130 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1836633129} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 25ed18bf58d6948d095504532c27683b, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::WebsocketHandler + _Connection: {fileID: 0} +--- !u!4 &1836633131 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1836633129} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1845861143 GameObject: m_ObjectHideFlags: 0 @@ -9412,10 +9457,11 @@ SceneRoots: m_ObjectHideFlags: 0 m_Roots: - {fileID: 519420032} - - {fileID: 1261483216} - - {fileID: 1931111989} - {fileID: 1625416040} - {fileID: 808236451} - {fileID: 1811565639} - {fileID: 1035262213} - {fileID: 157908647} + - {fileID: 1261483216} + - {fileID: 1836633131} + - {fileID: 1931111989} diff --git a/Assets/Scenes/IconMarketplaceMenu.unity b/Assets/Scenes/IconMarketplaceMenu.unity index 61c56f8..4c228ce 100644 --- a/Assets/Scenes/IconMarketplaceMenu.unity +++ b/Assets/Scenes/IconMarketplaceMenu.unity @@ -10484,6 +10484,52 @@ RectTransform: m_AnchoredPosition: {x: 0, y: -75} m_SizeDelta: {x: 400, y: 100} m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1467211057 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1467211059} + - component: {fileID: 1467211058} + m_Layer: 0 + m_Name: LatestVersionText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1467211058 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1467211057} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d0ce6d4ae1a102accbe4dfb608a5b75e, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::LatestVersionText + text: {fileID: 0} + updateButton: {fileID: 0} +--- !u!4 &1467211059 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1467211057} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1470476687 GameObject: m_ObjectHideFlags: 0 @@ -10639,6 +10685,51 @@ MonoBehaviour: invert: 0 addMore: {r: 0, g: 0, b: 0, a: 0} reverseAdd: 0 +--- !u!1 &1474789624 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1474789626} + - component: {fileID: 1474789625} + m_Layer: 0 + m_Name: WebsocketHandler + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1474789625 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1474789624} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 25ed18bf58d6948d095504532c27683b, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::WebsocketHandler + _Connection: {fileID: 0} +--- !u!4 &1474789626 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1474789624} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1475930414 GameObject: m_ObjectHideFlags: 0 @@ -15649,7 +15740,9 @@ SceneRoots: m_Roots: - {fileID: 1386079991} - {fileID: 789608753} - - {fileID: 1027954170} - {fileID: 501495254} - {fileID: 1724563863} - {fileID: 709625974} + - {fileID: 1467211059} + - {fileID: 1474789626} + - {fileID: 1027954170} diff --git a/Assets/Scenes/IconsMenu.unity b/Assets/Scenes/IconsMenu.unity index 032ff3b..af41f71 100644 --- a/Assets/Scenes/IconsMenu.unity +++ b/Assets/Scenes/IconsMenu.unity @@ -1263,7 +1263,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} m_Name: m_EditorClassIdentifier: - m_Material: {fileID: 1110341716} + m_Material: {fileID: 1088890518} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} @@ -2658,7 +2658,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} m_Name: m_EditorClassIdentifier: - m_Material: {fileID: 465080266} + m_Material: {fileID: 376264881} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} @@ -3218,6 +3218,47 @@ MonoBehaviour: invert: 0 addMore: {r: 0.40784314, g: 0.40784314, b: 0.40784314, a: 0} reverseAdd: 0 +--- !u!21 &376264881 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI/RoundedCorners/RoundedCorners + m_Shader: {fileID: 4800000, guid: 0bd2ec5d73751e34a814274a454bec41, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _OuterUV: {r: 0, g: 0, b: 1, a: 1} + - _WidthHeightRadius: {r: 200, g: 200, b: 10, a: 0} + m_BuildTextureStacks: [] + m_AllowLocking: 1 --- !u!1 &378857774 GameObject: m_ObjectHideFlags: 0 @@ -4256,47 +4297,6 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 453951315} m_CullTransparentMesh: 1 ---- !u!21 &465080266 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: UI/RoundedCorners/RoundedCorners - m_Shader: {fileID: 4800000, guid: 0bd2ec5d73751e34a814274a454bec41, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: [] - m_InvalidKeywords: [] - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _MainTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _ColorMask: 15 - - _Stencil: 0 - - _StencilComp: 8 - - _StencilOp: 0 - - _StencilReadMask: 255 - - _StencilWriteMask: 255 - - _UseUIAlphaClip: 0 - m_Colors: - - _OuterUV: {r: 0, g: 0, b: 1, a: 1} - - _WidthHeightRadius: {r: 200, g: 200, b: 10, a: 0} - m_BuildTextureStacks: [] - m_AllowLocking: 1 --- !u!1 &485555074 GameObject: m_ObjectHideFlags: 0 @@ -4661,47 +4661,6 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 506393758} m_CullTransparentMesh: 1 ---- !u!21 &514552649 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: UI/RoundedCorners/RoundedCorners - m_Shader: {fileID: 4800000, guid: 0bd2ec5d73751e34a814274a454bec41, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: [] - m_InvalidKeywords: [] - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _MainTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _ColorMask: 15 - - _Stencil: 0 - - _StencilComp: 8 - - _StencilOp: 0 - - _StencilReadMask: 255 - - _StencilWriteMask: 255 - - _UseUIAlphaClip: 0 - m_Colors: - - _OuterUV: {r: 0, g: 0, b: 1, a: 1} - - _WidthHeightRadius: {r: 30, g: 200, b: 10, a: 0} - m_BuildTextureStacks: [] - m_AllowLocking: 1 --- !u!1 &515716881 GameObject: m_ObjectHideFlags: 0 @@ -5385,6 +5344,47 @@ MonoBehaviour: invert: 0 addMore: {r: 0.40784314, g: 0.40784314, b: 0.40784314, a: 0} reverseAdd: 0 +--- !u!21 &611736081 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI/RoundedCorners/RoundedCorners + m_Shader: {fileID: 4800000, guid: 0bd2ec5d73751e34a814274a454bec41, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _OuterUV: {r: 0, g: 0, b: 1, a: 1} + - _WidthHeightRadius: {r: 30, g: 200, b: 10, a: 0} + m_BuildTextureStacks: [] + m_AllowLocking: 1 --- !u!1 &630109802 GameObject: m_ObjectHideFlags: 0 @@ -5958,47 +5958,6 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 720834357} m_CullTransparentMesh: 1 ---- !u!21 &721731954 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: UI/RoundedCorners/RoundedCorners - m_Shader: {fileID: 4800000, guid: 0bd2ec5d73751e34a814274a454bec41, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: [] - m_InvalidKeywords: [] - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _MainTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _ColorMask: 15 - - _Stencil: 0 - - _StencilComp: 8 - - _StencilOp: 0 - - _StencilReadMask: 255 - - _StencilWriteMask: 255 - - _UseUIAlphaClip: 0 - m_Colors: - - _OuterUV: {r: 0, g: 0, b: 1, a: 1} - - _WidthHeightRadius: {r: 200, g: 200, b: 10, a: 0} - m_BuildTextureStacks: [] - m_AllowLocking: 1 --- !u!1 &727840300 GameObject: m_ObjectHideFlags: 0 @@ -6125,7 +6084,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} m_Name: m_EditorClassIdentifier: - m_Material: {fileID: 721731954} + m_Material: {fileID: 1806019268} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} @@ -6628,7 +6587,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} m_Name: m_EditorClassIdentifier: - m_Material: {fileID: 514552649} + m_Material: {fileID: 611736081} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} @@ -7541,43 +7500,7 @@ MonoBehaviour: invert: 0 addMore: {r: 0, g: 0, b: 0, a: 0} reverseAdd: 0 ---- !u!1 &1098647304 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1098647305} - m_Layer: 5 - m_Name: Handle Slide Area - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1098647305 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1098647304} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 2027478446} - m_Father: {fileID: 1939661431} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: -20, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!21 &1110341716 +--- !u!21 &1088890518 Material: serializedVersion: 8 m_ObjectHideFlags: 0 @@ -7618,6 +7541,42 @@ Material: - _WidthHeightRadius: {r: 30, g: 200, b: 10, a: 0} m_BuildTextureStacks: [] m_AllowLocking: 1 +--- !u!1 &1098647304 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1098647305} + m_Layer: 5 + m_Name: Handle Slide Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1098647305 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1098647304} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 2027478446} + m_Father: {fileID: 1939661431} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -20, y: 0} + m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &1114984959 GameObject: m_ObjectHideFlags: 0 @@ -9791,6 +9750,51 @@ MonoBehaviour: invert: 0 addMore: {r: 0, g: 0, b: 0, a: 0} reverseAdd: 0 +--- !u!1 &1450851331 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1450851333} + - component: {fileID: 1450851332} + m_Layer: 0 + m_Name: WebsocketHandler + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1450851332 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1450851331} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 25ed18bf58d6948d095504532c27683b, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::WebsocketHandler + _Connection: {fileID: 0} +--- !u!4 &1450851333 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1450851331} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1482403541 GameObject: m_ObjectHideFlags: 0 @@ -12084,6 +12088,47 @@ MonoBehaviour: invert: 0 addMore: {r: 0.40784314, g: 0.40784314, b: 0.40784314, a: 0} reverseAdd: 0 +--- !u!21 &1806019268 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI/RoundedCorners/RoundedCorners + m_Shader: {fileID: 4800000, guid: 0bd2ec5d73751e34a814274a454bec41, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _OuterUV: {r: 0, g: 0, b: 1, a: 1} + - _WidthHeightRadius: {r: 200, g: 200, b: 10, a: 0} + m_BuildTextureStacks: [] + m_AllowLocking: 1 --- !u!1 &1812659293 GameObject: m_ObjectHideFlags: 0 @@ -15195,7 +15240,8 @@ SceneRoots: m_ObjectHideFlags: 0 m_Roots: - {fileID: 1062570983} - - {fileID: 834607535} - - {fileID: 1492061415} - {fileID: 1844786183} - {fileID: 2134364725} + - {fileID: 834607535} + - {fileID: 1450851333} + - {fileID: 1492061415} diff --git a/Assets/Scenes/LeaderboardMenu.unity b/Assets/Scenes/LeaderboardMenu.unity index 9d57ff5..6c82ea2 100644 --- a/Assets/Scenes/LeaderboardMenu.unity +++ b/Assets/Scenes/LeaderboardMenu.unity @@ -1549,6 +1549,51 @@ MonoBehaviour: m_OnClick: m_PersistentCalls: m_Calls: [] +--- !u!1 &379457833 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 379457835} + - component: {fileID: 379457834} + m_Layer: 0 + m_Name: WebsocketHandler + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &379457834 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 379457833} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 25ed18bf58d6948d095504532c27683b, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::WebsocketHandler + _Connection: {fileID: 0} +--- !u!4 &379457835 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 379457833} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &382688258 GameObject: m_ObjectHideFlags: 0 @@ -8940,8 +8985,9 @@ SceneRoots: m_ObjectHideFlags: 0 m_Roots: - {fileID: 1455063616} - - {fileID: 1711730332} - {fileID: 1991415992} - - {fileID: 863352646} - {fileID: 382688262} - {fileID: 1820585371} + - {fileID: 1711730332} + - {fileID: 379457835} + - {fileID: 863352646} diff --git a/Assets/Scenes/LoadingMenu.unity b/Assets/Scenes/LoadingMenu.unity index fac5c53..881012a 100644 --- a/Assets/Scenes/LoadingMenu.unity +++ b/Assets/Scenes/LoadingMenu.unity @@ -1433,6 +1433,51 @@ MonoBehaviour: invert: 0 addMore: {r: 0, g: 0, b: 0, a: 0} reverseAdd: 0 +--- !u!1 &1442067546 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1442067548} + - component: {fileID: 1442067547} + m_Layer: 0 + m_Name: WebsocketHandler + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1442067547 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1442067546} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 25ed18bf58d6948d095504532c27683b, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::WebsocketHandler + _Connection: {fileID: 0} +--- !u!4 &1442067548 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1442067546} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1527575521 GameObject: m_ObjectHideFlags: 0 @@ -1584,8 +1629,9 @@ SceneRoots: m_ObjectHideFlags: 0 m_Roots: - {fileID: 705564545} - - {fileID: 842325110} - - {fileID: 1547097374} - {fileID: 734849810} - {fileID: 1527575525} - {fileID: 759356942} + - {fileID: 842325110} + - {fileID: 1442067548} + - {fileID: 1547097374} diff --git a/Assets/Scenes/MainMenu.unity b/Assets/Scenes/MainMenu.unity index 186bd3b..d5abdaa 100644 --- a/Assets/Scenes/MainMenu.unity +++ b/Assets/Scenes/MainMenu.unity @@ -4844,6 +4844,51 @@ MonoBehaviour: invert: 0 addMore: {r: 0, g: 0, b: 0, a: 0} reverseAdd: 0 +--- !u!1 &1761841902 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1761841904} + - component: {fileID: 1761841903} + m_Layer: 0 + m_Name: WebsocketHandler + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1761841903 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1761841902} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 25ed18bf58d6948d095504532c27683b, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::WebsocketHandler + _Connection: {fileID: 0} +--- !u!4 &1761841904 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1761841902} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1777696994 GameObject: m_ObjectHideFlags: 0 @@ -6553,9 +6598,10 @@ SceneRoots: m_ObjectHideFlags: 0 m_Roots: - {fileID: 519420032} - - {fileID: 101625093} - {fileID: 583716567} - {fileID: 2001843693} - - {fileID: 1608799622} - {fileID: 1263503583} - {fileID: 1513462405} + - {fileID: 101625093} + - {fileID: 1761841904} + - {fileID: 1608799622} diff --git a/Assets/Scenes/SettingsMenu.unity b/Assets/Scenes/SettingsMenu.unity index f1fedd3..eeabf72 100644 --- a/Assets/Scenes/SettingsMenu.unity +++ b/Assets/Scenes/SettingsMenu.unity @@ -570,7 +570,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} m_Name: m_EditorClassIdentifier: - m_Material: {fileID: 1459582900} + m_Material: {fileID: 687680419} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} @@ -1426,6 +1426,51 @@ MonoBehaviour: m_EditorClassIdentifier: m_Padding: {x: -8, y: -5, z: -8, w: -5} m_Softness: {x: 0, y: 0} +--- !u!1 &304514862 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 304514864} + - component: {fileID: 304514863} + m_Layer: 0 + m_Name: WebsocketHandler + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &304514863 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 304514862} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 25ed18bf58d6948d095504532c27683b, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::WebsocketHandler + _Connection: {fileID: 0} +--- !u!4 &304514864 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 304514862} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &312623387 GameObject: m_ObjectHideFlags: 0 @@ -1935,47 +1980,6 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 372795356} m_CullTransparentMesh: 1 ---- !u!21 &373401232 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: UI/RoundedCorners/RoundedCorners - m_Shader: {fileID: 4800000, guid: 0bd2ec5d73751e34a814274a454bec41, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: [] - m_InvalidKeywords: [] - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _MainTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _ColorMask: 15 - - _Stencil: 0 - - _StencilComp: 8 - - _StencilOp: 0 - - _StencilReadMask: 255 - - _StencilWriteMask: 255 - - _UseUIAlphaClip: 0 - m_Colors: - - _OuterUV: {r: 0, g: 0, b: 1, a: 1} - - _WidthHeightRadius: {r: 200, g: 200, b: 10, a: 0} - m_BuildTextureStacks: [] - m_AllowLocking: 1 --- !u!1 &435865027 GameObject: m_ObjectHideFlags: 0 @@ -2520,7 +2524,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} m_Name: m_EditorClassIdentifier: - m_Material: {fileID: 373401232} + m_Material: {fileID: 1814932835} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} @@ -3240,6 +3244,47 @@ MonoBehaviour: invert: 0 addMore: {r: 0, g: 0, b: 0, a: 0} reverseAdd: 0 +--- !u!21 &687680419 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI/RoundedCorners/RoundedCorners + m_Shader: {fileID: 4800000, guid: 0bd2ec5d73751e34a814274a454bec41, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _OuterUV: {r: 0, g: 0, b: 1, a: 1} + - _WidthHeightRadius: {r: 30, g: 200, b: 10, a: 0} + m_BuildTextureStacks: [] + m_AllowLocking: 1 --- !u!1 &708267139 GameObject: m_ObjectHideFlags: 0 @@ -6502,47 +6547,6 @@ RectTransform: m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: -20, y: 0} m_Pivot: {x: 0.5, y: 0.5} ---- !u!21 &1459582900 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: UI/RoundedCorners/RoundedCorners - m_Shader: {fileID: 4800000, guid: 0bd2ec5d73751e34a814274a454bec41, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: [] - m_InvalidKeywords: [] - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _MainTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _ColorMask: 15 - - _Stencil: 0 - - _StencilComp: 8 - - _StencilOp: 0 - - _StencilReadMask: 255 - - _StencilWriteMask: 255 - - _UseUIAlphaClip: 0 - m_Colors: - - _OuterUV: {r: 0, g: 0, b: 1, a: 1} - - _WidthHeightRadius: {r: 30, g: 200, b: 10, a: 0} - m_BuildTextureStacks: [] - m_AllowLocking: 1 --- !u!1 &1480213601 GameObject: m_ObjectHideFlags: 0 @@ -8730,6 +8734,47 @@ RectTransform: m_AnchoredPosition: {x: -5, y: 0} m_SizeDelta: {x: -20, y: 0} m_Pivot: {x: 0.5, y: 0.5} +--- !u!21 &1814932835 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI/RoundedCorners/RoundedCorners + m_Shader: {fileID: 4800000, guid: 0bd2ec5d73751e34a814274a454bec41, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _OuterUV: {r: 0, g: 0, b: 1, a: 1} + - _WidthHeightRadius: {r: 200, g: 200, b: 10, a: 0} + m_BuildTextureStacks: [] + m_AllowLocking: 1 --- !u!1 &1817413375 GameObject: m_ObjectHideFlags: 0 @@ -9885,7 +9930,8 @@ SceneRoots: m_ObjectHideFlags: 0 m_Roots: - {fileID: 313320704} - - {fileID: 233625537} - - {fileID: 616097865} - {fileID: 1246405077} - {fileID: 99615555} + - {fileID: 233625537} + - {fileID: 304514864} + - {fileID: 616097865} diff --git a/Assets/Scenes/StatsMenu.unity b/Assets/Scenes/StatsMenu.unity index 7f94949..ecb9a91 100644 --- a/Assets/Scenes/StatsMenu.unity +++ b/Assets/Scenes/StatsMenu.unity @@ -1053,6 +1053,97 @@ RectTransform: m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0, y: 0} +--- !u!1 &1729838413 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1729838415} + - component: {fileID: 1729838414} + m_Layer: 0 + m_Name: WebsocketHandler + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1729838414 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1729838413} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 25ed18bf58d6948d095504532c27683b, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::WebsocketHandler + _Connection: {fileID: 0} +--- !u!4 &1729838415 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1729838413} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1741964240 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1741964242} + - component: {fileID: 1741964241} + m_Layer: 0 + m_Name: LatestVersionText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1741964241 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1741964240} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d0ce6d4ae1a102accbe4dfb608a5b75e, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::LatestVersionText + text: {fileID: 0} + updateButton: {fileID: 0} +--- !u!4 &1741964242 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1741964240} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &2104447309 GameObject: m_ObjectHideFlags: 0 @@ -1091,7 +1182,7 @@ Transform: m_GameObject: {fileID: 2104447309} serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 415.80743, y: 257.62613, z: 0} + m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] @@ -1103,6 +1194,8 @@ SceneRoots: m_Roots: - {fileID: 1347726371} - {fileID: 485090446} - - {fileID: 2104447311} - {fileID: 1691624358} - {fileID: 1179446528} + - {fileID: 1741964242} + - {fileID: 1729838415} + - {fileID: 2104447311} diff --git a/Assets/Scripts/Other/Endpoints.cs b/Assets/Scripts/Other/Endpoints.cs index ef12263..767aa85 100644 --- a/Assets/Scripts/Other/Endpoints.cs +++ b/Assets/Scripts/Other/Endpoints.cs @@ -1,8 +1,10 @@ public class Endpoints { private static readonly string HOST = "games.lncvrt.xyz"; + private static readonly int WS_PORT = 3342; public static readonly string BASE_URL = $"https://{HOST}/api"; public static readonly string BERRYDASH_ENDPOINT = BASE_URL + "/berrydash"; + public static readonly string WS_ENDPOINT = $"ws://{HOST}:{WS_PORT}/api/ws"; public static readonly string LATEST_VERSION_ENDPOINT = BERRYDASH_ENDPOINT + "/latest-version"; public static readonly string LEADERBOARDS_ENDPOINT = BERRYDASH_ENDPOINT + "/leaderboards"; public static readonly string LEADERBOARDS_SCORE_ENDPOINT = LEADERBOARDS_ENDPOINT + "/score"; diff --git a/Assets/Scripts/WSMessages.meta b/Assets/Scripts/WSMessages.meta new file mode 100644 index 0000000..5b83af8 --- /dev/null +++ b/Assets/Scripts/WSMessages.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 651269be0f6324e8aa495c48fc501516 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/WSMessages/ConnectedWithCurrentSceneMessage.cs b/Assets/Scripts/WSMessages/ConnectedWithCurrentSceneMessage.cs new file mode 100644 index 0000000..f004729 --- /dev/null +++ b/Assets/Scripts/WSMessages/ConnectedWithCurrentSceneMessage.cs @@ -0,0 +1,9 @@ +using System; + +[Serializable] +public class ConnectedWithCurrentSceneMessage +{ + public string type = "connected_with_current_scene"; + public string sceneName; + public long timestamp = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(); +} \ No newline at end of file diff --git a/Assets/Scripts/WSMessages/ConnectedWithCurrentSceneMessage.cs.meta b/Assets/Scripts/WSMessages/ConnectedWithCurrentSceneMessage.cs.meta new file mode 100644 index 0000000..f0cf064 --- /dev/null +++ b/Assets/Scripts/WSMessages/ConnectedWithCurrentSceneMessage.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: bc9d79fcdc1a24dcd988203a8fa66d84 \ No newline at end of file diff --git a/Assets/Scripts/WSMessages/RequestInfoMessage.cs b/Assets/Scripts/WSMessages/RequestInfoMessage.cs new file mode 100644 index 0000000..5cdffb5 --- /dev/null +++ b/Assets/Scripts/WSMessages/RequestInfoMessage.cs @@ -0,0 +1,9 @@ +using System; + +[Serializable] +public class RequestInfoMessage +{ + public string type = "info_request"; + public string kind; + public long timestamp = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(); +} \ No newline at end of file diff --git a/Assets/Scripts/WSMessages/RequestInfoMessage.cs.meta b/Assets/Scripts/WSMessages/RequestInfoMessage.cs.meta new file mode 100644 index 0000000..1a3a167 --- /dev/null +++ b/Assets/Scripts/WSMessages/RequestInfoMessage.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: c41428221da68496c8489cc51d5a32b4 \ No newline at end of file diff --git a/Assets/Scripts/WSMessages/SceneChangeMessage.cs b/Assets/Scripts/WSMessages/SceneChangeMessage.cs new file mode 100644 index 0000000..1e6c638 --- /dev/null +++ b/Assets/Scripts/WSMessages/SceneChangeMessage.cs @@ -0,0 +1,10 @@ +using System; + +[Serializable] +public class SceneChangeMessage +{ + public string type = "scene_change"; + public string to; + public string from; + public long timestamp = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(); +} \ No newline at end of file diff --git a/Assets/Scripts/WSMessages/SceneChangeMessage.cs.meta b/Assets/Scripts/WSMessages/SceneChangeMessage.cs.meta new file mode 100644 index 0000000..4c209e0 --- /dev/null +++ b/Assets/Scripts/WSMessages/SceneChangeMessage.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 3facbfc80cf794283a44832185785aca \ No newline at end of file diff --git a/Assets/Scripts/WebsocketHandler.cs b/Assets/Scripts/WebsocketHandler.cs new file mode 100644 index 0000000..643dc1f --- /dev/null +++ b/Assets/Scripts/WebsocketHandler.cs @@ -0,0 +1,124 @@ +using MikeSchweitzer.WebSocket; +using UnityEngine; +using System.Collections; +using UnityEngine.SceneManagement; + +public class WebsocketHandler : MonoBehaviour +{ + public static WebsocketHandler Instance; + public WebSocketConnection _Connection; + + private bool isReconnecting = false; + private bool intentionalDisconnect = false; + + private static readonly WaitForSeconds _waitForSeconds2 = new(2f); + public string lastSceneName = null; + + private void Awake() + { + if (Instance != null) + { + Destroy(gameObject); + return; + } + + Instance = this; + DontDestroyOnLoad(gameObject); + + _Connection = gameObject.AddComponent(); + _Connection.StateChanged += OnStateChanged; + _Connection.ErrorMessageReceived += OnErrorMessageReceived; + + SceneManager.sceneLoaded += OnSceneLoaded; + + Connect(); + } + + private void OnDestroy() + { + if (_Connection != null) + { + _Connection.StateChanged -= OnStateChanged; + _Connection.ErrorMessageReceived -= OnErrorMessageReceived; + } + } + + public void Connect() + { + intentionalDisconnect = false; + + if (_Connection.State == WebSocketState.Connected || _Connection.State == WebSocketState.Connecting) return; + + _Connection.Connect(Endpoints.WS_ENDPOINT); + } + + public void Disconnect() + { + intentionalDisconnect = true; + _Connection.Disconnect(); + } + + private void OnStateChanged(WebSocketConnection connection, WebSocketState oldState, WebSocketState newState) + { + Debug.Log($"WS state changed from \"{oldState}\" to \"{newState}\""); + if (newState == WebSocketState.Disconnected && !intentionalDisconnect && !isReconnecting) + { + StartCoroutine(ReconnectWithDelay()); + } + if (newState == WebSocketState.Connected) + { + var currentSceneName = SceneManager.GetActiveScene().name; + ConnectedWithCurrentSceneMessage msg = new() + { + sceneName = currentSceneName + }; + _Connection.AddOutgoingMessage(JsonUtility.ToJson(msg)); + + if (currentSceneName == "ChatroomMenu") + { + RequestInfoMessage msg2 = new() + { + kind = "chatroom_messages" + }; + _Connection.AddOutgoingMessage(JsonUtility.ToJson(msg2)); + } + } + } + + private void OnErrorMessageReceived(WebSocketConnection connection, string errorMessage) + { + Debug.LogError($"WS error {errorMessage}"); + } + + private IEnumerator ReconnectWithDelay() + { + isReconnecting = true; + yield return _waitForSeconds2; + isReconnecting = false; + Debug.Log("Trying to connect again"); + Connect(); + } + + private void OnSceneLoaded(Scene scene, LoadSceneMode mode) + { + if (_Connection.State == WebSocketState.Connected) + { + SceneChangeMessage msg = new() + { + to = scene.name, + from = lastSceneName + }; + _Connection.AddOutgoingMessage(JsonUtility.ToJson(msg)); + + if (scene.name == "ChatroomMenu") + { + RequestInfoMessage msg2 = new() + { + kind = "chatroom_messages" + }; + _Connection.AddOutgoingMessage(JsonUtility.ToJson(msg2)); + } + } + lastSceneName = scene.name; + } +} diff --git a/Assets/Scripts/WebsocketHandler.cs.meta b/Assets/Scripts/WebsocketHandler.cs.meta new file mode 100644 index 0000000..66db875 --- /dev/null +++ b/Assets/Scripts/WebsocketHandler.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 25ed18bf58d6948d095504532c27683b \ No newline at end of file