From dd1f5152526d3e93f860290d4b695ee10e902a99 Mon Sep 17 00:00:00 2001 From: Mike Nisbet Date: Fri, 13 Oct 2023 19:16:33 +0100 Subject: [PATCH 01/43] WIP UI # Conflicts: # Assets/Prefabs/Panels/AdminPanel.prefab # Assets/Settings/Localization/Strings/Strings Shared Data.asset # Assets/Settings/Localization/Strings/Strings_en.asset --- Assets/Prefabs/Panels/AdminPanel.prefab | 190 ++- Assets/Prefabs/Panels/MultiplayerPanel.prefab | 1016 +++++++++++++++++ .../Panels/MultiplayerPanel.prefab.meta | 7 + Assets/Resources/Icons/multiplayer.png | Bin 0 -> 3052 bytes Assets/Resources/Icons/multiplayer.png.meta | 171 +++ Assets/Scripts/App.cs | 4 + Assets/Scripts/GUI/AdminPanel.cs | 1 + Assets/Scripts/GUI/BasePanel.cs | 1 + Assets/Scripts/GUI/MultiplayerPanel.cs | 26 + Assets/Scripts/GUI/MultiplayerPanel.cs.meta | 11 + Assets/Scripts/GUI/PanelManager.cs | 55 +- Assets/Scripts/SketchControlsScript.cs | 6 + .../Strings/Strings Shared Data.asset | 4 + 13 files changed, 1483 insertions(+), 9 deletions(-) create mode 100644 Assets/Prefabs/Panels/MultiplayerPanel.prefab create mode 100644 Assets/Prefabs/Panels/MultiplayerPanel.prefab.meta create mode 100644 Assets/Resources/Icons/multiplayer.png create mode 100644 Assets/Resources/Icons/multiplayer.png.meta create mode 100644 Assets/Scripts/GUI/MultiplayerPanel.cs create mode 100644 Assets/Scripts/GUI/MultiplayerPanel.cs.meta diff --git a/Assets/Prefabs/Panels/AdminPanel.prefab b/Assets/Prefabs/Panels/AdminPanel.prefab index 44487082a1..2a568ee5ed 100644 --- a/Assets/Prefabs/Panels/AdminPanel.prefab +++ b/Assets/Prefabs/Panels/AdminPanel.prefab @@ -164,6 +164,10 @@ MonoBehaviour: renderer: {fileID: 0} baseLocalPos: {x: 0, y: 0, z: 0} baseScale: {x: 0, y: 0, z: 0} + - button: {fileID: 541920620010414687} + renderer: {fileID: 0} + baseLocalPos: {x: 0, y: 0, z: 0} + baseScale: {x: 0, y: 0, z: 0} m_SaveNewButton: {fileID: 1922662397484504} m_SaveOptionsButton: {fileID: 1151082384707834} m_SettingsButton: {fileID: 1936268928807740} @@ -177,6 +181,7 @@ MonoBehaviour: m_MemoryWarning: {fileID: 1603096109966042} m_MemoryWarningButton: {fileID: 1712905289553642} m_MemoryWarningColor: {r: 0.78676474, g: 0.09256055, b: 0.09256055, a: 1} + m_MultiplayerButton: {fileID: 5787249127137797294} m_ButtonRotationAngle: 45 m_ShareButtonLoggedOutExtraText: m_TableReference: @@ -924,6 +929,7 @@ Transform: - {fileID: 4670881044846100} - {fileID: 4334957410348514} - {fileID: 4286627721716940} + - {fileID: 541920620010414687} - {fileID: 4478129342109116} - {fileID: 4736542122326996} - {fileID: 4766230287867736} @@ -1632,7 +1638,7 @@ Transform: m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 4315711334760372} - m_RootOrder: 10 + m_RootOrder: 11 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &33821366212915112 MeshFilter: @@ -2081,7 +2087,7 @@ Transform: m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 4315711334760372} - m_RootOrder: 7 + m_RootOrder: 8 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &33394186971539132 MeshFilter: @@ -2772,7 +2778,7 @@ Transform: m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 4315711334760372} - m_RootOrder: 8 + m_RootOrder: 9 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &33145436996304012 MeshFilter: @@ -2948,7 +2954,7 @@ Transform: m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 4315711334760372} - m_RootOrder: 9 + m_RootOrder: 10 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &33631275512957272 MeshFilter: @@ -3091,6 +3097,182 @@ MonoBehaviour: references: version: 2 RefIds: [] +--- !u!1 &5787249127137797294 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 541920620010414687} + - component: {fileID: 1706514172525796950} + - component: {fileID: 2050874730965094072} + - component: {fileID: 5241187314589267000} + - component: {fileID: 6550189700625956158} + m_Layer: 16 + m_Name: Button_Multiplayer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &541920620010414687 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5787249127137797294} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.349, y: -0.5290003, z: 0.049999952} + m_LocalScale: {x: 0.25, y: 0.25, z: 0.25} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4315711334760372} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &1706514172525796950 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5787249127137797294} + m_Mesh: {fileID: 4300000, guid: 3eae18cf12435234ab8717789135e90b, type: 3} +--- !u!23 &2050874730965094072 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5787249127137797294} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 40d29de2bdc11f04dbfa25059165916e, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!65 &5241187314589267000 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5787249127137797294} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 0.1} + m_Center: {x: -0.000000074505806, y: 0.000000022351742, z: 0} +--- !u!114 &6550189700625956158 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5787249127137797294} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6c6859eec74651247968d56b594ac313, type: 3} + m_Name: + m_EditorClassIdentifier: + m_DescriptionType: 0 + m_DescriptionYOffset: 0 + m_DescriptionText: ADMIN_PANEL_MULTIPLAYER_BUTTON_DESCRIPTION + m_LocalizedDescription: + m_TableReference: + m_TableCollectionName: GUID:c84355079ab3f3e4f8f3812258805f86 + m_TableEntryReference: + m_KeyId: 156198200358006784 + m_Key: + m_FallbackState: 0 + m_WaitForCompletion: 0 + m_LocalVariables: [] + m_DescriptionTextExtra: + m_LocalizedDescriptionExtra: + m_TableReference: + m_TableCollectionName: + m_TableEntryReference: + m_KeyId: 0 + m_Key: + m_FallbackState: 0 + m_WaitForCompletion: 0 + m_LocalVariables: [] + m_DescriptionActivateSpeed: 12 + m_DescriptionZScale: 1 + m_ButtonTexture: {fileID: 2800000, guid: a33145647a3f52648829afbd03b5fa9b, type: 3} + m_AtlasTexture: 1 + m_ToggleButton: 0 + m_LongPressReleaseButton: 0 + m_ButtonHasPressedAudio: 0 + m_ZAdjustHover: -0.02 + m_ZAdjustClick: 0.05 + m_HoverScale: 1.1 + m_HoverBoxColliderGrow: 0.2 + m_AddOverlay: 0 + m_Command: 1001 + m_CommandParam: -1 + m_CommandParam2: -1 + m_RequiresPopup: 0 + m_CenterPopupOnButton: 0 + m_PopupOffset: {x: 0, y: 0, z: 0} + m_PopupText: + m_LocalizedPopup: + m_TableReference: + m_TableCollectionName: + m_TableEntryReference: + m_KeyId: 0 + m_Key: + m_FallbackState: 0 + m_WaitForCompletion: 0 + m_LocalVariables: [] + m_ToggleOnDescription: + m_LocalizedToggleOnDescription: + m_TableReference: + m_TableCollectionName: + m_TableEntryReference: + m_KeyId: 0 + m_Key: + m_FallbackState: 0 + m_WaitForCompletion: 0 + m_LocalVariables: [] + m_ToggleOnTexture: {fileID: 0} + m_AllowUnavailable: 0 + m_LinkedUIObject: {fileID: 0} + references: + version: 2 + RefIds: [] --- !u!1001 &1191275236260192388 PrefabInstance: m_ObjectHideFlags: 0 diff --git a/Assets/Prefabs/Panels/MultiplayerPanel.prefab b/Assets/Prefabs/Panels/MultiplayerPanel.prefab new file mode 100644 index 0000000000..63e3683eec --- /dev/null +++ b/Assets/Prefabs/Panels/MultiplayerPanel.prefab @@ -0,0 +1,1016 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &160214 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 415082} + - component: {fileID: 114984344201106630} + - component: {fileID: 114120113036906770} + m_Layer: 16 + m_Name: MultiplayerPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &415082 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 160214} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 4, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4000011007410470} + - {fileID: 498528} + - {fileID: 499980} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &114984344201106630 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 160214} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8826790ad4eae8c4b9690bfac756b1ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_PanelType: 34 + m_Collider: {fileID: 6536704} + m_Mesh: {fileID: 184986} + m_Border: {fileID: 23425245546884932} + m_MeshCollider: {fileID: 6569620} + m_ParticleBounds: {x: 0, y: 0, z: 0} + m_PanelPopUpMap: [] + m_PanelDescription: + m_LocalizedPanelDescription: + m_TableReference: + m_TableCollectionName: + m_TableEntryReference: + m_KeyId: 0 + m_Key: + m_FallbackState: 0 + m_WaitForCompletion: 0 + m_LocalVariables: [] + m_PanelDescriptionPrefab: {fileID: 160918, guid: 3491f4f01ba6cac47b1633f36d7c6c84, + type: 3} + m_PanelDescriptionOffset: {x: 1, y: 1, z: 0} + m_PanelDescriptionColor: {r: 1, g: 1, b: 1, a: 1} + m_PanelFlairPrefab: {fileID: 0} + m_PanelFlairOffset: {x: 0, y: 0, z: 0} + m_DescriptionSpringK: 4 + m_DescriptionSpringDampen: 0.2 + m_DescriptionClosedAngle: -90 + m_DescriptionOpenAngle: 0 + m_DescriptionAlphaDistance: 90 + m_Decor: + - {fileID: 1889327720883680} + m_GazeHighlightScaleMultiplier: 1.1 + m_BorderMeshWidth: 0.02 + m_BorderMeshAdvWidth: 0.01 + m_PanelSensitivity: 0.1 + m_ClampToBounds: 0 + m_ReticleBounds: {x: 2.15, y: 2.55, z: 0} + m_BorderSphereHighlightRadius: 2.5 + m_PositioningSpheresBounds: {x: 1, y: 1} + m_PositioningSphereRadius: 0.4 + m_UseGazeRotation: 1 + m_MaxGazeRotation: 20 + m_GazeActivateSpeed: 8 + m_InitialSpawnPos: {x: 0, y: 13, z: 5} + m_InitialSpawnRotEulers: {x: 0, y: 0, z: 0} + m_WandAttachAngle: 0 + m_WandAttachYOffset: 0 + m_WandAttachHalfHeight: 1.3 + m_BeginFixed: 0 + m_CanBeFixedToWand: 1 + m_CanBeDetachedFromWand: 0 + m_PopUpGazeDuration: 0.2 + m_PromoBorders: [] + references: + version: 2 + RefIds: [] +--- !u!114 &114120113036906770 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 160214} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 739d5b1996234d64992a2ae60c3723e9, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &169614 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 420492} + - component: {fileID: 6569620} + m_Layer: 16 + m_Name: MeshCollider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &420492 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 169614} + 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: 499980} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &6569620 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 169614} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1.94, y: 2.55, z: 0.02} + m_Center: {x: 0.06, y: -0.06, z: 0} +--- !u!1 &173754 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 498528} + - component: {fileID: 6536704} + m_Layer: 16 + m_Name: Collider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &498528 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 173754} + 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: 415082} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &6536704 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 173754} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 2.4, y: 3.3, z: 0.5} + m_Center: {x: 0, y: 0, z: 0} +--- !u!1 &176750 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 480900} + - component: {fileID: 3378504} + m_Layer: 16 + m_Name: HighlightMesh + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &480900 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 176750} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0.05} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 499980} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &3378504 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 176750} + m_Mesh: {fileID: 4300000, guid: 92d56c40cdd919e449581a5798c4c533, type: 3} +--- !u!1 &184986 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 499980} + m_Layer: 16 + m_Name: Mesh + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &499980 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 184986} + 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: 4197450359471226742} + - {fileID: 420492} + - {fileID: 480900} + - {fileID: 4696385544466816} + - {fileID: 4410849844686322} + m_Father: {fileID: 415082} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1000013067707022 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4000011007410470} + - component: {fileID: 33000014291051348} + - component: {fileID: 23000013088760582} + m_Layer: 16 + m_Name: _Bounds(inactive) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &4000011007410470 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000013067707022} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 2, y: 2.5, z: 2.55} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 415082} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &33000014291051348 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000013067707022} + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &23000013088760582 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000013067707022} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 0 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &1007290988937762 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4153922631777284} + - component: {fileID: 33058761823212030} + - component: {fileID: 23101283692199882} + m_Layer: 16 + m_Name: Quad + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4153922631777284 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1007290988937762} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.65, y: 0.65, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4410849844686322} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &33058761823212030 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1007290988937762} + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &23101283692199882 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1007290988937762} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 0d7eb02b18ffb4c419fb75924cb900dc, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &1204492690482570 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4410849844686322} + - component: {fileID: 33802401890004714} + - component: {fileID: 23132643551969806} + - component: {fileID: 65355371710737186} + - component: {fileID: 114889102552369014} + m_Layer: 16 + m_Name: Button_ClosePopup + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4410849844686322 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1204492690482570} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.907, y: -1.206, z: -0.01} + m_LocalScale: {x: 0.29999998, y: 0.29999998, z: 0.29999998} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4153922631777284} + - {fileID: 4402564000880478} + m_Father: {fileID: 499980} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &33802401890004714 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1204492690482570} + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &23132643551969806 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1204492690482570} + m_Enabled: 0 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 3c8ca511828182747a0b79564892ec57, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!65 &65355371710737186 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1204492690482570} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1.0000001, y: 1, z: 0.01} + m_Center: {x: 0, y: 0, z: -0.01} +--- !u!114 &114889102552369014 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1204492690482570} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6c6859eec74651247968d56b594ac313, type: 3} + m_Name: + m_EditorClassIdentifier: + m_DescriptionType: 0 + m_DescriptionYOffset: 0 + m_DescriptionText: SETTINGS_PANEL_CLOSE_BUTTON_DESCRIPTION + m_LocalizedDescription: + m_TableReference: + m_TableCollectionName: GUID:c84355079ab3f3e4f8f3812258805f86 + m_TableEntryReference: + m_KeyId: 7959094121701376 + m_Key: + m_FallbackState: 0 + m_WaitForCompletion: 0 + m_LocalVariables: [] + m_DescriptionTextExtra: + m_LocalizedDescriptionExtra: + m_TableReference: + m_TableCollectionName: + m_TableEntryReference: + m_KeyId: 0 + m_Key: + m_FallbackState: 0 + m_WaitForCompletion: 0 + m_LocalVariables: [] + m_DescriptionActivateSpeed: 12 + m_DescriptionZScale: 1 + m_ButtonTexture: {fileID: 0} + m_AtlasTexture: 1 + m_ToggleButton: 0 + m_LongPressReleaseButton: 0 + m_ButtonHasPressedAudio: 1 + m_ZAdjustHover: -0.02 + m_ZAdjustClick: 0.05 + m_HoverScale: 1.1 + m_HoverBoxColliderGrow: 0.2 + m_AddOverlay: 0 + m_Command: 64 + m_CommandParam: -1 + m_CommandParam2: -1 + m_RequiresPopup: 0 + m_CenterPopupOnButton: 0 + m_PopupOffset: {x: 0, y: 0, z: 0} + m_PopupText: + m_LocalizedPopup: + m_TableReference: + m_TableCollectionName: + m_TableEntryReference: + m_KeyId: 0 + m_Key: + m_FallbackState: 0 + m_WaitForCompletion: 0 + m_LocalVariables: [] + m_ToggleOnDescription: + m_LocalizedToggleOnDescription: + m_TableReference: + m_TableCollectionName: + m_TableEntryReference: + m_KeyId: 0 + m_Key: + m_FallbackState: 0 + m_WaitForCompletion: 0 + m_LocalVariables: [] + m_ToggleOnTexture: {fileID: 0} + m_AllowUnavailable: 0 + m_LinkedUIObject: {fileID: 0} + references: + version: 2 + RefIds: [] +--- !u!1 &1744263076835604 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4148024965627128} + - component: {fileID: 33937921472497080} + - component: {fileID: 23425245546884932} + m_Layer: 0 + m_Name: SettingsPanelBorder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4148024965627128 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1744263076835604} + m_LocalRotation: {x: -0.7071068, y: 0, z: -0, w: 0.7071067} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 100, y: 100, z: 100} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4696385544466816} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &33937921472497080 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1744263076835604} + m_Mesh: {fileID: 4300002, guid: 3911a5e0ccf20e0489d2e0c46768cc74, type: 3} +--- !u!23 &23425245546884932 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1744263076835604} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 77dd4ff8b1158a84397aba783cd0af05, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &1850095996710182 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4887086521611946} + - component: {fileID: 33901426776633756} + - component: {fileID: 23979510237070564} + m_Layer: 0 + m_Name: SettingsPanelBg + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4887086521611946 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1850095996710182} + m_LocalRotation: {x: -0.7071068, y: 0, z: -0, w: 0.7071067} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 100, y: 100, z: 100} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4696385544466816} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &33901426776633756 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1850095996710182} + m_Mesh: {fileID: 4300000, guid: 3911a5e0ccf20e0489d2e0c46768cc74, type: 3} +--- !u!23 &23979510237070564 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1850095996710182} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: db0305ff9081c3b448ac79e85d26e5d4, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &1852253978840482 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4696385544466816} + m_Layer: 0 + m_Name: SettingsPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4696385544466816 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1852253978840482} + 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: 4887086521611946} + - {fileID: 4148024965627128} + m_Father: {fileID: 499980} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1889327720883680 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4402564000880478} + - component: {fileID: 33054958406634006} + - component: {fileID: 23246000722874742} + m_Layer: 16 + m_Name: ExitButtonBackground + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4402564000880478 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1889327720883680} + m_LocalRotation: {x: 0.7071068, y: -0, z: -0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 0, z: 0.025} + m_LocalScale: {x: 0.79999995, y: 0.02, z: 0.8} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4410849844686322} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} +--- !u!33 &33054958406634006 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1889327720883680} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &23246000722874742 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1889327720883680} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 77dd4ff8b1158a84397aba783cd0af05, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &4556844761904631768 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4197450359471226742} + m_Layer: 16 + m_Name: Buttons + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4197450359471226742 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4556844761904631768} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0.8860002, z: -0.03} + m_LocalScale: {x: 0.84952, y: 0.84952, z: 0.84952} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 2257290092732788673} + m_Father: {fileID: 499980} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &8555218426663659616 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 4197450359471226742} + m_Modifications: + - target: {fileID: 7630606763700834929, guid: 0963942396a615f4fb1b390436e881b8, + type: 3} + propertyPath: m_Name + value: ActionButton + objectReference: {fileID: 0} + - target: {fileID: 7631838532712089505, guid: 0963942396a615f4fb1b390436e881b8, + type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7631838532712089505, guid: 0963942396a615f4fb1b390436e881b8, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7631838532712089505, guid: 0963942396a615f4fb1b390436e881b8, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7631838532712089505, guid: 0963942396a615f4fb1b390436e881b8, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7631838532712089505, guid: 0963942396a615f4fb1b390436e881b8, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7631838532712089505, guid: 0963942396a615f4fb1b390436e881b8, + type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 7631838532712089505, guid: 0963942396a615f4fb1b390436e881b8, + type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 7631838532712089505, guid: 0963942396a615f4fb1b390436e881b8, + type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 7631838532712089505, guid: 0963942396a615f4fb1b390436e881b8, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7631838532712089505, guid: 0963942396a615f4fb1b390436e881b8, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7631838532712089505, guid: 0963942396a615f4fb1b390436e881b8, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 0963942396a615f4fb1b390436e881b8, type: 3} +--- !u!4 &2257290092732788673 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 7631838532712089505, guid: 0963942396a615f4fb1b390436e881b8, + type: 3} + m_PrefabInstance: {fileID: 8555218426663659616} + m_PrefabAsset: {fileID: 0} diff --git a/Assets/Prefabs/Panels/MultiplayerPanel.prefab.meta b/Assets/Prefabs/Panels/MultiplayerPanel.prefab.meta new file mode 100644 index 0000000000..f5ef283737 --- /dev/null +++ b/Assets/Prefabs/Panels/MultiplayerPanel.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 5a442232cda8d79489436e6d45958790 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Icons/multiplayer.png b/Assets/Resources/Icons/multiplayer.png new file mode 100644 index 0000000000000000000000000000000000000000..0c3aae8f8f489ebfbdec6b65a0bfe90a7c9ca380 GIT binary patch literal 3052 zcmb7Ghc{f^7Qcij`CfEGlp)a#K@crU)FFBqq6g7iv>9Cx{UbbO5P}FnM#%`GjR+!) z@=f#}V)W>v#=H3g-dgXib6B%GMjtXH0k>hsuyEm2-Y-_v53L?hx1oHt&tP2TNw zi&@JvuPfW0J~}*TUu<<5fqJ$Q3yFb56n`;A4uN>8G)%n2J{U$7o6-Pk4wm1Lf;@{U z^wC`m`z&uTzYL1H>=gsChAMD4EKU#=I z>bACAfWxzAjAdnI&4KHTy?uQQHxo*PXo;yul-VBt&doJ-brn1fSJoBC!ZP+dXND_7 zgMx!iP$+rQMG)gGlaQR3EJsjKkg)`tP5s&w_4U~AV`G}K1!?EVIDj_s>@0NuG+Yz% z+h5$KS=GA9=clqbZ?w{rg^q~8U-J*1_Sic=eflDJXSP2g{2?G;T2>ZYIx2MVjFsfXnmVdU)UnS2Ui$2F@x z_A3d{NFI1*^Kh&q<>IpzA@1}5;YcO!3YDviEE{nM31y@h7$)X$_4~5U5|)2dAw(M* z7A7etmsnE5i$D9BCQiu%XS9nrGS@$Q3_I&dfyk^Iru#*4ger}{x7KE2Vyf!EcV7KI z|2{eSHKIm=dWYtXW>Aof7z|cva#CL}xsOzu?W-(XEK+@}baio1#oXE2S}^$Z9%*k~ zIPjDUjM>|5%`#(bW8>1sSheV}r-l1fvnBI)9fAfVBh(6w#(+da)5H$!62??3@MBUO$Mh-JX;c zhQ*Q2+O@T{cemwa()i;ubjvH>zI}1t=8~Lwa&uRXv@_RTQ5>1PJ=0Xy)C3_A2zh8U zToKdO#woxQH4w`ONAC9vqAFgp?1$gF!7(p{j6gJ(p=l(0P=Ly){ zqYTSUI2-y?i=J5-z#}PE1}@J@sEWEc@O>zsRaK6&cWVpwOIkuvF~v`AP%$mF21Ryq z89DEc`$f7zwySE)T&NON6mm;0>UWzD*B8&n05Gz!KzIAcxC%o_XJ@hXm1zAcrG%{P zi=`z;pG!JAIwvo$RO_o#+@%e6GJ`M4*-D@QuLa_DD>$roIaxBN4%~CP$rnmOeUneP zx=Ik2L_eyV+4hs;^iz1{*J87aRI044)mB%(ChIdxT|M>*J0l2YKk6sT#l^vJI@U?H zV02<4A(o2HBmZjZgRB3^t|JTvbDQ=p@k1;De;u&fRsN?8DR}pQZwXLOHe0%VUnLl>1X&Q>VA|Ec8Hp z-k(RthBzLH0`SbrhK9_)xgY3eWn~TC@FNbrsv&K0DFo`6d!Bs$Ox{kK4-4)1J&XWk zWMl$2z6;YPbXT#&B(8PSsSM_;i#zpufWbH%xAx68*=uBq9`h*2V8m(T9}WsCbF}yj zeSHcO&UyDvc)C3-W71k%A! zlhYkaa{@tL0Y(_@|)$fepa@VdSrK{mG>~FLl72 z$K-q%`)mfVrchc`XS-yj?{-l^Uw3vwyBz9XPp~+_Ub>**pt@+JvniUqV`gP#rBCl; zppBQ1l6tPn19UE=gZVMr5OF)`$Nd9K5Usl3%j#yun_u)1MF!@w1)I29*s(L`3rJS1(VN)7O&(i!AGXWm5TT;N>QPM;qn}sC_;eY3VhWtVCN7h-q3{ zT6y}DDR(>aKBzRN@p}YZo&{~}?7RizP?Y;}N*1|@BNIq>^!E0~Po-P*GKx_rbpOGJ z-7vkw!di})_1eJQPS}}380N=;M2?%L5OXOAjE2YW%f$e|%)&w|J3ISuwZJ!Xm^g3_ zw=E9ehmXsG?2TOkui{aysUHJw-}0hnzB5WCVy_1xEg_LHTKZ~}cQ_Q>4bDS9vZDRI zd6w;o6uK_*GF0j4yJ;l`(+jHR=*UQPZO0icSeCf=ZT4H1@|PG$N#>?7^-V7#2`DpUU6H4uvN4EjxCk z)yxpDA=~YYFI>PP2pp_#Z&(0Isr;eZY4W4xfU{L^(StB#MTz3^)>QWe!aPVA5KHAR z*D*IA%T$YJ`NSMO-J5CBVM3Ge)Lb% zLZluZkN24B1rLE>_Jj!sk;ee9lu((oKKId&1jbeoO%vo&yl}=s1Ht_K{E_+jo3#@+ z()(hQlWFJQy-(KRd!Cd;W784No-1zqe3;mcFSsv*!a2if7X2I8^)@y)jS+~Z!$7)r z`Xr4%xjQ;)d;xMW8x-0H3YtG@#})*rKkA1L{00wGCZAY5Yyf0`up!UZE0zKk92*}S zo0|Ul-5V2Okj%Fx>&w;(thkks(V)WcG1BN{#`(#ms`5mGt{4f$O-)&8lo@|{A}N&I z5GbOpAdj~VAg5=3A#Qk$a+>%5s9yhT-Fphn^gDDItG#{!mhS*u(?A3B(Bb)i0Gy`I At^fc4 literal 0 HcmV?d00001 diff --git a/Assets/Resources/Icons/multiplayer.png.meta b/Assets/Resources/Icons/multiplayer.png.meta new file mode 100644 index 0000000000..3a62b8aaab --- /dev/null +++ b/Assets/Resources/Icons/multiplayer.png.meta @@ -0,0 +1,171 @@ +fileFormatVersion: 2 +guid: a33145647a3f52648829afbd03b5fa9b +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMasterTextureLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Server + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Windows Store Apps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/App.cs b/Assets/Scripts/App.cs index 32d5895cc5..af9d66c778 100644 --- a/Assets/Scripts/App.cs +++ b/Assets/Scripts/App.cs @@ -1183,6 +1183,10 @@ private void StartReset() { PanelManager.m_Instance.ToggleBrushLabPanels(); } + else if (PanelManager.m_Instance.MultiplayerActive()) + { + PanelManager.m_Instance.ToggleMultiplayerPanels(); + } // Hide all panels. SketchControlsScript.m_Instance.RequestPanelsVisibility(false); diff --git a/Assets/Scripts/GUI/AdminPanel.cs b/Assets/Scripts/GUI/AdminPanel.cs index 1c317b55ef..be914a9851 100644 --- a/Assets/Scripts/GUI/AdminPanel.cs +++ b/Assets/Scripts/GUI/AdminPanel.cs @@ -43,6 +43,7 @@ public class AdminPanel : BasePanel [SerializeField] GameObject m_MemoryWarning; [SerializeField] GameObject m_MemoryWarningButton; [SerializeField] Color m_MemoryWarningColor; + [SerializeField] GameObject m_MultiplayerButton; [SerializeField] float m_ButtonRotationAngle = 45f; [SerializeField] LocalizedString m_ShareButtonLoggedOutExtraText; diff --git a/Assets/Scripts/GUI/BasePanel.cs b/Assets/Scripts/GUI/BasePanel.cs index dd2f5c029e..1150c4fbb3 100644 --- a/Assets/Scripts/GUI/BasePanel.cs +++ b/Assets/Scripts/GUI/BasePanel.cs @@ -106,6 +106,7 @@ public enum PanelType ReferenceMobile, CameraPath, BrushLab, + Multiplayer, WebcamPanel = 5200, Scripts = 6000, SnapSettings = 8000, diff --git a/Assets/Scripts/GUI/MultiplayerPanel.cs b/Assets/Scripts/GUI/MultiplayerPanel.cs new file mode 100644 index 0000000000..349776fab5 --- /dev/null +++ b/Assets/Scripts/GUI/MultiplayerPanel.cs @@ -0,0 +1,26 @@ +// Copyright 2023 The Open Brush Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +using UnityEngine; +namespace TiltBrush +{ + + public class MultiplayerPanel : BasePanel + { + public override void InitPanel() + { + base.InitPanel(); + } + } +} // namespace TiltBrush diff --git a/Assets/Scripts/GUI/MultiplayerPanel.cs.meta b/Assets/Scripts/GUI/MultiplayerPanel.cs.meta new file mode 100644 index 0000000000..de5d3586ae --- /dev/null +++ b/Assets/Scripts/GUI/MultiplayerPanel.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8826790ad4eae8c4b9690bfac756b1ff +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/GUI/PanelManager.cs b/Assets/Scripts/GUI/PanelManager.cs index 188d320c56..ed0907ff96 100644 --- a/Assets/Scripts/GUI/PanelManager.cs +++ b/Assets/Scripts/GUI/PanelManager.cs @@ -171,6 +171,9 @@ public enum PanelMode // StandardToMemoryWarning - Transition to Memory Warning can come from any state. MemoryWarningToStandard, + Multiplayer, + StandardToMultiplayer, + MultiplayerToStandard } public enum PaneVisualsState @@ -234,6 +237,7 @@ public bool AvailableInCurrentMode private List m_MemoryWarningPanels; private List m_CameraPanels; private List m_BrushLabPanels; + private List m_MultiplayerPanels; private BasePanel m_AdminPanel; private AdvancedPanelLayouts m_CachedPanelLayouts; @@ -261,6 +265,7 @@ public bool AvailableInCurrentMode private float m_MemoryWarningScale; private float m_CameraScale; private float m_BrushLabScale; + private float m_MultiplayerScale; private PanelsState m_PanelsState; private PanelMode m_PanelsMode; @@ -308,6 +313,7 @@ public bool PanelsAreStable() public bool CameraActive() { return m_PanelsMode == PanelMode.Camera; } public bool MemoryWarningActive() { return m_PanelsMode == PanelMode.MemoryWarning; } public bool BrushLabActive() { return m_PanelsMode == PanelMode.BrushLab; } + public bool MultiplayerActive() { return m_PanelsMode == PanelMode.Multiplayer; } public bool PanelsHaveBeenCustomized() { return m_PanelsCustomized; } public bool AdvancedModeActive() { return m_AdvancedPanels; } public bool SketchbookActiveIncludingTransitions() @@ -368,7 +374,8 @@ public bool IsPanelUnique(BasePanel.PanelType type) return IsAdminPanel(type) || type == BasePanel.PanelType.AppSettings || type == BasePanel.PanelType.AppSettingsMobile || type == BasePanel.PanelType.Sketchbook || type == BasePanel.PanelType.SketchbookMobile || - type == BasePanel.PanelType.Camera || type == BasePanel.PanelType.MemoryWarning; + type == BasePanel.PanelType.Camera || type == BasePanel.PanelType.MemoryWarning || + type == BasePanel.PanelType.Multiplayer; } // Core panels are those that exist in the basic mode experience. Practically, those that @@ -395,6 +402,7 @@ public void Init() m_MemoryWarningPanels = new List(); m_CameraPanels = new List(); m_BrushLabPanels = new List(); + m_MultiplayerPanels = new List(); m_RevealParticleParent = new GameObject("ParticlesParent"); m_RevealParticleParent.transform.parent = transform; @@ -568,6 +576,10 @@ void CreatePanel(PanelMapKey key, bool advancedPanel) { m_BrushLabPanels.Add(p); } + else if (p.Type == BasePanel.PanelType.Multiplayer) + { + m_MultiplayerPanels.Add(p); + } else if (IsAdminPanel(p.Type)) { Debug.Assert(m_AdminPanel == null, "Multiple Admin Panels are being created."); @@ -891,7 +903,8 @@ public void UpdateWandOrientationControls() (m_PanelsMode == PanelMode.Sketchbook || m_PanelsMode == PanelMode.Settings || m_PanelsMode == PanelMode.MemoryWarning || - m_PanelsMode == PanelMode.Camera); + m_PanelsMode == PanelMode.Camera || + m_PanelsMode == PanelMode.Multiplayer); if (inVisibleAltMode && App.VrSdk.AnalogIsStick(InputManager.ControllerName.Wand)) { if (m_AltModeSwipeEatStickInput) @@ -934,6 +947,10 @@ public void UpdateWandOrientationControls() { ToggleCameraPanels(); } + else if (m_PanelsMode == PanelMode.Multiplayer) + { + ToggleMultiplayerPanels(); + } } } } @@ -1189,7 +1206,8 @@ public void AttachHeldPanelToWand(BasePanel panel) if (m_PanelsMode == PanelMode.Sketchbook || m_PanelsMode == PanelMode.Settings || m_PanelsMode == PanelMode.MemoryWarning || - m_PanelsMode == PanelMode.Camera) + m_PanelsMode == PanelMode.Camera || + m_PanelsMode == PanelMode.Multiplayer) { return; } @@ -1727,6 +1745,11 @@ public void LockPanelsToController() { SetAltPanelXfFromWand(m_BrushLabPanels[i], rBaseTransform); } + + for (int i = 0; i < m_MultiplayerPanels.Count; ++i) + { + SetAltPanelXfFromWand(m_MultiplayerPanels[i], rBaseTransform); + } } // Keep admin panel locked. @@ -1840,7 +1863,10 @@ public void SetVisible(bool bVisible) { m_BrushLabPanels[i].ResetPanel(); } - + for (int i = 0; i < m_MultiplayerPanels.Count; ++i) + { + m_MultiplayerPanels[i].ResetPanel(); + } m_PanelsState = PanelsState.Exiting; } } @@ -1906,6 +1932,12 @@ public void ToggleMemoryWarningMode() } } + public void ToggleMultiplayerPanels() + { + ToggleMode(m_MultiplayerPanels, PanelMode.Multiplayer, PanelMode.StandardToMultiplayer, + PanelMode.MultiplayerToStandard); + } + // This function toggles between the 'mode' parameter and PanelMode.Standard. Currently, // transitions from a non-Standard mode to another non-Standard mode are not allowed. // toMode and fromMode define the transition modes to mode. @@ -1918,7 +1950,8 @@ void ToggleMode(List panels, PanelMode mode, PanelMode toMode, PanelM m_PanelsMode == PanelMode.SketchbookToStandard || m_PanelsMode == PanelMode.SettingsToStandard || m_PanelsMode == PanelMode.CameraToStandard || - m_PanelsMode == PanelMode.BrushLabToStandard) + m_PanelsMode == PanelMode.BrushLabToStandard || + m_PanelsMode == PanelMode.MultiplayerToStandard) { // If we're in full standard mode, reset the panels before we shrink 'em down. if (m_PanelsMode == PanelMode.Standard) @@ -1985,6 +2018,7 @@ void ForceModeScale(PanelMode mode) m_StandardScale = 0.0f; m_BrushLabScale = 0.0f; m_MemoryWarningScale = 0.0f; + m_MultiplayerScale = 0.0f; switch (mode) { @@ -2006,6 +2040,9 @@ void ForceModeScale(PanelMode mode) case PanelMode.BrushLab: m_BrushLabScale = 1.0f; break; + case PanelMode.Multiplayer: + m_MultiplayerScale = 1.0f; + break; default: Debug.LogError("PanelManager.ForceModeScale() called with unsupported mode."); break; @@ -2044,6 +2081,7 @@ void RefreshPanelsForAnimations() SetPanelListScaleAndActive(m_MemoryWarningPanels, m_MemoryWarningScale); SetPanelListScaleAndActive(m_CameraPanels, m_CameraScale); SetPanelListScaleAndActive(m_BrushLabPanels, m_BrushLabScale); + SetPanelListScaleAndActive(m_MultiplayerPanels, m_MultiplayerScale); } void SetPanelListScaleAndActive(List panels, float scale) @@ -2067,6 +2105,7 @@ void Update() case PanelMode.Settings: break; case PanelMode.MemoryWarning: break; case PanelMode.BrushLab: break; + case PanelMode.Multiplayer: break; case PanelMode.StandardToSketchbook: AnimateScaleToMode(ref m_StandardScale, ref m_SketchbookScale, PanelMode.Sketchbook); break; @@ -2088,6 +2127,12 @@ void Update() case PanelMode.StandardToBrushLab: AnimateScaleToMode(ref m_StandardScale, ref m_BrushLabScale, PanelMode.BrushLab); break; + case PanelMode.StandardToMultiplayer: + AnimateScaleToMode(ref m_StandardScale, ref m_MultiplayerScale, PanelMode.Multiplayer); + break; + case PanelMode.MultiplayerToStandard: + AnimateScaleToMode(ref m_MultiplayerScale, ref m_StandardScale, PanelMode.Standard); + break; case PanelMode.BrushLabToStandard: AnimateScaleToMode(ref m_BrushLabScale, ref m_StandardScale, PanelMode.Standard); break; diff --git a/Assets/Scripts/SketchControlsScript.cs b/Assets/Scripts/SketchControlsScript.cs index 9fdf21c0fa..1cbf4f9412 100644 --- a/Assets/Scripts/SketchControlsScript.cs +++ b/Assets/Scripts/SketchControlsScript.cs @@ -146,6 +146,7 @@ public enum GlobalCommands // Open Brush Reserved Enums 1000-1999 LanguagePopup = 1000, + ToggleMultiplayerPanel = 1001, RenameSketch = 5200, OpenLayerOptionsPopup = 5201, @@ -4939,6 +4940,11 @@ public void IssueGlobalCommand(GlobalCommands rEnum, int iParam1 = -1, // TODO refactor code above to use this method OpenUrl($"http://localhost:{App.HttpServer.HttpPort}/examplescripts"); break; + case GlobalCommands.ToggleMultiplayerPanel: + m_PanelManager.ToggleMultiplayerPanels(); + PointerManager.m_Instance.EatLineEnabledInput(); + SketchSurfacePanel.m_Instance.EatToolsInput(); + break; case GlobalCommands.RepaintOptions: break; // Intentionally blank. case GlobalCommands.Null: break; // Intentionally blank. default: diff --git a/Assets/Settings/Localization/Strings/Strings Shared Data.asset b/Assets/Settings/Localization/Strings/Strings Shared Data.asset index 89c2aa81ce..62a43eb841 100644 --- a/Assets/Settings/Localization/Strings/Strings Shared Data.asset +++ b/Assets/Settings/Localization/Strings/Strings Shared Data.asset @@ -3279,6 +3279,10 @@ MonoBehaviour: m_Key: CONTROLLER_HINT_THUMBPAD_BRUSHSIZE m_Metadata: m_Items: [] + - m_Id: 156198200358006784 + m_Key: ADMIN_PANEL_MULTIPLAYER_BUTTON_DESCRIPTION + m_Metadata: + m_Items: [] m_Metadata: m_Items: [] m_KeyGenerator: From a0ad4256d760c2f7bc531671bce4c537c334cd8d Mon Sep 17 00:00:00 2001 From: Mike Nisbet Date: Mon, 16 Oct 2023 13:19:38 +0100 Subject: [PATCH 02/43] Fix panel spawn --- Assets/Scripts/GUI/PanelManager.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Assets/Scripts/GUI/PanelManager.cs b/Assets/Scripts/GUI/PanelManager.cs index ed0907ff96..cf56e1fc39 100644 --- a/Assets/Scripts/GUI/PanelManager.cs +++ b/Assets/Scripts/GUI/PanelManager.cs @@ -305,7 +305,7 @@ public Color PanelBorderMeshOutlineColor public bool PanelsAreStable() { return StandardActive() || SketchbookActive() || SettingsActive() || MemoryWarningActive() || - CameraActive() || BrushLabActive(); + CameraActive() || BrushLabActive() || MultiplayerActive(); } public bool StandardActive() { return m_PanelsMode == PanelMode.Standard; } public bool SketchbookActive() { return m_PanelsMode == PanelMode.Sketchbook; } From 774196ca38bc46cd84e179c9fba5e183e639c427 Mon Sep 17 00:00:00 2001 From: Mike Nisbet Date: Mon, 16 Oct 2023 13:22:06 +0100 Subject: [PATCH 03/43] Add MP panel to list will probably conflict # Conflicts: # Assets/Scenes/Main.unity --- Assets/Scenes/Main.unity | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/Assets/Scenes/Main.unity b/Assets/Scenes/Main.unity index 43763876e5..885388756e 100644 --- a/Assets/Scenes/Main.unity +++ b/Assets/Scenes/Main.unity @@ -708,7 +708,7 @@ MonoBehaviour: lensDirtScatterFactor: 0.5 lensDirtIntensity: 0.05 lensDirtTexture: {fileID: 0} - inputIsHDR: 1 + inputIsHDR: 0 lowQuality: 1 depthBlending: 0 depthBlendFunction: 0 @@ -30062,6 +30062,15 @@ MonoBehaviour: m_ModeGvr: 0 m_Basic: 0 m_Advanced: 0 + - m_PanelPrefab: {fileID: 160214, guid: 5a442232cda8d79489436e6d45958790, type: 3} + m_ModeVr: 1 + m_ModeVrExperimental: 1 + m_ModeQuestExperimental: 1 + m_ModeMono: 1 + m_ModeQuest: 1 + m_ModeGvr: 1 + m_Basic: 1 + m_Advanced: 1 - m_PanelPrefab: {fileID: 1272310558547734, guid: 38a4b95a5f6824c41994709bfbd012ad, type: 3} m_ModeVr: 1 @@ -33307,7 +33316,7 @@ MonoBehaviour: lensDirtScatterFactor: 0.5 lensDirtIntensity: 0.05 lensDirtTexture: {fileID: 0} - inputIsHDR: 1 + inputIsHDR: 0 lowQuality: 1 depthBlending: 0 depthBlendFunction: 0 @@ -34189,7 +34198,7 @@ MonoBehaviour: lensDirtScatterFactor: 0.5 lensDirtIntensity: 0.05 lensDirtTexture: {fileID: 0} - inputIsHDR: 1 + inputIsHDR: 0 lowQuality: 1 depthBlending: 0 depthBlendFunction: 0 From ed48bef1fa666ad7a0a931ecb1bb699e16b764fa Mon Sep 17 00:00:00 2001 From: Mike Nisbet Date: Mon, 16 Oct 2023 21:09:13 +0100 Subject: [PATCH 04/43] Oculus connection logic for testing --- Assets/OculusMR/OculusMRController.cs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/Assets/OculusMR/OculusMRController.cs b/Assets/OculusMR/OculusMRController.cs index 746b74b1df..fd5283d3f5 100644 --- a/Assets/OculusMR/OculusMRController.cs +++ b/Assets/OculusMR/OculusMRController.cs @@ -57,11 +57,19 @@ public async void StartMRExperience(bool isHosting) { await m_SpatialAnchorManager.CreateSpatialAnchor(); m_SpatialAnchorManager.SceneLocalizeToAnchor(); - MultiplayerManager.m_Instance.Connect(); + MultiplayerManager.m_Instance.Connect(new RoomCreateData() + { + roomName = "OculusMRRoom", + maxPlayers = 12 + }); } else { - MultiplayerManager.m_Instance.Connect(); + MultiplayerManager.m_Instance.Connect(new RoomCreateData() + { + roomName = "OculusMRRoom", + maxPlayers = 12 + }); } } From 52c54ffa6e78b073817ccacbf3723f014bf92075 Mon Sep 17 00:00:00 2001 From: Mike Nisbet Date: Mon, 16 Oct 2023 21:21:53 +0100 Subject: [PATCH 05/43] Join logic # Conflicts: # Assets/Scripts/Multiplayer/MultiplayerInterfaces.cs # Assets/Scripts/Multiplayer/MultiplayerManager.cs --- .../Multiplayer/MultiplayerDataStructs.cs | 20 ++++++ .../Multiplayer/MultiplayerInterfaces.cs | 3 +- .../Scripts/Multiplayer/MultiplayerManager.cs | 21 +++++- .../Multiplayer/Photon/PhotonManager.cs | 68 ++++++++++++++----- 4 files changed, 92 insertions(+), 20 deletions(-) diff --git a/Assets/Scripts/Multiplayer/MultiplayerDataStructs.cs b/Assets/Scripts/Multiplayer/MultiplayerDataStructs.cs index 2401d272f0..ab59b3bda5 100644 --- a/Assets/Scripts/Multiplayer/MultiplayerDataStructs.cs +++ b/Assets/Scripts/Multiplayer/MultiplayerDataStructs.cs @@ -46,4 +46,24 @@ public struct ExtraData { public ulong OculusPlayerId; } + + [System.Serializable] + public struct RoomCreateData + { + public string roomName; + public string roomPassword; + public bool @private; + public int maxPlayers; + public bool voiceDisabled; + } + + [System.Serializable] + public struct RoomData + { + public string roomName; + public bool @private; + public int numPlayers; + public int maxPlayers; + public bool voiceDisabled; + } } diff --git a/Assets/Scripts/Multiplayer/MultiplayerInterfaces.cs b/Assets/Scripts/Multiplayer/MultiplayerInterfaces.cs index a58eeb5210..246e7b4747 100644 --- a/Assets/Scripts/Multiplayer/MultiplayerInterfaces.cs +++ b/Assets/Scripts/Multiplayer/MultiplayerInterfaces.cs @@ -22,7 +22,8 @@ namespace OpenBrush.Multiplayer { public interface IConnectionHandler { - Task Connect(); + Task Init(); + Task Connect(RoomCreateData data); bool IsConnected(); Task Disconnect(bool force = false); diff --git a/Assets/Scripts/Multiplayer/MultiplayerManager.cs b/Assets/Scripts/Multiplayer/MultiplayerManager.cs index 91d588b393..11470271f8 100644 --- a/Assets/Scripts/Multiplayer/MultiplayerManager.cs +++ b/Assets/Scripts/Multiplayer/MultiplayerManager.cs @@ -14,6 +14,7 @@ using System; using System.Collections.Generic; +using System.Threading.Tasks; using UnityEngine; using Unity.XR.CoreUtils; #if OCULUS_SUPPORTED @@ -21,6 +22,10 @@ #endif using TiltBrush; +#if OCULUS_SUPPORTED +using OVRPlatform = Oculus.Platform; +#endif // OCULUS_SUPPORTED + namespace OpenBrush.Multiplayer { public enum MultiplayerType @@ -42,6 +47,7 @@ public class MultiplayerManager : MonoBehaviour public Action> localPlayerJoined; public Action> remotePlayerJoined; + public Action> roomDataRefreshed; ulong myOculusUserId; @@ -58,7 +64,6 @@ void Awake() void Start() { - #if OCULUS_SUPPORTED OVRPlatform.Users.GetLoggedInUser().OnComplete((msg) => { if (!msg.IsError) @@ -100,9 +105,19 @@ void OnDestroy() SketchMemoryScript.m_Instance.CommandRedo -= OnCommandRedo; } - public async void Connect() + public async Task Init() + { + var success = false; + if (m_Manager !=null) + { + success = await m_Manager.Init(); + } + return success; + } + + public async void Connect(RoomCreateData data) { - var result = await m_Manager.Connect(); + var result = await m_Manager.Connect(data); } void Update() diff --git a/Assets/Scripts/Multiplayer/Photon/PhotonManager.cs b/Assets/Scripts/Multiplayer/Photon/PhotonManager.cs index 579b06bc88..0b1c5ffaa5 100644 --- a/Assets/Scripts/Multiplayer/Photon/PhotonManager.cs +++ b/Assets/Scripts/Multiplayer/Photon/PhotonManager.cs @@ -16,13 +16,13 @@ using System; using System.Collections.Generic; +using System.Linq; using System.Threading.Tasks; using UnityEngine; using Fusion; using Fusion.Photon.Realtime; using Fusion.Sockets; using TiltBrush; -using System.Linq; namespace OpenBrush.Multiplayer { @@ -36,37 +36,55 @@ public class PhotonManager : IConnectionHandler, INetworkRunnerCallbacks PhotonPlayerRig m_LocalPlayer; + AppSettings m_PhotonAppSettings; + public PhotonManager(MultiplayerManager manager) { m_Manager = manager; m_PlayersSpawning = new List(); - } - - public async Task Connect() - { - if(m_Runner != null) - { - GameObject.Destroy(m_Runner); - } var runnerGO = new GameObject("Photon Network Components"); - m_Runner = runnerGO.AddComponent(); m_Runner.ProvideInput = true; m_Runner.AddCallbacks(this); - var appSettings = new AppSettings + m_PhotonAppSettings = new AppSettings { AppIdFusion = App.Config.PhotonFusionSecrets.ClientId, // Need this set for some reason FixedRegion = "", }; + } + + public async Task Init() + { + var result = await m_Runner.JoinSessionLobby(SessionLobby.Shared, customAppSettings: m_PhotonAppSettings); + + if (result.Ok) + { + ControllerConsoleScript.m_Instance.AddNewLine("Connected to Photon lobby"); + } + else + { + ControllerConsoleScript.m_Instance.AddNewLine("Failed to join lobby!"); + } + + return result.Ok; + } + + public async Task Connect(RoomCreateData roomCreateData) + { + if(m_Runner != null) + { + GameObject.Destroy(m_Runner); + } var args = new StartGameArgs() { GameMode = GameMode.Shared, - SessionName = "OpenBrushMultiplayerTest", - CustomPhotonAppSettings = appSettings, + SessionName = roomCreateData.roomName, + CustomPhotonAppSettings = m_PhotonAppSettings, + PlayerCount = roomCreateData.maxPlayers != 0 ? roomCreateData.maxPlayers : null, SceneManager = m_Runner.gameObject.AddComponent(), Scene = UnityEngine.SceneManagement.SceneManager.GetActiveScene().buildIndex, }; @@ -114,7 +132,7 @@ public void Update() public async Task PerformCommand(BaseCommand command) { await Task.Yield(); - return ProcessCommand(command);; + return ProcessCommand(command); } public async Task UndoCommand(BaseCommand command) @@ -248,7 +266,6 @@ public void OnPlayerJoined(NetworkRunner runner, PlayerRef player) var playerObj = m_Runner.Spawn(playerPrefab, inputAuthority: m_Runner.LocalPlayer); m_LocalPlayer = playerObj.GetComponent(); m_Runner.SetPlayerObject(m_Runner.LocalPlayer, playerObj); - m_Manager.localPlayerJoined?.Invoke(m_LocalPlayer); } @@ -257,6 +274,26 @@ public void OnPlayerJoined(NetworkRunner runner, PlayerRef player) m_PlayersSpawning.Add(player); } } + + public void OnSessionListUpdated(NetworkRunner runner, List sessionList) + { + + var roomData = new List(); + foreach (var session in sessionList) + { + RoomData data = new RoomData() + { + roomName = session.Name, + @private = session.IsOpen, + numPlayers = session.PlayerCount, + maxPlayers = session.MaxPlayers + }; + + roomData.Add(data); + } + + m_Manager.roomDataRefreshed?.Invoke(roomData); + } #endregion #region Unused Photon Callbacks @@ -268,7 +305,6 @@ public void OnInput(NetworkRunner runner, NetworkInput input) { } public void OnInputMissing(NetworkRunner runner, PlayerRef player, NetworkInput input) { } public void OnConnectRequest(NetworkRunner runner, NetworkRunnerCallbackArgs.ConnectRequest request, byte[] token) { } public void OnUserSimulationMessage(NetworkRunner runner, SimulationMessagePtr message) { } - public void OnSessionListUpdated(NetworkRunner runner, List sessionList) { } public void OnCustomAuthenticationResponse(NetworkRunner runner, Dictionary data) { } public void OnHostMigration(NetworkRunner runner, HostMigrationToken hostMigrationToken) { } public void OnReliableDataReceived(NetworkRunner runner, PlayerRef player, ArraySegment data) { } From a23f473ad3d3fcd34a468e01a4db15f048b4f93f Mon Sep 17 00:00:00 2001 From: Mike Nisbet Date: Mon, 16 Oct 2023 21:23:58 +0100 Subject: [PATCH 06/43] WIP panel --- Assets/Prefabs/Panels/MultiplayerPanel.prefab | 204 ++++++++++-------- Assets/Scripts/GUI/MultiplayerPanel.cs | 35 ++- 2 files changed, 148 insertions(+), 91 deletions(-) diff --git a/Assets/Prefabs/Panels/MultiplayerPanel.prefab b/Assets/Prefabs/Panels/MultiplayerPanel.prefab index 63e3683eec..4f3f9c4770 100644 --- a/Assets/Prefabs/Panels/MultiplayerPanel.prefab +++ b/Assets/Prefabs/Panels/MultiplayerPanel.prefab @@ -30,6 +30,10 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: + - {fileID: 2965947989537662772} + - {fileID: 438733611317437076} + - {fileID: 3405719730669880946} + - {fileID: 1954481780995984980} - {fileID: 4000011007410470} - {fileID: 498528} - {fileID: 499980} @@ -100,6 +104,10 @@ MonoBehaviour: m_CanBeDetachedFromWand: 0 m_PopUpGazeDuration: 0.2 m_PromoBorders: [] + m_LobbyElements: {fileID: 3644177191085397888} + m_CreateRoomElements: {fileID: 6171746570159008301} + m_RoomSettingsElements: {fileID: 8921512026995007485} + m_GeneralSettingsElements: {fileID: 8667602655244155954} references: version: 2 RefIds: [] @@ -145,7 +153,7 @@ Transform: m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 499980} - m_RootOrder: 1 + m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!65 &6569620 BoxCollider: @@ -190,7 +198,7 @@ Transform: m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 415082} - m_RootOrder: 1 + m_RootOrder: 5 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!65 &6536704 BoxCollider: @@ -235,7 +243,7 @@ Transform: m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 499980} - m_RootOrder: 2 + m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &3378504 MeshFilter: @@ -273,13 +281,12 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: - - {fileID: 4197450359471226742} - {fileID: 420492} - {fileID: 480900} - {fileID: 4696385544466816} - {fileID: 4410849844686322} m_Father: {fileID: 415082} - m_RootOrder: 2 + m_RootOrder: 6 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1000013067707022 GameObject: @@ -312,7 +319,7 @@ Transform: m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 415082} - m_RootOrder: 0 + m_RootOrder: 4 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &33000014291051348 MeshFilter: @@ -482,7 +489,7 @@ Transform: - {fileID: 4153922631777284} - {fileID: 4402564000880478} m_Father: {fileID: 499980} - m_RootOrder: 4 + m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &33802401890004714 MeshFilter: @@ -822,7 +829,7 @@ Transform: - {fileID: 4887086521611946} - {fileID: 4148024965627128} m_Father: {fileID: 499980} - m_RootOrder: 3 + m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1889327720883680 GameObject: @@ -907,7 +914,7 @@ MeshRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_AdditionalVertexStreams: {fileID: 0} ---- !u!1 &4556844761904631768 +--- !u!1 &3644177191085397888 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -915,102 +922,119 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 4197450359471226742} + - component: {fileID: 2965947989537662772} m_Layer: 16 - m_Name: Buttons + m_Name: LobbyElements m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &4197450359471226742 +--- !u!4 &2965947989537662772 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4556844761904631768} + m_GameObject: {fileID: 3644177191085397888} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0.8860002, z: -0.03} - m_LocalScale: {x: 0.84952, y: 0.84952, z: 0.84952} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 2257290092732788673} - m_Father: {fileID: 499980} + m_Children: [] + m_Father: {fileID: 415082} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1001 &8555218426663659616 -PrefabInstance: +--- !u!1 &6171746570159008301 +GameObject: m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 4197450359471226742} - m_Modifications: - - target: {fileID: 7630606763700834929, guid: 0963942396a615f4fb1b390436e881b8, - type: 3} - propertyPath: m_Name - value: ActionButton - objectReference: {fileID: 0} - - target: {fileID: 7631838532712089505, guid: 0963942396a615f4fb1b390436e881b8, - type: 3} - propertyPath: m_RootOrder - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7631838532712089505, guid: 0963942396a615f4fb1b390436e881b8, - type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7631838532712089505, guid: 0963942396a615f4fb1b390436e881b8, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7631838532712089505, guid: 0963942396a615f4fb1b390436e881b8, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7631838532712089505, guid: 0963942396a615f4fb1b390436e881b8, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 7631838532712089505, guid: 0963942396a615f4fb1b390436e881b8, - type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 7631838532712089505, guid: 0963942396a615f4fb1b390436e881b8, - type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 7631838532712089505, guid: 0963942396a615f4fb1b390436e881b8, - type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 7631838532712089505, guid: 0963942396a615f4fb1b390436e881b8, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7631838532712089505, guid: 0963942396a615f4fb1b390436e881b8, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7631838532712089505, guid: 0963942396a615f4fb1b390436e881b8, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 0963942396a615f4fb1b390436e881b8, type: 3} ---- !u!4 &2257290092732788673 stripped + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 438733611317437076} + m_Layer: 16 + m_Name: CreateRoomElements + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &438733611317437076 Transform: - m_CorrespondingSourceObject: {fileID: 7631838532712089505, guid: 0963942396a615f4fb1b390436e881b8, - type: 3} - m_PrefabInstance: {fileID: 8555218426663659616} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6171746570159008301} + 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: 415082} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &8667602655244155954 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1954481780995984980} + m_Layer: 16 + m_Name: GeneralSettingsElements + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1954481780995984980 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8667602655244155954} + 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: 415082} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &8921512026995007485 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3405719730669880946} + m_Layer: 16 + m_Name: RoomSettingsElements + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3405719730669880946 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8921512026995007485} + 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: 415082} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Assets/Scripts/GUI/MultiplayerPanel.cs b/Assets/Scripts/GUI/MultiplayerPanel.cs index 349776fab5..de6bd67365 100644 --- a/Assets/Scripts/GUI/MultiplayerPanel.cs +++ b/Assets/Scripts/GUI/MultiplayerPanel.cs @@ -12,15 +12,48 @@ // See the License for the specific language governing permissions and // limitations under the License. +using System; +using OpenBrush.Multiplayer; using UnityEngine; + namespace TiltBrush { - public class MultiplayerPanel : BasePanel { + public enum Mode + { + Lobby, + Create, + RoomSettings, + GeneralSettings + } + + [SerializeField] private GameObject m_LobbyElements; + [SerializeField] private GameObject m_CreateRoomElements; + [SerializeField] private GameObject m_RoomSettingsElements; + [SerializeField] private GameObject m_GeneralSettingsElements; + + private Mode m_CurrentMode; + public override void InitPanel() { base.InitPanel(); + + InitMultiplayer(); + } + + public async void InitMultiplayer() + { + bool success = await MultiplayerManager.m_Instance.Init(); + } + + private void UpdateMode(Mode newMode) + { + m_CurrentMode = newMode; + m_LobbyElements.SetActive(m_CurrentMode == Mode.Lobby); + m_CreateRoomElements.SetActive(m_CurrentMode == Mode.Create); + m_RoomSettingsElements.SetActive(m_CurrentMode == Mode.RoomSettings); + m_GeneralSettingsElements.SetActive(m_CurrentMode == Mode.GeneralSettings); } } } // namespace TiltBrush From 5d4558658651e8ef5f09d577dd9160460475d533 Mon Sep 17 00:00:00 2001 From: Mike Nisbet Date: Tue, 17 Oct 2023 13:07:53 +0100 Subject: [PATCH 07/43] Setup new button type, fix close button --- Assets/Prefabs/Panels/MultiplayerPanel.prefab | 184 +++++++++++++++++- Assets/Scripts/GUI/MultiplayerPanel.cs | 30 +++ Assets/Scripts/GUI/MultiplayerPanelButton.cs | 37 ++++ .../GUI/MultiplayerPanelButton.cs.meta | 11 ++ Assets/Scripts/SketchControlsScript.cs | 5 +- .../Strings/Strings Shared Data.asset | 4 + .../Localization/Strings/Strings_en.asset | 4 + 7 files changed, 270 insertions(+), 5 deletions(-) create mode 100644 Assets/Scripts/GUI/MultiplayerPanelButton.cs create mode 100644 Assets/Scripts/GUI/MultiplayerPanelButton.cs.meta diff --git a/Assets/Prefabs/Panels/MultiplayerPanel.prefab b/Assets/Prefabs/Panels/MultiplayerPanel.prefab index 4f3f9c4770..07cee7bdab 100644 --- a/Assets/Prefabs/Panels/MultiplayerPanel.prefab +++ b/Assets/Prefabs/Panels/MultiplayerPanel.prefab @@ -573,7 +573,7 @@ MonoBehaviour: m_TableReference: m_TableCollectionName: GUID:c84355079ab3f3e4f8f3812258805f86 m_TableEntryReference: - m_KeyId: 7959094121701376 + m_KeyId: 157582826200739840 m_Key: m_FallbackState: 0 m_WaitForCompletion: 0 @@ -600,7 +600,7 @@ MonoBehaviour: m_HoverScale: 1.1 m_HoverBoxColliderGrow: 0.2 m_AddOverlay: 0 - m_Command: 64 + m_Command: 1001 m_CommandParam: -1 m_CommandParam2: -1 m_RequiresPopup: 0 @@ -941,7 +941,8 @@ Transform: m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 - m_Children: [] + m_Children: + - {fileID: 4742402761985048582} m_Father: {fileID: 415082} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -1007,6 +1008,183 @@ Transform: m_Father: {fileID: 415082} m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &8790421672380404409 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4742402761985048582} + - component: {fileID: 2186148485191086047} + - component: {fileID: 3184411263972264924} + - component: {fileID: 1674489288884736589} + - component: {fileID: 5392421505523717988} + m_Layer: 16 + m_Name: PanelButton_Large_Help + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4742402761985048582 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8790421672380404409} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0.5700002, z: -0.03} + m_LocalScale: {x: 0.35, y: 0.35, z: 0.35} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2965947989537662772} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &2186148485191086047 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8790421672380404409} + m_Mesh: {fileID: 4300000, guid: 5501f437160666942ae970f3648fbeb8, type: 3} +--- !u!23 &3184411263972264924 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8790421672380404409} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 40d29de2bdc11f04dbfa25059165916e, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!65 &1674489288884736589 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8790421672380404409} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 0.1} + m_Center: {x: -0.000000074505806, y: 0.000000022351742, z: 0} +--- !u!114 &5392421505523717988 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8790421672380404409} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b78a8d7209bbdc546979b549a875d550, type: 3} + m_Name: + m_EditorClassIdentifier: + m_DescriptionType: 0 + m_DescriptionYOffset: 0 + m_DescriptionText: + m_LocalizedDescription: + m_TableReference: + m_TableCollectionName: + m_TableEntryReference: + m_KeyId: 0 + m_Key: + m_FallbackState: 0 + m_WaitForCompletion: 0 + m_LocalVariables: [] + m_DescriptionTextExtra: + m_LocalizedDescriptionExtra: + m_TableReference: + m_TableCollectionName: + m_TableEntryReference: + m_KeyId: 0 + m_Key: + m_FallbackState: 0 + m_WaitForCompletion: 0 + m_LocalVariables: [] + m_DescriptionActivateSpeed: 12 + m_DescriptionZScale: 1 + m_ButtonTexture: {fileID: 0} + m_AtlasTexture: 1 + m_ToggleButton: 0 + m_LongPressReleaseButton: 0 + m_ButtonHasPressedAudio: 1 + m_ZAdjustHover: -0.02 + m_ZAdjustClick: 0.02 + m_HoverScale: 1.1 + m_HoverBoxColliderGrow: 0.2 + m_AddOverlay: 0 + m_Command: 1002 + m_CommandParam: 1 + m_CommandParam2: -1 + m_RequiresPopup: 0 + m_CenterPopupOnButton: 0 + m_PopupOffset: {x: 0, y: 0, z: 0} + m_PopupText: + m_LocalizedPopup: + m_TableReference: + m_TableCollectionName: + m_TableEntryReference: + m_KeyId: 0 + m_Key: + m_FallbackState: 0 + m_WaitForCompletion: 0 + m_LocalVariables: [] + m_ToggleOnDescription: + m_LocalizedToggleOnDescription: + m_TableReference: + m_TableCollectionName: + m_TableEntryReference: + m_KeyId: 0 + m_Key: + m_FallbackState: 0 + m_WaitForCompletion: 0 + m_LocalVariables: [] + m_ToggleOnTexture: {fileID: 0} + m_AllowUnavailable: 0 + m_LinkedUIObject: {fileID: 0} + m_CommandIgnored: 0 + references: + version: 2 + RefIds: [] --- !u!1 &8921512026995007485 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/GUI/MultiplayerPanel.cs b/Assets/Scripts/GUI/MultiplayerPanel.cs index de6bd67365..d4ddd329db 100644 --- a/Assets/Scripts/GUI/MultiplayerPanel.cs +++ b/Assets/Scripts/GUI/MultiplayerPanel.cs @@ -22,6 +22,7 @@ public class MultiplayerPanel : BasePanel { public enum Mode { + Null, Lobby, Create, RoomSettings, @@ -55,5 +56,34 @@ private void UpdateMode(Mode newMode) m_RoomSettingsElements.SetActive(m_CurrentMode == Mode.RoomSettings); m_GeneralSettingsElements.SetActive(m_CurrentMode == Mode.GeneralSettings); } + + private void RefreshObjects() + { + + } + + // This function serves as a callback from ProfilePopUpButtons that want to + // change the mode of the popup on click. + public void OnMultiplayerPanelButtonPressed(MultiplayerPanelButton button) + { + switch (button.m_Command) + { + // Identifier for signaling we understand the info message. + case SketchControlsScript.GlobalCommands.Null: + UpdateMode(Mode.Lobby); + RefreshObjects(); + break; + case SketchControlsScript.GlobalCommands.MultiplayerPanelOptions: + switch((Mode)button.m_CommandParam) + { + case Mode.Lobby: + UpdateMode(Mode.Lobby); + break; + default: + break; + } + break; + } + } } } // namespace TiltBrush diff --git a/Assets/Scripts/GUI/MultiplayerPanelButton.cs b/Assets/Scripts/GUI/MultiplayerPanelButton.cs new file mode 100644 index 0000000000..afc40b2aea --- /dev/null +++ b/Assets/Scripts/GUI/MultiplayerPanelButton.cs @@ -0,0 +1,37 @@ +// Copyright 2023 The Open Brush Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +using UnityEngine; + +namespace TiltBrush +{ + public class MultiplayerPanelButton : OptionButton + { + [SerializeField] private bool m_CommandIgnored = false; + + override protected void OnButtonPressed() + { + // For some circumstances on mobile, we want to ignore the command, but still + // notify the popup that we were pressed. Which happens below. + if (!m_CommandIgnored) + { + base.OnButtonPressed(); + } + + MultiplayerPanel popup = m_Manager.GetComponent(); + Debug.Assert(popup != null); + popup.OnMultiplayerPanelButtonPressed(this); + } + } +} // namespace TiltBrush diff --git a/Assets/Scripts/GUI/MultiplayerPanelButton.cs.meta b/Assets/Scripts/GUI/MultiplayerPanelButton.cs.meta new file mode 100644 index 0000000000..8cc41752e7 --- /dev/null +++ b/Assets/Scripts/GUI/MultiplayerPanelButton.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b78a8d7209bbdc546979b549a875d550 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/SketchControlsScript.cs b/Assets/Scripts/SketchControlsScript.cs index 1cbf4f9412..9cead5d7d7 100644 --- a/Assets/Scripts/SketchControlsScript.cs +++ b/Assets/Scripts/SketchControlsScript.cs @@ -146,7 +146,8 @@ public enum GlobalCommands // Open Brush Reserved Enums 1000-1999 LanguagePopup = 1000, - ToggleMultiplayerPanel = 1001, + MultiplayerTogglePanel = 1001, + MultiplayerPanelOptions = 1002, // iParam1: Popup options RenameSketch = 5200, OpenLayerOptionsPopup = 5201, @@ -4940,7 +4941,7 @@ public void IssueGlobalCommand(GlobalCommands rEnum, int iParam1 = -1, // TODO refactor code above to use this method OpenUrl($"http://localhost:{App.HttpServer.HttpPort}/examplescripts"); break; - case GlobalCommands.ToggleMultiplayerPanel: + case GlobalCommands.MultiplayerTogglePanel: m_PanelManager.ToggleMultiplayerPanels(); PointerManager.m_Instance.EatLineEnabledInput(); SketchSurfacePanel.m_Instance.EatToolsInput(); diff --git a/Assets/Settings/Localization/Strings/Strings Shared Data.asset b/Assets/Settings/Localization/Strings/Strings Shared Data.asset index 62a43eb841..dad2dc39ea 100644 --- a/Assets/Settings/Localization/Strings/Strings Shared Data.asset +++ b/Assets/Settings/Localization/Strings/Strings Shared Data.asset @@ -3283,6 +3283,10 @@ MonoBehaviour: m_Key: ADMIN_PANEL_MULTIPLAYER_BUTTON_DESCRIPTION m_Metadata: m_Items: [] + - m_Id: 157582826200739840 + m_Key: MULTIPLAYER_PANEL_CLOSE_BUTTON_DESCRIPTION + m_Metadata: + m_Items: [] m_Metadata: m_Items: [] m_KeyGenerator: diff --git a/Assets/Settings/Localization/Strings/Strings_en.asset b/Assets/Settings/Localization/Strings/Strings_en.asset index 3ce0ae4026..95eb304311 100644 --- a/Assets/Settings/Localization/Strings/Strings_en.asset +++ b/Assets/Settings/Localization/Strings/Strings_en.asset @@ -3472,6 +3472,10 @@ MonoBehaviour: Brush Size' m_Metadata: m_Items: [] + - m_Id: 157582826200739840 + m_Localized: Close + m_Metadata: + m_Items: [] references: version: 2 RefIds: [] From 99b54d1c9cfb54c6607d82c830fe663f845ffa00 Mon Sep 17 00:00:00 2001 From: Mike Nisbet Date: Wed, 18 Oct 2023 09:26:40 +0100 Subject: [PATCH 08/43] Change instantiation point of photon runner # Conflicts: # Assets/Scripts/PassthroughManager.cs --- .../Multiplayer/Photon/PhotonPlayerRig.prefab | 4 +-- .../Multiplayer/MultiplayerInterfaces.cs | 1 + .../Scripts/Multiplayer/MultiplayerManager.cs | 34 ++++++++++++++++--- .../Multiplayer/Photon/PhotonManager.cs | 25 +++++++------- .../Multiplayer/Photon/PhotonPlayerRig.cs | 17 ++++++++++ Assets/Scripts/PointerManager.cs | 6 ++++ 6 files changed, 68 insertions(+), 19 deletions(-) diff --git a/Assets/Resources/Multiplayer/Photon/PhotonPlayerRig.prefab b/Assets/Resources/Multiplayer/Photon/PhotonPlayerRig.prefab index 524ebbe795..a042c63202 100644 --- a/Assets/Resources/Multiplayer/Photon/PhotonPlayerRig.prefab +++ b/Assets/Resources/Multiplayer/Photon/PhotonPlayerRig.prefab @@ -53,8 +53,8 @@ MonoBehaviour: m_Left: {fileID: 6268094594865570998} m_Right: {fileID: 4999079164026519325} m_Tool: {fileID: 5771162771103583132} - headTransform: {fileID: 5041384770245166357} _oculusPlayerId: 0 + headTransform: {fileID: 5041384770245166357} --- !u!114 &6752862290110515822 MonoBehaviour: m_ObjectHideFlags: 0 @@ -69,7 +69,7 @@ MonoBehaviour: m_EditorClassIdentifier: ObjectInterest: 1 DefaultInterestGroups: [] - DestroyWhenStateAuthorityLeaves: 0 + DestroyWhenStateAuthorityLeaves: 1 AllowStateAuthorityOverride: 0 AoiPositionSource: {fileID: 0} Flags: 2305 diff --git a/Assets/Scripts/Multiplayer/MultiplayerInterfaces.cs b/Assets/Scripts/Multiplayer/MultiplayerInterfaces.cs index 246e7b4747..421b00067c 100644 --- a/Assets/Scripts/Multiplayer/MultiplayerInterfaces.cs +++ b/Assets/Scripts/Multiplayer/MultiplayerInterfaces.cs @@ -40,6 +40,7 @@ public interface IConnectionHandler public interface ITransientData { + int PlayerId { get; set; } void TransmitData(T data); T RecieveData(); } diff --git a/Assets/Scripts/Multiplayer/MultiplayerManager.cs b/Assets/Scripts/Multiplayer/MultiplayerManager.cs index 11470271f8..95d08815d2 100644 --- a/Assets/Scripts/Multiplayer/MultiplayerManager.cs +++ b/Assets/Scripts/Multiplayer/MultiplayerManager.cs @@ -14,6 +14,7 @@ using System; using System.Collections.Generic; +using System.Linq; using System.Threading.Tasks; using UnityEngine; using Unity.XR.CoreUtils; @@ -45,8 +46,9 @@ public class MultiplayerManager : MonoBehaviour private ITransientData m_LocalPlayer; private List> m_RemotePlayers; - public Action> localPlayerJoined; - public Action> remotePlayerJoined; + public Action> localPlayerJoined; + public Action> remotePlayerJoined; + public Action playerLeft; public Action> roomDataRefreshed; ulong myOculusUserId; @@ -91,6 +93,7 @@ void Start() localPlayerJoined += OnLocalPlayerJoined; remotePlayerJoined += OnRemotePlayerJoined; + playerLeft += OnPlayerLeft; SketchMemoryScript.m_Instance.CommandPerformed += OnCommandPerformed; SketchMemoryScript.m_Instance.CommandUndo += OnCommandUndo; SketchMemoryScript.m_Instance.CommandRedo += OnCommandRedo; @@ -100,6 +103,7 @@ void OnDestroy() { localPlayerJoined -= OnLocalPlayerJoined; remotePlayerJoined -= OnRemotePlayerJoined; + playerLeft -= OnPlayerLeft; SketchMemoryScript.m_Instance.CommandPerformed -= OnCommandPerformed; SketchMemoryScript.m_Instance.CommandUndo -= OnCommandUndo; SketchMemoryScript.m_Instance.CommandRedo -= OnCommandRedo; @@ -108,7 +112,7 @@ void OnDestroy() public async Task Init() { var success = false; - if (m_Manager !=null) + if (m_Manager != null) { success = await m_Manager.Init(); } @@ -162,6 +166,7 @@ void Update() foreach (var player in m_RemotePlayers) { data = player.RecieveData(); +#if OCULUS_SUPPORTED // New user, share the anchor with them if (data.ExtraData.OculusPlayerId != 0 && !oculusPlayerIds.Contains(data.ExtraData.OculusPlayerId)) { @@ -170,6 +175,7 @@ void Update() oculusPlayerIds.Add(data.ExtraData.OculusPlayerId); newUser = true; } +#endif // OCULUS_SUPPORTED } if (newUser) @@ -178,17 +184,35 @@ void Update() } } - void OnLocalPlayerJoined(ITransientData playerData) + void OnLocalPlayerJoined(int id, ITransientData playerData) { m_LocalPlayer = playerData; } - void OnRemotePlayerJoined(ITransientData playerData) + void OnRemotePlayerJoined(int id, ITransientData playerData) { Debug.Log("Adding new player to track."); + playerData.PlayerId = id; m_RemotePlayers.Add(playerData); } + void OnPlayerLeft(int id) + { + if (m_LocalPlayer.PlayerId == id) + { + Debug.Log("Possible to get here!"); + return; + } + var copy = m_RemotePlayers.ToList(); + foreach (var player in copy) + { + if (player.PlayerId == id) + { + m_RemotePlayers.Remove(player); + } + } + } + private async void OnCommandPerformed(BaseCommand command) { if (!IsConnected) diff --git a/Assets/Scripts/Multiplayer/Photon/PhotonManager.cs b/Assets/Scripts/Multiplayer/Photon/PhotonManager.cs index 0b1c5ffaa5..e0b2279950 100644 --- a/Assets/Scripts/Multiplayer/Photon/PhotonManager.cs +++ b/Assets/Scripts/Multiplayer/Photon/PhotonManager.cs @@ -45,6 +45,7 @@ public PhotonManager(MultiplayerManager manager) var runnerGO = new GameObject("Photon Network Components"); m_Runner = runnerGO.AddComponent(); + m_Runner.gameObject.AddComponent(); m_Runner.ProvideInput = true; m_Runner.AddCallbacks(this); @@ -58,11 +59,13 @@ public PhotonManager(MultiplayerManager manager) public async Task Init() { + await Task.Yield(); + return true; var result = await m_Runner.JoinSessionLobby(SessionLobby.Shared, customAppSettings: m_PhotonAppSettings); if (result.Ok) { - ControllerConsoleScript.m_Instance.AddNewLine("Connected to Photon lobby"); + ControllerConsoleScript.m_Instance.AddNewLine("Connected to lobby"); } else { @@ -73,19 +76,14 @@ public async Task Init() } public async Task Connect(RoomCreateData roomCreateData) - { - if(m_Runner != null) - { - GameObject.Destroy(m_Runner); - } - + { var args = new StartGameArgs() { GameMode = GameMode.Shared, SessionName = roomCreateData.roomName, CustomPhotonAppSettings = m_PhotonAppSettings, PlayerCount = roomCreateData.maxPlayers != 0 ? roomCreateData.maxPlayers : null, - SceneManager = m_Runner.gameObject.AddComponent(), + SceneManager = m_Runner.gameObject.GetComponent(), Scene = UnityEngine.SceneManagement.SceneManager.GetActiveScene().buildIndex, }; @@ -122,7 +120,7 @@ public void Update() var newPlayer = m_Runner.GetPlayerObject(player); if (newPlayer != null) { - m_Manager.remotePlayerJoined?.Invoke(newPlayer.GetComponent()); + m_Manager.remotePlayerJoined?.Invoke(player.PlayerId, newPlayer.GetComponent()); m_PlayersSpawning.Remove(player); } } @@ -267,7 +265,7 @@ public void OnPlayerJoined(NetworkRunner runner, PlayerRef player) m_LocalPlayer = playerObj.GetComponent(); m_Runner.SetPlayerObject(m_Runner.LocalPlayer, playerObj); - m_Manager.localPlayerJoined?.Invoke(m_LocalPlayer); + m_Manager.localPlayerJoined?.Invoke(player.PlayerId, m_LocalPlayer); } else { @@ -275,9 +273,13 @@ public void OnPlayerJoined(NetworkRunner runner, PlayerRef player) } } - public void OnSessionListUpdated(NetworkRunner runner, List sessionList) + public void OnPlayerLeft(NetworkRunner runner, PlayerRef player) { + m_Manager.playerLeft?.Invoke(player.PlayerId); + } + public void OnSessionListUpdated(NetworkRunner runner, List sessionList) + { var roomData = new List(); foreach (var session in sessionList) { @@ -297,7 +299,6 @@ public void OnSessionListUpdated(NetworkRunner runner, List session #endregion #region Unused Photon Callbacks - public void OnPlayerLeft(NetworkRunner runner, PlayerRef player) { } public void OnShutdown(NetworkRunner runner, ShutdownReason shutdownReason) { } public void OnDisconnectedFromServer(NetworkRunner runner) { } public void OnConnectFailed(NetworkRunner runner, NetAddress remoteAddress, NetConnectFailedReason reason) { } diff --git a/Assets/Scripts/Multiplayer/Photon/PhotonPlayerRig.cs b/Assets/Scripts/Multiplayer/Photon/PhotonPlayerRig.cs index 40a9e81912..ca7a3bab6d 100644 --- a/Assets/Scripts/Multiplayer/Photon/PhotonPlayerRig.cs +++ b/Assets/Scripts/Multiplayer/Photon/PhotonPlayerRig.cs @@ -17,6 +17,7 @@ using UnityEngine; using Fusion; using TiltBrush; +using System; namespace OpenBrush.Multiplayer { @@ -39,6 +40,14 @@ public class PhotonPlayerRig : NetworkBehaviour, ITransientData [SerializeField] private Transform headTransform; private PlayerRigData transmitData; + public int m_PlayerId; + + public int PlayerId + { + get { return m_PlayerId; } + set { m_PlayerId = value; } + } + public void TransmitData(PlayerRigData data) { transmitData = data; @@ -116,6 +125,14 @@ public override void Render() var remoteTR = TrTransform.TR(m_PlayerHead.InterpolationTarget.position, m_PlayerHead.InterpolationTarget.rotation); App.Scene.AsScene[headTransform] = remoteTR; } + + void OnDestroy() + { + if (transientPointer != null) + { + PointerManager.m_Instance.RemoveRemotePointer(transientPointer); + } + } } } diff --git a/Assets/Scripts/PointerManager.cs b/Assets/Scripts/PointerManager.cs index 7daa121504..38c056ce8f 100644 --- a/Assets/Scripts/PointerManager.cs +++ b/Assets/Scripts/PointerManager.cs @@ -398,6 +398,12 @@ public PointerScript CreateRemotePointer() return script; } + public void RemoveRemotePointer(PointerScript pointer) + { + m_RemoteUserPointers.Remove(pointer); + Destroy(pointer.gameObject); + } + /// The brush size, using "normalized" values in the range [0,1]. /// Guaranteed to be in [0,1]. public float GetPointerBrushSize01(InputManager.ControllerName controller) From 87c9a6260b791161f655dfff5d2b83fd19a50efc Mon Sep 17 00:00:00 2001 From: Mike Nisbet Date: Thu, 7 Dec 2023 15:14:36 +0000 Subject: [PATCH 09/43] beta tag prefab --- Assets/Prefabs/BetaTag.prefab | 415 +++++++++++++++ Assets/Prefabs/BetaTag.prefab.meta | 7 + .../PopUps/GDriveSync/DisabledElements.prefab | 490 +++--------------- .../PopUps/GDriveSync/EnabledElements.prefab | 482 +++-------------- .../Strings/Strings Shared Data.asset | 2 +- 5 files changed, 571 insertions(+), 825 deletions(-) create mode 100644 Assets/Prefabs/BetaTag.prefab create mode 100644 Assets/Prefabs/BetaTag.prefab.meta diff --git a/Assets/Prefabs/BetaTag.prefab b/Assets/Prefabs/BetaTag.prefab new file mode 100644 index 0000000000..fe7bbe60fe --- /dev/null +++ b/Assets/Prefabs/BetaTag.prefab @@ -0,0 +1,415 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &492106549256326987 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8171046643914759413} + - component: {fileID: 2382359695583312413} + - component: {fileID: 7242636611821479444} + m_Layer: 16 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8171046643914759413 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 492106549256326987} + m_LocalRotation: {x: -0.7071068, y: -0, z: -0, w: 0.7071067} + m_LocalPosition: {x: 0, y: 0.0041000843, z: 0.002} + m_LocalScale: {x: 10, y: 6, z: 6} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4378067676344109730} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &2382359695583312413 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 492106549256326987} + m_Mesh: {fileID: 4300002, guid: 3efe5b86b55995545a231ce66a53b402, type: 3} +--- !u!23 &7242636611821479444 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 492106549256326987} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 28d0bd4d20e3f8143994275754956c5e, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &768695854730814423 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7395277295064072936} + - component: {fileID: 400887753388735756} + - component: {fileID: 2556331195588322189} + - component: {fileID: 6612620938781836974} + m_Layer: 0 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7395277295064072936 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 768695854730814423} + 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: 4378067676344109730} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 5} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!23 &400887753388735756 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 768695854730814423} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2133298, guid: fce54057bad3d2d4cb3c36ee394be518, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!114 &2556331195588322189 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 768695854730814423} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9541d86e2fd84c1d9990edf0852d74ab, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: BETA + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: fce54057bad3d2d4cb3c36ee394be518, type: 2} + m_sharedMaterial: {fileID: 2133298, guid: fce54057bad3d2d4cb3c36ee394be518, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4278190080 + m_fontColor: {r: 0, g: 0, b: 0, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 0.79 + m_fontSizeBase: 0.79 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 0 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + _SortingLayer: 0 + _SortingLayerID: 0 + _SortingOrder: 0 + m_hasFontAssetChanged: 0 + m_renderer: {fileID: 400887753388735756} + m_maskType: 0 +--- !u!114 &6612620938781836974 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 768695854730814423} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 69beb381e244f92449b8c4cf954630e9, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjects: + - rid: 3215294302546034780 + references: + version: 2 + RefIds: + - rid: 3215294302546034780 + type: {class: TrackedUGuiGraphic, ns: UnityEngine.Localization.PropertyVariants.TrackedObjects, + asm: Unity.Localization} + data: + m_Target: {fileID: 2556331195588322189} + m_TrackedProperties: + items: + - rid: 3215294302546034781 + m_UpdateType: 0 + - rid: 3215294302546034781 + type: {class: LocalizedStringProperty, ns: UnityEngine.Localization.PropertyVariants.TrackedProperties, + asm: Unity.Localization} + data: + m_Localized: + m_TableReference: + m_TableCollectionName: GUID:c84355079ab3f3e4f8f3812258805f86 + m_TableEntryReference: + m_KeyId: 76121021711179776 + m_Key: + m_FallbackState: 0 + m_WaitForCompletion: 0 + m_LocalVariables: [] + m_PropertyPath: m_text +--- !u!1 &2206467382688623040 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4378067676344109730} + m_Layer: 0 + m_Name: BetaTag + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4378067676344109730 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2206467382688623040} + 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: 7395277295064072936} + - {fileID: 8171046643914759413} + - {fileID: 1853447512016924465} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2586623423367620634 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1853447512016924465} + - component: {fileID: 6116880465705314692} + - component: {fileID: 5545206284097801361} + m_Layer: 16 + m_Name: Border + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1853447512016924465 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2586623423367620634} + m_LocalRotation: {x: -0.7071068, y: -0, z: -0, w: 0.7071067} + m_LocalPosition: {x: 0, y: 0.0041000843, z: 0.004} + m_LocalScale: {x: 10.75, y: 10.75, z: 7} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4378067676344109730} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &6116880465705314692 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2586623423367620634} + m_Mesh: {fileID: 4300002, guid: 3efe5b86b55995545a231ce66a53b402, type: 3} +--- !u!23 &5545206284097801361 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2586623423367620634} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: d153b453067a0724889fb677fef801a1, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} diff --git a/Assets/Prefabs/BetaTag.prefab.meta b/Assets/Prefabs/BetaTag.prefab.meta new file mode 100644 index 0000000000..cef13a179b --- /dev/null +++ b/Assets/Prefabs/BetaTag.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 2538d4a3972b37c4c9e8649481dd9a2b +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/PopUps/GDriveSync/DisabledElements.prefab b/Assets/Prefabs/PopUps/GDriveSync/DisabledElements.prefab index cf9219e504..f420f8cd55 100644 --- a/Assets/Prefabs/PopUps/GDriveSync/DisabledElements.prefab +++ b/Assets/Prefabs/PopUps/GDriveSync/DisabledElements.prefab @@ -166,89 +166,6 @@ MeshRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_AdditionalVertexStreams: {fileID: 0} ---- !u!1 &437988600671713722 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 5183940061544528065} - - component: {fileID: 4225421745048100917} - - component: {fileID: 8734623784063967320} - m_Layer: 16 - m_Name: Background - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &5183940061544528065 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 437988600671713722} - m_LocalRotation: {x: -0.7071068, y: -0, z: -0, w: 0.7071067} - m_LocalPosition: {x: 0, y: 0.0041000843, z: 0.002} - m_LocalScale: {x: 10, y: 6, z: 6} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 4937758326570016829} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &4225421745048100917 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 437988600671713722} - m_Mesh: {fileID: 4300002, guid: 3efe5b86b55995545a231ce66a53b402, type: 3} ---- !u!23 &8734623784063967320 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 437988600671713722} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 28d0bd4d20e3f8143994275754956c5e, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 0 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} --- !u!1 &461309234141555871 GameObject: m_ObjectHideFlags: 0 @@ -497,7 +414,7 @@ Transform: - {fileID: 60557364801231681} - {fileID: 3310547944333858703} - {fileID: 1038922574623870723} - - {fileID: 4937758326570016829} + - {fileID: 5342878369760894836} m_Father: {fileID: 7092514869646762003} m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -642,123 +559,6 @@ BoxCollider: serializedVersion: 2 m_Size: {x: 1.3, y: 0.3, z: 0.01} m_Center: {x: 0, y: 0, z: -0.01} ---- !u!1 &3221966458938766337 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4937758326570016829} - m_Layer: 0 - m_Name: BetaTag - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &4937758326570016829 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3221966458938766337} - m_LocalRotation: {x: -0, y: -0, z: 0.3746118, w: 0.9271818} - m_LocalPosition: {x: 0.55, y: -0.03399992, z: -0.013999999} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 4946005680407247088} - - {fileID: 5183940061544528065} - - {fileID: 7329579163772372070} - m_Father: {fileID: 7446882484427533872} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 44.001003} ---- !u!1 &4452402264514060099 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7329579163772372070} - - component: {fileID: 3004005737530521341} - - component: {fileID: 2292147869231861182} - m_Layer: 16 - m_Name: Border - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &7329579163772372070 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4452402264514060099} - m_LocalRotation: {x: -0.7071068, y: -0, z: -0, w: 0.7071067} - m_LocalPosition: {x: 0, y: 0.0041000843, z: 0.004} - m_LocalScale: {x: 10.75, y: 10.75, z: 7} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 4937758326570016829} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &3004005737530521341 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4452402264514060099} - m_Mesh: {fileID: 4300002, guid: 3efe5b86b55995545a231ce66a53b402, type: 3} ---- !u!23 &2292147869231861182 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4452402264514060099} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: d153b453067a0724889fb677fef801a1, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 0 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} --- !u!1 &5108924410514366489 GameObject: m_ObjectHideFlags: 0 @@ -793,219 +593,6 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &5700003095927352931 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4946005680407247088} - - component: {fileID: 2655483490364869926} - - component: {fileID: 3656094398338665249} - - component: {fileID: 7356415779420507544} - m_Layer: 0 - m_Name: Text - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &4946005680407247088 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5700003095927352931} - 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: 4937758326570016829} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 20, y: 5} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!23 &2655483490364869926 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5700003095927352931} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2133298, guid: fce54057bad3d2d4cb3c36ee394be518, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} ---- !u!114 &3656094398338665249 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5700003095927352931} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 9541d86e2fd84c1d9990edf0852d74ab, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_text: BETA - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: fce54057bad3d2d4cb3c36ee394be518, type: 2} - m_sharedMaterial: {fileID: 2133298, guid: fce54057bad3d2d4cb3c36ee394be518, type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4278190080 - m_fontColor: {r: 0, g: 0, b: 0, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: -1183493901 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 0.79 - m_fontSizeBase: 0.79 - m_fontWeight: 400 - m_enableAutoSizing: 0 - m_fontSizeMin: 18 - m_fontSizeMax: 72 - m_fontStyle: 0 - m_HorizontalAlignment: 2 - m_VerticalAlignment: 512 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_enableWordWrapping: 1 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 1 - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 0 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 0 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - _SortingLayer: 0 - _SortingLayerID: 0 - _SortingOrder: 0 - m_hasFontAssetChanged: 0 - m_renderer: {fileID: 2655483490364869926} - m_maskType: 0 ---- !u!114 &7356415779420507544 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5700003095927352931} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 69beb381e244f92449b8c4cf954630e9, type: 3} - m_Name: - m_EditorClassIdentifier: - m_TrackedObjects: - - rid: 3215294302546034804 - references: - version: 2 - RefIds: - - rid: 3215294302546034804 - type: {class: TrackedUGuiGraphic, ns: UnityEngine.Localization.PropertyVariants.TrackedObjects, - asm: Unity.Localization} - data: - m_Target: {fileID: 3656094398338665249} - m_TrackedProperties: - items: - - rid: 3215294302546034805 - m_UpdateType: 0 - - rid: 3215294302546034805 - type: {class: LocalizedStringProperty, ns: UnityEngine.Localization.PropertyVariants.TrackedProperties, - asm: Unity.Localization} - data: - m_Localized: - m_TableReference: - m_TableCollectionName: GUID:c84355079ab3f3e4f8f3812258805f86 - m_TableEntryReference: - m_KeyId: 76121021711179776 - m_Key: - m_FallbackState: 0 - m_WaitForCompletion: 0 - m_LocalVariables: [] - m_PropertyPath: m_text --- !u!1 &8618323702079337633 GameObject: m_ObjectHideFlags: 0 @@ -1434,3 +1021,78 @@ MonoBehaviour: m_WaitForCompletion: 0 m_LocalVariables: [] m_PropertyPath: m_text +--- !u!1001 &8568013399981233622 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 7446882484427533872} + m_Modifications: + - target: {fileID: 2206467382688623040, guid: 2538d4a3972b37c4c9e8649481dd9a2b, + type: 3} + propertyPath: m_Name + value: BetaTag + objectReference: {fileID: 0} + - target: {fileID: 4378067676344109730, guid: 2538d4a3972b37c4c9e8649481dd9a2b, + type: 3} + propertyPath: m_RootOrder + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 4378067676344109730, guid: 2538d4a3972b37c4c9e8649481dd9a2b, + type: 3} + propertyPath: m_LocalPosition.x + value: 0.55 + objectReference: {fileID: 0} + - target: {fileID: 4378067676344109730, guid: 2538d4a3972b37c4c9e8649481dd9a2b, + type: 3} + propertyPath: m_LocalPosition.y + value: -0.03399992 + objectReference: {fileID: 0} + - target: {fileID: 4378067676344109730, guid: 2538d4a3972b37c4c9e8649481dd9a2b, + type: 3} + propertyPath: m_LocalPosition.z + value: -0.013999999 + objectReference: {fileID: 0} + - target: {fileID: 4378067676344109730, guid: 2538d4a3972b37c4c9e8649481dd9a2b, + type: 3} + propertyPath: m_LocalRotation.w + value: 0.9271818 + objectReference: {fileID: 0} + - target: {fileID: 4378067676344109730, guid: 2538d4a3972b37c4c9e8649481dd9a2b, + type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4378067676344109730, guid: 2538d4a3972b37c4c9e8649481dd9a2b, + type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4378067676344109730, guid: 2538d4a3972b37c4c9e8649481dd9a2b, + type: 3} + propertyPath: m_LocalRotation.z + value: 0.3746118 + objectReference: {fileID: 0} + - target: {fileID: 4378067676344109730, guid: 2538d4a3972b37c4c9e8649481dd9a2b, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4378067676344109730, guid: 2538d4a3972b37c4c9e8649481dd9a2b, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4378067676344109730, guid: 2538d4a3972b37c4c9e8649481dd9a2b, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 2538d4a3972b37c4c9e8649481dd9a2b, type: 3} +--- !u!4 &5342878369760894836 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 4378067676344109730, guid: 2538d4a3972b37c4c9e8649481dd9a2b, + type: 3} + m_PrefabInstance: {fileID: 8568013399981233622} + m_PrefabAsset: {fileID: 0} diff --git a/Assets/Prefabs/PopUps/GDriveSync/EnabledElements.prefab b/Assets/Prefabs/PopUps/GDriveSync/EnabledElements.prefab index 014438560f..d39c2550ac 100644 --- a/Assets/Prefabs/PopUps/GDriveSync/EnabledElements.prefab +++ b/Assets/Prefabs/PopUps/GDriveSync/EnabledElements.prefab @@ -2933,123 +2933,6 @@ MeshRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_AdditionalVertexStreams: {fileID: 0} ---- !u!1 &6604792200441248002 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7058727754757553705} - - component: {fileID: 3219758793499752604} - - component: {fileID: 3799314549064326537} - m_Layer: 16 - m_Name: Border - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &7058727754757553705 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6604792200441248002} - m_LocalRotation: {x: -0.7071068, y: -0, z: -0, w: 0.7071067} - m_LocalPosition: {x: 0, y: 0.0041000843, z: 0.004} - m_LocalScale: {x: 10.75, y: 10.75, z: 7} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 4940275707197938618} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &3219758793499752604 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6604792200441248002} - m_Mesh: {fileID: 4300002, guid: 3efe5b86b55995545a231ce66a53b402, type: 3} ---- !u!23 &3799314549064326537 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6604792200441248002} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: d153b453067a0724889fb677fef801a1, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 0 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} ---- !u!1 &7409430375216068824 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4940275707197938618} - m_Layer: 0 - m_Name: BetaTag - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &4940275707197938618 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7409430375216068824} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0.721, y: 0.481, z: -0.02} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 2228202418004579312} - - {fileID: 659782219572039149} - - {fileID: 7058727754757553705} - m_Father: {fileID: 8058103854604790177} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &7465046787535995228 GameObject: m_ObjectHideFlags: 0 @@ -3748,219 +3631,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 8daae932e00bdb749b4f667b08f50ca8, type: 3} m_Name: m_EditorClassIdentifier: ---- !u!1 &8279748072826843855 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2228202418004579312} - - component: {fileID: 9069504756444048404} - - component: {fileID: 6572034308306940565} - - component: {fileID: 2560815885350393782} - m_Layer: 0 - m_Name: Text - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &2228202418004579312 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8279748072826843855} - 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: 4940275707197938618} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 20, y: 5} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!23 &9069504756444048404 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8279748072826843855} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2133298, guid: fce54057bad3d2d4cb3c36ee394be518, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} ---- !u!114 &6572034308306940565 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8279748072826843855} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 9541d86e2fd84c1d9990edf0852d74ab, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_text: BETA - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: fce54057bad3d2d4cb3c36ee394be518, type: 2} - m_sharedMaterial: {fileID: 2133298, guid: fce54057bad3d2d4cb3c36ee394be518, type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4278190080 - m_fontColor: {r: 0, g: 0, b: 0, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: -1183493901 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 0.79 - m_fontSizeBase: 0.79 - m_fontWeight: 400 - m_enableAutoSizing: 0 - m_fontSizeMin: 18 - m_fontSizeMax: 72 - m_fontStyle: 0 - m_HorizontalAlignment: 2 - m_VerticalAlignment: 512 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_enableWordWrapping: 1 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 1 - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 0 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 0 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - _SortingLayer: 0 - _SortingLayerID: 0 - _SortingOrder: 0 - m_hasFontAssetChanged: 0 - m_renderer: {fileID: 9069504756444048404} - m_maskType: 0 ---- !u!114 &2560815885350393782 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8279748072826843855} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 69beb381e244f92449b8c4cf954630e9, type: 3} - m_Name: - m_EditorClassIdentifier: - m_TrackedObjects: - - rid: 3215294302546034780 - references: - version: 2 - RefIds: - - rid: 3215294302546034780 - type: {class: TrackedUGuiGraphic, ns: UnityEngine.Localization.PropertyVariants.TrackedObjects, - asm: Unity.Localization} - data: - m_Target: {fileID: 6572034308306940565} - m_TrackedProperties: - items: - - rid: 3215294302546034781 - m_UpdateType: 0 - - rid: 3215294302546034781 - type: {class: LocalizedStringProperty, ns: UnityEngine.Localization.PropertyVariants.TrackedProperties, - asm: Unity.Localization} - data: - m_Localized: - m_TableReference: - m_TableCollectionName: GUID:c84355079ab3f3e4f8f3812258805f86 - m_TableEntryReference: - m_KeyId: 76121021711179776 - m_Key: - m_FallbackState: 0 - m_WaitForCompletion: 0 - m_LocalVariables: [] - m_PropertyPath: m_text --- !u!1 &8383965637925172465 GameObject: m_ObjectHideFlags: 0 @@ -4690,86 +4360,78 @@ MonoBehaviour: m_WaitForCompletion: 0 m_LocalVariables: [] m_PropertyPath: m_text ---- !u!1 &9122383556718042707 -GameObject: +--- !u!1001 &8668698999585902872 +PrefabInstance: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 659782219572039149} - - component: {fileID: 6431897053494340357} - - component: {fileID: 2075706908915906316} - m_Layer: 16 - m_Name: Background - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &659782219572039149 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 8058103854604790177} + m_Modifications: + - target: {fileID: 2206467382688623040, guid: 2538d4a3972b37c4c9e8649481dd9a2b, + type: 3} + propertyPath: m_Name + value: BetaTag + objectReference: {fileID: 0} + - target: {fileID: 4378067676344109730, guid: 2538d4a3972b37c4c9e8649481dd9a2b, + type: 3} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4378067676344109730, guid: 2538d4a3972b37c4c9e8649481dd9a2b, + type: 3} + propertyPath: m_LocalPosition.x + value: 0.721 + objectReference: {fileID: 0} + - target: {fileID: 4378067676344109730, guid: 2538d4a3972b37c4c9e8649481dd9a2b, + type: 3} + propertyPath: m_LocalPosition.y + value: 0.481 + objectReference: {fileID: 0} + - target: {fileID: 4378067676344109730, guid: 2538d4a3972b37c4c9e8649481dd9a2b, + type: 3} + propertyPath: m_LocalPosition.z + value: -0.02 + objectReference: {fileID: 0} + - target: {fileID: 4378067676344109730, guid: 2538d4a3972b37c4c9e8649481dd9a2b, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4378067676344109730, guid: 2538d4a3972b37c4c9e8649481dd9a2b, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4378067676344109730, guid: 2538d4a3972b37c4c9e8649481dd9a2b, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4378067676344109730, guid: 2538d4a3972b37c4c9e8649481dd9a2b, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4378067676344109730, guid: 2538d4a3972b37c4c9e8649481dd9a2b, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4378067676344109730, guid: 2538d4a3972b37c4c9e8649481dd9a2b, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4378067676344109730, guid: 2538d4a3972b37c4c9e8649481dd9a2b, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 2538d4a3972b37c4c9e8649481dd9a2b, type: 3} +--- !u!4 &4940275707197938618 stripped Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9122383556718042707} - m_LocalRotation: {x: -0.7071068, y: -0, z: -0, w: 0.7071067} - m_LocalPosition: {x: 0, y: 0.0041000843, z: 0.002} - m_LocalScale: {x: 10, y: 6, z: 6} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 4940275707197938618} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &6431897053494340357 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} + m_CorrespondingSourceObject: {fileID: 4378067676344109730, guid: 2538d4a3972b37c4c9e8649481dd9a2b, + type: 3} + m_PrefabInstance: {fileID: 8668698999585902872} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9122383556718042707} - m_Mesh: {fileID: 4300002, guid: 3efe5b86b55995545a231ce66a53b402, type: 3} ---- !u!23 &2075706908915906316 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9122383556718042707} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 28d0bd4d20e3f8143994275754956c5e, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 0 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} diff --git a/Assets/Settings/Localization/Strings/Strings Shared Data.asset b/Assets/Settings/Localization/Strings/Strings Shared Data.asset index dad2dc39ea..ad5f0cc038 100644 --- a/Assets/Settings/Localization/Strings/Strings Shared Data.asset +++ b/Assets/Settings/Localization/Strings/Strings Shared Data.asset @@ -1452,7 +1452,7 @@ MonoBehaviour: m_Metadata: m_Items: [] - m_Id: 76121021711179776 - m_Key: POPUP_GDRIVE_BETATAG + m_Key: LABEL_BETATAG m_Metadata: m_Items: [] - m_Id: 76121263181455360 From 3ee080a47316c727441645fd9b904eebefe9561f Mon Sep 17 00:00:00 2001 From: Mike Nisbet Date: Thu, 7 Dec 2023 15:16:32 +0000 Subject: [PATCH 10/43] Add alpha tag to multiplayer --- Assets/Prefabs/Panels/MultiplayerPanel.prefab | 107 +++++++++++++++++- .../Strings/Strings Shared Data.asset | 4 + .../Localization/Strings/Strings_en.asset | 8 ++ 3 files changed, 116 insertions(+), 3 deletions(-) diff --git a/Assets/Prefabs/Panels/MultiplayerPanel.prefab b/Assets/Prefabs/Panels/MultiplayerPanel.prefab index 07cee7bdab..e480cc9740 100644 --- a/Assets/Prefabs/Panels/MultiplayerPanel.prefab +++ b/Assets/Prefabs/Panels/MultiplayerPanel.prefab @@ -86,7 +86,7 @@ MonoBehaviour: m_BorderMeshWidth: 0.02 m_BorderMeshAdvWidth: 0.01 m_PanelSensitivity: 0.1 - m_ClampToBounds: 0 + m_ClampToBounds: 1 m_ReticleBounds: {x: 2.15, y: 2.55, z: 0} m_BorderSphereHighlightRadius: 2.5 m_PositioningSpheresBounds: {x: 1, y: 1} @@ -283,6 +283,7 @@ Transform: m_Children: - {fileID: 420492} - {fileID: 480900} + - {fileID: 6533003833265780531} - {fileID: 4696385544466816} - {fileID: 4410849844686322} m_Father: {fileID: 415082} @@ -489,7 +490,7 @@ Transform: - {fileID: 4153922631777284} - {fileID: 4402564000880478} m_Father: {fileID: 499980} - m_RootOrder: 3 + m_RootOrder: 4 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &33802401890004714 MeshFilter: @@ -829,7 +830,7 @@ Transform: - {fileID: 4887086521611946} - {fileID: 4148024965627128} m_Father: {fileID: 499980} - m_RootOrder: 2 + m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1889327720883680 GameObject: @@ -1216,3 +1217,103 @@ Transform: m_Father: {fileID: 415082} m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &7380239823636675985 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 499980} + m_Modifications: + - target: {fileID: 2206467382688623040, guid: 2538d4a3972b37c4c9e8649481dd9a2b, + type: 3} + propertyPath: m_Name + value: AlphaTag + objectReference: {fileID: 0} + - target: {fileID: 4378067676344109730, guid: 2538d4a3972b37c4c9e8649481dd9a2b, + type: 3} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 4378067676344109730, guid: 2538d4a3972b37c4c9e8649481dd9a2b, + type: 3} + propertyPath: m_LocalScale.x + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 4378067676344109730, guid: 2538d4a3972b37c4c9e8649481dd9a2b, + type: 3} + propertyPath: m_LocalScale.y + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 4378067676344109730, guid: 2538d4a3972b37c4c9e8649481dd9a2b, + type: 3} + propertyPath: m_LocalScale.z + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 4378067676344109730, guid: 2538d4a3972b37c4c9e8649481dd9a2b, + type: 3} + propertyPath: m_LocalPosition.x + value: 0.76 + objectReference: {fileID: 0} + - target: {fileID: 4378067676344109730, guid: 2538d4a3972b37c4c9e8649481dd9a2b, + type: 3} + propertyPath: m_LocalPosition.y + value: 1.054 + objectReference: {fileID: 0} + - target: {fileID: 4378067676344109730, guid: 2538d4a3972b37c4c9e8649481dd9a2b, + type: 3} + propertyPath: m_LocalPosition.z + value: -0.02 + objectReference: {fileID: 0} + - target: {fileID: 4378067676344109730, guid: 2538d4a3972b37c4c9e8649481dd9a2b, + type: 3} + propertyPath: m_LocalRotation.w + value: 0.92387956 + objectReference: {fileID: 0} + - target: {fileID: 4378067676344109730, guid: 2538d4a3972b37c4c9e8649481dd9a2b, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4378067676344109730, guid: 2538d4a3972b37c4c9e8649481dd9a2b, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4378067676344109730, guid: 2538d4a3972b37c4c9e8649481dd9a2b, + type: 3} + propertyPath: m_LocalRotation.z + value: -0.38268343 + objectReference: {fileID: 0} + - target: {fileID: 4378067676344109730, guid: 2538d4a3972b37c4c9e8649481dd9a2b, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4378067676344109730, guid: 2538d4a3972b37c4c9e8649481dd9a2b, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4378067676344109730, guid: 2538d4a3972b37c4c9e8649481dd9a2b, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: -45 + objectReference: {fileID: 0} + - target: {fileID: 4378067676344109730, guid: 2538d4a3972b37c4c9e8649481dd9a2b, + type: 3} + propertyPath: m_ConstrainProportionsScale + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6612620938781836974, guid: 2538d4a3972b37c4c9e8649481dd9a2b, + type: 3} + propertyPath: managedReferences[3215294302546034781].m_Localized.m_TableEntryReference.m_KeyId + value: 176097607781543936 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 2538d4a3972b37c4c9e8649481dd9a2b, type: 3} +--- !u!4 &6533003833265780531 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 4378067676344109730, guid: 2538d4a3972b37c4c9e8649481dd9a2b, + type: 3} + m_PrefabInstance: {fileID: 7380239823636675985} + m_PrefabAsset: {fileID: 0} diff --git a/Assets/Settings/Localization/Strings/Strings Shared Data.asset b/Assets/Settings/Localization/Strings/Strings Shared Data.asset index ad5f0cc038..762871fcda 100644 --- a/Assets/Settings/Localization/Strings/Strings Shared Data.asset +++ b/Assets/Settings/Localization/Strings/Strings Shared Data.asset @@ -3287,6 +3287,10 @@ MonoBehaviour: m_Key: MULTIPLAYER_PANEL_CLOSE_BUTTON_DESCRIPTION m_Metadata: m_Items: [] + - m_Id: 176097607781543936 + m_Key: LABEL_ALPHATAG + m_Metadata: + m_Items: [] m_Metadata: m_Items: [] m_KeyGenerator: diff --git a/Assets/Settings/Localization/Strings/Strings_en.asset b/Assets/Settings/Localization/Strings/Strings_en.asset index 95eb304311..74e89ce8e8 100644 --- a/Assets/Settings/Localization/Strings/Strings_en.asset +++ b/Assets/Settings/Localization/Strings/Strings_en.asset @@ -3476,6 +3476,14 @@ MonoBehaviour: m_Localized: Close m_Metadata: m_Items: [] + - m_Id: 176097607781543936 + m_Localized: ALPHA + m_Metadata: + m_Items: [] + - m_Id: 156198200358006784 + m_Localized: Multiplayer (Alpha) + m_Metadata: + m_Items: [] references: version: 2 RefIds: [] From 3882616bf25e67008ae48fa1b546de0a1885bc96 Mon Sep 17 00:00:00 2001 From: Andy Baker Date: Fri, 22 Dec 2023 09:55:06 +0000 Subject: [PATCH 11/43] Remove duplicate "using" block [CI BUILD] --- Assets/Scripts/Multiplayer/MultiplayerManager.cs | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/Assets/Scripts/Multiplayer/MultiplayerManager.cs b/Assets/Scripts/Multiplayer/MultiplayerManager.cs index 95d08815d2..5c59e71834 100644 --- a/Assets/Scripts/Multiplayer/MultiplayerManager.cs +++ b/Assets/Scripts/Multiplayer/MultiplayerManager.cs @@ -23,10 +23,6 @@ #endif using TiltBrush; -#if OCULUS_SUPPORTED -using OVRPlatform = Oculus.Platform; -#endif // OCULUS_SUPPORTED - namespace OpenBrush.Multiplayer { public enum MultiplayerType @@ -83,7 +79,7 @@ void Start() switch (m_MultiplayerType) { case MultiplayerType.Photon: -#if FUSION_WEAVER +#if FUSION_WEAVER m_Manager = new PhotonManager(this); #endif // FUSION_WEAVER break; From de5499aabf7e2d18e1712fddbda3397c88d268c1 Mon Sep 17 00:00:00 2001 From: Riccardo Bovo Date: Thu, 3 Oct 2024 19:01:05 +0100 Subject: [PATCH 12/43] Trigger CI workflow From 4fe8071b923e9972ecbea27ffef5527b50a98d84 Mon Sep 17 00:00:00 2001 From: Riccardo Bovo Date: Mon, 7 Oct 2024 09:45:53 +0100 Subject: [PATCH 13/43] Minimal UI Implementation for multiplayer room -Implemented global command: MultiplayerJoinRoom. -Updated the multiplayer panel prefab and manager. -Changed the admin panel layout from hexagon to octagon. TODO: -Add room name editing capabilities. --- Assets/Prefabs/Panels/AdminPanel.prefab | 429 +++- Assets/Prefabs/Panels/MultiplayerPanel.prefab | 1742 +++++++++++++++-- Assets/Scripts/GUI/MultiplayerPanel.cs | 84 +- .../Scripts/Multiplayer/MultiplayerManager.cs | 4 +- .../Multiplayer/Photon/PhotonManager.cs | 23 +- Assets/Scripts/SketchControlsScript.cs | 1 + Assets/XR/XRGeneralSettings.asset | 2 +- 7 files changed, 2063 insertions(+), 222 deletions(-) diff --git a/Assets/Prefabs/Panels/AdminPanel.prefab b/Assets/Prefabs/Panels/AdminPanel.prefab index 2a568ee5ed..1e8c7aceed 100644 --- a/Assets/Prefabs/Panels/AdminPanel.prefab +++ b/Assets/Prefabs/Panels/AdminPanel.prefab @@ -25,6 +25,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1000816559363234} + serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 6.277, y: 15.634, z: 3.794} m_LocalScale: {x: 1, y: 1, z: 1} @@ -34,7 +35,6 @@ Transform: - {fileID: 4603977406768154} - {fileID: 4035380900912510} m_Father: {fileID: 0} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &114828844590133850 MonoBehaviour: @@ -233,13 +233,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1106930226929544} + serializedVersion: 2 m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: -0.049999878} m_LocalScale: {x: 0.85057116, y: 0.85057116, z: 0.85057116} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 4402161299253448} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &33482202212998726 MeshFilter: @@ -318,13 +318,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1151082384707834} + serializedVersion: 2 m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0.4499998, z: 0.049999952} + m_LocalPosition: {x: -0.218, y: 0.476, z: 0.049999952} m_LocalScale: {x: 0.35, y: 0.35, z: 0.35} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 4315711334760372} - m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &33825377552793314 MeshFilter: @@ -384,9 +384,17 @@ BoxCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1151082384707834} m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 m_IsTrigger: 0 + m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 2 + serializedVersion: 3 m_Size: {x: 1, y: 1, z: 0.1} m_Center: {x: -0.000000074505806, y: 0.000000022351742, z: 0} --- !u!114 &114436392384945342 @@ -492,13 +500,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1192991703587922} + serializedVersion: 2 m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1.6, y: 1.6, z: 1.6} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 4482757564845618} - m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &33907749212384082 MeshFilter: @@ -574,13 +582,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1222021979522926} + serializedVersion: 2 m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: -0.04, z: 0.05} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 4035380900912510} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &33386300729919342 MeshFilter: @@ -614,13 +622,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1229321774763870} + 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: 4035380900912510} - m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!65 &65063648299555090 BoxCollider: @@ -630,9 +638,17 @@ BoxCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1229321774763870} m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 m_IsTrigger: 0 + m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 2 + serializedVersion: 3 m_Size: {x: 1.5, y: 1.55, z: 0.05} m_Center: {x: 0, y: -0.05, z: -0.03} --- !u!1 &1262073490112886 @@ -662,13 +678,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1262073490112886} + serializedVersion: 2 m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.38999987, y: 0.22500038, z: 0.049999952} + m_LocalPosition: {x: 0.463, y: 0.216, z: 0.049999952} m_LocalScale: {x: 0.35, y: 0.35, z: 0.35} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 4315711334760372} - m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &33941583646683618 MeshFilter: @@ -728,9 +744,17 @@ BoxCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1262073490112886} m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 m_IsTrigger: 0 + m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 2 + serializedVersion: 3 m_Size: {x: 1, y: 1, z: 0.1} m_Center: {x: -0.000000074505806, y: 0.000000022351742, z: 0} --- !u!114 &114969883342015630 @@ -836,13 +860,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1289872023204522} + 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: 4402161299253448} - m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &33356562983312826 MeshFilter: @@ -917,6 +941,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1349288981255934} + 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} @@ -924,6 +949,7 @@ Transform: m_Children: - {fileID: 4931497879020284} - {fileID: 4298548666588398} + - {fileID: 3913670656884359384} - {fileID: 4476673398456346} - {fileID: 4115296977812378} - {fileID: 4670881044846100} @@ -936,7 +962,6 @@ Transform: - {fileID: 4569698380707294} - {fileID: 412988840869617173} m_Father: {fileID: 4035380900912510} - m_RootOrder: 6 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1411794300516396 GameObject: @@ -965,6 +990,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1411794300516396} + serializedVersion: 2 m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0.025} m_LocalScale: {x: 0.45, y: 0.45, z: 0.45} @@ -973,7 +999,6 @@ Transform: - {fileID: 4176161590853336} - {fileID: 4188334422648780} m_Father: {fileID: 4035380900912510} - m_RootOrder: 5 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &33703830478315952 MeshFilter: @@ -1113,9 +1138,17 @@ BoxCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1411794300516396} m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 m_IsTrigger: 0 + m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 2 + serializedVersion: 3 m_Size: {x: 1, y: 1, z: 0.25} m_Center: {x: 0, y: 0, z: 0} --- !u!1 &1577576848578658 @@ -1141,6 +1174,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1577576848578658} + 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} @@ -1154,7 +1188,6 @@ Transform: - {fileID: 4402161299253448} - {fileID: 4315711334760372} m_Father: {fileID: 4482757564845618} - m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1603096109966042 GameObject: @@ -1182,13 +1215,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1603096109966042} + serializedVersion: 2 m_LocalRotation: {x: -0.7071068, y: -0, z: -0, w: 0.7071067} - m_LocalPosition: {x: 0.25899982, y: 0.21700001, z: -0.035000086} + m_LocalPosition: {x: 0.432, y: 0.444, z: -0.035000086} m_LocalScale: {x: 0.08, y: 0.029999977, z: 0.07999991} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 4035380900912510} - m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &33529072324201512 MeshFilter: @@ -1280,13 +1313,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1712905289553642} + serializedVersion: 2 m_LocalRotation: {x: -0, y: 1, z: -0, w: 0} - m_LocalPosition: {x: 0.34899998, y: 0.5290003, z: 0.049999952} + m_LocalPosition: {x: 0.5220003, y: 0.75599957, z: 0.049999952} m_LocalScale: {x: 10, y: 10, z: 10} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 4315711334760372} - m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0} --- !u!33 &33766935304042522 MeshFilter: @@ -1346,9 +1379,17 @@ BoxCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1712905289553642} m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 m_IsTrigger: 0 + m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 2 + serializedVersion: 3 m_Size: {x: 0.026, y: 0.023, z: 0.0035} m_Center: {x: 0, y: 0.0025, z: 0} --- !u!114 &114210005370009680 @@ -1456,13 +1497,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1784932838058358} + serializedVersion: 2 m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.38999987, y: -0.19999981, z: 0.049999952} - m_LocalScale: {x: 0.25, y: 0.25, z: 0.25} + m_LocalPosition: {x: 0.49, y: -0.184, z: 0.049999952} + m_LocalScale: {x: 0.35, y: 0.35, z: 0.35} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 4315711334760372} - m_RootOrder: 6 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &33541849226562688 MeshFilter: @@ -1522,9 +1563,17 @@ BoxCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1784932838058358} m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 m_IsTrigger: 0 + m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 2 + serializedVersion: 3 m_Size: {x: 1, y: 1, z: 0.1} m_Center: {x: -0.000000074505806, y: 0.000000022351742, z: 0} --- !u!114 &114451730632273282 @@ -1632,13 +1681,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1793958170638982} + serializedVersion: 2 m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.38999987, y: 0.22500038, z: 0.049999952} + m_LocalPosition: {x: -0.48, y: 0.193, z: 0.049999952} m_LocalScale: {x: 0.35, y: 0.35, z: 0.35} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 4315711334760372} - m_RootOrder: 11 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &33821366212915112 MeshFilter: @@ -1698,9 +1747,17 @@ BoxCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1793958170638982} m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 m_IsTrigger: 0 + m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 2 + serializedVersion: 3 m_Size: {x: 1, y: 1, z: 0.1} m_Center: {x: -0.000000074505806, y: 0.000000022351742, z: 0} --- !u!114 &114524679305128758 @@ -1807,13 +1864,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1835688465934486} + 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_LocalScale: {x: 1.3, y: 1.3, z: 1.3} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 4035380900912510} - m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &33453747807715154 MeshFilter: @@ -1905,13 +1962,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1841057133452878} + serializedVersion: 2 m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.38999987, y: 0.22500038, z: 0.049999952} + m_LocalPosition: {x: 0.459, y: 0.213, z: 0.049999952} m_LocalScale: {x: 0.35, y: 0.35, z: 0.35} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 4315711334760372} - m_RootOrder: 4 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &33555655433307320 MeshFilter: @@ -1971,9 +2028,17 @@ BoxCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1841057133452878} m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 m_IsTrigger: 0 + m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 2 + serializedVersion: 3 m_Size: {x: 1, y: 1, z: 0.1} m_Center: {x: -0.000000074505806, y: 0.000000022351742, z: 0} --- !u!114 &114553944017920612 @@ -2081,13 +2146,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1843451682130658} + serializedVersion: 2 m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: -0.4499998, z: 0.049999952} + m_LocalPosition: {x: -0.206, y: -0.488, z: 0.049999952} m_LocalScale: {x: 0.35, y: 0.35, z: 0.35} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 4315711334760372} - m_RootOrder: 8 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &33394186971539132 MeshFilter: @@ -2147,9 +2212,17 @@ BoxCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1843451682130658} m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 m_IsTrigger: 0 + m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 2 + serializedVersion: 3 m_Size: {x: 1.0000001, y: 1.0000001, z: 0.1} m_Center: {x: 0, y: 0, z: 0} --- !u!114 &114591466390577530 @@ -2277,13 +2350,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1857847558550948} + 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_LocalScale: {x: 1.3, y: 1.3, z: 1.3} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 4035380900912510} - m_RootOrder: 4 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &33266412785695894 MeshFilter: @@ -2372,13 +2445,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1900864892112550} + 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: 4482757564845618} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!65 &65962833710381506 BoxCollider: @@ -2388,9 +2461,17 @@ BoxCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1900864892112550} m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 m_IsTrigger: 0 + m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 2 + serializedVersion: 3 m_Size: {x: 2, y: 2, z: 0.5} m_Center: {x: 0, y: 0, z: 0} --- !u!1 &1922662397484504 @@ -2420,13 +2501,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1922662397484504} + serializedVersion: 2 m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0.4499998, z: 0.049999952} + m_LocalPosition: {x: -0.221, y: 0.47, z: 0.049999952} m_LocalScale: {x: 0.35, y: 0.35, z: 0.35} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 4315711334760372} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &33700391611944570 MeshFilter: @@ -2486,9 +2567,17 @@ BoxCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1922662397484504} m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 m_IsTrigger: 0 + m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 2 + serializedVersion: 3 m_Size: {x: 1, y: 1, z: 0.1} m_Center: {x: -0.000000074505806, y: 0.000000022351742, z: 0} --- !u!114 &114805731067982576 @@ -2596,13 +2685,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1936268928807740} + serializedVersion: 2 m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.38999987, y: -0.19999981, z: 0.049999952} - m_LocalScale: {x: 0.25, y: 0.25, z: 0.25} + m_LocalPosition: {x: 0.487, y: -0.178, z: 0.049999952} + m_LocalScale: {x: 0.35, y: 0.35, z: 0.35} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 4315711334760372} - m_RootOrder: 5 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &33183811785653948 MeshFilter: @@ -2662,9 +2751,17 @@ BoxCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1936268928807740} m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 m_IsTrigger: 0 + m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 2 + serializedVersion: 3 m_Size: {x: 1, y: 1, z: 0.1} m_Center: {x: -0.000000074505806, y: 0.000000022351742, z: 0} --- !u!114 &114213771481485110 @@ -2772,13 +2869,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1960334381407134} + serializedVersion: 2 m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.38999987, y: -0.19999981, z: 0.049999952} - m_LocalScale: {x: 0.25, y: 0.25, z: 0.25} + m_LocalPosition: {x: -0.487, y: -0.19999981, z: 0.049999952} + m_LocalScale: {x: 0.35, y: 0.35, z: 0.35} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 4315711334760372} - m_RootOrder: 9 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &33145436996304012 MeshFilter: @@ -2838,9 +2935,17 @@ BoxCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1960334381407134} m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 m_IsTrigger: 0 + m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 2 + serializedVersion: 3 m_Size: {x: 1, y: 1, z: 0.1} m_Center: {x: -0.000000074505806, y: 0.000000022351742, z: 0} --- !u!114 &114459347850906084 @@ -2948,13 +3053,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1976071349665942} + serializedVersion: 2 m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.38999987, y: -0.19999981, z: 0.049999952} - m_LocalScale: {x: 0.25, y: 0.25, z: 0.25} + m_LocalPosition: {x: -0.484, y: -0.19999981, z: 0.049999952} + m_LocalScale: {x: 0.35, y: 0.35, z: 0.35} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 4315711334760372} - m_RootOrder: 10 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &33631275512957272 MeshFilter: @@ -3014,9 +3119,17 @@ BoxCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1976071349665942} m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 m_IsTrigger: 0 + m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 2 + serializedVersion: 3 m_Size: {x: 1, y: 1, z: 0.1} m_Center: {x: -0.000000074505806, y: 0.000000022351742, z: 0} --- !u!114 &114961917929844728 @@ -3097,6 +3210,190 @@ MonoBehaviour: references: version: 2 RefIds: [] +--- !u!1 &1283872556223845477 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3913670656884359384} + - component: {fileID: 1109356708297080057} + - component: {fileID: 6407745213757458711} + - component: {fileID: 6605348980898369502} + - component: {fileID: 8695917633644188848} + m_Layer: 16 + m_Name: Button_SaveOptions (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3913670656884359384 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1283872556223845477} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.186, y: 0.482, z: 0.049999952} + m_LocalScale: {x: 0.35, y: 0.35, z: 0.35} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4315711334760372} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &1109356708297080057 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1283872556223845477} + m_Mesh: {fileID: 4300000, guid: 3eae18cf12435234ab8717789135e90b, type: 3} +--- !u!23 &6407745213757458711 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1283872556223845477} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 40d29de2bdc11f04dbfa25059165916e, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!65 &6605348980898369502 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1283872556223845477} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 0.1} + m_Center: {x: -0.000000074505806, y: 0.000000022351742, z: 0} +--- !u!114 &8695917633644188848 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1283872556223845477} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6c6859eec74651247968d56b594ac313, type: 3} + m_Name: + m_EditorClassIdentifier: + m_DescriptionType: 0 + m_DescriptionYOffset: 0 + m_DescriptionText: ADMIN_PANEL_SAVE_SKETCH_BUTTON_DESCRIPTION + m_LocalizedDescription: + m_TableReference: + m_TableCollectionName: GUID:c84355079ab3f3e4f8f3812258805f86 + m_TableEntryReference: + m_KeyId: 5064506084139008 + m_Key: + m_FallbackState: 0 + m_WaitForCompletion: 0 + m_LocalVariables: [] + m_DescriptionTextExtra: + m_LocalizedDescriptionExtra: + m_TableReference: + m_TableCollectionName: + m_TableEntryReference: + m_KeyId: 0 + m_Key: + m_FallbackState: 0 + m_WaitForCompletion: 0 + m_LocalVariables: [] + m_DescriptionActivateSpeed: 12 + m_DescriptionZScale: 1 + m_ButtonTexture: {fileID: 0} + m_AtlasTexture: 1 + m_ToggleButton: 0 + m_LongPressReleaseButton: 0 + m_ButtonHasPressedAudio: 0 + m_ZAdjustHover: -0.02 + m_ZAdjustClick: 0.05 + m_HoverScale: 1.1 + m_HoverBoxColliderGrow: 0.2 + m_AddOverlay: 0 + m_Command: 0 + m_CommandParam: -1 + m_CommandParam2: -1 + m_RequiresPopup: 1 + m_CenterPopupOnButton: 0 + m_PopupOffset: {x: 0, y: 0, z: 0} + m_PopupText: + m_LocalizedPopup: + m_TableReference: + m_TableCollectionName: + m_TableEntryReference: + m_KeyId: 0 + m_Key: + m_FallbackState: 0 + m_WaitForCompletion: 0 + m_LocalVariables: [] + m_ToggleOnDescription: + m_LocalizedToggleOnDescription: + m_TableReference: + m_TableCollectionName: + m_TableEntryReference: + m_KeyId: 0 + m_Key: + m_FallbackState: 0 + m_WaitForCompletion: 0 + m_LocalVariables: [] + m_ToggleOnTexture: {fileID: 0} + m_AllowUnavailable: 1 + m_LinkedUIObject: {fileID: 0} + references: + version: 2 + RefIds: [] --- !u!1 &5787249127137797294 GameObject: m_ObjectHideFlags: 0 @@ -3124,13 +3421,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 5787249127137797294} + serializedVersion: 2 m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.349, y: -0.5290003, z: 0.049999952} - m_LocalScale: {x: 0.25, y: 0.25, z: 0.25} + m_LocalPosition: {x: 0.196, y: -0.488, z: 0.049999952} + m_LocalScale: {x: 0.35, y: 0.35, z: 0.35} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 4315711334760372} - m_RootOrder: 7 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &1706514172525796950 MeshFilter: @@ -3190,9 +3487,17 @@ BoxCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 5787249127137797294} m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 m_IsTrigger: 0 + m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 2 + serializedVersion: 3 m_Size: {x: 1, y: 1, z: 0.1} m_Center: {x: -0.000000074505806, y: 0.000000022351742, z: 0} --- !u!114 &6550189700625956158 @@ -3278,6 +3583,7 @@ PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: + serializedVersion: 3 m_TransformParent: {fileID: 4315711334760372} m_Modifications: - target: {fileID: 478447133200725155, guid: 604a64bb74b56a44bb9fbbc997be3ef7, @@ -3406,6 +3712,9 @@ PrefabInstance: value: 0 objectReference: {fileID: 0} m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 604a64bb74b56a44bb9fbbc997be3ef7, type: 3} --- !u!4 &412988840869617173 stripped Transform: diff --git a/Assets/Prefabs/Panels/MultiplayerPanel.prefab b/Assets/Prefabs/Panels/MultiplayerPanel.prefab index e480cc9740..a182d7ddae 100644 --- a/Assets/Prefabs/Panels/MultiplayerPanel.prefab +++ b/Assets/Prefabs/Panels/MultiplayerPanel.prefab @@ -25,6 +25,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 160214} + serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 4, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} @@ -38,7 +39,6 @@ Transform: - {fileID: 498528} - {fileID: 499980} m_Father: {fileID: 0} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &114984344201106630 MonoBehaviour: @@ -104,10 +104,10 @@ MonoBehaviour: m_CanBeDetachedFromWand: 0 m_PopUpGazeDuration: 0.2 m_PromoBorders: [] + m_RoomNumberTextLobby: {fileID: 1974621732855197313} + m_RoomNumberTextRoomSettings: {fileID: 932498118536074667} m_LobbyElements: {fileID: 3644177191085397888} - m_CreateRoomElements: {fileID: 6171746570159008301} - m_RoomSettingsElements: {fileID: 8921512026995007485} - m_GeneralSettingsElements: {fileID: 8667602655244155954} + m_JoinedElements: {fileID: 6171746570159008301} references: version: 2 RefIds: [] @@ -147,13 +147,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 169614} + 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: 499980} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!65 &6569620 BoxCollider: @@ -163,9 +163,17 @@ BoxCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 169614} m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 m_IsTrigger: 0 + m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 2 + serializedVersion: 3 m_Size: {x: 1.94, y: 2.55, z: 0.02} m_Center: {x: 0.06, y: -0.06, z: 0} --- !u!1 &173754 @@ -192,13 +200,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 173754} + 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: 415082} - m_RootOrder: 5 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!65 &6536704 BoxCollider: @@ -208,9 +216,17 @@ BoxCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 173754} m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 m_IsTrigger: 0 + m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 2 + serializedVersion: 3 m_Size: {x: 2.4, y: 3.3, z: 0.5} m_Center: {x: 0, y: 0, z: 0} --- !u!1 &176750 @@ -237,13 +253,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 176750} + serializedVersion: 2 m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0.05} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 499980} - m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &3378504 MeshFilter: @@ -276,6 +292,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 184986} + 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} @@ -287,7 +304,6 @@ Transform: - {fileID: 4696385544466816} - {fileID: 4410849844686322} m_Father: {fileID: 415082} - m_RootOrder: 6 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1000013067707022 GameObject: @@ -314,13 +330,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1000013067707022} + serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 2, y: 2.5, z: 2.55} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 415082} - m_RootOrder: 4 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &33000014291051348 MeshFilter: @@ -397,13 +413,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1007290988937762} + serializedVersion: 2 m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 0.65, y: 0.65, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 4410849844686322} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &33058761823212030 MeshFilter: @@ -482,15 +498,15 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1204492690482570} + serializedVersion: 2 m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.907, y: -1.206, z: -0.01} + m_LocalPosition: {x: 0.907, y: -0.255, z: -0.01} m_LocalScale: {x: 0.29999998, y: 0.29999998, z: 0.29999998} m_ConstrainProportionsScale: 0 m_Children: - {fileID: 4153922631777284} - {fileID: 4402564000880478} m_Father: {fileID: 499980} - m_RootOrder: 4 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &33802401890004714 MeshFilter: @@ -550,9 +566,17 @@ BoxCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1204492690482570} m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 m_IsTrigger: 0 + m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 2 + serializedVersion: 3 m_Size: {x: 1.0000001, y: 1, z: 0.01} m_Center: {x: 0, y: 0, z: -0.01} --- !u!114 &114889102552369014 @@ -658,13 +682,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1744263076835604} + serializedVersion: 2 m_LocalRotation: {x: -0.7071068, y: 0, z: -0, w: 0.7071067} m_LocalPosition: {x: -0, y: 0, z: 0} m_LocalScale: {x: 100, y: 100, z: 100} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 4696385544466816} - m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &33937921472497080 MeshFilter: @@ -673,7 +697,7 @@ MeshFilter: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1744263076835604} - m_Mesh: {fileID: 4300002, guid: 3911a5e0ccf20e0489d2e0c46768cc74, type: 3} + m_Mesh: {fileID: 4300002, guid: 90e92f1d849f0b448ac3e9a402f08bed, type: 3} --- !u!23 &23425245546884932 MeshRenderer: m_ObjectHideFlags: 0 @@ -741,13 +765,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1850095996710182} + serializedVersion: 2 m_LocalRotation: {x: -0.7071068, y: 0, z: -0, w: 0.7071067} m_LocalPosition: {x: -0, y: 0, z: 0} m_LocalScale: {x: 100, y: 100, z: 100} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 4696385544466816} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &33901426776633756 MeshFilter: @@ -756,7 +780,7 @@ MeshFilter: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1850095996710182} - m_Mesh: {fileID: 4300000, guid: 3911a5e0ccf20e0489d2e0c46768cc74, type: 3} + m_Mesh: {fileID: 4300000, guid: 90e92f1d849f0b448ac3e9a402f08bed, type: 3} --- !u!23 &23979510237070564 MeshRenderer: m_ObjectHideFlags: 0 @@ -822,15 +846,15 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1852253978840482} + serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalPosition: {x: 0, y: 0.448, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: - {fileID: 4887086521611946} - {fileID: 4148024965627128} m_Father: {fileID: 499980} - m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1889327720883680 GameObject: @@ -857,13 +881,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1889327720883680} + serializedVersion: 2 m_LocalRotation: {x: 0.7071068, y: -0, z: -0, w: 0.7071068} m_LocalPosition: {x: 0, y: 0, z: 0.025} m_LocalScale: {x: 0.79999995, y: 0.02, z: 0.8} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 4410849844686322} - m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} --- !u!33 &33054958406634006 MeshFilter: @@ -915,7 +939,7 @@ MeshRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_AdditionalVertexStreams: {fileID: 0} ---- !u!1 &3644177191085397888 +--- !u!1 &1697630693985053451 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -923,142 +947,49 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 2965947989537662772} + - component: {fileID: 1141409664942745479} + - component: {fileID: 1760323139199521700} + - component: {fileID: 4490950674500302730} + - component: {fileID: 6816865797365254487} + - component: {fileID: 7781273403086602364} m_Layer: 16 - m_Name: LobbyElements + m_Name: join Button m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &2965947989537662772 +--- !u!4 &1141409664942745479 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3644177191085397888} + m_GameObject: {fileID: 1697630693985053451} + 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_LocalPosition: {x: -0.329, y: 0.33, z: -0.03} + m_LocalScale: {x: 0.4, y: 0.4, z: 0.35} m_ConstrainProportionsScale: 0 m_Children: - - {fileID: 4742402761985048582} - m_Father: {fileID: 415082} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &6171746570159008301 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 438733611317437076} - m_Layer: 16 - m_Name: CreateRoomElements - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &438733611317437076 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6171746570159008301} - 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: 415082} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &8667602655244155954 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1954481780995984980} - m_Layer: 16 - m_Name: GeneralSettingsElements - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1954481780995984980 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8667602655244155954} - 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: 415082} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &8790421672380404409 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4742402761985048582} - - component: {fileID: 2186148485191086047} - - component: {fileID: 3184411263972264924} - - component: {fileID: 1674489288884736589} - - component: {fileID: 5392421505523717988} - m_Layer: 16 - m_Name: PanelButton_Large_Help - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &4742402761985048582 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8790421672380404409} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0.5700002, z: -0.03} - m_LocalScale: {x: 0.35, y: 0.35, z: 0.35} - m_ConstrainProportionsScale: 0 - m_Children: [] + - {fileID: 7015233605674447413} m_Father: {fileID: 2965947989537662772} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &2186148485191086047 +--- !u!33 &1760323139199521700 MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8790421672380404409} - m_Mesh: {fileID: 4300000, guid: 5501f437160666942ae970f3648fbeb8, type: 3} ---- !u!23 &3184411263972264924 + m_GameObject: {fileID: 1697630693985053451} + m_Mesh: {fileID: 4300000, guid: 70d5ab47bcc3aa0439e20bd40350c05a, type: 3} +--- !u!23 &4490950674500302730 MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8790421672380404409} + m_GameObject: {fileID: 1697630693985053451} m_Enabled: 1 m_CastShadows: 0 m_ReceiveShadows: 0 @@ -1094,26 +1025,34 @@ MeshRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_AdditionalVertexStreams: {fileID: 0} ---- !u!65 &1674489288884736589 +--- !u!65 &6816865797365254487 BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8790421672380404409} + m_GameObject: {fileID: 1697630693985053451} m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 m_IsTrigger: 0 + m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 1, y: 1, z: 0.1} + serializedVersion: 3 + m_Size: {x: 1.4, y: 1, z: 0.1} m_Center: {x: -0.000000074505806, y: 0.000000022351742, z: 0} ---- !u!114 &5392421505523717988 +--- !u!114 &7781273403086602364 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8790421672380404409} + m_GameObject: {fileID: 1697630693985053451} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: b78a8d7209bbdc546979b549a875d550, type: 3} @@ -1143,7 +1082,7 @@ MonoBehaviour: m_LocalVariables: [] m_DescriptionActivateSpeed: 12 m_DescriptionZScale: 1 - m_ButtonTexture: {fileID: 0} + m_ButtonTexture: {fileID: 2800000, guid: cdc7d38d9e0b30443961d1cc27195586, type: 3} m_AtlasTexture: 1 m_ToggleButton: 0 m_LongPressReleaseButton: 0 @@ -1153,7 +1092,7 @@ MonoBehaviour: m_HoverScale: 1.1 m_HoverBoxColliderGrow: 0.2 m_AddOverlay: 0 - m_Command: 1002 + m_Command: 1004 m_CommandParam: 1 m_CommandParam2: -1 m_RequiresPopup: 0 @@ -1186,7 +1125,7 @@ MonoBehaviour: references: version: 2 RefIds: [] ---- !u!1 &8921512026995007485 +--- !u!1 &2571361884171689698 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -1194,34 +1133,1538 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 3405719730669880946} + - component: {fileID: 6876281661055682962} + - component: {fileID: 5708211407015971906} + - component: {fileID: 3923005959821366055} m_Layer: 16 - m_Name: RoomSettingsElements + m_Name: Label m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &3405719730669880946 -Transform: +--- !u!224 &6876281661055682962 +RectTransform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8921512026995007485} + m_GameObject: {fileID: 2571361884171689698} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0.057142857} + m_LocalScale: {x: 2.5, y: 2.5, z: 2.8571427} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7383649761766971007} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -0.56, y: 0.8399991} + m_SizeDelta: {x: 1.104868, y: 1.4460607} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!23 &5708211407015971906 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2571361884171689698} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2133298, guid: fce54057bad3d2d4cb3c36ee394be518, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!114 &3923005959821366055 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2571361884171689698} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9541d86e2fd84c1d9990edf0852d74ab, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: Edit + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: fce54057bad3d2d4cb3c36ee394be518, type: 2} + m_sharedMaterial: {fileID: 2133298, guid: fce54057bad3d2d4cb3c36ee394be518, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 1.4 + m_fontSizeBase: 1.4 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: -30 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 0 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0.48827845, y: 0.8604479, z: 0.054796636, w: 0.19184232} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + _SortingLayer: 0 + _SortingLayerID: 0 + _SortingOrder: 0 + m_hasFontAssetChanged: 0 + m_renderer: {fileID: 5708211407015971906} + m_maskType: 0 +--- !u!1 &2994060372226562491 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3068395288206314123} + - component: {fileID: 3015414681375869025} + - component: {fileID: 2890656081255549429} + - component: {fileID: 942730275356831299} + m_Layer: 16 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3068395288206314123 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2994060372226562491} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0.05} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 438733611317437076} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0.104, y: 0.625} + m_SizeDelta: {x: 1.104868, y: 1.4460607} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!23 &3015414681375869025 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2994060372226562491} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2133298, guid: fce54057bad3d2d4cb3c36ee394be518, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!114 &2890656081255549429 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2994060372226562491} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9541d86e2fd84c1d9990edf0852d74ab, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: 'You are in! + + Share the room number with your sketch collaborators + to join ' + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: fce54057bad3d2d4cb3c36ee394be518, type: 2} + m_sharedMaterial: {fileID: 2133298, guid: fce54057bad3d2d4cb3c36ee394be518, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 1.4 + m_fontSizeBase: 1.4 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: -30 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 0 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: -0.31141979, y: 0.6332202, z: -0.094255626, w: -0.027681828} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + _SortingLayer: 0 + _SortingLayerID: 0 + _SortingOrder: 0 + m_hasFontAssetChanged: 0 + m_renderer: {fileID: 3015414681375869025} + m_maskType: 0 +--- !u!114 &942730275356831299 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2994060372226562491} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 69beb381e244f92449b8c4cf954630e9, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjects: [] + references: + version: 2 + RefIds: [] +--- !u!1 &3134540981707160973 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7015233605674447413} + - component: {fileID: 6931700069523288738} + - component: {fileID: 8426405893577217330} + m_Layer: 16 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7015233605674447413 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3134540981707160973} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0.057142857} + m_LocalScale: {x: 2.5, y: 2.5, z: 2.8571427} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1141409664942745479} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -0.56, y: 0.8399991} + m_SizeDelta: {x: 1.104868, y: 1.4460607} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!23 &6931700069523288738 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3134540981707160973} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2133298, guid: fce54057bad3d2d4cb3c36ee394be518, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!114 &8426405893577217330 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3134540981707160973} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9541d86e2fd84c1d9990edf0852d74ab, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: Join + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: fce54057bad3d2d4cb3c36ee394be518, type: 2} + m_sharedMaterial: {fileID: 2133298, guid: fce54057bad3d2d4cb3c36ee394be518, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 1.4 + m_fontSizeBase: 1.4 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: -30 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 0 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0.48827845, y: 0.8604479, z: 0.054796636, w: 0.19184232} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + _SortingLayer: 0 + _SortingLayerID: 0 + _SortingOrder: 0 + m_hasFontAssetChanged: 0 + m_renderer: {fileID: 6931700069523288738} + m_maskType: 0 +--- !u!1 &3644177191085397888 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2965947989537662772} + m_Layer: 16 + m_Name: LobbyElements + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2965947989537662772 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3644177191085397888} + 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: + - {fileID: 1141409664942745479} + - {fileID: 7383649761766971007} + - {fileID: 1616599776894361023} + - {fileID: 7584752043559634152} + m_Father: {fileID: 415082} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &4076170750158864688 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7584752043559634152} + - component: {fileID: 8238648932876523510} + - component: {fileID: 1974621732855197313} + m_Layer: 16 + m_Name: RoomNumber + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7584752043559634152 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4076170750158864688} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0.05} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2965947989537662772} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0.586, y: 0.145} + m_SizeDelta: {x: 1.104868, y: 1.4460607} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!23 &8238648932876523510 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4076170750158864688} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2133298, guid: fce54057bad3d2d4cb3c36ee394be518, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!114 &1974621732855197313 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4076170750158864688} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9541d86e2fd84c1d9990edf0852d74ab, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: 202020 + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: fce54057bad3d2d4cb3c36ee394be518, type: 2} + m_sharedMaterial: {fileID: 2133298, guid: fce54057bad3d2d4cb3c36ee394be518, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 1.7 + m_fontSizeBase: 1.7 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: -30 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 0 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: -0.31141979, y: -0.12023544, z: 0.49373662, w: 1.1764753} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + _SortingLayer: 0 + _SortingLayerID: 0 + _SortingOrder: 0 + m_hasFontAssetChanged: 0 + m_renderer: {fileID: 8238648932876523510} + m_maskType: 0 +--- !u!1 &4649946342403727185 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3577413846294365787} + - component: {fileID: 1001195632747271077} + - component: {fileID: 404572183770810615} + m_Layer: 16 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3577413846294365787 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4649946342403727185} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0.05} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 438733611317437076} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0.15199947} + m_SizeDelta: {x: 1.104868, y: 1.4460607} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!23 &1001195632747271077 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4649946342403727185} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2133298, guid: fce54057bad3d2d4cb3c36ee394be518, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!114 &404572183770810615 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4649946342403727185} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9541d86e2fd84c1d9990edf0852d74ab, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: ' Room :' + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: fce54057bad3d2d4cb3c36ee394be518, type: 2} + m_sharedMaterial: {fileID: 2133298, guid: fce54057bad3d2d4cb3c36ee394be518, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 1.7 + m_fontSizeBase: 1.7 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: -30 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 0 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: -0.31141979, y: -0.12023544, z: 0.49373662, w: 1.1764753} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + _SortingLayer: 0 + _SortingLayerID: 0 + _SortingOrder: 0 + m_hasFontAssetChanged: 0 + m_renderer: {fileID: 1001195632747271077} + m_maskType: 0 +--- !u!1 &5921902206488690915 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7383649761766971007} + - component: {fileID: 2926107150197885019} + - component: {fileID: 8582249604316496249} + - component: {fileID: 3106886073238925572} + - component: {fileID: 1443552876586975744} + m_Layer: 16 + m_Name: Edit Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7383649761766971007 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5921902206488690915} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.337, y: 0.33, z: -0.03} + m_LocalScale: {x: 0.4, y: 0.4, z: 0.35} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 6876281661055682962} + m_Father: {fileID: 2965947989537662772} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &2926107150197885019 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5921902206488690915} + m_Mesh: {fileID: 4300000, guid: 70d5ab47bcc3aa0439e20bd40350c05a, type: 3} +--- !u!23 &8582249604316496249 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5921902206488690915} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 40d29de2bdc11f04dbfa25059165916e, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!65 &3106886073238925572 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5921902206488690915} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1.4, y: 1, z: 0.1} + m_Center: {x: -0.000000074505806, y: 0.000000022351742, z: 0} +--- !u!114 &1443552876586975744 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5921902206488690915} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b78a8d7209bbdc546979b549a875d550, type: 3} + m_Name: + m_EditorClassIdentifier: + m_DescriptionType: 0 + m_DescriptionYOffset: 0 + m_DescriptionText: + m_LocalizedDescription: + m_TableReference: + m_TableCollectionName: + m_TableEntryReference: + m_KeyId: 0 + m_Key: + m_FallbackState: 0 + m_WaitForCompletion: 0 + m_LocalVariables: [] + m_DescriptionTextExtra: + m_LocalizedDescriptionExtra: + m_TableReference: + m_TableCollectionName: + m_TableEntryReference: + m_KeyId: 0 + m_Key: + m_FallbackState: 0 + m_WaitForCompletion: 0 + m_LocalVariables: [] + m_DescriptionActivateSpeed: 12 + m_DescriptionZScale: 1 + m_ButtonTexture: {fileID: 2800000, guid: cdc7d38d9e0b30443961d1cc27195586, type: 3} + m_AtlasTexture: 1 + m_ToggleButton: 0 + m_LongPressReleaseButton: 0 + m_ButtonHasPressedAudio: 1 + m_ZAdjustHover: -0.02 + m_ZAdjustClick: 0.02 + m_HoverScale: 1.1 + m_HoverBoxColliderGrow: 0.2 + m_AddOverlay: 0 + m_Command: 1004 + m_CommandParam: 1 + m_CommandParam2: -1 + m_RequiresPopup: 0 + m_CenterPopupOnButton: 0 + m_PopupOffset: {x: 0, y: 0, z: 0} + m_PopupText: + m_LocalizedPopup: + m_TableReference: + m_TableCollectionName: + m_TableEntryReference: + m_KeyId: 0 + m_Key: + m_FallbackState: 0 + m_WaitForCompletion: 0 + m_LocalVariables: [] + m_ToggleOnDescription: + m_LocalizedToggleOnDescription: + m_TableReference: + m_TableCollectionName: + m_TableEntryReference: + m_KeyId: 0 + m_Key: + m_FallbackState: 0 + m_WaitForCompletion: 0 + m_LocalVariables: [] + m_ToggleOnTexture: {fileID: 0} + m_AllowUnavailable: 0 + m_LinkedUIObject: {fileID: 0} + m_CommandIgnored: 0 + references: + version: 2 + RefIds: [] +--- !u!1 &6171746570159008301 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 438733611317437076} + m_Layer: 16 + m_Name: JoinedElements + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &438733611317437076 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6171746570159008301} + 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: + - {fileID: 3068395288206314123} + - {fileID: 3577413846294365787} + - {fileID: 4072971569122874247} + m_Father: {fileID: 415082} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &6437768756802778087 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4072971569122874247} + - component: {fileID: 6918572163598264854} + - component: {fileID: 932498118536074667} + m_Layer: 16 + m_Name: RoomNumber + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4072971569122874247 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6437768756802778087} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0.05} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 438733611317437076} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0.586, y: 0.1449995} + m_SizeDelta: {x: 1.104868, y: 1.4460607} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!23 &6918572163598264854 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6437768756802778087} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2133298, guid: fce54057bad3d2d4cb3c36ee394be518, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!114 &932498118536074667 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6437768756802778087} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9541d86e2fd84c1d9990edf0852d74ab, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: 202020 + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: fce54057bad3d2d4cb3c36ee394be518, type: 2} + m_sharedMaterial: {fileID: 2133298, guid: fce54057bad3d2d4cb3c36ee394be518, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 1.7 + m_fontSizeBase: 1.7 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: -30 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 0 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: -0.31141979, y: -0.12023544, z: 0.49373662, w: 1.1764753} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + _SortingLayer: 0 + _SortingLayerID: 0 + _SortingOrder: 0 + m_hasFontAssetChanged: 0 + m_renderer: {fileID: 6918572163598264854} + m_maskType: 0 +--- !u!1 &8016613551395990211 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1616599776894361023} + - component: {fileID: 9202472902960767262} + - component: {fileID: 6387985900290305946} + m_Layer: 16 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1616599776894361023 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8016613551395990211} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0.05} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2965947989537662772} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0.152} + m_SizeDelta: {x: 1.104868, y: 1.4460607} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!23 &9202472902960767262 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8016613551395990211} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2133298, guid: fce54057bad3d2d4cb3c36ee394be518, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!114 &6387985900290305946 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8016613551395990211} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9541d86e2fd84c1d9990edf0852d74ab, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: ' Room :' + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: fce54057bad3d2d4cb3c36ee394be518, type: 2} + m_sharedMaterial: {fileID: 2133298, guid: fce54057bad3d2d4cb3c36ee394be518, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 1.7 + m_fontSizeBase: 1.7 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: -30 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 0 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: -0.31141979, y: -0.12023544, z: 0.49373662, w: 1.1764753} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + _SortingLayer: 0 + _SortingLayerID: 0 + _SortingOrder: 0 + m_hasFontAssetChanged: 0 + m_renderer: {fileID: 9202472902960767262} + m_maskType: 0 +--- !u!1 &8667602655244155954 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1954481780995984980} + m_Layer: 16 + m_Name: GeneralSettingsElements + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &1954481780995984980 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8667602655244155954} + 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: 415082} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &8921512026995007485 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3405719730669880946} + m_Layer: 16 + m_Name: RoomSettingsElements + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &3405719730669880946 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8921512026995007485} + 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: 415082} - m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1001 &7380239823636675985 PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: + serializedVersion: 3 m_TransformParent: {fileID: 499980} m_Modifications: - target: {fileID: 2206467382688623040, guid: 2538d4a3972b37c4c9e8649481dd9a2b, @@ -1310,6 +2753,9 @@ PrefabInstance: value: 176097607781543936 objectReference: {fileID: 0} m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 2538d4a3972b37c4c9e8649481dd9a2b, type: 3} --- !u!4 &6533003833265780531 stripped Transform: diff --git a/Assets/Scripts/GUI/MultiplayerPanel.cs b/Assets/Scripts/GUI/MultiplayerPanel.cs index d4ddd329db..f1a45e3a33 100644 --- a/Assets/Scripts/GUI/MultiplayerPanel.cs +++ b/Assets/Scripts/GUI/MultiplayerPanel.cs @@ -14,25 +14,56 @@ using System; using OpenBrush.Multiplayer; +using TMPro; using UnityEngine; namespace TiltBrush { public class MultiplayerPanel : BasePanel { + [SerializeField] private TextMeshPro m_RoomNumberTextLobby; + [SerializeField] private TextMeshPro m_RoomNumberTextRoomSettings; + + private RoomCreateData data = new RoomCreateData + { + roomName = GenerateRandomRoomName(), + @private = false, + maxPlayers = 4, + voiceDisabled = false + }; + + private static string GenerateRandomRoomName() + { + System.Random random = new System.Random(); + return random.Next(100000, 999999).ToString(); + } + + private void UpdateRoomNumberDisplay() + { + if (m_RoomNumberTextLobby) + { + m_RoomNumberTextLobby.text = data.roomName; + } + if (m_RoomNumberTextRoomSettings) + { + m_RoomNumberTextRoomSettings.text = data.roomName; + } + } + public enum Mode { Null, Lobby, - Create, - RoomSettings, - GeneralSettings + Joined, + //Create, + //RoomSettings, + //GeneralSettings } [SerializeField] private GameObject m_LobbyElements; - [SerializeField] private GameObject m_CreateRoomElements; - [SerializeField] private GameObject m_RoomSettingsElements; - [SerializeField] private GameObject m_GeneralSettingsElements; + [SerializeField] private GameObject m_JoinedElements; + //[SerializeField] private GameObject m_RoomSettingsElements; + //[SerializeField] private GameObject m_GeneralSettingsElements; private Mode m_CurrentMode; @@ -41,6 +72,7 @@ public override void InitPanel() base.InitPanel(); InitMultiplayer(); + UpdateRoomNumberDisplay(); } public async void InitMultiplayer() @@ -48,13 +80,43 @@ public async void InitMultiplayer() bool success = await MultiplayerManager.m_Instance.Init(); } + private async void JoinRoom() + { + if (MultiplayerManager.m_Instance != null) + { + + bool success = await MultiplayerManager.m_Instance.Connect(data); + + if (success) + { + Debug.Log("Connected to room successfully."); + + // Additional UI updates or feedback + UpdateMode(Mode.Joined); + UpdateRoomNumberDisplay(); // Update room number display after joining + } + else + { + Debug.LogError("Failed to connect to room."); + // Provide user feedback with some UI element + } + + } + } + private void UpdateMode(Mode newMode) { m_CurrentMode = newMode; m_LobbyElements.SetActive(m_CurrentMode == Mode.Lobby); - m_CreateRoomElements.SetActive(m_CurrentMode == Mode.Create); - m_RoomSettingsElements.SetActive(m_CurrentMode == Mode.RoomSettings); - m_GeneralSettingsElements.SetActive(m_CurrentMode == Mode.GeneralSettings); + m_JoinedElements.SetActive(m_CurrentMode == Mode.Joined); + //m_RoomSettingsElements.SetActive(m_CurrentMode == Mode.RoomSettings); + //m_GeneralSettingsElements.SetActive(m_CurrentMode == Mode.GeneralSettings); + + // Update room number display if switching to a mode that shows it + if (m_CurrentMode == Mode.Lobby || m_CurrentMode == Mode.Joined) + { + UpdateRoomNumberDisplay(); + } } private void RefreshObjects() @@ -83,6 +145,10 @@ public void OnMultiplayerPanelButtonPressed(MultiplayerPanelButton button) break; } break; + case SketchControlsScript.GlobalCommands.MultiplayerJoinRoom: + JoinRoom(); + Debug.Log("Joining room"); + break; } } } diff --git a/Assets/Scripts/Multiplayer/MultiplayerManager.cs b/Assets/Scripts/Multiplayer/MultiplayerManager.cs index 5c59e71834..c1b44cea49 100644 --- a/Assets/Scripts/Multiplayer/MultiplayerManager.cs +++ b/Assets/Scripts/Multiplayer/MultiplayerManager.cs @@ -115,9 +115,9 @@ public async Task Init() return success; } - public async void Connect(RoomCreateData data) + public async Task Connect(RoomCreateData data) { - var result = await m_Manager.Connect(data); + return await m_Manager.Connect(data); } void Update() diff --git a/Assets/Scripts/Multiplayer/Photon/PhotonManager.cs b/Assets/Scripts/Multiplayer/Photon/PhotonManager.cs index e0b2279950..f25d9a7901 100644 --- a/Assets/Scripts/Multiplayer/Photon/PhotonManager.cs +++ b/Assets/Scripts/Multiplayer/Photon/PhotonManager.cs @@ -60,7 +60,7 @@ public PhotonManager(MultiplayerManager manager) public async Task Init() { await Task.Yield(); - return true; + //return true; var result = await m_Runner.JoinSessionLobby(SessionLobby.Shared, customAppSettings: m_PhotonAppSettings); if (result.Ok) @@ -89,6 +89,15 @@ public async Task Connect(RoomCreateData roomCreateData) var result = await m_Runner.StartGame(args); + if (result.Ok) + { + ControllerConsoleScript.m_Instance.AddNewLine("Joined Room"); + } + else + { + ControllerConsoleScript.m_Instance.AddNewLine("Failed to join Room!"); + } + return result.Ok; } @@ -258,7 +267,12 @@ public void OnConnectedToServer(NetworkRunner runner) public void OnPlayerJoined(NetworkRunner runner, PlayerRef player) { - if(player == m_Runner.LocalPlayer) + Debug.Log($"OnPlayerJoined called. PlayerRef: {player.PlayerId}"); + + try + { + + if (player == m_Runner.LocalPlayer) { var playerPrefab = Resources.Load("Multiplayer/Photon/PhotonPlayerRig") as GameObject; var playerObj = m_Runner.Spawn(playerPrefab, inputAuthority: m_Runner.LocalPlayer); @@ -271,6 +285,11 @@ public void OnPlayerJoined(NetworkRunner runner, PlayerRef player) { m_PlayersSpawning.Add(player); } + } + catch (Exception ex) + { + Debug.LogError($"Exception in OnPlayerJoined: {ex.Message}"); + } } public void OnPlayerLeft(NetworkRunner runner, PlayerRef player) diff --git a/Assets/Scripts/SketchControlsScript.cs b/Assets/Scripts/SketchControlsScript.cs index f84c80b127..1ade1f0def 100644 --- a/Assets/Scripts/SketchControlsScript.cs +++ b/Assets/Scripts/SketchControlsScript.cs @@ -148,6 +148,7 @@ public enum GlobalCommands LanguagePopup = 1000, MultiplayerTogglePanel = 1001, MultiplayerPanelOptions = 1002, // iParam1: Popup options + MultiplayerJoinRoom = 1004, RenameSketch = 5200, OpenLayerOptionsPopup = 5201, diff --git a/Assets/XR/XRGeneralSettings.asset b/Assets/XR/XRGeneralSettings.asset index ae01ae95ad..f7b92131f1 100644 --- a/Assets/XR/XRGeneralSettings.asset +++ b/Assets/XR/XRGeneralSettings.asset @@ -110,7 +110,7 @@ MonoBehaviour: m_Name: Standalone Settings m_EditorClassIdentifier: m_LoaderManagerInstance: {fileID: 8705794667931902858} - m_InitManagerOnStart: 0 + m_InitManagerOnStart: 1 --- !u!114 &6946956650545175336 MonoBehaviour: m_ObjectHideFlags: 0 From cf83975f58faf4816a31d3c2bc7cba56ee69edd0 Mon Sep 17 00:00:00 2001 From: Andy Baker Date: Mon, 7 Oct 2024 13:38:09 +0100 Subject: [PATCH 14/43] Numeric keyboard popup for multiplayer room --- Assets/Prefabs/Panels/MultiplayerPanel.prefab | 9 ++++++--- Assets/Scripts/GUI/MultiplayerPanel.cs | 6 ++++++ Assets/Scripts/SketchControlsScript.cs | 9 +++++++++ 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/Assets/Prefabs/Panels/MultiplayerPanel.prefab b/Assets/Prefabs/Panels/MultiplayerPanel.prefab index a182d7ddae..769a11feba 100644 --- a/Assets/Prefabs/Panels/MultiplayerPanel.prefab +++ b/Assets/Prefabs/Panels/MultiplayerPanel.prefab @@ -58,7 +58,10 @@ MonoBehaviour: m_Border: {fileID: 23425245546884932} m_MeshCollider: {fileID: 6569620} m_ParticleBounds: {x: 0, y: 0, z: 0} - m_PanelPopUpMap: [] + m_PanelPopUpMap: + - m_PopUpPrefab: {fileID: 8644332587479430734, guid: 51ce29df58ccd0343a277023a12c50ff, + type: 3} + m_Command: 1005 m_PanelDescription: m_LocalizedPanelDescription: m_TableReference: @@ -2188,10 +2191,10 @@ MonoBehaviour: m_HoverScale: 1.1 m_HoverBoxColliderGrow: 0.2 m_AddOverlay: 0 - m_Command: 1004 + m_Command: 1005 m_CommandParam: 1 m_CommandParam2: -1 - m_RequiresPopup: 0 + m_RequiresPopup: 1 m_CenterPopupOnButton: 0 m_PopupOffset: {x: 0, y: 0, z: 0} m_PopupText: diff --git a/Assets/Scripts/GUI/MultiplayerPanel.cs b/Assets/Scripts/GUI/MultiplayerPanel.cs index f1a45e3a33..ce3151c813 100644 --- a/Assets/Scripts/GUI/MultiplayerPanel.cs +++ b/Assets/Scripts/GUI/MultiplayerPanel.cs @@ -24,6 +24,12 @@ public class MultiplayerPanel : BasePanel [SerializeField] private TextMeshPro m_RoomNumberTextLobby; [SerializeField] private TextMeshPro m_RoomNumberTextRoomSettings; + public void SetRoomName(string roomName) + { + data.roomName = roomName; + UpdateRoomNumberDisplay(); + } + private RoomCreateData data = new RoomCreateData { roomName = GenerateRandomRoomName(), diff --git a/Assets/Scripts/SketchControlsScript.cs b/Assets/Scripts/SketchControlsScript.cs index 1ade1f0def..58d3e39e9e 100644 --- a/Assets/Scripts/SketchControlsScript.cs +++ b/Assets/Scripts/SketchControlsScript.cs @@ -149,6 +149,7 @@ public enum GlobalCommands MultiplayerTogglePanel = 1001, MultiplayerPanelOptions = 1002, // iParam1: Popup options MultiplayerJoinRoom = 1004, + EditMultiplayerRoomName = 1005, RenameSketch = 5200, OpenLayerOptionsPopup = 5201, @@ -4510,6 +4511,14 @@ public void IssueGlobalCommand(GlobalCommands rEnum, int iParam1 = -1, DismissPopupOnCurrentGazeObject(false); break; } + case GlobalCommands.EditMultiplayerRoomName: + { + var panel = (MultiplayerPanel)m_PanelManager.GetActivePanelByType(BasePanel.PanelType.Multiplayer); + panel.SetRoomName(KeyboardPopUpWindow.m_LastInput); + DismissPopupOnCurrentGazeObject(false); + break; + } + case GlobalCommands.ShowWindowGUI: break; case GlobalCommands.Disco: From 16d3746a54aef553f5181e3f7dca199ee2a2493d Mon Sep 17 00:00:00 2001 From: Andy Baker Date: Mon, 7 Oct 2024 13:39:07 +0100 Subject: [PATCH 15/43] Buttons were too close to panel --- Assets/Prefabs/Panels/MultiplayerPanel.prefab | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Assets/Prefabs/Panels/MultiplayerPanel.prefab b/Assets/Prefabs/Panels/MultiplayerPanel.prefab index 769a11feba..223f67640c 100644 --- a/Assets/Prefabs/Panels/MultiplayerPanel.prefab +++ b/Assets/Prefabs/Panels/MultiplayerPanel.prefab @@ -971,7 +971,7 @@ Transform: m_GameObject: {fileID: 1697630693985053451} serializedVersion: 2 m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.329, y: 0.33, z: -0.03} + m_LocalPosition: {x: -0.329, y: 0.33, z: -0.042} m_LocalScale: {x: 0.4, y: 0.4, z: 0.35} m_ConstrainProportionsScale: 0 m_Children: @@ -2067,7 +2067,7 @@ Transform: m_GameObject: {fileID: 5921902206488690915} serializedVersion: 2 m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.337, y: 0.33, z: -0.03} + m_LocalPosition: {x: 0.337, y: 0.33, z: -0.042} m_LocalScale: {x: 0.4, y: 0.4, z: 0.35} m_ConstrainProportionsScale: 0 m_Children: From 1637dc973b6675e2754d089906ec2cc3aa92d8ea Mon Sep 17 00:00:00 2001 From: Andy Baker Date: Mon, 7 Oct 2024 13:40:16 +0100 Subject: [PATCH 16/43] Don't init XR manager on start --- Assets/XR/XRGeneralSettings.asset | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Assets/XR/XRGeneralSettings.asset b/Assets/XR/XRGeneralSettings.asset index 96c69f9a3b..42542c8510 100644 --- a/Assets/XR/XRGeneralSettings.asset +++ b/Assets/XR/XRGeneralSettings.asset @@ -110,7 +110,7 @@ MonoBehaviour: m_Name: Standalone Settings m_EditorClassIdentifier: m_LoaderManagerInstance: {fileID: 8705794667931902858} - m_InitManagerOnStart: 1 + m_InitManagerOnStart: 0 --- !u!114 &6946956650545175336 MonoBehaviour: m_ObjectHideFlags: 0 From ba14137e91d6aefb64f4196d3297dd54b4cb4796 Mon Sep 17 00:00:00 2001 From: Andy Baker Date: Mon, 7 Oct 2024 13:41:12 +0100 Subject: [PATCH 17/43] OpenXR should be the default in the editor --- Assets/XR/XRGeneralSettings.asset | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Assets/XR/XRGeneralSettings.asset b/Assets/XR/XRGeneralSettings.asset index 42542c8510..4c02ba5d2d 100644 --- a/Assets/XR/XRGeneralSettings.asset +++ b/Assets/XR/XRGeneralSettings.asset @@ -157,7 +157,7 @@ MonoBehaviour: m_AutomaticLoading: 0 m_AutomaticRunning: 0 m_Loaders: - - {fileID: 11400000, guid: df02db4506fe02b4892b2f1dab25abe6, type: 2} + - {fileID: 11400000, guid: 0aff50989b9ead845bdb50daaf977456, type: 2} --- !u!114 &8915350425150617969 MonoBehaviour: m_ObjectHideFlags: 0 From ada058c8059be13cad1fd54195933d852d12bcc4 Mon Sep 17 00:00:00 2001 From: Andy Baker Date: Mon, 7 Oct 2024 13:51:21 +0100 Subject: [PATCH 18/43] Admin panel label tweaks --- Assets/Prefabs/Panels/AdminPanel.prefab | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Assets/Prefabs/Panels/AdminPanel.prefab b/Assets/Prefabs/Panels/AdminPanel.prefab index 1e8c7aceed..410bd34c98 100644 --- a/Assets/Prefabs/Panels/AdminPanel.prefab +++ b/Assets/Prefabs/Panels/AdminPanel.prefab @@ -2242,9 +2242,9 @@ MonoBehaviour: m_DescriptionText: m_LocalizedDescription: m_TableReference: - m_TableCollectionName: + m_TableCollectionName: GUID:c84355079ab3f3e4f8f3812258805f86 m_TableEntryReference: - m_KeyId: 0 + m_KeyId: 5065626072358912 m_Key: m_FallbackState: 0 m_WaitForCompletion: 0 @@ -3224,7 +3224,7 @@ GameObject: - component: {fileID: 6605348980898369502} - component: {fileID: 8695917633644188848} m_Layer: 16 - m_Name: Button_SaveOptions (1) + m_Name: Button_News m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -3328,7 +3328,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 6c6859eec74651247968d56b594ac313, type: 3} m_Name: m_EditorClassIdentifier: - m_DescriptionType: 0 + m_DescriptionType: -1 m_DescriptionYOffset: 0 m_DescriptionText: ADMIN_PANEL_SAVE_SKETCH_BUTTON_DESCRIPTION m_LocalizedDescription: @@ -3352,7 +3352,7 @@ MonoBehaviour: m_LocalVariables: [] m_DescriptionActivateSpeed: 12 m_DescriptionZScale: 1 - m_ButtonTexture: {fileID: 0} + m_ButtonTexture: {fileID: 2800000, guid: 78bb99e2fe13ca44d9d0b4ab7882f4ce, type: 3} m_AtlasTexture: 1 m_ToggleButton: 0 m_LongPressReleaseButton: 0 From 7a2b8322ba6aa43990c2dbb2b01b032d411694c7 Mon Sep 17 00:00:00 2001 From: Riccardo Bovo Date: Mon, 7 Oct 2024 20:39:32 +0100 Subject: [PATCH 19/43] Initialize keyboard with room name and refactor room name handling - Added initialization of the keyboard with the current room name in `MultiplayerPanelButton.cs`. - Changed `SetRoomName` to a property (`RoomName`) in `MultiplayerPanel.cs` for better readability and encapsulation. - Updated `SketchControlScript.cs` to use the new `RoomName` property. --- Assets/Scripts/GUI/MultiplayerPanel.cs | 22 +++++++++----------- Assets/Scripts/GUI/MultiplayerPanelButton.cs | 13 ++++++++++-- Assets/Scripts/SketchControlsScript.cs | 3 +-- 3 files changed, 22 insertions(+), 16 deletions(-) diff --git a/Assets/Scripts/GUI/MultiplayerPanel.cs b/Assets/Scripts/GUI/MultiplayerPanel.cs index ce3151c813..144eb8654b 100644 --- a/Assets/Scripts/GUI/MultiplayerPanel.cs +++ b/Assets/Scripts/GUI/MultiplayerPanel.cs @@ -16,6 +16,7 @@ using OpenBrush.Multiplayer; using TMPro; using UnityEngine; +using static TiltBrush.SketchControlsScript; namespace TiltBrush { @@ -23,11 +24,16 @@ public class MultiplayerPanel : BasePanel { [SerializeField] private TextMeshPro m_RoomNumberTextLobby; [SerializeField] private TextMeshPro m_RoomNumberTextRoomSettings; + private PanelManager m_PanelManager; - public void SetRoomName(string roomName) + public string RoomName { - data.roomName = roomName; - UpdateRoomNumberDisplay(); + get { return data.roomName; } + set + { + data.roomName = value; + UpdateRoomNumberDisplay(); + } } private RoomCreateData data = new RoomCreateData @@ -60,16 +66,11 @@ public enum Mode { Null, Lobby, - Joined, - //Create, - //RoomSettings, - //GeneralSettings + Joined } [SerializeField] private GameObject m_LobbyElements; [SerializeField] private GameObject m_JoinedElements; - //[SerializeField] private GameObject m_RoomSettingsElements; - //[SerializeField] private GameObject m_GeneralSettingsElements; private Mode m_CurrentMode; @@ -115,8 +116,6 @@ private void UpdateMode(Mode newMode) m_CurrentMode = newMode; m_LobbyElements.SetActive(m_CurrentMode == Mode.Lobby); m_JoinedElements.SetActive(m_CurrentMode == Mode.Joined); - //m_RoomSettingsElements.SetActive(m_CurrentMode == Mode.RoomSettings); - //m_GeneralSettingsElements.SetActive(m_CurrentMode == Mode.GeneralSettings); // Update room number display if switching to a mode that shows it if (m_CurrentMode == Mode.Lobby || m_CurrentMode == Mode.Joined) @@ -153,7 +152,6 @@ public void OnMultiplayerPanelButtonPressed(MultiplayerPanelButton button) break; case SketchControlsScript.GlobalCommands.MultiplayerJoinRoom: JoinRoom(); - Debug.Log("Joining room"); break; } } diff --git a/Assets/Scripts/GUI/MultiplayerPanelButton.cs b/Assets/Scripts/GUI/MultiplayerPanelButton.cs index afc40b2aea..925240841c 100644 --- a/Assets/Scripts/GUI/MultiplayerPanelButton.cs +++ b/Assets/Scripts/GUI/MultiplayerPanelButton.cs @@ -13,6 +13,7 @@ // limitations under the License. using UnityEngine; +using static UnityEditor.Experimental.GraphView.GraphView; namespace TiltBrush { @@ -21,15 +22,23 @@ public class MultiplayerPanelButton : OptionButton [SerializeField] private bool m_CommandIgnored = false; override protected void OnButtonPressed() - { + { + + MultiplayerPanel popup = m_Manager.GetComponent(); + // For some circumstances on mobile, we want to ignore the command, but still // notify the popup that we were pressed. Which happens below. if (!m_CommandIgnored) { + if (m_RequiresPopup & m_Command == SketchControlsScript.GlobalCommands.EditMultiplayerRoomName) + { + KeyboardPopUpWindow.m_InitialText = popup.RoomName; + } + base.OnButtonPressed(); } - MultiplayerPanel popup = m_Manager.GetComponent(); + Debug.Assert(popup != null); popup.OnMultiplayerPanelButtonPressed(this); } diff --git a/Assets/Scripts/SketchControlsScript.cs b/Assets/Scripts/SketchControlsScript.cs index 58d3e39e9e..e6677d4e5d 100644 --- a/Assets/Scripts/SketchControlsScript.cs +++ b/Assets/Scripts/SketchControlsScript.cs @@ -4514,11 +4514,10 @@ public void IssueGlobalCommand(GlobalCommands rEnum, int iParam1 = -1, case GlobalCommands.EditMultiplayerRoomName: { var panel = (MultiplayerPanel)m_PanelManager.GetActivePanelByType(BasePanel.PanelType.Multiplayer); - panel.SetRoomName(KeyboardPopUpWindow.m_LastInput); + panel.RoomName = KeyboardPopUpWindow.m_LastInput; DismissPopupOnCurrentGazeObject(false); break; } - case GlobalCommands.ShowWindowGUI: break; case GlobalCommands.Disco: From 02dbcfe7eababbc8af754adadee0c97f74e2ca28 Mon Sep 17 00:00:00 2001 From: Riccardo Bovo Date: Mon, 7 Oct 2024 21:26:16 +0100 Subject: [PATCH 20/43] Does Room exist -MultiplayerManager: Added DoesRoomNameExist() and updated m_RoomData for room validation. -MultiplayerPanel: Added UpdateRoomExistenceMessage() to indicate if a room exists or will be created (added a text to the prefab) --- Assets/Prefabs/Panels/MultiplayerPanel.prefab | 206 +++++++++++++++++- Assets/Scripts/GUI/MultiplayerPanel.cs | 35 ++- .../Scripts/Multiplayer/MultiplayerManager.cs | 11 + 3 files changed, 241 insertions(+), 11 deletions(-) diff --git a/Assets/Prefabs/Panels/MultiplayerPanel.prefab b/Assets/Prefabs/Panels/MultiplayerPanel.prefab index 223f67640c..5c9e6274f4 100644 --- a/Assets/Prefabs/Panels/MultiplayerPanel.prefab +++ b/Assets/Prefabs/Panels/MultiplayerPanel.prefab @@ -109,6 +109,7 @@ MonoBehaviour: m_PromoBorders: [] m_RoomNumberTextLobby: {fileID: 1974621732855197313} m_RoomNumberTextRoomSettings: {fileID: 932498118536074667} + m_DoesRoomNumberExist: {fileID: 5365545856024163458} m_LobbyElements: {fileID: 3644177191085397888} m_JoinedElements: {fileID: 6171746570159008301} references: @@ -971,7 +972,7 @@ Transform: m_GameObject: {fileID: 1697630693985053451} serializedVersion: 2 m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.329, y: 0.33, z: -0.042} + m_LocalPosition: {x: -0.329, y: 0.31899986, z: -0.042} m_LocalScale: {x: 0.4, y: 0.4, z: 0.35} m_ConstrainProportionsScale: 0 m_Children: @@ -1399,10 +1400,8 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_text: 'You are in! - - Share the room number with your sketch collaborators - to join ' + m_text: You have successfully joined the room! Share the room number with your + collaborators so they can join too. m_isRightToLeft: 0 m_fontAsset: {fileID: 11400000, guid: fce54057bad3d2d4cb3c36ee394be518, type: 2} m_sharedMaterial: {fileID: 2133298, guid: fce54057bad3d2d4cb3c36ee394be518, type: 2} @@ -1686,10 +1685,11 @@ Transform: m_GameObject: {fileID: 3644177191085397888} serializedVersion: 2 m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalPosition: {x: 0, y: -0.113, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: + - {fileID: 6321725960906406704} - {fileID: 1141409664942745479} - {fileID: 7383649761766971007} - {fileID: 1616599776894361023} @@ -1730,7 +1730,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0.586, y: 0.145} + m_AnchoredPosition: {x: 0.586, y: 0.13399984} m_SizeDelta: {x: 1.104868, y: 1.4460607} m_Pivot: {x: 0.5, y: 0.5} --- !u!23 &8238648932876523510 @@ -1867,6 +1867,194 @@ MonoBehaviour: m_hasFontAssetChanged: 0 m_renderer: {fileID: 8238648932876523510} m_maskType: 0 +--- !u!1 &4597522067460985994 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6321725960906406704} + - component: {fileID: 2972459032532661851} + - component: {fileID: 5365545856024163458} + - component: {fileID: 2149637936205218271} + m_Layer: 16 + m_Name: DoesRoomExistLabel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6321725960906406704 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4597522067460985994} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0.05} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2965947989537662772} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0.143, y: 1.179} + m_SizeDelta: {x: 1.104868, y: 1.4460607} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!23 &2972459032532661851 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4597522067460985994} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2133298, guid: fce54057bad3d2d4cb3c36ee394be518, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!114 &5365545856024163458 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4597522067460985994} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9541d86e2fd84c1d9990edf0852d74ab, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: This room does not exist yet. By pressing join, the room will be created. + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: fce54057bad3d2d4cb3c36ee394be518, type: 2} + m_sharedMaterial: {fileID: 2133298, guid: fce54057bad3d2d4cb3c36ee394be518, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 0.8 + m_fontSizeBase: 0.8 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 1024 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: -30 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 0 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: -0.31141979, y: 0.6332202, z: 0.083378464, w: 0.49275255} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + _SortingLayer: 0 + _SortingLayerID: 0 + _SortingOrder: 0 + m_hasFontAssetChanged: 0 + m_renderer: {fileID: 2972459032532661851} + m_maskType: 0 +--- !u!114 &2149637936205218271 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4597522067460985994} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 69beb381e244f92449b8c4cf954630e9, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjects: [] + references: + version: 2 + RefIds: [] --- !u!1 &4649946342403727185 GameObject: m_ObjectHideFlags: 0 @@ -2067,7 +2255,7 @@ Transform: m_GameObject: {fileID: 5921902206488690915} serializedVersion: 2 m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.337, y: 0.33, z: -0.042} + m_LocalPosition: {x: 0.337, y: 0.319, z: -0.042} m_LocalScale: {x: 0.4, y: 0.4, z: 0.35} m_ConstrainProportionsScale: 0 m_Children: @@ -2463,7 +2651,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0.152} + m_AnchoredPosition: {x: 0, y: 0.14099984} m_SizeDelta: {x: 1.104868, y: 1.4460607} m_Pivot: {x: 0.5, y: 0.5} --- !u!23 &9202472902960767262 diff --git a/Assets/Scripts/GUI/MultiplayerPanel.cs b/Assets/Scripts/GUI/MultiplayerPanel.cs index 144eb8654b..9148311c1f 100644 --- a/Assets/Scripts/GUI/MultiplayerPanel.cs +++ b/Assets/Scripts/GUI/MultiplayerPanel.cs @@ -24,6 +24,8 @@ public class MultiplayerPanel : BasePanel { [SerializeField] private TextMeshPro m_RoomNumberTextLobby; [SerializeField] private TextMeshPro m_RoomNumberTextRoomSettings; + [SerializeField] private TextMeshPro m_DoesRoomNumberExist; + private PanelManager m_PanelManager; public string RoomName @@ -32,18 +34,30 @@ public string RoomName set { data.roomName = value; - UpdateRoomNumberDisplay(); + UpdateRoomNumberDisplay(); + UpdateRoomExistenceMessage(); } } private RoomCreateData data = new RoomCreateData { - roomName = GenerateRandomRoomName(), + roomName = GenerateUniqueRoomName(), @private = false, maxPlayers = 4, voiceDisabled = false }; + private static string GenerateUniqueRoomName() + { + string roomName; + do + { + roomName = GenerateRandomRoomName(); + } while (MultiplayerManager.m_Instance.DoesRoomNameExist(roomName)); + + return roomName; + } + private static string GenerateRandomRoomName() { System.Random random = new System.Random(); @@ -111,6 +125,23 @@ private async void JoinRoom() } } + private void UpdateRoomExistenceMessage() + { + if (m_RoomNumberTextLobby) return; + + if (MultiplayerManager.m_Instance != null && m_DoesRoomNumberExist != null) + { + if (MultiplayerManager.m_Instance.DoesRoomNameExist(data.roomName)) + { + m_DoesRoomNumberExist.text = "This room exists. You will be joining an active session. You can change the room number by pressing edit."; + } + else + { + m_DoesRoomNumberExist.text = "This room does not exist yet. By pressing join, the room will be created."; + } + } + } + private void UpdateMode(Mode newMode) { m_CurrentMode = newMode; diff --git a/Assets/Scripts/Multiplayer/MultiplayerManager.cs b/Assets/Scripts/Multiplayer/MultiplayerManager.cs index c1b44cea49..edf2352bc6 100644 --- a/Assets/Scripts/Multiplayer/MultiplayerManager.cs +++ b/Assets/Scripts/Multiplayer/MultiplayerManager.cs @@ -46,6 +46,7 @@ public class MultiplayerManager : MonoBehaviour public Action> remotePlayerJoined; public Action playerLeft; public Action> roomDataRefreshed; + private List m_RoomData = new List(); ulong myOculusUserId; @@ -120,6 +121,16 @@ public async Task Connect(RoomCreateData data) return await m_Manager.Connect(data); } + public bool DoesRoomNameExist(string roomName) + { + return m_RoomData.Any(room => room.roomName == roomName); + } + + void OnRoomDataRefreshed(List rooms) + { + m_RoomData = rooms; + } + void Update() { if (App.CurrentState != App.AppState.Standard || m_Manager == null) From af158cc0d99307be58853ca4ad4a52c392067d0f Mon Sep 17 00:00:00 2001 From: Riccardo Bovo Date: Mon, 7 Oct 2024 22:05:42 +0100 Subject: [PATCH 21/43] Update MultiplayerManager.cs remove 'GraphView' --- Assets/Scripts/Multiplayer/MultiplayerManager.cs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Assets/Scripts/Multiplayer/MultiplayerManager.cs b/Assets/Scripts/Multiplayer/MultiplayerManager.cs index edf2352bc6..79775f33bd 100644 --- a/Assets/Scripts/Multiplayer/MultiplayerManager.cs +++ b/Assets/Scripts/Multiplayer/MultiplayerManager.cs @@ -271,5 +271,15 @@ async void ShareAnchors() } #endif // OCULUS_SUPPORTED } + + public async Task Disconnect(bool force = false) + { + if (m_Manager != null) + { + return await m_Manager.Disconnect(force); + } + return true; + } + } } From 3e3bc6f6c3d4dbbf37dc4b052b663871a79f91cd Mon Sep 17 00:00:00 2001 From: Andy Baker Date: Wed, 9 Oct 2024 10:21:51 +0100 Subject: [PATCH 22/43] Remove graphview reference --- Assets/Scripts/GUI/MultiplayerPanelButton.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/Assets/Scripts/GUI/MultiplayerPanelButton.cs b/Assets/Scripts/GUI/MultiplayerPanelButton.cs index 925240841c..7177119595 100644 --- a/Assets/Scripts/GUI/MultiplayerPanelButton.cs +++ b/Assets/Scripts/GUI/MultiplayerPanelButton.cs @@ -13,7 +13,6 @@ // limitations under the License. using UnityEngine; -using static UnityEditor.Experimental.GraphView.GraphView; namespace TiltBrush { From 562b5bd88c14a37197024bc333ea8d9e14695d0b Mon Sep 17 00:00:00 2001 From: Andy Baker Date: Wed, 9 Oct 2024 10:22:41 +0100 Subject: [PATCH 23/43] dotnet format --- Assets/Scripts/GUI/MultiplayerPanel.cs | 6 +++--- Assets/Scripts/GUI/MultiplayerPanelButton.cs | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Assets/Scripts/GUI/MultiplayerPanel.cs b/Assets/Scripts/GUI/MultiplayerPanel.cs index 9148311c1f..7f2f4056d0 100644 --- a/Assets/Scripts/GUI/MultiplayerPanel.cs +++ b/Assets/Scripts/GUI/MultiplayerPanel.cs @@ -35,7 +35,7 @@ public string RoomName { data.roomName = value; UpdateRoomNumberDisplay(); - UpdateRoomExistenceMessage(); + UpdateRoomExistenceMessage(); } } @@ -157,7 +157,7 @@ private void UpdateMode(Mode newMode) private void RefreshObjects() { - + } // This function serves as a callback from ProfilePopUpButtons that want to @@ -172,7 +172,7 @@ public void OnMultiplayerPanelButtonPressed(MultiplayerPanelButton button) RefreshObjects(); break; case SketchControlsScript.GlobalCommands.MultiplayerPanelOptions: - switch((Mode)button.m_CommandParam) + switch ((Mode)button.m_CommandParam) { case Mode.Lobby: UpdateMode(Mode.Lobby); diff --git a/Assets/Scripts/GUI/MultiplayerPanelButton.cs b/Assets/Scripts/GUI/MultiplayerPanelButton.cs index 7177119595..2a78479bcb 100644 --- a/Assets/Scripts/GUI/MultiplayerPanelButton.cs +++ b/Assets/Scripts/GUI/MultiplayerPanelButton.cs @@ -21,10 +21,10 @@ public class MultiplayerPanelButton : OptionButton [SerializeField] private bool m_CommandIgnored = false; override protected void OnButtonPressed() - { + { MultiplayerPanel popup = m_Manager.GetComponent(); - + // For some circumstances on mobile, we want to ignore the command, but still // notify the popup that we were pressed. Which happens below. if (!m_CommandIgnored) @@ -37,7 +37,7 @@ override protected void OnButtonPressed() base.OnButtonPressed(); } - + Debug.Assert(popup != null); popup.OnMultiplayerPanelButtonPressed(this); } From a8e177b31d1455c432ad73138b2df886f7bf9396 Mon Sep 17 00:00:00 2001 From: Riccardo Bovo Date: Thu, 10 Oct 2024 17:53:38 +0100 Subject: [PATCH 24/43] Add Disconnection Handling for Multiplayer Mode Update This change set introduces event-driven handling for multiplayer disconnections and ensures that the MultiplayerPanel properly updates its UI when a disconnection occurs. --- Assets/Scripts/GUI/MultiplayerPanel.cs | 9 +++++++-- Assets/Scripts/Multiplayer/MultiplayerInterfaces.cs | 3 +++ Assets/Scripts/Multiplayer/MultiplayerManager.cs | 10 ++++++++++ Assets/Scripts/Multiplayer/Photon/PhotonManager.cs | 6 +++++- 4 files changed, 25 insertions(+), 3 deletions(-) diff --git a/Assets/Scripts/GUI/MultiplayerPanel.cs b/Assets/Scripts/GUI/MultiplayerPanel.cs index 7f2f4056d0..03c8e8036b 100644 --- a/Assets/Scripts/GUI/MultiplayerPanel.cs +++ b/Assets/Scripts/GUI/MultiplayerPanel.cs @@ -12,11 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. -using System; using OpenBrush.Multiplayer; using TMPro; using UnityEngine; -using static TiltBrush.SketchControlsScript; namespace TiltBrush { @@ -99,6 +97,12 @@ public override void InitPanel() public async void InitMultiplayer() { bool success = await MultiplayerManager.m_Instance.Init(); + MultiplayerManager.m_Instance.Disconnected += OnDisconnected; + } + + private void OnDisconnected() + { + UpdateMode(Mode.Lobby); } private async void JoinRoom() @@ -160,6 +164,7 @@ private void RefreshObjects() } + // This function serves as a callback from ProfilePopUpButtons that want to // change the mode of the popup on click. public void OnMultiplayerPanelButtonPressed(MultiplayerPanelButton button) diff --git a/Assets/Scripts/Multiplayer/MultiplayerInterfaces.cs b/Assets/Scripts/Multiplayer/MultiplayerInterfaces.cs index 421b00067c..432d5f7ad5 100644 --- a/Assets/Scripts/Multiplayer/MultiplayerInterfaces.cs +++ b/Assets/Scripts/Multiplayer/MultiplayerInterfaces.cs @@ -35,6 +35,9 @@ public interface IConnectionHandler Task RedoCommand(BaseCommand command); Task RpcSyncToSharedAnchor(string uuid); + event Action Disconnected; + + //ITransientData SpawnPlayer(); } diff --git a/Assets/Scripts/Multiplayer/MultiplayerManager.cs b/Assets/Scripts/Multiplayer/MultiplayerManager.cs index 79775f33bd..995861e674 100644 --- a/Assets/Scripts/Multiplayer/MultiplayerManager.cs +++ b/Assets/Scripts/Multiplayer/MultiplayerManager.cs @@ -36,6 +36,7 @@ public class MultiplayerManager : MonoBehaviour { public static MultiplayerManager m_Instance; public MultiplayerType m_MultiplayerType; + public event Action Disconnected; private IConnectionHandler m_Manager; @@ -48,6 +49,8 @@ public class MultiplayerManager : MonoBehaviour public Action> roomDataRefreshed; private List m_RoomData = new List(); + + ulong myOculusUserId; List oculusPlayerIds; @@ -82,6 +85,7 @@ void Start() case MultiplayerType.Photon: #if FUSION_WEAVER m_Manager = new PhotonManager(this); + m_Manager.Disconnected += OnConnectionHandlerDisconnected; #endif // FUSION_WEAVER break; default: @@ -281,5 +285,11 @@ public async Task Disconnect(bool force = false) return true; } + private void OnConnectionHandlerDisconnected() + { + // Invoke the Disconnected event + Disconnected?.Invoke(); + } + } } diff --git a/Assets/Scripts/Multiplayer/Photon/PhotonManager.cs b/Assets/Scripts/Multiplayer/Photon/PhotonManager.cs index f25d9a7901..635688d31b 100644 --- a/Assets/Scripts/Multiplayer/Photon/PhotonManager.cs +++ b/Assets/Scripts/Multiplayer/Photon/PhotonManager.cs @@ -38,6 +38,8 @@ public class PhotonManager : IConnectionHandler, INetworkRunnerCallbacks AppSettings m_PhotonAppSettings; + public event Action Disconnected; + public PhotonManager(MultiplayerManager manager) { m_Manager = manager; @@ -318,7 +320,9 @@ public void OnSessionListUpdated(NetworkRunner runner, List session #endregion #region Unused Photon Callbacks - public void OnShutdown(NetworkRunner runner, ShutdownReason shutdownReason) { } + public void OnShutdown(NetworkRunner runner, ShutdownReason shutdownReason) { + Disconnected?.Invoke(); + } public void OnDisconnectedFromServer(NetworkRunner runner) { } public void OnConnectFailed(NetworkRunner runner, NetAddress remoteAddress, NetConnectFailedReason reason) { } public void OnInput(NetworkRunner runner, NetworkInput input) { } From 438a276f6ef1c787c02408018d6d4a73753f6ba6 Mon Sep 17 00:00:00 2001 From: Riccardo Bovo Date: Thu, 10 Oct 2024 18:14:29 +0100 Subject: [PATCH 25/43] Add Leave Room button Add Leave Room button Add Leave Room Global Command --- Assets/Prefabs/Panels/MultiplayerPanel.prefab | 368 +++++++++++++++++- Assets/Scripts/GUI/MultiplayerPanel.cs | 28 ++ Assets/Scripts/SketchControlsScript.cs | 1 + 3 files changed, 392 insertions(+), 5 deletions(-) diff --git a/Assets/Prefabs/Panels/MultiplayerPanel.prefab b/Assets/Prefabs/Panels/MultiplayerPanel.prefab index 5c9e6274f4..b628483d3d 100644 --- a/Assets/Prefabs/Panels/MultiplayerPanel.prefab +++ b/Assets/Prefabs/Panels/MultiplayerPanel.prefab @@ -1335,7 +1335,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0.104, y: 0.625} + m_AnchoredPosition: {x: 0.104, y: 0.9} m_SizeDelta: {x: 1.104868, y: 1.4460607} m_Pivot: {x: 0.5, y: 0.5} --- !u!23 &3015414681375869025 @@ -1675,7 +1675,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!4 &2965947989537662772 Transform: m_ObjectHideFlags: 0 @@ -2089,7 +2089,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0.15199947} + m_AnchoredPosition: {x: 0, y: 0.36000013} m_SizeDelta: {x: 1.104868, y: 1.4460607} m_Pivot: {x: 0.5, y: 0.5} --- !u!23 &1001195632747271077 @@ -2427,7 +2427,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 0 + m_IsActive: 1 --- !u!4 &438733611317437076 Transform: m_ObjectHideFlags: 0 @@ -2444,6 +2444,7 @@ Transform: - {fileID: 3068395288206314123} - {fileID: 3577413846294365787} - {fileID: 4072971569122874247} + - {fileID: 977540286295220915} m_Father: {fileID: 415082} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &6437768756802778087 @@ -2480,7 +2481,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0.586, y: 0.1449995} + m_AnchoredPosition: {x: 0.586, y: 0.353} m_SizeDelta: {x: 1.104868, y: 1.4460607} m_Pivot: {x: 0.5, y: 0.5} --- !u!23 &6918572163598264854 @@ -2617,6 +2618,192 @@ MonoBehaviour: m_hasFontAssetChanged: 0 m_renderer: {fileID: 6918572163598264854} m_maskType: 0 +--- !u!1 &7389879374748736206 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 977540286295220915} + - component: {fileID: 1862823799823796671} + - component: {fileID: 6441155883621675907} + - component: {fileID: 837553751123664783} + - component: {fileID: 4434619620066107605} + m_Layer: 16 + m_Name: Disconnect Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &977540286295220915 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7389879374748736206} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.01, y: -0.008, z: -0.042} + m_LocalScale: {x: 0.5, y: 0.4, z: 0.35} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 5290855516666066687} + m_Father: {fileID: 438733611317437076} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &1862823799823796671 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7389879374748736206} + m_Mesh: {fileID: 4300000, guid: 70d5ab47bcc3aa0439e20bd40350c05a, type: 3} +--- !u!23 &6441155883621675907 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7389879374748736206} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 40d29de2bdc11f04dbfa25059165916e, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!65 &837553751123664783 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7389879374748736206} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1.5, y: 1, z: 0.1} + m_Center: {x: -0.000000074505806, y: 0.000000022351742, z: 0} +--- !u!114 &4434619620066107605 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7389879374748736206} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b78a8d7209bbdc546979b549a875d550, type: 3} + m_Name: + m_EditorClassIdentifier: + m_DescriptionType: 0 + m_DescriptionYOffset: 0 + m_DescriptionText: + m_LocalizedDescription: + m_TableReference: + m_TableCollectionName: + m_TableEntryReference: + m_KeyId: 0 + m_Key: + m_FallbackState: 0 + m_WaitForCompletion: 0 + m_LocalVariables: [] + m_DescriptionTextExtra: + m_LocalizedDescriptionExtra: + m_TableReference: + m_TableCollectionName: + m_TableEntryReference: + m_KeyId: 0 + m_Key: + m_FallbackState: 0 + m_WaitForCompletion: 0 + m_LocalVariables: [] + m_DescriptionActivateSpeed: 12 + m_DescriptionZScale: 1 + m_ButtonTexture: {fileID: 2800000, guid: cdc7d38d9e0b30443961d1cc27195586, type: 3} + m_AtlasTexture: 1 + m_ToggleButton: 0 + m_LongPressReleaseButton: 0 + m_ButtonHasPressedAudio: 1 + m_ZAdjustHover: -0.02 + m_ZAdjustClick: 0.02 + m_HoverScale: 1.1 + m_HoverBoxColliderGrow: 0.2 + m_AddOverlay: 0 + m_Command: 1006 + m_CommandParam: 1 + m_CommandParam2: -1 + m_RequiresPopup: 0 + m_CenterPopupOnButton: 0 + m_PopupOffset: {x: 0, y: 0, z: 0} + m_PopupText: + m_LocalizedPopup: + m_TableReference: + m_TableCollectionName: + m_TableEntryReference: + m_KeyId: 0 + m_Key: + m_FallbackState: 0 + m_WaitForCompletion: 0 + m_LocalVariables: [] + m_ToggleOnDescription: + m_LocalizedToggleOnDescription: + m_TableReference: + m_TableCollectionName: + m_TableEntryReference: + m_KeyId: 0 + m_Key: + m_FallbackState: 0 + m_WaitForCompletion: 0 + m_LocalVariables: [] + m_ToggleOnTexture: {fileID: 0} + m_AllowUnavailable: 0 + m_LinkedUIObject: {fileID: 0} + m_CommandIgnored: 0 + references: + version: 2 + RefIds: [] --- !u!1 &8016613551395990211 GameObject: m_ObjectHideFlags: 0 @@ -2788,6 +2975,177 @@ MonoBehaviour: m_hasFontAssetChanged: 0 m_renderer: {fileID: 9202472902960767262} m_maskType: 0 +--- !u!1 &8600076904461278434 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5290855516666066687} + - component: {fileID: 6290074660409098260} + - component: {fileID: 9129926250020437674} + m_Layer: 16 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5290855516666066687 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8600076904461278434} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0.057142857} + m_LocalScale: {x: 2.5, y: 2.5, z: 2.8571427} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 977540286295220915} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -0.56, y: 0.8399991} + m_SizeDelta: {x: 1.104868, y: 1.4460607} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!23 &6290074660409098260 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8600076904461278434} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2133298, guid: fce54057bad3d2d4cb3c36ee394be518, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!114 &9129926250020437674 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8600076904461278434} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9541d86e2fd84c1d9990edf0852d74ab, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: Disconnect + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: fce54057bad3d2d4cb3c36ee394be518, type: 2} + m_sharedMaterial: {fileID: 2133298, guid: fce54057bad3d2d4cb3c36ee394be518, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 1.4 + m_fontSizeBase: 1.4 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: -30 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 0 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0.48827845, y: 0.8604479, z: 0.054796636, w: 0.19184232} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + _SortingLayer: 0 + _SortingLayerID: 0 + _SortingOrder: 0 + m_hasFontAssetChanged: 0 + m_renderer: {fileID: 6290074660409098260} + m_maskType: 0 --- !u!1 &8667602655244155954 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/GUI/MultiplayerPanel.cs b/Assets/Scripts/GUI/MultiplayerPanel.cs index 03c8e8036b..0996a7f4b0 100644 --- a/Assets/Scripts/GUI/MultiplayerPanel.cs +++ b/Assets/Scripts/GUI/MultiplayerPanel.cs @@ -123,6 +123,31 @@ private async void JoinRoom() else { Debug.LogError("Failed to connect to room."); + + // Provide user feedback with some UI element + } + + } + } + + private async void LeaveRoom() + { + if (MultiplayerManager.m_Instance != null) + { + + bool success = await MultiplayerManager.m_Instance.Disconnect(false); + + if (success) + { + Debug.Log("Left room successfully."); + + // Additional UI updates or feedback + UpdateMode(Mode.Lobby); + UpdateRoomNumberDisplay(); // Update room number display after joining + } + else + { + Debug.LogError("Failed to leave to room."); // Provide user feedback with some UI element } @@ -189,6 +214,9 @@ public void OnMultiplayerPanelButtonPressed(MultiplayerPanelButton button) case SketchControlsScript.GlobalCommands.MultiplayerJoinRoom: JoinRoom(); break; + case SketchControlsScript.GlobalCommands.MultiplayerLeaveRoom: + LeaveRoom(); + break; } } } diff --git a/Assets/Scripts/SketchControlsScript.cs b/Assets/Scripts/SketchControlsScript.cs index b32ab97bcd..fd61b1b30f 100644 --- a/Assets/Scripts/SketchControlsScript.cs +++ b/Assets/Scripts/SketchControlsScript.cs @@ -150,6 +150,7 @@ public enum GlobalCommands MultiplayerPanelOptions = 1002, // iParam1: Popup options MultiplayerJoinRoom = 1004, EditMultiplayerRoomName = 1005, + MultiplayerLeaveRoom = 1006, RenameSketch = 5200, OpenLayerOptionsPopup = 5201, From f2d21086fe8d7394d2ba841556faa5e8377a1e4a Mon Sep 17 00:00:00 2001 From: Riccardo Bovo Date: Sun, 13 Oct 2024 19:04:42 +0100 Subject: [PATCH 26/43] Update PhotonPlayerRig.prefab --- .../Multiplayer/Photon/PhotonPlayerRig.prefab | 43 +++++++++++++------ 1 file changed, 30 insertions(+), 13 deletions(-) diff --git a/Assets/Resources/Multiplayer/Photon/PhotonPlayerRig.prefab b/Assets/Resources/Multiplayer/Photon/PhotonPlayerRig.prefab index a042c63202..8542ca6955 100644 --- a/Assets/Resources/Multiplayer/Photon/PhotonPlayerRig.prefab +++ b/Assets/Resources/Multiplayer/Photon/PhotonPlayerRig.prefab @@ -25,6 +25,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 303516855785969295} + 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} @@ -33,7 +34,6 @@ Transform: - {fileID: 5041384770245166357} - {fileID: 1457871284126546349} m_Father: {fileID: 0} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &7533779467632377196 MonoBehaviour: @@ -47,6 +47,8 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: f250b0d6a1df335439813ad43ce3dbdb, type: 3} m_Name: m_EditorClassIdentifier: + WordOffset: 0 + WordCount: 0 _interpolationDataSource: 0 m_PlayArea: {fileID: 8895232112724846442} m_PlayerHead: {fileID: 5083753190464579125} @@ -55,6 +57,7 @@ MonoBehaviour: m_Tool: {fileID: 5771162771103583132} _oculusPlayerId: 0 headTransform: {fileID: 5041384770245166357} + m_PlayerId: 0 --- !u!114 &6752862290110515822 MonoBehaviour: m_ObjectHideFlags: 0 @@ -108,6 +111,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 459460118330075700} + 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} @@ -115,7 +119,6 @@ Transform: m_Children: - {fileID: 3005319065403690882} m_Father: {fileID: 1457871284126546349} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &8895232112724846442 MonoBehaviour: @@ -129,6 +132,8 @@ MonoBehaviour: m_Script: {fileID: 158639473, guid: e725a070cec140c4caffb81624c8c787, type: 3} m_Name: m_EditorClassIdentifier: + WordOffset: 0 + WordCount: 0 _interpolationDataSource: 0 InterpolationSpace: 0 InterpolationTarget: {fileID: 3005319065403690882} @@ -169,6 +174,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1184365666732702344} + 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} @@ -176,7 +182,6 @@ Transform: m_Children: - {fileID: 4501806461527917157} m_Father: {fileID: 1457871284126546349} - m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &4999079164026519325 MonoBehaviour: @@ -190,6 +195,8 @@ MonoBehaviour: m_Script: {fileID: 158639473, guid: e725a070cec140c4caffb81624c8c787, type: 3} m_Name: m_EditorClassIdentifier: + WordOffset: 0 + WordCount: 0 _interpolationDataSource: 0 InterpolationSpace: 0 InterpolationTarget: {fileID: 4501806461527917157} @@ -229,13 +236,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2181518286534520838} + 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: 8617970912018780043} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &2546328019691961597 GameObject: @@ -261,6 +268,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2546328019691961597} + 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} @@ -268,7 +276,6 @@ Transform: m_Children: - {fileID: 2514485848220458462} m_Father: {fileID: 1457871284126546349} - m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &5083753190464579125 MonoBehaviour: @@ -282,6 +289,8 @@ MonoBehaviour: m_Script: {fileID: 158639473, guid: e725a070cec140c4caffb81624c8c787, type: 3} m_Name: m_EditorClassIdentifier: + WordOffset: 0 + WordCount: 0 _interpolationDataSource: 0 InterpolationSpace: 0 InterpolationTarget: {fileID: 2514485848220458462} @@ -322,6 +331,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2568790808486584579} + 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} @@ -329,7 +339,6 @@ Transform: m_Children: - {fileID: 1310333546402417676} m_Father: {fileID: 1457871284126546349} - m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &6268094594865570998 MonoBehaviour: @@ -343,6 +352,8 @@ MonoBehaviour: m_Script: {fileID: 158639473, guid: e725a070cec140c4caffb81624c8c787, type: 3} m_Name: m_EditorClassIdentifier: + WordOffset: 0 + WordCount: 0 _interpolationDataSource: 0 InterpolationSpace: 0 InterpolationTarget: {fileID: 1310333546402417676} @@ -382,13 +393,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 3333659737751141766} + 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: 6539275587195953435} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &5681254972916902966 GameObject: @@ -413,6 +424,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 5681254972916902966} + 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} @@ -420,7 +432,6 @@ Transform: m_Children: - {fileID: 7120707258077581554} m_Father: {fileID: 6718544642020818535} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &5736389435991655852 GameObject: @@ -445,13 +456,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 5736389435991655852} + 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: 5887326793658353859} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &6003437268994292288 GameObject: @@ -476,13 +487,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 6003437268994292288} + 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: 7668165333132264083} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &7803168780329886017 GameObject: @@ -508,6 +519,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 7803168780329886017} + 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} @@ -515,7 +527,6 @@ Transform: m_Children: - {fileID: 2439271445520760248} m_Father: {fileID: 1457871284126546349} - m_RootOrder: 4 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &5771162771103583132 MonoBehaviour: @@ -529,6 +540,8 @@ MonoBehaviour: m_Script: {fileID: 158639473, guid: e725a070cec140c4caffb81624c8c787, type: 3} m_Name: m_EditorClassIdentifier: + WordOffset: 0 + WordCount: 0 _interpolationDataSource: 0 InterpolationSpace: 0 InterpolationTarget: {fileID: 2439271445520760248} @@ -568,6 +581,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 8601996063017238699} + 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} @@ -579,7 +593,6 @@ Transform: - {fileID: 7668165333132264083} - {fileID: 8617970912018780043} m_Father: {fileID: 6718544642020818535} - m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &8742815544225261104 GameObject: @@ -604,19 +617,20 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 8742815544225261104} + 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: 1030654070696327489} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1001 &8559495263563694728 PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: + serializedVersion: 3 m_TransformParent: {fileID: 5041384770245166357} m_Modifications: - target: {fileID: 1448111865499013753, guid: 834f4ac71ec35d148acacfca28f04405, @@ -695,6 +709,9 @@ PrefabInstance: value: 0 objectReference: {fileID: 0} m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 834f4ac71ec35d148acacfca28f04405, type: 3} --- !u!4 &7120707258077581554 stripped Transform: From b9fcd275024d703aeaaf53fc87a87a9f11887b57 Mon Sep 17 00:00:00 2001 From: Riccardo Bovo Date: Mon, 14 Oct 2024 12:12:30 +0100 Subject: [PATCH 27/43] Update MultiplayerPanel.prefab --- Assets/Prefabs/Panels/MultiplayerPanel.prefab | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Assets/Prefabs/Panels/MultiplayerPanel.prefab b/Assets/Prefabs/Panels/MultiplayerPanel.prefab index b628483d3d..3a2aa510c4 100644 --- a/Assets/Prefabs/Panels/MultiplayerPanel.prefab +++ b/Assets/Prefabs/Panels/MultiplayerPanel.prefab @@ -1675,7 +1675,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 0 + m_IsActive: 1 --- !u!4 &2965947989537662772 Transform: m_ObjectHideFlags: 0 @@ -2427,7 +2427,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!4 &438733611317437076 Transform: m_ObjectHideFlags: 0 From fc4d4310c4fc124170d99dbf3e5abac288da59f9 Mon Sep 17 00:00:00 2001 From: Riccardo Bovo Date: Mon, 14 Oct 2024 15:52:28 +0100 Subject: [PATCH 28/43] Editor UI to test connection to the room --- Assets/Editor/MultiplayerManagerEditor.cs | 61 +++++++++++++++++++ .../Editor/MultiplayerManagerEditor.cs.meta | 11 ++++ 2 files changed, 72 insertions(+) create mode 100644 Assets/Editor/MultiplayerManagerEditor.cs create mode 100644 Assets/Editor/MultiplayerManagerEditor.cs.meta diff --git a/Assets/Editor/MultiplayerManagerEditor.cs b/Assets/Editor/MultiplayerManagerEditor.cs new file mode 100644 index 0000000000..909d5963ba --- /dev/null +++ b/Assets/Editor/MultiplayerManagerEditor.cs @@ -0,0 +1,61 @@ +// MultiplayerManagerInspector.cs +using UnityEditor; +using UnityEngine; +using OpenBrush.Multiplayer; +using System.Threading.Tasks; + +#if UNITY_EDITOR +[CustomEditor(typeof(MultiplayerManager))] +public class MultiplayerManagerInspector : Editor +{ + private MultiplayerManager multiplayerManager; + private string roomName = "1234"; + private bool isPrivate = false; + private int maxPlayers = 4; + private bool voiceDisabled = false; + + public override void OnInspectorGUI() + { + // Get the target object (MultiplayerManager) + multiplayerManager = (MultiplayerManager)target; + + GUILayout.Label("Multiplayer Manager Controls", EditorStyles.boldLabel); + + // Room data input fields + roomName = EditorGUILayout.TextField("Room Name", roomName); + + + if (GUILayout.Button("Connect to Room")) + { + ConnectToRoom(); + } + + // Draw default inspector below + DrawDefaultInspector(); + } + + private async void ConnectToRoom() + { + if (multiplayerManager != null) + { + RoomCreateData roomData = new RoomCreateData + { + roomName = roomName, + @private = isPrivate, + maxPlayers = maxPlayers, + voiceDisabled = voiceDisabled + }; + + bool success = await multiplayerManager.Connect(roomData); + if (success) + { + Debug.Log($"Successfully connected to room: {roomName}"); + } + else + { + Debug.LogError($"Failed to connect to room: {roomName}"); + } + } + } +} +#endif diff --git a/Assets/Editor/MultiplayerManagerEditor.cs.meta b/Assets/Editor/MultiplayerManagerEditor.cs.meta new file mode 100644 index 0000000000..48c328620f --- /dev/null +++ b/Assets/Editor/MultiplayerManagerEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: dd27756f885442546a0ff09f78c36081 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: From 321325470e64ada8c362bc193277c904f0b16f9b Mon Sep 17 00:00:00 2001 From: Riccardo Bovo Date: Mon, 14 Oct 2024 19:05:08 +0100 Subject: [PATCH 29/43] Reducing payload per Stroke Chunk - Reducing payload per Stroke Chunk from 128 control points to 10 control points - Adding a single point where the payload can be edited called NetworkingConstants this is then used both in PhotonStructs.cs and PhotonManager.cs --- .../Multiplayer/Photon/NetworkingConstants.cs | 42 +++++++++++++++++++ .../Photon/NetworkingConstants.cs.meta | 11 +++++ .../Multiplayer/Photon/PhotonManager.cs | 16 +++---- .../Multiplayer/Photon/PhotonStructs.cs | 2 +- 4 files changed, 63 insertions(+), 8 deletions(-) create mode 100644 Assets/Scripts/Multiplayer/Photon/NetworkingConstants.cs create mode 100644 Assets/Scripts/Multiplayer/Photon/NetworkingConstants.cs.meta diff --git a/Assets/Scripts/Multiplayer/Photon/NetworkingConstants.cs b/Assets/Scripts/Multiplayer/Photon/NetworkingConstants.cs new file mode 100644 index 0000000000..365c0b0523 --- /dev/null +++ b/Assets/Scripts/Multiplayer/Photon/NetworkingConstants.cs @@ -0,0 +1,42 @@ +// Copyright 2023 The Open Brush Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#if FUSION_WEAVER + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +namespace OpenBrush.Multiplayer +{ + public static class NetworkingConstants + { + // Maximum capacity for NetworkedStroke's NetworkArrays + public const int MaxControlPointsPerChunk = 10; + + // each control point is 36 bytes: + + // public Vector3 m_Pos 12 bytes (3 floats x 4 bytes each) + // public Quaternion m_Orient 16 bytes (4 floats x 4 bytes each) + // public float m_Pressure 4 bytes + // public uint m_TimestampMs 4 bytes + + // Given the maximum payload size of 512 bytes for Fusion RPCs + // (let's assume approximately 50 bytes for overhead) + // we can fit 12 control points in a single RPC + + } +} + +#endif // FUSION_WEAVER diff --git a/Assets/Scripts/Multiplayer/Photon/NetworkingConstants.cs.meta b/Assets/Scripts/Multiplayer/Photon/NetworkingConstants.cs.meta new file mode 100644 index 0000000000..d3b014b699 --- /dev/null +++ b/Assets/Scripts/Multiplayer/Photon/NetworkingConstants.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 47b83bde77ea0944890c05128ca9f8a1 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Multiplayer/Photon/PhotonManager.cs b/Assets/Scripts/Multiplayer/Photon/PhotonManager.cs index 635688d31b..fe2a64f23a 100644 --- a/Assets/Scripts/Multiplayer/Photon/PhotonManager.cs +++ b/Assets/Scripts/Multiplayer/Photon/PhotonManager.cs @@ -201,16 +201,18 @@ private bool ProcessCommand(BaseCommand command) private bool CommandBrushStroke(BrushStrokeCommand command) { var stroke = command.m_Stroke; + int maxPointsPerChunk = NetworkingConstants.MaxControlPointsPerChunk; - if (stroke.m_ControlPoints.Length > 128) + + if (stroke.m_ControlPoints.Length > maxPointsPerChunk) { // Split and Send - int numSplits = stroke.m_ControlPoints.Length / 128; + int numSplits = stroke.m_ControlPoints.Length / maxPointsPerChunk; var firstStroke = new Stroke(stroke) { - m_ControlPoints = stroke.m_ControlPoints.Take(128).ToArray(), - m_ControlPointsToDrop = stroke.m_ControlPointsToDrop.Take(128).ToArray() + m_ControlPoints = stroke.m_ControlPoints.Take(maxPointsPerChunk).ToArray(), + m_ControlPointsToDrop = stroke.m_ControlPointsToDrop.Take(maxPointsPerChunk).ToArray() }; var netStroke = new NetworkedStroke().Init(firstStroke); @@ -223,8 +225,8 @@ private bool CommandBrushStroke(BrushStrokeCommand command) // Middle for (int rounds = 1; rounds < numSplits + 1; ++rounds) { - var controlPoints = stroke.m_ControlPoints.Skip(rounds*128).Take(128).ToArray(); - var dropPoints = stroke.m_ControlPointsToDrop.Skip(rounds*128).Take(128).ToArray(); + var controlPoints = stroke.m_ControlPoints.Skip(rounds* maxPointsPerChunk).Take(maxPointsPerChunk).ToArray(); + var dropPoints = stroke.m_ControlPointsToDrop.Skip(rounds* maxPointsPerChunk).Take(maxPointsPerChunk).ToArray(); var netControlPoints = new NetworkedControlPoint[controlPoints.Length]; @@ -233,7 +235,7 @@ private bool CommandBrushStroke(BrushStrokeCommand command) netControlPoints[point] = new NetworkedControlPoint().Init(controlPoints[point]); } - PhotonRPC.RPC_BrushStrokeContinue(m_Runner, strokeGuid, rounds * 128, netControlPoints, dropPoints); + PhotonRPC.RPC_BrushStrokeContinue(m_Runner, strokeGuid, rounds * maxPointsPerChunk, netControlPoints, dropPoints); } // End diff --git a/Assets/Scripts/Multiplayer/Photon/PhotonStructs.cs b/Assets/Scripts/Multiplayer/Photon/PhotonStructs.cs index 10d6787740..6fcf181f93 100644 --- a/Assets/Scripts/Multiplayer/Photon/PhotonStructs.cs +++ b/Assets/Scripts/Multiplayer/Photon/PhotonStructs.cs @@ -93,7 +93,7 @@ internal static PointerManager.ControlPoint ToControlPoint(NetworkedControlPoint [System.Serializable] public struct NetworkedStroke : INetworkStruct { - public const int k_MaxCapacity = 128; + public const int k_MaxCapacity = NetworkingConstants.MaxControlPointsPerChunk; public Stroke.Type m_Type; [Networked][Capacity(k_MaxCapacity)] public NetworkArray m_ControlPointsToDrop => default; public Color m_Color; From 0c073166cc3a1a636618cfccae054a3a61e70fac Mon Sep 17 00:00:00 2001 From: Riccardo Bovo Date: Tue, 15 Oct 2024 11:23:10 +0100 Subject: [PATCH 30/43] update Build GitHub Actions workflow (build.yml) to use the new photon tag. --- .github/workflows/build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 431c04255a..2607fc0415 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -352,6 +352,7 @@ jobs: with: token: ${{ env.PHOTON_PAT }} repository: icosa-mirror/photon-fusion + ref: v1.1.10 path: photon-fusion-mirror/ - name: Copy photon files From eed2b6a06052baee123c3feaacdcda39a4ef82b1 Mon Sep 17 00:00:00 2001 From: Riccardo Bovo Date: Tue, 15 Oct 2024 11:58:27 +0100 Subject: [PATCH 31/43] Update PopUpWindow_NumericKeyboard.prefab aligning the collider --- .../PopUps/PopUpWindow_NumericKeyboard.prefab | 42 ++++++++++++++----- 1 file changed, 31 insertions(+), 11 deletions(-) diff --git a/Assets/Prefabs/PopUps/PopUpWindow_NumericKeyboard.prefab b/Assets/Prefabs/PopUps/PopUpWindow_NumericKeyboard.prefab index 81d84db7e4..97d03a4b77 100644 --- a/Assets/Prefabs/PopUps/PopUpWindow_NumericKeyboard.prefab +++ b/Assets/Prefabs/PopUps/PopUpWindow_NumericKeyboard.prefab @@ -27,6 +27,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 293902843205586148} + serializedVersion: 2 m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -0.672, y: -0.291, z: -0.018} m_LocalScale: {x: 0.2, y: 0.2, z: 0.2} @@ -35,7 +36,6 @@ Transform: - {fileID: 1534559809702098178} - {fileID: 1332166645596930261} m_Father: {fileID: 8645625735778197046} - m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &6720148685990472896 MeshFilter: @@ -95,9 +95,17 @@ BoxCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 293902843205586148} m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 m_IsTrigger: 0 + m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 2 + serializedVersion: 3 m_Size: {x: 1.0000001, y: 1, z: 0.01} m_Center: {x: 0, y: 0, z: -0.01} --- !u!114 &5466685659915710089 @@ -178,13 +186,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2617002625324559686} + serializedVersion: 2 m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 0.65, y: 0.65, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 334991469541287722} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &1778020965354640619 MeshFilter: @@ -261,13 +269,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 6530336952169636648} + serializedVersion: 2 m_LocalRotation: {x: 0.7071068, y: -0, z: -0, w: 0.7071068} m_LocalPosition: {x: 0, y: 0, z: 0.025} m_LocalScale: {x: 0.79999995, y: 0.02, z: 0.8} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 334991469541287722} - m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} --- !u!33 &6179665678031837250 MeshFilter: @@ -344,13 +352,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 8644332587409793350} + serializedVersion: 2 m_LocalRotation: {x: 0.5, y: 0.5, z: 0.5, w: 0.5} m_LocalPosition: {x: -1.084, y: 0.21799995, z: 0} m_LocalScale: {x: 42.020817, y: 61.109, z: 55.761967} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 8645625735778197046} - m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 90, z: 90} --- !u!33 &8610995081492312010 MeshFilter: @@ -428,6 +436,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 8644332587479430734} + serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 3, z: 0} m_LocalScale: {x: 1.5, y: 1.5, z: 1.5} @@ -435,7 +444,6 @@ Transform: m_Children: - {fileID: 8645625735778197046} m_Father: {fileID: 0} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &3095268576859284452 MonoBehaviour: @@ -479,11 +487,19 @@ BoxCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 8644332587479430734} m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 m_IsTrigger: 0 + m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 2.5, y: 1.5, z: 0.01} - m_Center: {x: 0, y: 0, z: -0.01} + serializedVersion: 3 + m_Size: {x: 1.1, y: 1.3, z: 0} + m_Center: {x: -1.1, y: 0.2, z: 0} --- !u!114 &8533537593755566908 MonoBehaviour: m_ObjectHideFlags: 0 @@ -519,6 +535,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 8644332587709734578} + 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} @@ -529,7 +546,6 @@ Transform: - {fileID: 4947855712410042213} - {fileID: 334991469541287722} m_Father: {fileID: 8645625734765961102} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &8644332588524666284 GameObject: @@ -556,13 +572,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 8644332588524666284} + serializedVersion: 2 m_LocalRotation: {x: 0.5, y: 0.5, z: 0.5, w: 0.5} m_LocalPosition: {x: -1.084, y: 0.218, z: 0} m_LocalScale: {x: 42.020817, y: 61.109, z: 55.761967} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 8645625735778197046} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 90, z: 90} --- !u!33 &8610995081988753086 MeshFilter: @@ -619,6 +635,7 @@ PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: + serializedVersion: 3 m_TransformParent: {fileID: 8645625735778197046} m_Modifications: - target: {fileID: 1934243545717122, guid: 8f1667dadbe5d554b83228c3a246c49f, type: 3} @@ -751,6 +768,9 @@ PrefabInstance: value: 0 objectReference: {fileID: 0} m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 8f1667dadbe5d554b83228c3a246c49f, type: 3} --- !u!224 &4947855712410042213 stripped RectTransform: From 0bb5dfe8eb288853be718363b0cb55a2ebb7f4e7 Mon Sep 17 00:00:00 2001 From: Riccardo Bovo Date: Tue, 15 Oct 2024 14:51:17 +0100 Subject: [PATCH 32/43] Include Photon Fusion project-specific assets in version control --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 48368ea94c..63fdc9292c 100644 --- a/.gitignore +++ b/.gitignore @@ -106,6 +106,7 @@ Packages/com.unity.xr.picoxr /Assets/Photon/** /Assets/Photon.meta !/Assets/Photon/Fusion/Resources/NetworkProjectConfig.fusion* +!/Assets/Photon/Fusion/User/NetworkPrefabAssetCollection.asset* # Cache files *.cache From ba5a48d4a560e2d69d3a724e762989ca2e561528 Mon Sep 17 00:00:00 2001 From: Riccardo Bovo Date: Tue, 15 Oct 2024 15:01:41 +0100 Subject: [PATCH 33/43] Include NetworkPrefabAssetCollection.asset in version control --- .../NetworkProjectConfig.fusion.meta | 2 +- .../User/NetworkPrefabAssetCollection.asset | 140 ++++++++++++++++++ .../NetworkPrefabAssetCollection.asset.meta | 8 + 3 files changed, 149 insertions(+), 1 deletion(-) create mode 100644 Assets/Photon/Fusion/User/NetworkPrefabAssetCollection.asset create mode 100644 Assets/Photon/Fusion/User/NetworkPrefabAssetCollection.asset.meta diff --git a/Assets/Photon/Fusion/Resources/NetworkProjectConfig.fusion.meta b/Assets/Photon/Fusion/Resources/NetworkProjectConfig.fusion.meta index 4e2a77bdf0..51d9b65b56 100644 --- a/Assets/Photon/Fusion/Resources/NetworkProjectConfig.fusion.meta +++ b/Assets/Photon/Fusion/Resources/NetworkProjectConfig.fusion.meta @@ -8,4 +8,4 @@ ScriptedImporter: assetBundleName: assetBundleVariant: script: {fileID: 11500000, guid: 66a64a17d0b40f34f9224317a5a84bf2, type: 3} - PrefabAssetsContainerPath: + PrefabAssetsContainerPath: Assets/Photon/Fusion/User/NetworkPrefabAssetCollection.asset diff --git a/Assets/Photon/Fusion/User/NetworkPrefabAssetCollection.asset b/Assets/Photon/Fusion/User/NetworkPrefabAssetCollection.asset new file mode 100644 index 0000000000..83c9fbd469 --- /dev/null +++ b/Assets/Photon/Fusion/User/NetworkPrefabAssetCollection.asset @@ -0,0 +1,140 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-9083623630631787094 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -571403812, guid: e725a070cec140c4caffb81624c8c787, type: 3} + m_Name: FusionAvatar + m_EditorClassIdentifier: + AssetGuid: + RawGuidValue: eedb965bcb4e568479a4828d17fbc1c3 +--- !u!114 &-8634165468179655760 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -571403812, guid: e725a070cec140c4caffb81624c8c787, type: 3} + m_Name: PlayerTransformPrototype + m_EditorClassIdentifier: + AssetGuid: + RawGuidValue: 3251faa3ac8a66642bf6f9e8433499da +--- !u!114 &-4186714766916533902 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -571403812, guid: e725a070cec140c4caffb81624c8c787, type: 3} + m_Name: FusionColocationDriver + m_EditorClassIdentifier: + AssetGuid: + RawGuidValue: 8ee45e6a80f151e48a85e55c1f12b1b1 +--- !u!114 &-1425436736254753242 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -571403812, guid: e725a070cec140c4caffb81624c8c787, type: 3} + m_Name: PlayerRB2DPrototype + m_EditorClassIdentifier: + AssetGuid: + RawGuidValue: dbc9b57ea26fbf84b8cc14b0882fe89b +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -225830702, guid: e725a070cec140c4caffb81624c8c787, type: 3} + m_Name: NetworkPrefabAssetCollection + m_EditorClassIdentifier: +--- !u!114 &978036179255198872 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -571403812, guid: e725a070cec140c4caffb81624c8c787, type: 3} + m_Name: BallPrototype + m_EditorClassIdentifier: + AssetGuid: + RawGuidValue: 61b6ef4ffff3d8f4498968869591d6bf +--- !u!114 &1917669454651198095 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -571403812, guid: e725a070cec140c4caffb81624c8c787, type: 3} + m_Name: PlayerPrototype + m_EditorClassIdentifier: + AssetGuid: + RawGuidValue: e4df49d0bf125a740a2c14ab6e887572 +--- !u!114 &4898726858778889578 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -571403812, guid: e725a070cec140c4caffb81624c8c787, type: 3} + m_Name: PlayerBallPrototype + m_EditorClassIdentifier: + AssetGuid: + RawGuidValue: 6eca58070665ea64797a9b124cb6ab03 +--- !u!114 &7972530008613410773 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -571403812, guid: e725a070cec140c4caffb81624c8c787, type: 3} + m_Name: NetworkedRig + m_EditorClassIdentifier: + AssetGuid: + RawGuidValue: 7f1f582839553344c8827c8e7f15e4b2 +--- !u!114 &8276825046164498565 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -571403812, guid: e725a070cec140c4caffb81624c8c787, type: 3} + m_Name: PhotonPlayerRig + m_EditorClassIdentifier: + AssetGuid: + RawGuidValue: 9ee52735aebb6a445b4905c8aba8cfe3 diff --git a/Assets/Photon/Fusion/User/NetworkPrefabAssetCollection.asset.meta b/Assets/Photon/Fusion/User/NetworkPrefabAssetCollection.asset.meta new file mode 100644 index 0000000000..0ed7a910ab --- /dev/null +++ b/Assets/Photon/Fusion/User/NetworkPrefabAssetCollection.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b6fdca296fa434f49b2a39414b802ac0 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: From 29ce9ff79841f6f902bc258c5c141d40702ce015 Mon Sep 17 00:00:00 2001 From: Riccardo Bovo Date: Tue, 15 Oct 2024 15:04:34 +0100 Subject: [PATCH 34/43] Update PhotonPlayerRig.prefab --- Assets/Resources/Multiplayer/Photon/PhotonPlayerRig.prefab | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Assets/Resources/Multiplayer/Photon/PhotonPlayerRig.prefab b/Assets/Resources/Multiplayer/Photon/PhotonPlayerRig.prefab index 8542ca6955..bb88f5e4fd 100644 --- a/Assets/Resources/Multiplayer/Photon/PhotonPlayerRig.prefab +++ b/Assets/Resources/Multiplayer/Photon/PhotonPlayerRig.prefab @@ -10,7 +10,7 @@ GameObject: m_Component: - component: {fileID: 6718544642020818535} - component: {fileID: 7533779467632377196} - - component: {fileID: 6752862290110515822} + - component: {fileID: 2967658244113361874} m_Layer: 0 m_Name: PhotonPlayerRig m_TagString: Untagged @@ -58,7 +58,7 @@ MonoBehaviour: _oculusPlayerId: 0 headTransform: {fileID: 5041384770245166357} m_PlayerId: 0 ---- !u!114 &6752862290110515822 +--- !u!114 &2967658244113361874 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} From f45546bf1823bee69943e4b6f0a865228e584940 Mon Sep 17 00:00:00 2001 From: Riccardo Bovo Date: Tue, 15 Oct 2024 18:13:11 +0100 Subject: [PATCH 35/43] removing the NetworkPrefbAssetCollection --- .../User/NetworkPrefabAssetCollection.asset | 140 ------------------ .../NetworkPrefabAssetCollection.asset.meta | 8 - 2 files changed, 148 deletions(-) delete mode 100644 Assets/Photon/Fusion/User/NetworkPrefabAssetCollection.asset delete mode 100644 Assets/Photon/Fusion/User/NetworkPrefabAssetCollection.asset.meta diff --git a/Assets/Photon/Fusion/User/NetworkPrefabAssetCollection.asset b/Assets/Photon/Fusion/User/NetworkPrefabAssetCollection.asset deleted file mode 100644 index 83c9fbd469..0000000000 --- a/Assets/Photon/Fusion/User/NetworkPrefabAssetCollection.asset +++ /dev/null @@ -1,140 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-9083623630631787094 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -571403812, guid: e725a070cec140c4caffb81624c8c787, type: 3} - m_Name: FusionAvatar - m_EditorClassIdentifier: - AssetGuid: - RawGuidValue: eedb965bcb4e568479a4828d17fbc1c3 ---- !u!114 &-8634165468179655760 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -571403812, guid: e725a070cec140c4caffb81624c8c787, type: 3} - m_Name: PlayerTransformPrototype - m_EditorClassIdentifier: - AssetGuid: - RawGuidValue: 3251faa3ac8a66642bf6f9e8433499da ---- !u!114 &-4186714766916533902 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -571403812, guid: e725a070cec140c4caffb81624c8c787, type: 3} - m_Name: FusionColocationDriver - m_EditorClassIdentifier: - AssetGuid: - RawGuidValue: 8ee45e6a80f151e48a85e55c1f12b1b1 ---- !u!114 &-1425436736254753242 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -571403812, guid: e725a070cec140c4caffb81624c8c787, type: 3} - m_Name: PlayerRB2DPrototype - m_EditorClassIdentifier: - AssetGuid: - RawGuidValue: dbc9b57ea26fbf84b8cc14b0882fe89b ---- !u!114 &11400000 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -225830702, guid: e725a070cec140c4caffb81624c8c787, type: 3} - m_Name: NetworkPrefabAssetCollection - m_EditorClassIdentifier: ---- !u!114 &978036179255198872 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -571403812, guid: e725a070cec140c4caffb81624c8c787, type: 3} - m_Name: BallPrototype - m_EditorClassIdentifier: - AssetGuid: - RawGuidValue: 61b6ef4ffff3d8f4498968869591d6bf ---- !u!114 &1917669454651198095 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -571403812, guid: e725a070cec140c4caffb81624c8c787, type: 3} - m_Name: PlayerPrototype - m_EditorClassIdentifier: - AssetGuid: - RawGuidValue: e4df49d0bf125a740a2c14ab6e887572 ---- !u!114 &4898726858778889578 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -571403812, guid: e725a070cec140c4caffb81624c8c787, type: 3} - m_Name: PlayerBallPrototype - m_EditorClassIdentifier: - AssetGuid: - RawGuidValue: 6eca58070665ea64797a9b124cb6ab03 ---- !u!114 &7972530008613410773 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -571403812, guid: e725a070cec140c4caffb81624c8c787, type: 3} - m_Name: NetworkedRig - m_EditorClassIdentifier: - AssetGuid: - RawGuidValue: 7f1f582839553344c8827c8e7f15e4b2 ---- !u!114 &8276825046164498565 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -571403812, guid: e725a070cec140c4caffb81624c8c787, type: 3} - m_Name: PhotonPlayerRig - m_EditorClassIdentifier: - AssetGuid: - RawGuidValue: 9ee52735aebb6a445b4905c8aba8cfe3 diff --git a/Assets/Photon/Fusion/User/NetworkPrefabAssetCollection.asset.meta b/Assets/Photon/Fusion/User/NetworkPrefabAssetCollection.asset.meta deleted file mode 100644 index 0ed7a910ab..0000000000 --- a/Assets/Photon/Fusion/User/NetworkPrefabAssetCollection.asset.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: b6fdca296fa434f49b2a39414b802ac0 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 11400000 - userData: - assetBundleName: - assetBundleVariant: From 20e4a8be479c4fea35fcd2a57b639356e5647475 Mon Sep 17 00:00:00 2001 From: Riccardo Bovo Date: Thu, 17 Oct 2024 17:32:15 +0100 Subject: [PATCH 36/43] Track PhotonAppSettings --- .gitignore | 1 + .../Fusion/Resources/PhotonAppSettings.asset | 29 +++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 Assets/Photon/Fusion/Resources/PhotonAppSettings.asset diff --git a/.gitignore b/.gitignore index 63fdc9292c..495b2bc0c2 100644 --- a/.gitignore +++ b/.gitignore @@ -106,6 +106,7 @@ Packages/com.unity.xr.picoxr /Assets/Photon/** /Assets/Photon.meta !/Assets/Photon/Fusion/Resources/NetworkProjectConfig.fusion* +!/Assets/Photon/Fusion/Resources/PhotonAppSettings.asset* !/Assets/Photon/Fusion/User/NetworkPrefabAssetCollection.asset* # Cache files diff --git a/Assets/Photon/Fusion/Resources/PhotonAppSettings.asset b/Assets/Photon/Fusion/Resources/PhotonAppSettings.asset new file mode 100644 index 0000000000..90885d32de --- /dev/null +++ b/Assets/Photon/Fusion/Resources/PhotonAppSettings.asset @@ -0,0 +1,29 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1878438611, guid: 7de3b8b9e1263ad479e2d0c4261b7646, type: 3} + m_Name: PhotonAppSettings + m_EditorClassIdentifier: + AppSettings: + AppIdFusion: + AppIdChat: + AppIdVoice: + AppVersion: + UseNameServer: 1 + FixedRegion: + Server: + Port: 0 + ProxyServer: + Protocol: 0 + EnableProtocolFallback: 1 + AuthMode: 0 + EnableLobbyStatistics: 0 + NetworkLogging: 1 From 2543d85d8685e4f6da21f5bf1c6cb60f4c557617 Mon Sep 17 00:00:00 2001 From: Riccardo Bovo Date: Thu, 17 Oct 2024 17:53:59 +0100 Subject: [PATCH 37/43] Rebake PhotonPlayerRig Rebake attempt --- .../Multiplayer/Photon/PhotonPlayerRig.prefab | 46 +++++++++---------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/Assets/Resources/Multiplayer/Photon/PhotonPlayerRig.prefab b/Assets/Resources/Multiplayer/Photon/PhotonPlayerRig.prefab index bb88f5e4fd..35a6e9432e 100644 --- a/Assets/Resources/Multiplayer/Photon/PhotonPlayerRig.prefab +++ b/Assets/Resources/Multiplayer/Photon/PhotonPlayerRig.prefab @@ -9,7 +9,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 6718544642020818535} - - component: {fileID: 7533779467632377196} + - component: {fileID: 7215016235458371273} - component: {fileID: 2967658244113361874} m_Layer: 0 m_Name: PhotonPlayerRig @@ -35,7 +35,7 @@ Transform: - {fileID: 1457871284126546349} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &7533779467632377196 +--- !u!114 &7215016235458371273 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -50,11 +50,11 @@ MonoBehaviour: WordOffset: 0 WordCount: 0 _interpolationDataSource: 0 - m_PlayArea: {fileID: 8895232112724846442} - m_PlayerHead: {fileID: 5083753190464579125} - m_Left: {fileID: 6268094594865570998} - m_Right: {fileID: 4999079164026519325} - m_Tool: {fileID: 5771162771103583132} + m_PlayArea: {fileID: 1840530316396516229} + m_PlayerHead: {fileID: 2866855712475842972} + m_Left: {fileID: 6993845821128094923} + m_Right: {fileID: 1621605232836574636} + m_Tool: {fileID: 4282572128721117942} _oculusPlayerId: 0 headTransform: {fileID: 5041384770245166357} m_PlayerId: 0 @@ -80,12 +80,12 @@ MonoBehaviour: RawGuidValue: 9ee52735aebb6a445b4905c8aba8cfe3 NestedObjects: [] NetworkedBehaviours: - - {fileID: 7533779467632377196} - - {fileID: 8895232112724846442} - - {fileID: 5083753190464579125} - - {fileID: 6268094594865570998} - - {fileID: 4999079164026519325} - - {fileID: 5771162771103583132} + - {fileID: 7215016235458371273} + - {fileID: 1840530316396516229} + - {fileID: 2866855712475842972} + - {fileID: 6993845821128094923} + - {fileID: 1621605232836574636} + - {fileID: 4282572128721117942} SimulationBehaviours: [] --- !u!1 &459460118330075700 GameObject: @@ -96,7 +96,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 6539275587195953435} - - component: {fileID: 8895232112724846442} + - component: {fileID: 1840530316396516229} m_Layer: 0 m_Name: Area m_TagString: Untagged @@ -120,7 +120,7 @@ Transform: - {fileID: 3005319065403690882} m_Father: {fileID: 1457871284126546349} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &8895232112724846442 +--- !u!114 &1840530316396516229 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -159,7 +159,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 7668165333132264083} - - component: {fileID: 4999079164026519325} + - component: {fileID: 1621605232836574636} m_Layer: 0 m_Name: RightHand m_TagString: Untagged @@ -183,7 +183,7 @@ Transform: - {fileID: 4501806461527917157} m_Father: {fileID: 1457871284126546349} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &4999079164026519325 +--- !u!114 &1621605232836574636 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -253,7 +253,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1030654070696327489} - - component: {fileID: 5083753190464579125} + - component: {fileID: 2866855712475842972} m_Layer: 0 m_Name: Head m_TagString: Untagged @@ -277,7 +277,7 @@ Transform: - {fileID: 2514485848220458462} m_Father: {fileID: 1457871284126546349} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &5083753190464579125 +--- !u!114 &2866855712475842972 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -316,7 +316,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 5887326793658353859} - - component: {fileID: 6268094594865570998} + - component: {fileID: 6993845821128094923} m_Layer: 0 m_Name: LeftHand m_TagString: Untagged @@ -340,7 +340,7 @@ Transform: - {fileID: 1310333546402417676} m_Father: {fileID: 1457871284126546349} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &6268094594865570998 +--- !u!114 &6993845821128094923 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -504,7 +504,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 8617970912018780043} - - component: {fileID: 5771162771103583132} + - component: {fileID: 4282572128721117942} m_Layer: 0 m_Name: Tool m_TagString: Untagged @@ -528,7 +528,7 @@ Transform: - {fileID: 2439271445520760248} m_Father: {fileID: 1457871284126546349} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &5771162771103583132 +--- !u!114 &4282572128721117942 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} From 69f666bcc7c1bb5aea94f1728d1f67be1451d5e4 Mon Sep 17 00:00:00 2001 From: Riccardo Bovo Date: Sun, 20 Oct 2024 17:38:34 +0100 Subject: [PATCH 38/43] Update SketchControlsScript.cs 1- Adding blank commands to avoid Unrecognized command Error --- Assets/Scripts/SketchControlsScript.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Assets/Scripts/SketchControlsScript.cs b/Assets/Scripts/SketchControlsScript.cs index fd61b1b30f..4f81641aca 100644 --- a/Assets/Scripts/SketchControlsScript.cs +++ b/Assets/Scripts/SketchControlsScript.cs @@ -4849,6 +4849,9 @@ public void IssueGlobalCommand(GlobalCommands rEnum, int iParam1 = -1, break; case GlobalCommands.RepaintOptions: break; // Intentionally blank. case GlobalCommands.Null: break; // Intentionally blank. + case GlobalCommands.MultiplayerPanelOptions: break; // Intentionally blank. + case GlobalCommands.MultiplayerJoinRoom: break; // Intentionally blank. + case GlobalCommands.MultiplayerLeaveRoom: break; // Intentionally blank. default: Debug.LogError($"Unrecognized command {rEnum}"); break; From 6f13bb7c80a9836d65f909f442587658f3dae86e Mon Sep 17 00:00:00 2001 From: Riccardo Bovo Date: Sun, 20 Oct 2024 17:38:24 +0100 Subject: [PATCH 39/43] Update MultiplayerPanel.cs Multiplayer Panel 1 - Handle the Case When MultiplayerManager.m_Instance is null 2 - Avoid Accessing MultiplayerManager.m_Instance in Field Initializers --- Assets/Scripts/GUI/MultiplayerPanel.cs | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/Assets/Scripts/GUI/MultiplayerPanel.cs b/Assets/Scripts/GUI/MultiplayerPanel.cs index 0996a7f4b0..55f144752e 100644 --- a/Assets/Scripts/GUI/MultiplayerPanel.cs +++ b/Assets/Scripts/GUI/MultiplayerPanel.cs @@ -37,13 +37,18 @@ public string RoomName } } - private RoomCreateData data = new RoomCreateData + private RoomCreateData data; + + public void Awake() { - roomName = GenerateUniqueRoomName(), - @private = false, - maxPlayers = 4, - voiceDisabled = false - }; + data = new RoomCreateData + { + roomName = GenerateUniqueRoomName(), + @private = false, + maxPlayers = 4, + voiceDisabled = false + }; + } private static string GenerateUniqueRoomName() { @@ -51,7 +56,7 @@ private static string GenerateUniqueRoomName() do { roomName = GenerateRandomRoomName(); - } while (MultiplayerManager.m_Instance.DoesRoomNameExist(roomName)); + } while (MultiplayerManager.m_Instance != null && MultiplayerManager.m_Instance.DoesRoomNameExist(roomName)) ; return roomName; } From ee77722de49fe09bac47b9b13455d2b689d77e7e Mon Sep 17 00:00:00 2001 From: Riccardo Bovo Date: Sun, 20 Oct 2024 18:19:20 +0100 Subject: [PATCH 40/43] Handle the removal of the player rig when leaving the room handle the removal of the player rig to ensure proper Clean-up --- Assets/Scripts/Multiplayer/MultiplayerManager.cs | 4 ++++ Assets/Scripts/Multiplayer/Photon/PhotonManager.cs | 8 ++++++++ 2 files changed, 12 insertions(+) diff --git a/Assets/Scripts/Multiplayer/MultiplayerManager.cs b/Assets/Scripts/Multiplayer/MultiplayerManager.cs index 995861e674..0c64d1f682 100644 --- a/Assets/Scripts/Multiplayer/MultiplayerManager.cs +++ b/Assets/Scripts/Multiplayer/MultiplayerManager.cs @@ -211,6 +211,7 @@ void OnPlayerLeft(int id) { if (m_LocalPlayer.PlayerId == id) { + m_LocalPlayer = null; Debug.Log("Possible to get here!"); return; } @@ -287,6 +288,9 @@ public async Task Disconnect(bool force = false) private void OnConnectionHandlerDisconnected() { + // Clean up local player reference + m_LocalPlayer = null; + // Invoke the Disconnected event Disconnected?.Invoke(); } diff --git a/Assets/Scripts/Multiplayer/Photon/PhotonManager.cs b/Assets/Scripts/Multiplayer/Photon/PhotonManager.cs index fe2a64f23a..b728bd9b64 100644 --- a/Assets/Scripts/Multiplayer/Photon/PhotonManager.cs +++ b/Assets/Scripts/Multiplayer/Photon/PhotonManager.cs @@ -23,6 +23,7 @@ using Fusion.Photon.Realtime; using Fusion.Sockets; using TiltBrush; +using UnityEditor.Localization.Platform.Android; namespace OpenBrush.Multiplayer { @@ -117,6 +118,13 @@ public async Task Disconnect(bool force) { if(m_Runner != null) { + + if (m_LocalPlayer != null) + { + m_Runner.Despawn(m_LocalPlayer.Object); + m_LocalPlayer = null; + } + await m_Runner.Shutdown(forceShutdownProcedure: force); return m_Runner.IsShutdown; } From 8a589a0882a66b4fb296d4db6233e00ce2964bfb Mon Sep 17 00:00:00 2001 From: Riccardo Bovo Date: Sun, 20 Oct 2024 19:24:45 +0100 Subject: [PATCH 41/43] Update PhotonManager.cs removing UnityEditor.Localization.Platform.Android --- Assets/Scripts/Multiplayer/Photon/PhotonManager.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/Assets/Scripts/Multiplayer/Photon/PhotonManager.cs b/Assets/Scripts/Multiplayer/Photon/PhotonManager.cs index b728bd9b64..ab202ceb7a 100644 --- a/Assets/Scripts/Multiplayer/Photon/PhotonManager.cs +++ b/Assets/Scripts/Multiplayer/Photon/PhotonManager.cs @@ -23,7 +23,6 @@ using Fusion.Photon.Realtime; using Fusion.Sockets; using TiltBrush; -using UnityEditor.Localization.Platform.Android; namespace OpenBrush.Multiplayer { From e7843f2b42cad0f7b481f89b2227c627077b98e3 Mon Sep 17 00:00:00 2001 From: Riccardo Bovo Date: Sun, 20 Oct 2024 20:00:04 +0100 Subject: [PATCH 42/43] Update SketchControlsScript.cs pass pre-commit --- Assets/Scripts/SketchControlsScript.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Assets/Scripts/SketchControlsScript.cs b/Assets/Scripts/SketchControlsScript.cs index 4f81641aca..e8c5e1a4ff 100644 --- a/Assets/Scripts/SketchControlsScript.cs +++ b/Assets/Scripts/SketchControlsScript.cs @@ -4849,9 +4849,9 @@ public void IssueGlobalCommand(GlobalCommands rEnum, int iParam1 = -1, break; case GlobalCommands.RepaintOptions: break; // Intentionally blank. case GlobalCommands.Null: break; // Intentionally blank. - case GlobalCommands.MultiplayerPanelOptions: break; // Intentionally blank. + case GlobalCommands.MultiplayerPanelOptions: break; // Intentionally blank. case GlobalCommands.MultiplayerJoinRoom: break; // Intentionally blank. - case GlobalCommands.MultiplayerLeaveRoom: break; // Intentionally blank. + case GlobalCommands.MultiplayerLeaveRoom: break; // Intentionally blank. default: Debug.LogError($"Unrecognized command {rEnum}"); break; From e5de53b7d76f1d89c1b604eecc40837165787347 Mon Sep 17 00:00:00 2001 From: Riccardo Bovo Date: Mon, 21 Oct 2024 17:05:49 +0100 Subject: [PATCH 43/43] Create NetworkPrefabAssetCollection.asset Adding this to solve the --- .../User/NetworkPrefabAssetCollection.asset | 154 ++++++++++++++++++ 1 file changed, 154 insertions(+) create mode 100644 Assets/Photon/Fusion/User/NetworkPrefabAssetCollection.asset diff --git a/Assets/Photon/Fusion/User/NetworkPrefabAssetCollection.asset b/Assets/Photon/Fusion/User/NetworkPrefabAssetCollection.asset new file mode 100644 index 0000000000..dc997b4672 --- /dev/null +++ b/Assets/Photon/Fusion/User/NetworkPrefabAssetCollection.asset @@ -0,0 +1,154 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-7851828500534389341 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -571403812, guid: e725a070cec140c4caffb81624c8c787, type: 3} + m_Name: NetworkedRig + m_EditorClassIdentifier: + AssetGuid: + RawGuidValue: 7f1f582839553344c8827c8e7f15e4b2 +--- !u!114 &-6679037723637155746 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -571403812, guid: e725a070cec140c4caffb81624c8c787, type: 3} + m_Name: PhotonPlayerRig + m_EditorClassIdentifier: + AssetGuid: + RawGuidValue: 9ee52735aebb6a445b4905c8aba8cfe3 +--- !u!114 &-4876441823125888161 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -571403812, guid: e725a070cec140c4caffb81624c8c787, type: 3} + m_Name: PlayerBallPrototype + m_EditorClassIdentifier: + AssetGuid: + RawGuidValue: 6eca58070665ea64797a9b124cb6ab03 +--- !u!114 &-3882056053279745226 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -571403812, guid: e725a070cec140c4caffb81624c8c787, type: 3} + m_Name: FusionAvatar + m_EditorClassIdentifier: + AssetGuid: + RawGuidValue: eedb965bcb4e568479a4828d17fbc1c3 +--- !u!114 &-2813734544996678366 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 929548324, guid: e725a070cec140c4caffb81624c8c787, type: 3} + m_Name: ~MISSING~PhotonPlayerRigBkp + m_EditorClassIdentifier: + AssetGuid: + RawGuidValue: a5876108ffed6db47892c3ae59497b56 +--- !u!114 &-2200370131318246874 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -571403812, guid: e725a070cec140c4caffb81624c8c787, type: 3} + m_Name: BallPrototype + m_EditorClassIdentifier: + AssetGuid: + RawGuidValue: 61b6ef4ffff3d8f4498968869591d6bf +--- !u!114 &-272827184848844876 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -571403812, guid: e725a070cec140c4caffb81624c8c787, type: 3} + m_Name: FusionColocationDriver + m_EditorClassIdentifier: + AssetGuid: + RawGuidValue: 8ee45e6a80f151e48a85e55c1f12b1b1 +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -225830702, guid: e725a070cec140c4caffb81624c8c787, type: 3} + m_Name: NetworkPrefabAssetCollection + m_EditorClassIdentifier: +--- !u!114 &1613190245493424334 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -571403812, guid: e725a070cec140c4caffb81624c8c787, type: 3} + m_Name: PlayerPrototype + m_EditorClassIdentifier: + AssetGuid: + RawGuidValue: e4df49d0bf125a740a2c14ab6e887572 +--- !u!114 &3549518608579063576 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -571403812, guid: e725a070cec140c4caffb81624c8c787, type: 3} + m_Name: PlayerTransformPrototype + m_EditorClassIdentifier: + AssetGuid: + RawGuidValue: 3251faa3ac8a66642bf6f9e8433499da +--- !u!114 &4563594632895129475 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -571403812, guid: e725a070cec140c4caffb81624c8c787, type: 3} + m_Name: PlayerRB2DPrototype + m_EditorClassIdentifier: + AssetGuid: + RawGuidValue: dbc9b57ea26fbf84b8cc14b0882fe89b